Stanford nlp Stanford CoreNLP返回的不仅仅是基本关系三元组

Stanford nlp Stanford CoreNLP返回的不仅仅是基本关系三元组,stanford-nlp,Stanford Nlp,CoreNLP返回的三元组比我们预期的多,即整个句子或短语,而不是构成句子所传达的基本信息的一个或两个三元组 例如,在句子中: “初步诊断由Roy Coy医学博士在 2011年11月11日16:00 CDT。“ 我们预计这将是三倍: preliminary diagnosis; be notify to; Dr. Tom 但我们得到了如下三倍: 1.0 diagnosis be notify by Roy Coy MD at 16:00 cdt on 11/11/2011 1.0 diagno

CoreNLP返回的三元组比我们预期的多,即整个句子或短语,而不是构成句子所传达的基本信息的一个或两个三元组

例如,在句子中:

“初步诊断由Roy Coy医学博士在 2011年11月11日16:00 CDT。“

我们预计这将是三倍:

preliminary diagnosis; be notify to; Dr. Tom
但我们得到了如下三倍:

1.0 diagnosis be notify by Roy Coy MD at 16:00 cdt on 11/11/2011
1.0 diagnosis be notify to Dr. Tom at 16:00 cdt on 11/11/2011
1.0 preliminary diagnosis be notify to Dr. Tom
除基本信息外,还包含其他详细信息。在极端情况下,CoreNLP返回整个原始句子

为了将CoreNLP输出减少到基本三元组,我们可以更改哪些参数?我们已经尝试过最大数量的蕴涵和三重严格集,但它们不起作用。我们可以提供一个包含三元组完整列表的文件

Java代码:

java -mx1g -cp stanford-openie.jar;stanford-openie-models.jar;slf4j-api.jar edu.stanford.nlp.naturalli.OpenIE -openie.max_entailments_per_clause= 1 -openie.triple.strict= true -openie.splitter.disable=true

实际上,这是设计的。人们对OpenIE系统的粒度级别并不总是先验的清楚,因此我们的系统试图产生它所能达到的所有粒度级别。这里的预期用途是生成可以在数据库中查找的三元组。因此,如果有人询问一个非常具体的查询,则返回较长的三元组。如果有人问一个简单的查询,我们会返回简单的三元组(它们旁边有更长的三元组并不重要)。

实际上,这是经过设计的。人们对OpenIE系统的粒度级别并不总是先验的清楚,因此我们的系统试图产生它所能达到的所有粒度级别。这里的预期用途是生成可以在数据库中查找的三元组。因此,如果有人询问一个非常具体的查询,则返回较长的三元组。如果有人询问一个简单的查询,我们将返回简单的三元组(它们旁边是否有较长的三元组并不重要)。

欢迎使用Stack Overflow!请阅读我们的文章,帮助您提出一个好问题,从而得到一个好答案。欢迎使用堆栈溢出!请复习我们的课程,帮助你提出一个好问题,从而得到一个好答案。