在 OpenIE 中找不到名词介导的关系

Noun-mediated relationships not being found in OpenIE

我很难提取 Angeli et al 中概述的名词中介关系。

当我 运行 在本地使用输入 "US president Barack Obama traveled to India on Monday" 打开 IE 时,仅提取了两个关系:

但是,当我 运行 在 http://corenlp.run/ 处输入相同的内容时,第三个关系看起来会被提取出来。更有趣的是,如果我从 corenlp.run 中删除 "Named Entities" 作为可能的注释器,则不再找到第三个关系。

所以我想我的问题是正确提取名词中介关系所需的正确配置(版本、模型、注释器...)是什么?在我的本地机器上,我下载了 v3.6.0,从 GitHub 上的大师 b运行ch 编译了最新的源代码,然后将 stanford-corenlp-3.6.0.jar 替换为之前编译的jar 文件。然后,我 运行 从 v3.6.0 文件夹中执行以下命令:

java -mx1g -cp "*" edu.stanford.nlp.naturalli.OpenIE -format ollie

任何帮助或见解都会有很大帮助。非常感谢!

因此,OpenIE 系统中用于提取这些关系的当前启发式方法是仅在存在命名实体信息时才提取它们(我们默认禁用以提高速度),否则我们会大大过度生成它们。您可以使用标志 -triple.all_nominals 强制启用它们,但您已被警告 :)。另一个简单的选择是设置 -resolve_coref 标志,这将 (1) 运行 并在生成三元组时解析指代,而且 (2) 隐式 运行 NER 注释器。最后一个选项是直接指定注释器以包含 NER:

java -mx1g -cp "*" edu.stanford.nlp.naturalli.OpenIE -annotators "tokenize,ssplit,pos,lemma,depparse,ner,natlog,openie" -format ollie

最后,如果您使用的是 3.6.0 版本,那么它现在已经相当过时了。您可能会从 GitHub 存储库的 HEAD 中获得更好的结果——这大致就是 corenlp.run 跟踪的内容。