Définissez des règles de grammaire
Créez votre propre interface de traitement du langage naturel, en combinant les puissants éléments et règles de grammaire intégrés du cadre Interpreter avec vos propres éléments et règles de grammaire personnalisés. Déployez ensuite l'interface dans Wolfram Cloud pour une utilisation ultérieure dans des fonctions telles que GrammarApply.
Utilisez le type d'interprète intégré "City" afin de construire un analyseur syntaxique pour une liste de noms de villes avec différents délimiteurs et déployez-le dans le cloud.
citiesGrammar = CloudDeploy[
GrammarRules[{
cs : DelimitedSequence[GrammarToken["City"], "," | ";" | "and"] :>
cs
}]
]
Appliquez l'analyseur syntaxique à une chaîne de caractères contenant plusieurs villes des États-Unis, en renvoyant une liste d'objets Entity respectifs.
GrammarApply[citiesGrammar, "Saint Louis; New York, LA and Dallas"]
Ils peuvent maintenant être traités par la fonctionnalité géographique de Wolfram.
GrammarApply[citiesGrammar, "Saint Louis; New York, LA and Dallas"];
GeoListPlot[%, GeoLabels -> Automatic,
GeoBackground -> "CountryBorders", GeoRange -> "Country"]
Ajoutez vos propres mots-clés grammaticaux "Route", "Origin" et "Destination" et définissez des règles pour chacun d'entre eux.
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 d'AnyOrder et FixedOrder permet une analyse correcte de l'origine et de la destination dans les deux ordres.
GrammarApply[routeGrammar, "from NYC to LA"]
GrammarApply[routeGrammar, "to LA from NYC"]