如何用nlp stanford解析器获得单词之间的关系

时间:2011-01-23 13:58:39

标签: stanford-nlp

我试图获取字符串和其他单词之间的联系,如:

  

屏幕非常好

所以我想得到

  

屏幕好

我只是不知道如何让主题屏幕并且描述非常好

我的代码是

public synchronized String test(String s, LexicalizedParser lp){

    if (s.isEmpty()) return "";
    if (s.length()>80) return "";
    System.out.println(s);

    Tree parse = (Tree) lp.apply(s);

    TreebankLanguagePack tlp = new PennTreebankLanguagePack();

    System.out.println(parse.dependencies(tlp.headFinder()));
}

有人能给我一个如何做到正确的例子吗?

字符串s是查找单词之间连接的句子。

1 个答案:

答案 0 :(得分:5)

要获取键入的Stanford依赖项(如nsubj,dobj),您需要使用GrammaticalStructure类。普通树只有非类型依赖项。使用这样的东西:

GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();
GrammaticalStructure gs = gsf.newGrammaticalStructure(parse);
Collection tdl = gs.typedDependenciesCollapsed();
System.out.println(tdl);