我对 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)
由于
答案 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)