Я пытаюсь извлечь все существительные и прилагательные из данного текста через анализатор Стэнфорда.
Моя текущая попытка состоит в использовании сопоставления с образцом в getChildrenAsList () Tree-Object для нахождения таких объектов, как:
(NN paper), (NN algorithm), (NN information), ...
и сохранения их в массиве.
Входное предложение:
В этой статье мы представляем алгоритм, который извлекает семантическую информацию из произвольного текста.
Result - String:
[(S (PP (IN In) (NP (DT this) (NN paper))) (NP (PRP we)) (VP (VBP present) (NP (NP (DT an) (NN algorithm)) (SBAR (WHNP (WDT that)) (S (VP (VBD extracts) (NP (JJ semantic) (NN information)) (PP (IN from) (NP (DT an) (ADJP (JJ arbitrary)) (NN text)))))))) (. .))]
Я пытаюсь использовать сопоставление с образцом, потому что не могу найти метод в анализаторе Стэнфорда, который возвращает все классы слов, например, существительные.
Есть ли лучший способ для извлечения этих классов слов или парсер предоставляет конкретные методы?
public static void main(String[] args) {
String str = "In this paper we present an algorithm that extracts semantic information from an arbitrary text.";
LexicalizedParser lp = new LexicalizedParser("englishPCFG.ser.gz");
Tree parseS = (Tree) lp.apply(str);
System.out.println("tr.getChildrenAsList().toString()"+ parseS.getChildrenAsList().toString());
}
}