在Stanford Parser的类型依赖项中使用POS标记

时间:2012-05-28 10:55:40

标签: java stanford-nlp

我有一套句子。对于他们中的每一个,我想获得一个“通用”类型依赖关系图,其中每个单词都被相应的POS标记替换(除了动词和一些关键字,如 LOCATION TARGET )。

例如,从句子

take a left turn till you come to a LOCATION 

我想获得

amod(take,JJ)dobj(take,NN)mark(come,IN)nsubj(come,PP)prep_to(come,LOCATION)

这样做的简单方法是什么?

1 个答案:

答案 0 :(得分:0)

确定。我通过一些树操作解决了这个问题。

public static void exploreTree(Tree t) {
    List<Tree> child = t.getChildrenAsList();
    Tree terminal;
    for (Tree c : child) {
        if (c.isPreTerminal()) {
            terminal = c.getChild(0);
            String t_value = terminal.value();
            String c_value = c.value();
            if (!c_value.startsWith("VB")) {
                if (!t_value.equals("LOCATION") && !t_value.equals("TARGET")) {
                    terminal.setValue(c.value());
                }
            }
            // test[1].setValue(test[0].value());
        } else
            exploreTree(c);
    }
}

根据我的要求,它改变了斯坦福分析树的内部数据。也许不是最优雅和最强大的解决方案,但有效。