Wolfram Language

Procesamiento de texto y lenguaje

Consulta de Wolfram Knowledgebase usando lenguaje natural

Cree una función que busque canciones por artista y álbum, y genere una tabla con la información de compositor.

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

Implemente una gramática simple que utilice intérpretes incorporados para reconocer los tipos de entidades "MusicAct" y "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]=

Ejemplos relacionados

de en fr ja ko pt-br ru zh