Wolfram Language

Processamento de texto e linguagem

Defina regras gramaticais

Construa sua própria interface de processamento de linguagem natural, combinando os poderosos elementos e regras gramaticais do framework Interpreter com seus próprios elementos e regras gramaticais. Depois implemente a interface na Wolfram Cloud para ser usada em funções como GrammarApply.

Use o tipo de intérprete integrado "City" para construir um analisador para uma lista de nomes de cidades com diferentes delimitadores e implemente-o na nuvem.

In[1]:=
Click for copyable input
citiesGrammar = CloudDeploy[ GrammarRules[{ cs : DelimitedSequence[GrammarToken["City"], "," | ";" | "and"] :> cs }] ]
Out[1]=

Aplique o analisador a uma cadeia de caracteres que contenha várias cidades nos Estados Unidos, resultando uma lista de respectivos objetos Entity.

In[2]:=
Click for copyable input
GrammarApply[citiesGrammar, "Saint Louis; New York, LA and Dallas"]
Out[2]=

Agora eles podem ser processados pelo recurso Wolfram Geo.

In[3]:=
Click for copyable input
GrammarApply[citiesGrammar, "Saint Louis; New York, LA and Dallas"]; GeoListPlot[%, GeoLabels -> Automatic, GeoBackground -> "CountryBorders", GeoRange -> "Country"]
Out[3]=

Adicione seus próprios elementos gramaticais "Route", "Origin", e "Destination" e defina regras gramaticais para eles.

In[4]:=
Click for copyable input
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 } ] ]
Out[4]=

O uso combinado de AnyOrder e FixedOrder permite análise correta de origem e destino nas duas ordens.

In[5]:=
Click for copyable input
GrammarApply[routeGrammar, "from NYC to LA"]
Out[5]=
In[6]:=
Click for copyable input
GrammarApply[routeGrammar, "to LA from NYC"]
Out[6]=

Exemplos Relacionados

de en es fr ja ko ru zh