Язык Wolfram Language

Обработка текста и языка

Запрос в базу данных Wolfram при использовании естественного языка

Создайте функцию для поиска песен по исполнителю и названию альбома и сгенерируйте таблицу с информацией о композиторе.

In[1]:=
Click for copyable input
songLookup[act_, album_] := Module[{actEntity, albumEntity, songs, composers}, actEntity = Interpreter["MusicAct"][act]; albumEntity = Interpreter["MusicAlbum"][album]; songs = EntityList[ EntityClass[ "MusicWork", {"AssociatedMusicActs" -> actEntity, "AssociatedMusicAlbums" -> albumEntity}]]; composers = EntityValue[songs, "Composers"]; Column[{albumEntity["Image"], Grid[Transpose[{songs, composers}], Background -> {Automatic, {{LightOrange, White}}}]}]]

Разверните простую грамматику, которая использует встроенные интерпретаторы для определения понятий типа "MusicAct" и "MusicAlbum".

In[2]:=
Click for copyable input
songGrammar = CloudDeploy[ GrammarRules[ {AnyOrder[ OptionalElement[ FixedOrder[ "songs" | "titles" | "tracks" | "tunes" | "recordings", OptionalElement["by" | "from"]]], act : GrammarToken["MusicAct"], FixedOrder[OptionalElement["from" | "on"], album : GrammarToken["MusicAlbum"]] ] :> songLookup[act, album]}]]
Out[3]=
In[4]:=
Click for copyable input
GrammarApply[songGrammar, "tracks by Michael Jackson on Thriller"]
Out[4]=
In[5]:=
Click for copyable input
GrammarApply[songGrammar, "Pink Floyd's Dark Side of the Moon"]
Out[5]=

Родственные примеры

de en es fr ja ko pt-br zh