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

时间:2016-10-07 00:51:28

标签: stanford-nlp information-extraction

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

当我在本地运行OpenIE并输入“美国总统巴拉克·奥巴马周一前往印度”时,只提取了两种关系:

  • (美国总统巴拉克奥巴马周一前来旅行)
  • (美国总统巴拉克奥巴马前往印度)
  • 未找到但预期 :(巴拉克奥巴马,美国总统)

但是,当我在http://corenlp.run/运行相同的输入时,第三个关系似乎被提取出来。更有趣的是,如果我从corenlp.run中删除“命名实体”作为可能的注释器,则不再找到第三种关系。

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

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

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

1 个答案:

答案 0 :(得分:1)

因此,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跟踪的结果。