7

私の仕事は、文の中からクエリ ( の場合もある ) を見つけてnoun+verb、オブジェクトを抽出することです。

例:"coding is sometimes a tough work."私のクエリは次のようになります: "coding is".

私が得る型付きの依存関係は次のとおりです。

nsubj(work-6, coding-1)   
cop(work-6, is-2)    
advmod(work-6, sometimes-3)
det(work-6, a-4)
amod(work-6, tough-5)

私のプログラムは nsubj 依存関係を抽出"coding"し、クエリとして識別して保存する必要があります"work"

これは単純に思えるかもしれませんが、今まで、特定の型付き依存関係を抽出できるメソッドが見つかりませんでした。作業を完了するには、これが本当に必要です。

どんな助けでも大歓迎です、

4

2 に答える 2

10

次のコードで依存関係を見つけることができます。

Tree tree = sentence.get(TreeAnnotation.class);
// Get dependency tree
TreebankLanguagePack tlp = new PennTreebankLanguagePack();
GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();
GrammaticalStructure gs = gsf.newGrammaticalStructure(tree);
Collection<TypedDependency> td = gs.typedDependenciesCollapsed();
System.out.println(td);

Object[] list = td.toArray();
System.out.println(list.length);
TypedDependency typedDependency;
for (Object object : list) {
typedDependency = (TypedDependency) object;
System.out.println("Depdency Name"typedDependency.dep().nodeString()+ " :: "+ "Node"+typedDependency.reln());
if (typedDependency.reln().getShortName().equals("something")) {
   //your code
}
于 2013-02-06T20:16:50.867 に答える
1

特定の単語の依存関係を抽出するようにパーサーに指示する方法はないと思います。ただし、各センテンスの依存関係のリストを実行して、クエリ ワードが関係にあるすべてのインスタンスを検索することはできますnsubj

また、文のパースをどのように保存していますか? (あなたの質問から収集したように)テキストファイルにある場合は、2つの連続したgrepを使用できます。1つはクエリワード用、もう1つは希望する関係用で、関連する他の単語のリストを取得できます。

于 2012-02-13T21:58:51.153 に答える