Ich habe den folgenden Code in Python.Wie generieren Sie mehrere Parsebäume für einen mehrdeutigen Satz 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()
Die Ausgabe lautet:
(S (NP very/ADJ colourful/ADJ ice/NN cream/NN van/NN))
Aber die Ausgabe sollte noch 2 Parse-Bäume haben.
Das Problem ist, dass nur der erste reguläre Ausdruck von RegexpParser genommen wird. Wie kann ich alle möglichen Parse Bäume auf einmal erzeugen?