0

我正在使用nlp parser stanord. 我想从Collectiontdl 中提取一些元素,比如 nsubj 等等。我的代码是:

TreebankLanguagePack tlp = new PennTreebankLanguagePack();
GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();
GrammaticalStructure gs = gsf.newGrammaticalStructure(parse);
Collection tdl = gs.typedDependenciesCollapsed();

但我的问题是我不知道如何比较从集合中获得的元素。

非常感谢您的帮助!

4

1 回答 1

2

它是 TypedDependency 的集合,然后可以以所有常见的 Java 方式进行检查或操作。例如,这段代码只打印出 nsubj 关系:

  Collection<TypedDependency> tdl = gs.typedDependenciesCCprocessed(true);
  for (TypedDependency td : tdl) {
    if (td.reln().equals(EnglishGrammaticalRelations.NOMINAL_SUBJECT)) {
      System.out.println("Nominal Subj relation: " + td);
    }
  }
于 2011-04-03T19:51:05.983 回答