Ho il seguente codice in Python.Come generare più alberi di analisi per una frase ambigua in NLTK?
sent = [("very","ADJ"),("colourful","ADJ"),("ice","NN"),("cream","NN"),("van","NN")]
patterns= r"""
NP:{<ADJ>*<NN>+}
"""
NPChunker=nltk.RegexpParser(patterns) # create chunk parser
for s in NPChunker.nbest_parse(sent):
print s.draw()
L'output è:
(S (NP very/ADJ colourful/ADJ ice/NN cream/NN van/NN))
Ma l'uscita dovrebbe avere un altro 2 alberi di analisi.
(S (NP very/ADJ colourful/ADJ ice/NN) (NP cream/NN) (NP van/NN))
(S (NP very/ADJ colourful/ADJ ice/NN cream/NN) van/NN)
Il problema è che solo la prima espressione regolare viene presa dal RegexpParser. Come posso generare tutti i possibili alberi di analisi contemporaneamente?