next up previous contents
次へ: デコーダ 上へ: 統計翻訳 戻る: GIZA++   目次

言語モデル

言語モデルは, 翻訳候補の文に対して目的言語の文らしさの指標を与えるモデルである. 翻訳モデルでは,訳語の選択や訳語の位置の選択に対する評価を与えることはできるが, 作られた翻訳候補が目的言語の文としてふさわしいかどうかを判断する評価を与えることはできない. そのため, 言語モデルでは, 日英統計翻訳の場合, より英語らしい文に対して, 高い確率を与えることで, 翻訳モデルで翻訳された訳文候補の中から英語として自然な文を選出する.
・18#18-gramモデル
統計翻訳では一般的に, 18#18-gramモデルを用いる. 18#18-gramモデルは, ``単語列 19#19 の 20#20 番目の単語 21#21 の生起確率 22#22 は直前の(23#23)の単語列24#24, 25#25に依存する" という仮説に基づくモデルである. また, 26#26のモデルをuni-gram, 27#27のモデルをbi-gram, 28#28のモデルをtri-gramと特有の呼びかたをする. 29#29以上は4-gramなど数値を用いて呼ぶ. 18#18-gramは以下の式で表現される. ここで, 30#30 は 20#20 から 3#3 番目までの単語列を表す.
31#31 6#6 32#32 (3.3)
  8#8 33#33 (3.4)
  6#6 34#34 (3.5)

また, 35#35 は以下の式で計算される. ここで, 36#36 は単語列 37#37 が出現する頻度を表す.

38#38     (3.6)

たとえば, ``I have dogs . " という単語列に対して27#27としたbi-gramモデルの言語モデルを適応した場合, 単語列が生成される確率は以下の式で計算される.

39#39 40#40 41#41 (3.7)

tri-gramモデルであれば, 42#42, 4-gramモデルであれば 43#43となる.

(3.6)式から信頼性の高い値を推定するためには, 単語列 44#44 が多く出現している必要がある. しかし, 実際には多くの単語列は出現数が0となることが多いため信頼できる値を推定できない場合が多い. 低頻度な語彙の場合, 45#45 の値が小さく, 信頼性が低い. また, 学習データ中に単語列 37#37 が存在しない場合, この単語列の出現確率は0と推定される. そのため, (3.6)式から信頼できる値を算出するためには, 大規模なコーパスを用いて, 各単語列の出現数を高める必要がある. そこで, 出現頻度の少ない単語列をモデルの学習から削除(カットオフ)する方法や, 確率が0となるのを防ぐために, 大きい確率を小さく, 小さい確率を大きくするスムージング手法が提案されている. スムージングの代表的な手法にバックオフ・スムージングがある. バックオフ・スムージングは学習データに出現しない18#18-gramの値をより低い次数の(18#18-1)-gramの値から推定する.



平成27年3月19日