corenlp.run网站应该是CoreNLP的演示站点,它显示的结果与我在本地机器上运行CoreNLP管道时的结果非常不同。
该网站实际上显示了正确的结果,而本地机器版本没有。我想知道是否有任何与CoreNLP项目关系密切的人能够解释这些差异?
举个例子--这就是当我用它作为输入“给我在Soquel上的一家提供优质法国菜的餐厅”(这是来自RestQuery数据集)时会发生的情况。
在CoreNLP (本地机器,使用斯坦福的默认模型)上,我得到了以下结果:
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上,我得到了以下结果:
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中直接推出的
所以有人能帮我理解为什么我的结果与演示站点的结果不同吗?
发布于 2016-01-01 22:35:20
CoreNLP提供了多个解析器来获得选区和依赖树。默认的解析器是PCFG选区分析器,它输出选区树,然后转换成依赖树。
另一方面,corenlp.run使用神经网络依赖分析器直接输出与默认管道输出不同的依赖树。
为了在本地机器上获得相同的输出,请使用以下注解器:
tokenize,ssplit,pos,lemma,ner,depparse,openie(如果您只需要解析依赖,lemma、ner和openie都是可选的。)
https://stackoverflow.com/questions/34539527
复制相似问题