7
我在Python中有以下代碼。如何爲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()
輸出是:
(S (NP very/ADJ colourful/ADJ ice/NN cream/NN van/NN))
但輸出應該有另外2的解析樹。
(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)
問題是隻有第一個正則表達式是由RegexpParser採取的。我怎樣才能一次生成所有可能的分析樹?