2011-07-16 5 views
0

型付き依存関係では、Stanford ParserはWord出現場所も示しています。 「愛-2」今、それは "2"の場所で "愛"を示しています。スタンフォードパーサーAPIを使用して数値的に発生する単語を見つける方法?

nsubj(love-2, I-1) 
poss(country-4, my-3) 
dobj(love-2, country-4) 

ここで、スタンフォードパーサーAPIを使用してプログラム上、単語の場所を見つける方法はありますか? APIに何か不具合はありますか?

答えて

0

あなたは文章をすでに与えているに違いないので、なぜあなたはそれの中の単語の位置がわからないのか分かりません。

複数の依存関係に同じ単語が含まれている理由を理解しようとすると、単語がある依存関係から別の依存関係に伝播する可能性があるためです。

+0

@Miles ..基本的に私はパターンを作る時にそう...コンセプトのaquisitionのためのいくつかのパターンを作成し、これらの概念からオントロジーを勉強したい、I文章の中に単語の場所が必要です...助けてください。 – Qasim

+0

@Miles ....私は複合語を欲しいです(3月または4日まで)。なぜ文法上の単語の場所が必要なのですか? .. – Qasim

0

あなたは次のようなことを行います。 wordIndexはあなたが望むものです。

import edu.stanford.nlp.ling.CoreAnnotations.IndexAnnotation; 

... 

GrammaticalStructure gs = gsf.newGrammaticalStructure(parse); 
List<TypedDependency> tdl = gs.typedDependenciesCCprocessed(); 
TypedDependency td = tdl.get(0); 
CoreLabel cl = td.dep().label(); 
int wordIndex = cl.get(IndexAnnotation.class); 
1

あなたは文章中の特定の単語のインデックスを取得したい場合は、あなたが直接それをトークン化とのindexOf(トークン)+1
TypedDependency形式>>> abbreviated_form_reln(知事、と場所を得るために選択することができます依存型)
TypedDependency(または他の属性)の特定の単語のインデックスにアクセスする場合は、API
を使用します。
tedは、nsubj(love-2、I-1)

td.gov(); //gives the governer (of type TreeGraphNode) 
    td.dep(); //gives the dependent (") 
    td.reln(); //gives the relation (of type GrammaticalRelation) 

TreeGraphNodeのメソッドを使用して詳細を取得することができます。
TreeGraphNode tgn = td.gov();

tgn.index(); //yields the required index (for the above case, 2) 

Javadocを参照してくださいお気軽にhttp://nlp.stanford.edu/nlp/javadoc/javanlp/

関連する問題