Stanford nlp 斯坦福OpenIE:如何输出依赖路径而不是纯文本模式?

Stanford nlp 斯坦福OpenIE:如何输出依赖路径而不是纯文本模式?,stanford-nlp,Stanford Nlp,我正在浏览Java源代码,想知道修改系统是否容易,使每个三元组的谓词部分是两个实体之间的依赖路径,而不是曲面形式 由于自然逻辑模块是在依赖树上运行的,我想这一需求应该有一个简单的调整 我将edu.stanford.nlp.naturalli/OpenIE.java中的代码追溯到: // Get the extractions boolean empty = true; synchronized (OUTPUT) { for (CoreMap sentence : ann.get(CoreAn

我正在浏览Java源代码,想知道修改系统是否容易,使每个三元组的谓词部分是两个实体之间的依赖路径,而不是曲面形式

由于自然逻辑模块是在依赖树上运行的,我想这一需求应该有一个简单的调整

我将edu.stanford.nlp.naturalli/OpenIE.java中的代码追溯到:

// Get the extractions
boolean empty = true;
synchronized (OUTPUT) {
  for (CoreMap sentence : ann.get(CoreAnnotations.SentencesAnnotation.class)) {
    for (RelationTriple extraction : sentence.get(NaturalLogicAnnotations.RelationTriplesAnnotation.class)) {
      // Print the extractions
      OUTPUT.println(tripleToString(extraction, docid, sentence));
      empty = false;
    }
  }
}
请告诉我以下步骤的实施情况:

sentence.get(NaturalLogicAnnotations.RelationTriplesAnnotation.class)

谢谢

每个关系三元组实际上都存储了生成它的依赖结构。看一看里面的图片


注意,这棵树不一定是原始句子的子树——例如,它可能是一个主语被移动来产生一个三元组关系。如果您在原始句子中寻找依赖路径,您可以通过标记的
索引注释查找标记,并从中计算依赖路径。

后续问题:是否有选项输出柠檬化模式,例如“出生于”to“is bear in”,“已婚于”to“marry to”,等等?W.r.t根据上面的后续内容,我们可以替换关系三元组中的单词到它们的引理。解决方法:使用“extraction.relationLemmaGloss()”函数!