Sto cercando di capire come utilizzare il chunker a cascata di NLTK come da Chapter 7 of the NLTK book. Sfortunatamente, sto riscontrando alcuni problemi durante l'esecuzione di misure non banali di chunking.Estrazione della relazione tramite chunking con NLTK
Cominciamo con questa frase:
"adventure movies between 2000 and 2015 featuring performances by daniel craig"
sono in grado di trovare tutte le NP rilevanti quando uso il seguente grammatica:
grammar = "NP: {<DT>?<JJ>*<NN.*>+}"
Tuttavia, non sono sicuro come costruire strutture nidificate con NLTK. Il libro fornisce il seguente formato, ma ci sono chiaramente alcune cose mancanti (ad esempio, Come si fa in realtà specificare più regole?):
grammar = r"""
NP: {<DT|JJ|NN.*>+} # Chunk sequences of DT, JJ, NN
PP: {<IN><NP>} # Chunk prepositions followed by NP
VP: {<VB.*><NP|PP|CLAUSE>+$} # Chunk verbs and their arguments
CLAUSE: {<NP><VP>} # Chunk NP, VP
"""
Nel mio caso, mi piacerebbe fare qualcosa di simile al seguente:
grammar = r"""
MEDIA: {<DT>?<JJ>*<NN.*>+}
RELATION: {<V.*>}{<DT>?<JJ>*<NN.*>+}
ENTITY: {<NN.*>}
"""
Supponendo che mi piacerebbe utilizzare un chunker in cascata per il mio compito, quale sintassi dovrei usare? Inoltre, è possibile per me specificare parole specifiche (ad esempio "diretto" o "recitato") quando si usa un chunker?