获取k-best依赖解析树

时间:2014-09-17 09:46:29

标签: java nlp stanford-nlp text-parsing

对于一个项目,我需要一个句子的依赖解析树。使用斯坦福NLP非常有效:

import edu.stanford.nlp.pipeline.StanfordCoreNLP;
// ...
public void parse(String sentence) {
    Properties props = new Properties();
    props.put("annotators", "tokenize, ssplit, pos, lemma, parse");
    Annotation document = new Annotation(sentence);
    StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
    pipeline.annotate(document);
    List<CoreMap> sentences = document.get(SentencesAnnotation.class);

    CoreMap firstSentence = sentences.get(0);
    SemanticGraph dependencies = firstSentence.get(CollapsedCCProcessedDependenciesAnnotation.class);
    // ...
}

但是我现在还需要其他可能的解析树,即 k-best parse trees 。我可以稍后挑出最有意义的树。我环顾四周,但没有在网上找到使用Java API执行此操作的任何代码。

有人做过这样的事吗?

干杯!

0 个答案:

没有答案