StanfordCoreNLP openIE 问题

StanfordCoreNLP openIE issue

我遇到了同样的问题 我尝试 output = nlp.annotate(s, properties={"annotators":"tokenize,ssplit,pos,depparse,natlog,openie", "outputFormat": "json","openie.triple.strict":"true" , "openie.max_entailments_per_clause":"1","openie.splitter.disable":"true"})

但我还是得到了 4 个子句

(u'are pulled from', u'Twenty percent electric motors', u'assembly line') (u'are pulled from', u'百分比电动机', u'assembly line') ( u'are', u'Twenty percent electric motors', u'pulled') (u'are', u'percent electric motors', u'pulled') 我做错了什么吗?如何获得精确的三重 ('are pulled from', 'Twenty percent electric motors', 'assembly line')

这实际上是预期的行为。 OpenIE 系统的一个设计决定是生成原始句子逻辑上包含的所有三元组,即使它们是多余的。这个想法是这些三元组通常用于类似于 IR-ish 查找的东西,在这些情况下,不必对任何三元组是否 "similar enough" 到查询进行模糊匹配很方便。