Wolfram 언어

텍스트와 언어 처리

문법 규칙의 정의

강력한 임베디드 문법 토큰과 Interpreter 프레임워크의 규칙을 사용자 정의 문법 토큰 및 규칙과 함께 자신의 자연 언어 처리 인터페이스를 구축합니다. 그리고 GrammarApply 등의 함수에서 사용할 수 있도록 이 인터페이스를 Wolfram 클라우드에 배치합니다.

빌트인 "City" 인터프리터 유형을 사용하여 구분자가 다른 도시 이름 목록에 사용할 파서를 구축하고 클라우드에 배포합니다.

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

이 파서를 미국의 여러 도시 이름을 포함하는 문자열에 적용하여 해당 Entity 오브젝트의 목록을 반환합니다.

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

이제 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]=

사용자 정의 문법 토큰 "Route", "Origin", 그리고 "Destination"을 더하고, 그 규칙을 정의합니다.

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]=

AnyOrderFixedOrder를 함께 사용하여 시작점과 목적지를 모두 순서대로 정확하게 분석할 수 있습니다

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]=

관련 예제

de en es fr ja pt-br ru zh