言語モデルは単語列,文字列に対して,それらが起こる確率を与えるモデルであ る.日英翻訳では,より英語らしい文に対して,高い確率を与えることで,翻訳 モデルで翻訳された訳文候補の中から英語として自然な文を選出する.
言語モデルとして代表的なものにN-gramモデルがある.N-gramモデルは,``単語
列
のi番目の単語
の生起確率
は直前の
単語に依存する'',という仮説に基づくモデルで
ある. 計算式を以下に示す.
例えば,「He is japanese .」という文字列に対する2-gramモデルは以下のようになる.
3-gramであれば「He is」という2単語の次に来る単語が「japanese」である確率
を考える.
尚,学習データに表れない単語連鎖を確率
0として,
-gramモデルを作成すると,言語モデルの性能が悪化する.
そのため,
-gramモデルはスムージング手法によって0でない確率を割り当てて作
成する.
代表的なスムージング法として,バックオフスムージングがある.
バックオフスムージングは,高次の
-gramが存在しない場合,低次の
-gram
で代用する.
この代用する低次の確率を,改良した手法がKneser-Neyスムージングである.
言語モデルにおける
-gram作成には一般にKneser-Neyスムージングが用いられ
ている.
言語モデルの例を表2.6に示す.
例えば,一番上の行は
を意味して
いる.
各スムージングパラメータを用いたときの,言語モデルの例を表2.7に 示す. 尚,表2.7の言語モデルは同一の英文50文を用いて2-gramまでの範囲で作成 したものである.
表2.7の言語モデル作成に用いた英文の例を表2.8に示す.