英単語列( ) | (スムージング推定) | |
-4.191673 | the socket | -0.3293359 |
-3.661356 | the sofa | -0.2541532 |
-3.70543 | the software | -0.08667657 |
-3.343311 | the soil | -0.3595161 |
-4.37106 | the solar | -0.09943552 |
表の1行目の例では,左の数値は``the"の後に``socket"がくる確率の常用対数 を求めた値である.中央は,2-gramで表された単語列,そしてバックオフスムージングで推定された確率値である.バックオフスムージングについては後述する. N-gramモデルは,``単語列 のi番目の単語 の生起確率 は直前の 単語に依存する'',という仮説に基づくモデルである. 計算式を以下に示す.
(2.22) | |||
(2.23) | |||
(2.24) |
例えば,``He is a man"という文字列に対する2-gramモデルは以下のようになる.
(2.25) |
-gramモデルにおいて,信頼できる値を算出するためには, 大規模なコーパスを用いることが必要である.そこで,出現数の少ない単語列をモデルの学習から削除する手法や,確率が0となるのを防ぐためのスムージング手法が提案されている.スムージングの代表的な手法としてバックオフスムージング(back-off smoothing)が挙げられる.バックオフスムージングは学習データに出現しない
-gramの値をより低次の
-gramの値から推定する.trigramの場合の例を以下に示す.
(2.26) |
はディスカウントと呼ばれ,出現しないN-gram に対して確率を付与するための係数である.また, は確率の和を にするための正規化係数である.