隠れマルコフモデル(HMM)の排出確率値の計算


8

私はHMMを初めて使用し、まだ学習しています。私は現在、HMMを使用して品詞にタグを付けています。ビタビアルゴリズムを実装するには、遷移確率(ai,j)と排出確率(bi(o))。

私は、教師あり学習法を使用してこれらの確率の値を生成しています。ここでは、文とそのタグ付けを行います。排出確率は次のように計算します。

bi(o)=Count(io)Count(i)

どこ Count(i) タグの回数です i トレーニングセットで発生し、 Count(io) 観察された単語が o タグにマッピング i

しかし、これを訓練された bi(o) タグ付けの場合、指定された文に観察された変数があり、 bi。そのような場合、どのように値を推定しますかbi そのインスタンスのために?


排出確率を計算する方法は、それだけですか?割り当てについても同様のケースを解決しようとしています。

回答:


5

これらの種類の質問については、ラプラス平滑化を使用することが可能です。一般に、ラプラススムージングは​​次のように書くことができます。

If y{1,2,...,k}then,P(y=j)=i=1mL{yi=j}+1m+k

ここに L 可能性です。

したがって、この場合、排出確率値( bi(o) )は次のように書き直すことができます。

bi(o)=\Count(io)+1\Count(i)+n

どこ n システムのトレーニング後に使用可能なタグの数です。


nタグの数ではなく、一意の単語の数であってはなりませんか?それが確率の
合計

1

これは比較的古い質問ですが、私と同じように、何か関連のあるものを探してそれに遭遇した人々に5セントを追加します。

ゼロエミッション確率を処理するための代替アプローチは、「語彙を閉じる」ことです。アイデアは、トレーニングセットで「まれな」単語を定義することです-定義済みの回数よりも少ない単語は、モデルがトレーニングされる前に「単語クラス」で置き換えます。新しい単語のシーケンスにモデルを適用すると、トレーニングセットに表示されなかったすべての単語も「単語クラス」に変換されます(事実上、「まれ」と見なされます)。これにより、モデルに目に見えない言葉がないことが保証されます。

単語から「単語クラス」を生成するためのルールは手動で選択する必要があります(これは欠点です)。たとえば、このアプローチが使用された(おそらく)最初の記事(Bikel、DM、Schwartz、R。&Weischedel、RM Machine Learning(1999)34:211 .; https://link.springer.com/article/ 10.1023 / A:1007558221122 ; http://curtis.ml.cmu.edu/w/courses/index.php/Bikel_et_al_MLJ_1999)クラスの例は次のとおりです。

Word Feature           | Example Text           | Intuition
-----------------------|------------------------|-----------------------------------------
twoDigitNum            | 90                     | Two-digit year
fourDigitNum           | 1990                   | Four digit year
containsDigitAndAlpha  | A8956-67               | Product code
containsDigitAndDash   | 09-96                  | Date
containsDigitAndSlash  | 11/9/89                | Date
containsDigitAndComma  | 23,000.00              | Monetary amount
containsDigitAndPeriod | 1.00 Monetary          | amount, percentage
otherNum               | 456789                 | Other number
allCaps                | BBN                    | Organization
capPeriod              | M.                     | Person name initial
firstWord              | first word of sentence | No useful capitalization information
initCap                | Sally                  | Capitalized word
lowerCase              | can                    | Uncapitalized word
other                  | ,                      | Punctuation marks, all other words

トレーニングセット(マイケルコリンズの講義から)の前処理されたタグ付き文の例:

"利益/ NA急騰/ NA at / NAボーイング/ SC Co / CC、/ NA簡単/ NAトッピング/ NA予測/ NAオン/ NAウォール/ SLストリート/ CL、/ NA as / NA彼ら/ NA CEO / NAアラン/ SP Mulally / CP発表/ NAファースト/ NAクォーター/ NAの結果/ NA ./NA

(図示されるように置換された単語に(タグおよび「まれな単語」のいくつかの仮定の集合で)形質転換された太字で

" 最初の単語 / NA急上昇/ NA at / NA initCap / SC Co./CC、/ NA簡単に/ NA 小文字 / NA予測/ NA on / NA initCap / SL Street / CL、/ NA as / NA their / NA CEO / NAアラン/ SP initCap / CP発表/ NAファースト/ NAクォーター/ NAの結果/ NA ./NA

トレーニングセットでは、「タグ->単語/単語クラス」のすべてのペアが表示されない可能性があり、特定の単語または単語クラスがこれらのタグでタグ付けされることを不可能にします。しかし、それはそれらの単語が他のタグでタグ付けされるのを防ぎません-トレーニングセットで見られなかった単語があるときとは異なり。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.