統計翻訳では一般的に, 2#2-gramモデルを用いる. 2#2-gramモデルは, ``単語列 14#14 の 15#15 番目の単語 16#16 の生起確率 17#17 は直前の(18#18)の単語列19#19, 20#20に依存する" という仮説に基づくモデルである. また, 21#21のモデルをuni-gram, 22#22のモデルをbi-gram, 23#23のモデルをtri-gramと呼ぶ. (なお, 24#24以上は4-gramなど数値を用いて呼ぶ.)
計算式を以下に示す.
ここで, 25#25 は 15#15 から 5#5 番目までの単語列を表す.
26#26 | 11#11 | 27#27 | (3.1) |
28#28 | 29#29 | (3.2) | |
11#11 | 30#30 | (3.3) |
たとえば, ``I play baseball . " という単語列に対して22#22としたbi-gramモデルの言語モデルを適合した場合, 単語列が生成される確率は以下の式で計算される.
31#31 | 32#32 | 33#33 | (3.4) |
tri-gramモデルであれば, 34#34, 4-gramモデルであれば 35#35となる. 3-gramの場合を考えると,"I play" という単語列の次に "baseball" が来る確率を考える.しかし,N-gramモデルは局所的な情報であり,文法構造の情報を持たない. したがって,異なる文法構造間の翻訳は,同じ文法構造間の翻訳と比較して, 翻訳精度が低下する傾向がある. そのため, N-gramモデルにおいて, 信頼できる値を算出するためには, 大規模なコーパスを用いる必要がある. そこで, 出現頻度の少ない単語列をモデルの学習から削除(カットオフ)する方法や, 確率が0となるのを防ぐために, 大きい確率を小さく, 小さい確率を大きくするスムージング手法が提案されている. スムージングの代表的な手法にバックオフ・スムージングがある. バックオフ・スムージングは学習データに出現しない2#2-gramの値をより低い次数の(2#2-1)-gramの値から推定する.