首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么'corenlp.run‘在本地运行CoreNLP时产生不同的结果?

为什么'corenlp.run‘在本地运行CoreNLP时产生不同的结果?
EN

Stack Overflow用户
提问于 2015-12-31 00:49:59
回答 1查看 358关注 0票数 4

corenlp.run网站应该是CoreNLP的演示站点,它显示的结果与我在本地机器上运行CoreNLP管道时的结果非常不同。

该网站实际上显示了正确的结果,而本地机器版本没有。我想知道是否有任何与CoreNLP项目关系密切的人能够解释这些差异?

举个例子--这就是当我用它作为输入“给我在Soquel上的一家提供优质法国菜的餐厅”(这是来自RestQuery数据集)时会发生的情况。

在CoreNLP (本地机器,使用斯坦福的默认模型)上,我得到了以下结果:

代码语言:javascript
复制
root(ROOT-0, Give-1)
iobj(Give-1, me-2)
det(restaurant-4, a-3)
dobj(Give-1, restaurant-4)
case(Drive-7, on-5)
compound(Drive-7, Soquel-6)
nmod:on(Give-1, Drive-7) <--- WRONG HEAD
nsubj(serves-9, that-8)
acl:relcl(Drive-7, serves-9) <--- WRONG HEAD
amod(food-12, good-10)
amod(food-12, french-11)
dobj(serves-9, food-12)

在corenlp.run上,我得到了以下结果:

代码语言:javascript
复制
root(ROOT-0, Give-1)
iobj(Give-1, me-2)
det(restaurant-4, a-3)
dobj(Give-1, restaurant-4)
case(Drive-7, on-5)
compound(Drive-7, Soquel-6)
nmod:on(restaurant-4, Drive-7) <--- CORRECT HEAD
nsubj(serves-9, that-8)
acl:relcl(restaurant-4, serves-9) <--- CORRECT HEAD
amod(food-12, good-10)
amod(food-12, french-11)
dobj(serves-9, food-12)

您将注意到,在本地机器版本中有两个错误。我不知道为什么--尤其是如果这是一个模型问题(我目前正在调试每个注释器的输出,以查看流程返回的内容)。

这些是我使用的注解器:"tokenize,ssplit,pos,引理,ner,parse,openie“。这些模型都是从CoreNLP版本3.6.0中直接推出的

所以有人能帮我理解为什么我的结果与演示站点的结果不同吗?

EN

回答 1

Stack Overflow用户

发布于 2016-01-01 22:35:20

CoreNLP提供了多个解析器来获得选区和依赖树。默认的解析器是PCFG选区分析器,它输出选区树,然后转换成依赖树。

另一方面,corenlp.run使用神经网络依赖分析器直接输出与默认管道输出不同的依赖树。

为了在本地机器上获得相同的输出,请使用以下注解器:

代码语言:javascript
复制
tokenize,ssplit,pos,lemma,ner,depparse,openie

(如果您只需要解析依赖,lemmaneropenie都是可选的。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34539527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档