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

vit*_*aly 5 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()));
}
Run Code Online (Sandbox Code Playgroud)

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

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

Chr*_*ing 5

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

GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();
GrammaticalStructure gs = gsf.newGrammaticalStructure(parse);
Collection tdl = gs.typedDependenciesCollapsed();
System.out.println(tdl);
Run Code Online (Sandbox Code Playgroud)