我正在使用CoreNLP的最新版本[3.8.0]和python包装器[py-corenlp],我意识到当我使用以下注释器进行注释时,我从CoreNLP获得的输出之间存在一些不一致: tokenize,ssplit,pos,depparse,parse 以及Online Demo的输出。更重要的是,斯坦福大学的Parser,无论是在我的代码中调用它还是在线运行它,都给了我与CoreNLP相同的结果。
例如,我有以下问题(借用Free917问题语料库):
马歇尔大学的教授是什么机构
使用CoreNLP我得到以下解析:
(ROOT \ n(SBAR \ n(WHPP(IN at)\ n(WHNP(WDT什么)))\ n(S \ n(NP(NNS机构))\ n(VP(VBD))\ n (NP \ n(NP(NNP Marshall)(NNP Hall))\ n(NP(DT a)(NN教授)))))))
与斯坦福大学的分析师相同:
[树('ROOT',[树('SBAR',[树('WHPP',[树('IN',['at']),树('WHNP',[树('WP') ,['what'])])]),树('S',[树('NP',[树('NNS',['机构'])]),树('VP',[树( 'VBD',['是']),树('NP',[树('NP',[树('NNP',['马歇尔']),树('NNP',['Hall']) ]),树('NP',[树('DT',['a']),树('NN',['教授'])])])])])])])]
在线演示是正确的版本:
如何获得使用在线演示获得的结果?
提前谢谢!
答案 0 :(得分:1)
演示运行shift-reduce解析器,它更快,更准确,代价是[更大]序列化模型大小。见https://nlp.stanford.edu/software/srparser.shtml