(2.5) | |||
(2.6) | |||
(2.7) |
また, は以下の式で計算される. ここで は単語列 が出現する頻度を表す.
たとえば,``I have dogs .''という単語列に対してとしたbi-gramモデルの言語モデルを適応した場合,単語列が生成される確率は以下の式で計算される.
(2.9) |
tri-gramモデルであれば, ,4-gramモデルであれば となる.
(2.8)式から信頼性の高い値を推定するためには,単語列 が多く出現している必要がある. しかし,実際には多くの単語列は出現数が0となることが多いため信頼できる値を推定できない場合が多い. 低頻度な語彙の場合, の値が小さく,信頼性が低い.また,学習データ中に単語列 が存在しない場合,この単語列の出現確率は0と推定される. そのため,(2.8)式から信頼できる値を算出するためには,大規模なコーパスを用いて,各単語列の出現数を高める必要がある. そこで,出現頻度の少ない単語列をモデルの学習から削除(カットオフ)する方法や, 確率が0となるのを防ぐために,大きい確率を小さく,小さい確率を大きくするスムージング手法が提案されている. スムージングの代表的な手法にバックオフ・スムージングがある. バックオフ・スムージングは学習データに出現しない-gramの値をより低い次数の(-1)-gramの値から推定する.