자유 형식 엔티티-특성 쿼리
Interpreter를 사용하여 EntityValue와 닮았지만 자연 언어를 허용하는 EntityType, Entity와 EntityProperty 지정을 사용할 수 있는 함수를 만듭니다.
In[1]:=
NLEntityValue[type_String, entity_String, property_String] :=
With[{res =
Map[{Replace[#, AmbiguityList[{a___}, ___] :> a]} &,
Interpreter[
CompoundElement[{"EntityType", "Entity", "EntityProperty"}],
AmbiguityFunction -> All][{type, entity, property}]]},
If[FreeQ[res, Failure],
EntityValue[FirstCase[res[[2]], Entity[res[[1, 1]], ___]],
FirstCase[res[[3]], EntityProperty[res[[1, 1]], ___]]],
Missing["Unknown"]]]
이 함수를 다양한 유형, 실체, 특성에 적용합니다.
In[2]:=
NLEntityValue["country", "GB", "oil imports"]
Out[2]=
In[3]:=
NLEntityValue["city", "windy city", "elderly population"]
Out[3]=
In[4]:=
NLEntityValue["celebrity", "the Boss", "birthday"]
Out[4]=
In[5]:=
NLEntityValue["moon", "ganymede", "image"]
Out[5]=
In[6]:=
Row[NLEntityValue["popular curve", #, "image"] & /@ {"trump",
"hillary clinton"}]
Out[6]=