【发布时间】:2017-10-14 14:33:40
【问题描述】:
我正在尝试比较来自 NLTK 的 Stanford Parser 的结果,但我不知道为什么当我与 stanford parser 比较时会得到不同的结果 我已经检查了相关问题,但这对我没有多大帮助。
stan_dep_parser = StanfordDependencyParser() # stanford parser from NLTK
dependency_parser =stan_dep_parser.raw_parse("Four men died in an accident")
dep = dependency_parser.next()
for triple in dep.triples():
print triple[1],"(",triple[0][0],", ",triple[2][0],")"
电流输出:
nsubj ( died , men )
nummod ( men , Four )
nmod ( died , accident )
case ( accident , in )
det ( accident , an )
根据stanford parser的预期输出:
nummod(men-2, Four-1)
nsubj(died-3, men-2)
root(ROOT-0, died-3)
case(accident-6, in-4)
det(accident-6, an-5)
nmod(died-3, accident-6)
NLTK 版本:3.2.4 斯坦福解析器:stanford-parser-3.8.0-models
【问题讨论】:
-
您下载了哪个版本的 Stanford Parser?另外,您使用的是哪个版本的 NLTK?还有你用的是什么型号,是
englishPCFG.ser.gz? -
nltk 版本:3.2.4 斯坦福解析器版本:stanford-parser-3.8.0-models
-
它为选区树提供相同的结果,但我不知道为什么依赖解析器的结果不同。
-
除了丢失的根(可以推断)之外,解析有何不同?
-
@aab 是的,缺少根,并且还缺少带有单词的数字。有可能得到数字吗?
标签: python python-2.7 nlp nltk stanford-nlp