私は Java 開発の初心者です。
スタンフォード大学の自然言語処理語彙パーサー (オープン ソース Java コード) を使用して「文法関係」を取得する方法について詳しく教えてください。
ありがとう!
私は Java 開発の初心者です。
スタンフォード大学の自然言語処理語彙パーサー (オープン ソース Java コード) を使用して「文法関係」を取得する方法について詳しく教えてください。
ありがとう!
Stanford Parser をプログラムで実行するには、コードの最初のファイルの 88 行目を参照してください
GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();
GrammaticalStructure gs = gsf.newGrammaticalStructure(parse);
Collection tdl = gs.typedDependenciesCollapsed();
System.out.println("words: "+words);
System.out.println("POStags: "+tags);
System.out.println("stemmedWordsAndTags: "+stems);
System.out.println("typedDependencies: "+tdl);
コレクション tdl は、これらの型付けされた依存関係のリストです。TypedDependencyのjavadoc を見ると、.reln() メソッドを使用すると文法上の関係が得られることがわかります。
コードの 3 番目のファイルの 311 ~ 318 行目は、型指定された依存関係のリストを使用する方法を示しています。私はたまたまリレーションの名前を取得しましたが、GrammaticalRelation クラスのリレーション自体を取得することもできます。
for( Iterator<TypedDependency> iter = tdl.iterator(); iter.hasNext(); ) {
TypedDependency var = iter.next();
TreeGraphNode dep = var.dep();
TreeGraphNode gov = var.gov();
// All useful information for a node in the tree
String reln = var.reln().getShortName();
気分を悪くしないでください、私はパーサーの使い方を理解するのに惨めな 1 日か 2 日を費やしました。ドキュメントが改善されたかどうかはわかりませんが、使用したときはかなりひどかったです。