我在Python中使用nltk的斯坦福分析器,並從Stanford Parser and NLTK獲得幫助來設置斯坦福nlp庫。爲什麼使用nltk的斯坦福分析器不能正確解析一個句子?
from nltk.parse.stanford import StanfordParser
from nltk.parse.stanford import StanfordDependencyParser
parser = StanfordParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
dep_parser = StanfordDependencyParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
one = ("John sees Bill")
parsed_Sentence = parser.raw_parse(one)
# GUI
for line in parsed_Sentence:
print line
line.draw()
parsed_Sentence = [parse.tree() for parse in dep_parser.raw_parse(one)]
print parsed_Sentence
# GUI
for line in parsed_Sentence:
print line
line.draw()
我得到錯誤的分析和依賴樹,如下面的例子所示,它將'sees'視爲名詞而不是動詞。
我應該怎麼辦? 當我改變句子時,它的工作完全正確,例如(一個='John see Bill')。 這句話正確的輸出中可以從這裏看到correct ouput of parse tree
正確的輸出的例子還顯示如下:
請發佈完整的代碼片段,以便其他人理解'dep_parser'來自哪裏=) – alvas