如何使用stanford nlp解析器从Collection tdl获取特定元素

时间:2011-03-31 13:17:48

标签: nlp stanford-nlp

我正在使用nlp parser stanord。 我想从Collection tdl中提取一些像nsubj和更多元素的元素。 我的代码是:

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

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

非常感谢你的帮助!

1 个答案:

答案 0 :(得分: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);
    }
  }