next up previous contents
次へ: デコーダ 上へ: 日英統計翻訳システム 戻る: 抽出したフレーズ対応の確率付け   目次

言語モデル

言語モデルは単語列に対して,それらが生成される確率を与えるモデルであ る.日英翻訳では,言語モデルを用いて,訳文候補の中から英語として自然な文 を選出する.言語モデルとして代表的なものにN-gramモデルがある. N-gramモデルは,``単語列 $ P(W_{1}^n) = w_{1},w_{2},...,w_{n}$ のi番目の単語 $ w_{i}$ の生起確率$ P(w_{i})$ は直前の単語列 $ w_{i-(N-1)},w_{i-(N-2)},...,w_{i-1}$ に依存する'',という仮説に基づくモ デルである. これは,以下の式で表せる.
$\displaystyle P(W_{1}^n)$ $\displaystyle =$ $\displaystyle P(w_{1}) P(w_{2}\mid w_{1})...P(w_{n} \mid w^{n-1}_{1})$ (5)
  $\displaystyle \approx$ $\displaystyle P(w_{1}) P(w_{2}\mid w_{1})...P(w_{n} \mid w^{n-1}_{n-(N-1)})$ (6)
  $\displaystyle =$ $\displaystyle \prod^{n}_{i=1} P(w_{i} \mid w^{i-1}_{i-(N-1)})$ (7)

また, $ P(w_{i} \mid w^{i-1}_{i-(N-1)})$ は以下の式で計算される.ここで, $ C()$ は単語列の出現数である.

$\displaystyle P(w_{i} \mid w^{i-1}_{i-(N-1)}) =
\frac{C(w^{i}_{i-(N-1)})}{C(w^{i-1}_{i-(N-1)})}$     (8)

例えば,「He is japanese .」という単語列に対して2-gramの言語モデルを適用 した場合,単語列が生成される確率は以下の式で計算される.

$\displaystyle P(\lq\lq He \,is \, japanese \, .'') = P(He) \times P(is \mid He) \times
P(japanese \mid is) \times P(. \mid japanese)$     (9)

しかし,式[*]から信頼できる値を算出するためには, 大規模なコー パスを用いて,各単語列の出現数を高める必要がある.そこで,出現数の少ない 単語列をモデルの学習から削除(カットオフ)する手法や,確率が0となるのを防 ぐために,大きい確率を小さく,小さい確率を大きくするスムージング手法が提 案されている.スムージングの代表的な手法にバックオフ・スムージングが ある.バックオフ・スムージングは学習データに出現しないN-gramの値を より低い次数のN-gramの値から推定する.trigramの例を以下に示す.

\begin{displaymath}P(w_{i} \mid w^{i-1}_{i-2}) =\left\{
\begin{array}{ll}
\alpha...
...存在する\\
p(w_{n} \vert w_{n-1})& それ以外
\end{array}\right.\end{displaymath}     (10)

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



平成22年2月17日