Как получить конкретные элементы из коллекции TDL с парсером Stanford NLP - PullRequest
0 голосов
/ 31 марта 2011

Я использую nlp parser stanord. Я хочу извлечь некоторые элементы, такие как nsubj и другие из Collection tdl. Мой код:

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

но моя проблема в том, что я не знаю, как сравнивать элементы, которые я получаю из Коллекции.

Большое спасибо за помощь!

1 Ответ

2 голосов
/ 03 апреля 2011

Это коллекция 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);
    }
  }
...