next up previous contents
次へ: デコーダ 上へ: 統計翻訳システム 戻る: フレーズテーブルの作成法   目次

言語モデル

言語モデルは単語の列,文字の列が起こる確率を与えるモデルである.日英翻訳 では,より英語らしい文に対して,高い確率を与えることで,翻訳モデルで翻訳 された訳文候補の中から英語として自然な文を選出する.

代表的な言語モデルにN-gramがある.N-gramは``単語の列 \(
w^i_1 = w_1,w_2,…,w_i\)のi番目の単語\(w_i\)の生起確率\(Pw_i)\)は直前の\((i-1)\)単語に依存する'', という仮説に基づくモデルである.計算式を以下に示す.


$\displaystyle P(w^{i}_{1}) = \prod^{k = 1}_{i}P(w_{i} \mid w_{i-1} )$      

例えば,「I eat dinner.」という文字の列に対する2-gramモデルは以下のよう になる.

$\displaystyle P(e = \lq\lq I\hspace{0.5zw}eat\hspace{0.5zw} dinner.'')$ $\textstyle \approx$ $\displaystyle P(He)× P(eat \mid He)×P(dinner \mid eat) ×P(.\mid dinner)$  

3-gramであれば,「I eat」という2単語の次にくる単語が「dinner」である確率 を考える.なお,学習データに表れないN単語連鎖を確率0として,N-gramモデルを作成すると,性能が悪化する.よって,N-gramモデルは スムージング手法によって0でない確率を割り当てで作成する.代表的なスムー ジング手法として,バックオフスムージングがある.バックオフスムージングは, 高次のN-gramが存在しない場合,低次のN-gramで代用する.この代 用する低次の確率を改良した手法が,Kneser-Neyスムージングである.言語モデ ルにおけるN-gramの作成には一般にKneser-Neyスムージングが用いられて いる.言語モデルの例を表2.8に示す.



表 2.8: 言語モデルの例
-1.557193 Because of
-1.92458 absence from
-0.8959993 account for

例えば,1番目の行は \(\log_{10}(P(of \mid Becaouse)) = -1.557193\)を意味している.

各スムージングのパラメータを用いたときの,言語モデルの例を表 2.9に示す.なお,表2.9の言語モデルは同一の英文50文 を用いて,2-gramまでの範囲で作成したものである.


表 2.9: スムージングパラメータ別の言語モデルの例
パラメータukndiscountを用いた場合の例
-3.202558 the boy
-2.963157 the child
-2.298372 at all
パラメータkndiscountを用いた場合の例
-3.179705 the boy
-2.978517 the child
-2.283957 at all
パラメータndiscountを用いた場合の例
-3.068275 the boy
-3.068275 the child
-1.493827 at all
デフォルトのパラメータ(Good-Tuning-discounting)を用いた場合の例
-3.385125 the boy
-3.385125 the child
-2.405329 at all

2.9の作成に用いた英文の例を表2.10に示す.



表 2.10:2.9の言語モデル作成に用いた英文の例(50文より抜粋)
Faith can movemountains .
Please move over more to the right .
His way of thinking goes too far .
She has learned a good deal of literature .
A computer employs the two digits of the binary system .
As you know , the Hong Kong Textile Show falls on April 24 .


next up previous contents
次へ: デコーダ 上へ: 統計翻訳システム 戻る: フレーズテーブルの作成法   目次
平成22年2月13日