-gramモデルは, ``単語列
,
,...,
の
番目の単語
の生起確率
は,
直前の単語(
)に依存する''という仮定に基づくモデルである. 計算式を以下に示す.
![]() |
![]() |
![]() |
(2.3) |
例として, ``This is a pen''という文字列に対する2-gramモデルを以下に示す.
また, 3-gramモデルのときはとなる. このように, (
)単語の次にくる単語が
``is''や``pen''である確率を求める.
-gramモデルの例として2-gramモデルの例を以下の表2.1に示す.
-0.920822 | This is | -0.568185 |
-2.123066 | This picture | -0.275901 |
-2.381344 | This plan | -0.131124 |
-2.682374 | This music | -0.083978 |
-3.638501 | a pen | -0.100087 |
-3.296078 | a pencil | -0.132691 |
一番上の行に関して説明すると以下となる.
-0.920822: | ``This''のあとに``is''がくる確率を常用対数で表した値``
![]() |
This is: |
2-gramで表された単語列 |
-0.5681853: |
バックオフスムージングにより得られる,``This''のあとに``is''がくる確率を常用対数で表した値`` ![]() |
また,バックオフスムージングとは,高次の-gramが存在しない場合,
低次の
-gramを用いる手法である.
この低次の確率を改良したスムージングの手法がKneser-Neyスムージングである.
言語モデルにおける
-gram作成には,性能の良さから一般的にKneser-Neyスムージングが用いられる.