繁体   English   中英

斯坦福大学NLP Java

[英]Stanford nlp java

如何从树中提取这些标签? http://s9.postimg.org/uvbjudgi7/Immagine.png

我应该为每个标记提取语法类别吗,您可以帮我吗?

我尝试过:

Tree tree = sentence.get(TreeAnnotation.class);
tree.pennPrint();

for(int i = 0; i < tree.children().length; i++) {
   for(Tree r : tree.children()[i].localTrees()){
       System.out.println(r.nodeString());
    }
}

但我不知道如何提取标记的语法类别!

我认为您需要一个递归函数。

public void output(Tree tree) {
    System.out.println(tree.nodeString());
    for(int i = 0; i < tree.numChildren(); i++) {
        output(tree.children()[i]);
    }
}

您可以通过判断子节点是否为叶子来提取令牌的标签,例如:

if(tree.numChildren() == 1 && tree.children()[0].isLeaf()) {
    System.out.println(tree.nodeString()+" "+tree.children()[0].nodeString());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM