Définissez des règles de grammaire
Construisez votre propre interface de traitement de langage naturel, combinant le puissantes unités et règles de grammaire du cadre Interpreter avec vos propres unités et règles de grammaire. Ensuite, déployez l'interface en Wolfram Cloud pour une utilisation ultérieure dans des fonctions comme GrammarApply.
Utilisez l'interprète intégré "City" pour construire un analyseur pour une liste de noms de ville avec différents délimiteurs et déployez-le en cloud.

citiesGrammar = CloudDeploy[
GrammarRules[{
cs : DelimitedSequence[GrammarToken["City"], "," | ";" | "and"] :>
cs
}]
]
Appliquer l'analyseur pour une chaîne contenant plusieurs villes aux États-Unis, en retournant une liste d'objets respectifs Entity.

GrammarApply[citiesGrammar, "Saint Louis; New York, LA and Dallas"]

Maintenant ils peuvent être traités par la fonctionnalité Wolfram Geo.

GrammarApply[citiesGrammar, "Saint Louis; New York, LA and Dallas"];
GeoListPlot[%, GeoLabels -> Automatic,
GeoBackground -> "CountryBorders", GeoRange -> "Country"]

Ajoutez vos propres unités de grammaires "Route", "Origin", et "Destination" et définissez des règles pour elles.

routeGrammar = CloudDeploy[
GrammarRules[{GrammarToken["Route"], GrammarToken["Origin"],
GrammarToken["Destination"]},
{
"Route" ->
AnyOrder[start : GrammarToken["Origin"],
end : GrammarToken["Destination"]] :> (start -> end),
"Origin" ->
FixedOrder["from", loc : GrammarToken["City"]] :> loc,
"Destination" ->
FixedOrder["to", loc : GrammarToken["City"]] :> loc
}
]
]
L'utilisation combinée de AnyOrder et FixedOrder permet l'analyse correcte d'origine et destination dans les deux ordres.

GrammarApply[routeGrammar, "from NYC to LA"]


GrammarApply[routeGrammar, "to LA from NYC"]
