斯坦福CoreNLP返回的不仅仅是基本关系三元组

时间:2016-11-22 21:30:46

标签: stanford-nlp

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

例如,在句子中:

  

"初步诊断由Roy Coy MD通知Tom博士   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

1 个答案:

答案 0 :(得分:0)

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