2

たとえば、「オウムは泳ぎません」。ここで主な動詞は「泳ぐ」です。それを言語処理でどのように抽出できるでしょうか。この目的のための既知のアルゴリズムはありますか?

4

2 に答える 2

6

文に対して依存関係解析アルゴリズムを実行し、関係の依存関係を見つけることができますroot。たとえば、スタンフォード パーサーのオンライン デモで「オウムは泳ぎません」という文を実行すると、次の依存関係が得られます。

nsubj(swim-4, Parrots-1)
aux(swim-4, do-2)
neg(swim-4, not-3)
root(ROOT-0, swim-4)

これらの各行は、文中の 2 つの単語間の異なる文法関係に関する情報を提供します (以下を参照)。swim文の語根、つまり主動詞であると言う最後の行が必要です。したがって、主要な動詞を抽出するには、最初に依存関係の解析を実行し、読み取りの依存関係を見つけますroot(ROOT-0, X)X主動詞になります。

Stanford CoreNLPMalt parserで利用できるものなど、すぐに利用できる依存関係パーサーがいくつかあります。私は Stanford の方が精度は同等ですが、より優れたドキュメントがあり、マルチスレッド解析をサポートしているため (テキストが多い場合)、Stanford を好みます。スタンフォード パーサーは XML を出力するため、上記の依存関係情報を取得するには XML を解析する必要があります。


完全を期すために、残りの出力について簡単に説明します。最初の行はparrots、文の最初の単語 が 4 番目の単語の主語であることをswim示しています。2 行目はそれdoが に関連する助動詞swimであると述べ、3 行目はそれがnot否定であることを示していswimます。各依存関係の意味の詳細な説明については、スタンフォードの型付き依存関係マニュアルを参照してください。


編集: の定義方法によってはmain verb、一部の文には主動詞が複数含まれる場合がありますI like cats and hate snakes。この依存関係の解析には、依存関係が含まれています。

root(ROOT-0, like-2)
conj(like-2, hate-5)

likeパーサーによると、主な動詞は ですが、それhateに結合されていると一緒に言います。あなたの目的のために、両方を検討likehate、メインにすることをお勧めします。

于 2013-11-03T13:00:18.133 に答える
-1

動詞 (またはその他の品詞) を取得するために、ビタビ アルゴリズム、隠れマルコフ モデル、ブリル タガー、制約文法など、多くの教師ありおよび教師なしアルゴリズムを利用できます。NLTK (自然言語ツール キット)のようなライブラリもあります。これらのアルゴリズムがすでにエンコードされているPython(およびJavaでも同様のものを利用できます)の場合。任意のドキュメントまたは文で POS に注釈を付けるのは複雑な作業であり (特に高精度が必要な場合)、この分野の深い知識が必要です。最初は非常に基本的なことから始めて、継続的な努力により、より高いアルゴリズムを開発することができます。一般的なものよりも効率的です。

于 2013-11-03T09:03:47.720 に答える