Comments
Description
Transcript
翻訳モデル - Graham Neubig
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル ALAGIN 機械翻訳セミナー フレーズベース翻訳モデル Graham Neubig 奈良先端科学技術大学院大学 (NAIST) 2014 年 3 月 4 日 1 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル フレーズベース機械翻訳の仕組み [Koehn+ 03] ● 文を翻訳可能なパターンに区切り、並び替え Today I will give a lecture on machine translation . Today I will give 今日は、 を行います Today 今日は、 a lecture on の講義 machine translation 機械翻訳 machine translation 機械翻訳 a lecture on の講義 I will give を行います . 。 . 。 今日は、機械翻訳の講義を行います。 2 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 問題! ● 各文に対して膨大な可能性 花子 が 太郎 に 会った Hanako met Taro Hanako met to Taro Hanako ran in to Taro Taro met Hanako The Hanako met the Taro ● どれが訳としてふさわしいか? ● ● どの単語を選択するか→語彙選択の問題 どの並びが相応しいか→並び替えの問題 3 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル フレーズベース翻訳の確率モデル 4 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 翻訳の定式化 ● 翻訳を以下のように定義(逆順であることに注意) ● ● ● 出力文 E 導出 D 入力文 F E= hello where is the station Dep = D= F= Dfp = Do = hello where is こんにちは どこ です か 0 2 the station 駅は 1 こんにちは 駅 は どこ です か 5 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 最適解の定義・探索 ● 最適な出力文を入力文 F が与えられた時の、事後確率 が最大の出力文 E として定義 Ê =argmax P ( E∣F ) E ● 全ての D に対して和を取ることで計算可能(周辺化) Ê =argmax ∑ D P (D , E∣F ) E ● しかし、計算量を多くかかるので、 D も最大化 ̂ E≈argmax P (D , E∣F ) E 6 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 翻訳の確率モデル ● F が与えられた時の D と E の事後確率: P (D , E∣F ) ● 条件付き確率の定義を用いて: P (D , E∣F )=P ( D , E , F ) / P (F ) ∝ P (D , E , F ) ● 連鎖公式を使って以下の式で定義: P ( D , E , F )∝ P ( E )∗ P ( Dep∣E )∗ P ( D fp∣D ep , E )∗ P ( Dorder∣D fp , D ep , E )∗ P ( F∣D order , D fp , D ep , E ) 言語モデル 分割モデル 翻訳モデル 並び替えモデル 7 常に 1 (D が分かれ ば F は一意 ) ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 言語モデル ● 出力文 E の確率を計算 E = {e1, …, eI} I +1 P (E )=∏i =1 P (e i∣e i −N +1 , … , e i−1 ) 例: 2-gram E = hello where is the station P(E) = P(hello|<s>) * P(where|hello) * P(is|where) * P(the|is) * P(station|the) * P(</s>|station) 8 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 分割モデル ● E をフレーズに分割する確率を計算 Dep = {ep1, …, epK} P ( D ep∣E) E= hello where is the station Dep = hello where is ● ほかのモデルと比べて影響が小さい ● 多くの場合は一様分布を利用 the station P (D ep∣E)=1/ Z ep ● フレーズの数に基づく確率を利用することも P (D ep∣E)=e α ep K / Z ep ( 正の αep→ 短いフレーズを重視、負の αep→ 長いフレーズを重視 ) 9 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 翻訳モデル ● フレーズの翻訳確率 Dep → Dfp ● P(E|Dep) = 1 のため、 E は省略可能 P (D fp∣Dep , E )=P (D fp∣Dep ) ● 多くの場合、フレーズの翻訳が独立であると仮定 K P (D fp∣Dep )=∏ k =1 P ( fp k∣ep k ) Dep = hello where is P( こんにちは |hello) * P( どこ です か |where is) Dfp = こんにちは どこ です か the station * P( 駅 は |the station) 駅は 10 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 並び替えモデル ● あるフレーズの並びを選択する確率 P (D o∣D fp , Dep , E )=P (D o∣D fp , Dep ) Dep = Dfp = Do = ● hello where is こんにちは どこ です か 0 2 the station 駅は 1 非常に重要で難しい 11 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 並び替え:歪みモデル (1) ● 並び替えなしの場合 Dep = the station hello Dfp = <s> こんにちは 0 1 +1 ● 駅は 2 3 where is どこ です か </s> 4 5 6 7 +1 +1 first(fpk) – last(fpk-1) == +1 +1 並び替えありの場合 Dep = where is hello the station Dfp = <s> こんにちは どこ です か 0 1 4 5 6 +1 +3 駅は 2 3 -4 </s> 7 +4 12 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 並び替え : 歪みモデル (2) ● 「歪み」は並び替えなし (+1) からの差: dist(fpk-1, fpk) = |first(fpk) – last(fpk-1) – 1| Dep = where is hello the station Dfp = <s> こんにちは どこ です か 0 1 4 5 6 dist= ● +1 0 +3 2 駅は 2 3 -4 5 </s> 7 +4 3 歪みに対するペナルティを設ける K +1 P (D o∣D fp , Dep )= ∏k=1 e −αo dist ( fp k −1 , fp k ) Zo 13 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 並び替え: 語彙化並び替えモデル (1) ● 単語の並び替え方を確率的に表し、精度向上に貢献 ● 現在と次のフレーズの順番は 4 種類に分類: 単調:順番は同じ 交換:順番は逆 背 の 高い 男 太郎 を 訪問 した the tall man visited Taro 不連続(右): 不連続(左): 私 は 太郎 を 訪問した 背 の 高い 男 を 訪問 した I visited Taro visited the tall man ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 並び替え: 語彙化並び替えモデル (2) ● 訳出候補に対して並び替えの種類を計算 Dep = <s> where is hello the station </s> 駅は 2 3 </s> 7 Dfp = <s> こんにちは どこ です か 0 1 4 5 6 type(fpk-1, fpk)= mono disc. swap disc. last(fpk-1) + 1 = first(fpk) → mono last(fpk) + 1 = first(fpk-1) → swap otherwise → disc ● フレーズ対が与えられた時の並び替えの確率を利用 K +1 P ( D o∣D fp , D ep )= ∏k=1 P ( type( fp k−1 , fpk )∣ fpk −1 , ep k −1) Zo 15 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル モデルの全体像 言語モデル P (D , E , F )∝ P (E )∗ P (D ep∣E )∗ P (D fp∣D ep , E )∗ P (D order∣D fp , Dep , E ) Dep = D= Dfp = where is hello 分割モデル 翻訳モデル 並び替えモデル the station 駅は こんにちは どこ です か Do = 0 2 1 LM (2-gram) = P(hello|<s>) * P(where|hello) * P(is|where) * P(the|is) * P(station|the) * P(</s>|station) e SM ( 指数 ) = TM α ep * e α ep * e α ep =P( こんにちは |hello) * P( どこ です か |where is) * P( 駅 は |the station) 16 RM ( 歪み ) = −α o∗0 e −α o∗2 e −α o∗5 e −α o∗3 e ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 対数確率 log P ( D , E , F )∝ log P ( E )+ log P ( D ep∣E )+ log P ( D fp∣D ep , E )+ log P ( D order∣D fp , D ep , E) Dep = D= Dfp = Do = where is hello 分割モデル 翻訳モデル 並び替えモデル the station こんにちは どこ です か 0 言語モデル 2 駅は 1 LM (2-gram) = log P(hello|<s>) + log P(where|hello) + log P(is|where) + log P(the|is) + log P(station|the) + log P(</s>|station) SM ( 指数 ) = TM α ep + α ep + α ep =log P( こんにちは |hello) + log P( どこ です か |where is) + log P( 駅 は |the station) 17 RM ( 歪み ) = −α o∗0 + −α o∗2 + −α o∗5 + −α o∗3 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 対数線形モデル 18 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 確率→素性 確率の対数で表すことが多い log P ( D , E , F ) ∝ log P ( E )+ log P ( D ep∣E )+ log P ( D fp∣Dep , E )+ log P ( D order∣D fp , D ep , E) ● ● 言語モデル 分割モデル 翻訳モデル 並び替えモデル 更に「素性」として一般化できる log P ( D , E , F )∝ ϕ LM (D , E , F )+ ϕSM ( D , E , F )+ ϕTM ( D , E , F )+ ϕ RM ( D , E , F ) 19 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 対数線形モデル [Och+ 03] ● 翻訳候補のスコアは対数確率の和として定義 ○ Taro visited Hanako ☓ the Taro visited the Hanako ☓ Hanako visited Taro ● TM -3 -4 -3 RM -1 -1 -2 -8 -10 -7 Best Score ☓ 更に重み付き和にすると、より正確なモデル化が可能 ○ Taro visited Hanako ☓ the Taro visited the Hanako ☓ Hanako visited Taro ● LM -4 -5 -2 LM TM RM 0.2*-4 0.3*-3 0.5*-1 0.2*-5 0.3*-4 0.5*-1 0.2*-2 0.3*-3 0.5*-2 -2.2 -2.7 -2.3 Best Score ○ 最適化は最適な重みを発見 : wLM=0.2 wTM=0.3 wRM=0.5 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 対数線形モデルの定式化 ● 翻訳候補のスコアは素性の重み付き和 I S ( D , E , F )=∑i =1 w i ϕi ( D , E , F ) ● ● 利点その1: 通常のモデルで利用される素性の重要度を付与 利点その2: 通常のモデルで利用できない素性も追加可能 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 翻訳の素性 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 通常のモデルでも利用される素性 ● 言語モデルの対数確率: log PLM(E) ● フレーズペナルティ: ● 翻訳モデルの対数確率: log PTM(Dfp | Dep) ● 歪みモデル: log PO(Do | Dep, Dfp) ● 語彙化並び替えモデル: log PLR(Do | Dep, Dfp) |Dep| 対数線形モデルは 両方同時に! (通常はどれか一つ) ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 単語ペナルティ ● 翻訳で最も精度に影響する素性の1つ ● 出力文の長さを数えるだけ E= hello where is the station ϕ WP ( D , E , F )=∣E∣ ● wWP を高い値に設定すると長い文を生成 ● wWP を低い値に設定すると短い文を生成 24 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 翻訳モデルの種類 ● 従来のモデルで目的言語が与えられた時の原言語確率 K ϕTM (D , E , F )=∑ k =1 log P ( fp k∣ep k ) ● 原言語が与えられた時の目的言語確率も利用可 K ϕ RTM (D , E , F )=∑ k=1 log P (ep k∣ fp k ) ● 単語を考慮する「語彙化翻訳確率」も利用可 ∣ fp ∣+1 1 ϕ RLTM (D , E , F )=∑ k =1 log ∏ i=1 P (ep k ,i∣ fp k , j ) ∑ j =1 ∣ fpk∣+1 K ∣epk ∣ 単語ごとにフレーズ翻訳確率を計算 k (明日 Model 1 として詳しく) 25 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 語彙化並び替えモデルの拡張 ● 通常の語彙化並び替えモデルは前フレーズで条件付け Dep = <s> where is hello the station </s> 駅は 2 3 </s> 7 Dfp = <s> こんにちは どこ です か 0 1 4 5 6 type(fpk-1, fpk)= mono disc. swap disc. K +1 ϕ LR ( D , E , F )=log ∑ k=1 P (type ( fp k−1 , fp k )∣ fp k −1 , ep k −1) ● 後ろのフレーズから条件付けるのも可能 K +1 ϕ RLR ( D , E , F )=log ∑ k=1 P (type ( fp k−1 , fp k )∣ fp k , ep k ) ● 「 mono 」「 swap 」「 disc 」で異なる重みを与える 26 ことも(「 mono を優先」などの役割) ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル Moses で利用される標準的な素性 言語モデル関係 (1) ● 言語モデル確率 翻訳モデル関係 (4) ● ● ● ● フレーズ翻訳確率 P(E|F) フレーズ翻訳確率 P(F|E) 語彙化翻訳確率 P(E|F) 語彙化翻訳確率 P(F|E) ペナルティ関係 (2) ● ● フレーズペナルティ 単語ペナルティ ● 計 14 個の素性を利用! 並び替えモデル関係 (7) ● ● 歪みモデル 語彙化並べ替えモデル ● 前条件付け ● mono ● swap ● disc ● 後ろ条件付け ● mono ● swap ● disc 27 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル ほかに多く利用可能 ● 複数の言語モデル ! ● 複数の翻訳モデル! ● 統語情報を考慮した素性! ● ... 28 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 翻訳モデルの発展 29 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 翻訳モデルの発展 ● 翻訳モデル ● ● ● 因子化翻訳モデル 文脈を考慮した翻訳確率 並べ替えモデル ● 階層的な並べ替えモデル 30 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 因子化翻訳モデル [Koehn+ 07] ● 各単語を様々な因子に分解・翻訳・生成 解析 翻訳 生成 品詞言語モデル 単語 単語 単語 単語 語幹 語幹 語幹 語幹 品詞 品詞 品詞 品詞 活用 活用 活用 活用 31 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 文脈を考慮した翻訳モデル確率 ● ● 翻訳モデル確率をより多くの情報を用いて計算 run a marathon run a program run 走る run 走る run 実行する run 実行する フレーズごとに [Carpuat+ 07] 、単語ごとに [Mauser+ 09] 文脈を考慮 32 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 階層的な並べ替えモデル [Galley+ 08] ● 普通のモデルでは、粒度によって並び替えが変わる I will study machine を勉強します 機械 machine 機械 I will study translation を勉強します 翻訳 mono ● translation 翻訳 I will study machine translation を勉強します 機械翻訳 machine translation I will study 機械翻訳 を勉強します disc swap 複数のフレーズをグループ化することで改良 I will study machine を勉強します 機械 machine 機械 translation 翻訳 translation I will study 翻訳 を勉強します mono swap 33 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 資料 34 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 更に勉強するには 5章 6章 35 ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル 参考文献 ● ● ● ● ● ● [1] M. Carpuat and D. Wu. How phrase sense disambiguation outperforms word sense disambiguation for statistical machine translation. In Proc. TMI, pages 43-52, 2007. [2] M. Galley and C. D. Manning. A simple and effective hierarchical phrase reordering model. In Proc. EMNLP, pages 848-856, 2008. [3] P. Koehn and H. Hoang. Factored translation models. In Proc. EMNLP, 2007. [4] P. Koehn, F. J. Och, and D. Marcu. Statistical phrase-based translation. In Proc. HLT, pages 48-54, Edmonton, Canada, 2003. [5] A. Mauser, S. Hasan, and H. Ney. Extending statistical machine translation with discriminative and trigger-based lexicon models. In Proc. EMNLP, pages 210-218, 2009. [6] F. J. Och and H. Ney. Discriminative training and maximum entropy models for statistical machine translation. In Proc. ACL, 2002. 36