スタンフォード パーサーを使用して、特定のテキストからすべての名詞と形容詞を抽出しようとしています。
私の現在の試みは、次のようなものを見つけるために Tree-Object の getChildrenAsList() でパターン マッチングを使用しています。
(NN paper), (NN algorithm), (NN information), ...
それらを配列に保存します。
入力文:
この論文では、任意のテキストから意味情報を抽出するアルゴリズムを提示します。
結果 - 文字列:
[(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());
}
}