Consulte a Wolfram Knowledgebase usando linguagem natural
Crie uma função que busque músicas por artista e álbum, e gere uma tabela com informação do compositor.
In[1]:=

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 uma gramática simples que utilize intérprete integrados para reconhecer os tipos de entidades "MusicAct" e "MusicAlbum".
In[2]:=

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]}]]In[4]:=

GrammarApply[songGrammar, "tracks by Michael Jackson on Thriller"]Out[4]=

In[5]:=

GrammarApply[songGrammar, "Pink Floyd's Dark Side of the Moon"]Out[5]=






















 
  
  
  
  
  
  
 