next up previous contents
次へ: 提案手法 上へ: 言語モデル 戻る: 言語モデルの概要   目次


$N$-gramモデル

代表的な言語モデルとして,$N$-gramモデルがある,$N$-gramモデルは,1次元 の単語列 $w_1,w_2,...,w_n={w_1}^n$における$i$番目の単語$w_i$の生起確率が, 直前の単語列 \(w_{i-(N-1)},w_{i-(N-2)},\\ ...,w_{i-1}\)に依存するという仮 説に基づくモデルである.これは,以下の式にで表せる.
$\displaystyle P({W_1}^n)$ $\textstyle =$ $\displaystyle P(w_1)P(w_2\vert w_1)...P(w_n\vert w_1^{n-1}) …$ (2.2)
  $\textstyle \approx$ $\displaystyle P(w_1)P(w_2\vert w_1)...P(w_n\vert w_{n-(N-1)}^{n-1})$ (2.3)
  $\textstyle =$ $\displaystyle \prod_{i=1}^n P(w_i\vert w_{i-(N-1)}^{i-1})$ (2.4)

また, $P(w_i\vert w_{i-(N-1)}^{i-1})$は以下の式で計算される.$C()$は単語列の 出現数である.
$\displaystyle P(w_n\vert w_{i-(N-1)}^{i-1})$ $\textstyle =$ $\displaystyle \frac{C(w_{i-(N-1)}^i)}{C(w_{i-(N-1)}^{i-1})}$ (2.5)

例えば,「He is a teacher .」という単語列に対して2-gramの言語モデルを適 用した場合,単語列が生成される確率は以下の式で計算される.
$\displaystyle P(\lq\lq He\ is\ a\ teacher\ .'')$ $\textstyle =$ $\displaystyle P(He)P(is\vert He)P(a\vert is)P(teacher\vert a)P(.\vert teacher)$ (2.6)

しかし,2.4から信頼できる値を算出するためには,各単語列の出現率が 高い必要がある.しかし,実際には,多くの単語列の出現率が0となることが多 いため,信頼できる値を算出できない場合が多い.したがって,確率値を平滑化 する手法であるスムージングを行う.代表的な手法にバックスオフスムージング がある,バックオフスムージングでは学習データに出現しない$N$-gramを ($N$-1)-gramの値から推定する.例として,3-gramの場合の確率は以下の式で推 定される.
$\displaystyle P(w_i\vert w_{i-2}^{i-1})=\left\{\begin{array}{ll}
\alpha \times ...
...-gramがなく2-gramが存在する\\
p(w_n\vert w_{n-1})&それ以外
\end{array} \right.$     (2.7)

ここで,$\alpha$をディスカウント係数,$\beta$をバックオフ係数と呼ぶ.

平成24年3月30日