Tôi có đoạn mã sau bằng Python.Làm thế nào để tạo ra nhiều phân tích cây cho một câu mơ hồ trong 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()
Đầu ra là:
(S (NP very/ADJ colourful/ADJ ice/NN cream/NN van/NN))
Nhưng đầu ra nên có thêm 2 cây phân tích cú pháp.
(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)
Vấn đề là chỉ biểu thức chính quy đầu tiên được thực hiện bởi RegexpParser. Làm thế nào tôi có thể tạo ra tất cả các phân tích cú pháp cây có thể cùng một lúc?