3

品詞のタグ付けのために構造化パーセプトロンを実装する方法を正確に理解するのに苦労しています。私の考えを確認または修正してください。不足しているギャップを埋めてください。

基本的に、構造化パーセプトロンはマルチクラス パーセプトロンの変形ですが、最高のスコアを収集する実装方法が異なります。現在のシーケンス インデックスは前のインデックスのみに依存するという一次マルコフ仮定が行われます。入力は、構造化されていない場合の 1 つの単語だけではなく、単語のシーケンス全体であり、すべての可能なラベル (y) のベクトルです。関数 f(x,y) は、指定された単語シーケンスに対して推測されたラベル シーケンスを返します。

マルチクラス パーセプトロンでは、1 つのラベルを 1 つのインスタンスに分類するだけなので、反復によって最高のスコアを簡単に取得できます。配列全体を分類する際の問題は、可能な標識の数が指数関数的に増加することです。これは、2 つの機能セットを使用して最適なパスを再帰的に見つけるビタビ アルゴリズムが必要な場所です。1 つは特定の POS タグが特定の単語にどの程度当てはまるかを判断するためのもので、もう 1 つは特定の POS タグが別の POS タグの直後に来る可能性を判断するためのものです。これらの各機能セットからのスコアは、各状態の一意の重みで乗算されます。選択したパスが間違っている場合、間違ったパスの状態の各重みが罰せられ、正しいパスの重みが与えられます。

これは、私が(できれば)理解している範囲です。現在の私の最大の質問は、機能がどのように構成されているか (以前のタグ シーケンスは機能の一部ですか?)、およびビタビ アルゴリズムを実際に実装する方法です。また、構造化パーセプトロンを使用した POS タガーの実装はどこにでもありますか (できれば Java で) 分析できますか?

ヒントを教えていただけると大変助かります!

4

1 に答える 1

3

あなたはすでに元の論文を読んでいると思いますが、完全を期すためにここにリンクを残しておきます.

あなたの直感は基本的に正しいです。機能に関しては、Viterbi アルゴリズムに固執する限り、ローカルのものに限定する必要があります。これらには通常、単語ウィンドウ (上記の論文では 5 単語だと思います)、前述の POS タグの 1 つまたは複数、および/またはそれらの組み合わせが含まれます。ビタビ アルゴリズムの実装は、機能の選択に多少依存します。一般に、後者は動的プログラミングの比較的単純な演習ですが、多数の実装をグーグルで検索することもできます。たとえば、このプロジェクトには、上記の論文で説明されているアルゴリズムの実装が含まれていると主張しています。

于 2012-10-11T14:33:42.750 に答える