【发布时间】:2016-04-30 08:27:39
【问题描述】:
我在 python 中使用带有 nltk 的斯坦福解析器,并从 Stanford Parser and NLTK 获得帮助来设置斯坦福 nlp 库。
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”视为名词而不是动词。
我该怎么办? 当我改变句子时,它工作得很好,例如(one = 'John see Bill')。 这句话的正确输出可以从这里查看correct ouput of parse tree
正确输出的例子也如下所示:
【问题讨论】:
-
请贴出完整的代码 sn-p 以便其他人了解
dep_parser来自哪里=)
标签: python parsing nlp nltk stanford-nlp