スタンフォードCoreNLPのSemanticGraphコンポーネントを使用して(一般的な方法で)文の主語を取得するにはどうすればよいですか?Stanford SemanticGraph文の件名
以下のコードを試しましたが、出力は件名がヌルであることを示しています。
String sentence = "Carl has 84 Skittles.";
Annotation doc = InitUtil.initStanford(sentence, "tokenize, ssplit, pos, lemma, ner, parse");
SemanticGraph semGraph = doc.get(SENTENCE).get(0).get(DEPENDENCIES);
IndexedWord verb = semGraph.getFirstRoot();
IndexedWord subject = semGraph.getChildWithReln(verb, GrammaticalRelation.valueOf("nsubj"));
System.out.println(subject);
私は以下の3行と最後の行に2つ目の交換同じコードをしようとすると、私は「カール」の予想される出力を得ます。違いはspecific
と呼ばれるプライベートフィールドGrammaticalRelation
が表示されますが、このフィールドの値は文固有のように見えます。私の質問は、すべての、またはほぼすべての文章に適用できる方法で主題を取得する方法です。
偉大な発見、ありがとう! – Jean