Selon le livre de NLTK, j'applique d'abord la grammaire, et l'analyse.Comment utiliser cette information en Python? Je ne sais pas comment utiliser ce type de données
grammar = r"""
NP: {<DT|PP\$>?<JJ>*<NN>}
{<NNP>+}
"""
cp = nltk.RegexpParser(grammar)
chunked_sent = cp.parse(sentence)
Quand je impression chunked_sent, je reçois ceci:
(S
i/PRP
use/VBP
to/TO
work/VB
with/IN
you/PRP
at/IN
(NP match/NN)
./.)
Je ne veux pas simplement de la regarder. Je veux vraiment sortir les expressions nominales "NP".
Comment imprimer "match" ... qui est le syntagme nominal? Je veux récupérer tous les "NP" de ce bloc.
for k in chunked_sents:
print k
(u'i', 'PRP')
(u'use', 'VBP')
(u'to', 'TO')
(u'work', 'VB')
(u'with', 'IN')
(u'you', 'PRP')
(u'at', 'IN')
(NP match/NN)
(u'.', '.')
for k in chunked_sents:
print k[0]
i
use
to
work
with
you
at
(u'match', 'NN')
Voir, pour une raison quelconque, je perds le "NP".
Aussi, comment puis-je déterminer si k [0] est une chaîne ou un tuple (comme dans le cas ci-dessus)
Note: (correspondance NP/NN) est –
TIMEX
Avez-vous pu obtenir une liste des phrases Noun sans informations d'analyse? Qu'avez-vous finalement fait? – MyopicVisage