斯坦福NLP如何确定SemanticGraph的根

时间:2015-01-19 10:53:46

标签: graph root stanford-nlp

我对 SemanticGraph root 元素有疑问。如何指定(确定)?我确信它不一定总是一个动词。我试图使用图表,但我不知道它可能有什么形式。

一只罕见的黑松鼠已成为郊区花园的常客。

-> become/VBN (root)
  -> squirrel/NN (nsubj)
    -> A/DT (det)
    -> rare/JJ (amod)
    -> black/JJ (amod)
  -> has/VBZ (aux)
  -> visitor/NN (xcomp)
    -> a/DT (det)
    -> regular/JJ (amod)
  -> garden/NN (prep_to)
    -> a/DT (det)
    -> suburban/JJ (amod)

VS

比尔是一个诚实的人。

-> man/NN (root)
  -> Bill/NNP (nsubj)
  -> is/VBZ (cop)
  -> an/DT (det)
  -> honest/JJ (amod)

由于

1 个答案:

答案 0 :(得分:0)

过了一会儿,我找到了解决问题的方法。据我所知,有两种类型的ROOT元素。正常动词和动词BE。

由于它是用斯坦福类型依赖手册(http://nlp.stanford.edu/software/dependencies_manual.pdf第4.7节)编写的,因此它们被称为Copula werbs并且为了避免使用其他东西,然后在根中使用动词 -makeCopulaHead 旗。

如何添加标志:

1)Activate makeCopulaHead in Stanford CoreNLP parser

2)使用java。

Properties props = new Properties();
props.put("parse.flags", "-makeCopulaHead");

结果比尔是一个诚实的人。

-> is/VBZ (root)
  -> Bill/NNP (nsubj)
  -> man/NN (xcomp)
    -> an/DT (det)
    -> honest/JJ (amod)