統計的機械翻訳入門   #tokyonlp   @nokuno
自己紹介• Twitter: @nokuno• はてな: id:nokuno• TokyoNLP主催• Social IME, StaKK開発者
今日の内容  •   機械翻訳の教科書  •   IBM モデル1まで  •   http://amzn.to/hIvoo6
統計的機械翻訳とは• 機械翻訳:プログラムが翻訳すること• 統計的:コーパスに基づくアプローチ• 対訳コーパスと単言語コーパスを使う
Google翻訳してみる     • I was among the first Canadians to        own a Kindle.     • 私はこの本を所有している最初のカナ        ダ人の間であった。http://...
Noisy-Channel Model• 言語モデルと翻訳モデルに分解    e = argmax e P(e | f )      = argmax e P(e)P( f | e) e: 翻訳先の文、f: 翻訳元の文 P(e): 言語モデル ...
言語モデルの例:単語N-gram• 文の滑らかさ=単語の滑らかさの組合せ  P(e) = Õ P(wi | wi-1 )              i        0.1           0.05        0.1       0.0...
翻訳モデル• 単語ベース(IBMモデル)• フレーズベース• ツリーベース 今回はIBMモデル2までを扱います
単語の翻訳• 単語1つを翻訳するには?→辞書を引く – Haus – house, building, home, household, shell.• いろいろな翻訳が考えられる – 「流暢な」翻訳とそうでない翻訳がある – 例えば:hous...
訳語の集計• Hausの訳語を集計する
翻訳確率の推定• 最尤推定により以下が求まる:
単語アライメント• 単語の対応付け
単語アライメント• 単語の並び替え
単語アライメント• 単語数の増加
単語アライメント• 単語の削除
単語アライメント• 単語の挿入
IBM Model 1• 生成モデル:翻訳プロセスをモデル化• 文の翻訳を語彙の翻訳に帰着させる      入力      出力 アライメント a: j→i : e_jがf_iに対応する
例
翻訳モデルを学習するには?• 対訳コーパスから学習したい• しかし、アライメントがわからない• 鶏と卵の問題 – アライメントがあれば、パラメータ推定できる – パラメータがあれば、アライメントを推定できる
EMアルゴリズム• 不完全データ – 完全データが手に入れば、モデルを推定できる – モデルがあれば、欠損データを推定できる• EMアルゴリズムの概要 1.   モデルパラメータを初期化(一様分布など) 2.   欠損データに確率を与える 3....
EMアルゴリズム• 初期化:すべてのアライメントは等確率• モデル学習:la は theとよく共起する
EMアルゴリズム• 1回目のイテレーション後• laとtheはより強くアライメントされている
EMアルゴリズム• 2回目のイテレーション後• fleur とflowerが対応する(鳩の巣原理)
EMアルゴリズム• 収束後• 隠れたアライメントが推定された
EMアルゴリズム• アライメントからパラメータを推定
IBMモデル1におけるEM• EMアルゴリズムは2つのステップからなる• Eステップ:モデルをデータに適用 – モデルは隠れ変数を含む – 取りうる値の確率を推定する• Mステップ:データからモデルを推定 – 確率で重み付けして頻度を集計する ...
Eステップ(1)• アライメント確率p(a|e,f)を求める   ∵                (IBM Model1の定義)
Eステップ(2)• 和と積を入れ替える
Eステップ(3)• 以下の確率を求めれば良い
Mステップ• P(a|e,f)は既知として尤度の期待値を最大化              そのアライメントで              eとfが対応している回数                (最尤推定)
EM:擬似コード
実験結果
日英対訳コーパスの例• NICTの日英対訳コーパスで実験• GIZA++を使ってアライメント• セグメンテーションのミスが多い 日本語    英語            確率 精神     sentimentality 0.000189816 ...
まとめ• 機械翻訳はNoisy Channel Modelの枠組み• IBMモデル1:語彙の翻訳• アライメントとEMアルゴリズム
参考文献• 統計的機械翻訳サーベイ, 岡野原大輔 • http://www.slideshare.net/pfi/smt-        survey• 統計的機械翻訳ことはじめ, 渡辺太郎    •   http://www.kecl.ntt...
ご清聴ありがとうございました
高次のIBMモデル• IBMモデル1: アライメントは一様分布• IBMモデル2: 絶対アライメントを追加• IBMモデル3: 単語数の増減を追加• IBMモデル4: 相対アライメントを追加• IBMモデル5: 単語の欠損を追加上位のモデルは下...
Upcoming SlideShare
Loading in...5
×

統計的機械翻訳入門 #TokyoNLP

7,416

Published on

第4回自然言語処理勉強会@東京の発表資料です。統計的機械翻訳の入門になっています。

0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,416
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
94
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide

統計的機械翻訳入門 #TokyoNLP

  1. 1. 統計的機械翻訳入門 #tokyonlp @nokuno
  2. 2. 自己紹介• Twitter: @nokuno• はてな: id:nokuno• TokyoNLP主催• Social IME, StaKK開発者
  3. 3. 今日の内容 • 機械翻訳の教科書 • IBM モデル1まで • http://amzn.to/hIvoo6
  4. 4. 統計的機械翻訳とは• 機械翻訳:プログラムが翻訳すること• 統計的:コーパスに基づくアプローチ• 対訳コーパスと単言語コーパスを使う
  5. 5. Google翻訳してみる • I was among the first Canadians to own a Kindle. • 私はこの本を所有している最初のカナ ダ人の間であった。http://lemire.me/blog/archives/2011/01/01/surprising2010/
  6. 6. Noisy-Channel Model• 言語モデルと翻訳モデルに分解 e = argmax e P(e | f ) = argmax e P(e)P( f | e) e: 翻訳先の文、f: 翻訳元の文 P(e): 言語モデル 文の滑らかさに関するスコア P(f|e): 翻訳モデル 意味の近さに関するスコア
  7. 7. 言語モデルの例:単語N-gram• 文の滑らかさ=単語の滑らかさの組合せ P(e) = Õ P(wi | wi-1 ) i 0.1 0.05 0.1 0.08 ブログ で 日記 を 書く C(w): コーパス中のwの頻度 単言語コーパスから推定可能
  8. 8. 翻訳モデル• 単語ベース(IBMモデル)• フレーズベース• ツリーベース 今回はIBMモデル2までを扱います
  9. 9. 単語の翻訳• 単語1つを翻訳するには?→辞書を引く – Haus – house, building, home, household, shell.• いろいろな翻訳が考えられる – 「流暢な」翻訳とそうでない翻訳がある – 例えば:houseとbuildingはよく使われている• ここでドイツ語を英語に翻訳するものとする
  10. 10. 訳語の集計• Hausの訳語を集計する
  11. 11. 翻訳確率の推定• 最尤推定により以下が求まる:
  12. 12. 単語アライメント• 単語の対応付け
  13. 13. 単語アライメント• 単語の並び替え
  14. 14. 単語アライメント• 単語数の増加
  15. 15. 単語アライメント• 単語の削除
  16. 16. 単語アライメント• 単語の挿入
  17. 17. IBM Model 1• 生成モデル:翻訳プロセスをモデル化• 文の翻訳を語彙の翻訳に帰着させる 入力 出力 アライメント a: j→i : e_jがf_iに対応する
  18. 18.
  19. 19. 翻訳モデルを学習するには?• 対訳コーパスから学習したい• しかし、アライメントがわからない• 鶏と卵の問題 – アライメントがあれば、パラメータ推定できる – パラメータがあれば、アライメントを推定できる
  20. 20. EMアルゴリズム• 不完全データ – 完全データが手に入れば、モデルを推定できる – モデルがあれば、欠損データを推定できる• EMアルゴリズムの概要 1. モデルパラメータを初期化(一様分布など) 2. 欠損データに確率を与える 3. 推定データからモデルパラメータを更新する 4. 収束するまで2-3を繰り返す
  21. 21. EMアルゴリズム• 初期化:すべてのアライメントは等確率• モデル学習:la は theとよく共起する
  22. 22. EMアルゴリズム• 1回目のイテレーション後• laとtheはより強くアライメントされている
  23. 23. EMアルゴリズム• 2回目のイテレーション後• fleur とflowerが対応する(鳩の巣原理)
  24. 24. EMアルゴリズム• 収束後• 隠れたアライメントが推定された
  25. 25. EMアルゴリズム• アライメントからパラメータを推定
  26. 26. IBMモデル1におけるEM• EMアルゴリズムは2つのステップからなる• Eステップ:モデルをデータに適用 – モデルは隠れ変数を含む – 取りうる値の確率を推定する• Mステップ:データからモデルを推定 – 確率で重み付けして頻度を集計する – 集計した頻度からモデルを推定する• これらを収束まで繰り返す
  27. 27. Eステップ(1)• アライメント確率p(a|e,f)を求める ∵ (IBM Model1の定義)
  28. 28. Eステップ(2)• 和と積を入れ替える
  29. 29. Eステップ(3)• 以下の確率を求めれば良い
  30. 30. Mステップ• P(a|e,f)は既知として尤度の期待値を最大化 そのアライメントで eとfが対応している回数 (最尤推定)
  31. 31. EM:擬似コード
  32. 32. 実験結果
  33. 33. 日英対訳コーパスの例• NICTの日英対訳コーパスで実験• GIZA++を使ってアライメント• セグメンテーションのミスが多い 日本語 英語 確率 精神 sentimentality 0.000189816 平安京 Heian-Kyo 0.0121956 李 Takutori-tenno 0.00148212 は NULL 0.251252
  34. 34. まとめ• 機械翻訳はNoisy Channel Modelの枠組み• IBMモデル1:語彙の翻訳• アライメントとEMアルゴリズム
  35. 35. 参考文献• 統計的機械翻訳サーベイ, 岡野原大輔 • http://www.slideshare.net/pfi/smt- survey• 統計的機械翻訳ことはじめ, 渡辺太郎 • http://www.kecl.ntt.co.jp/icl/kpro/taro/papers/smt- tutorial.pdf• Foundations of Statistical Machine Translation: Past, Present and Future, Taro Watanabe • http://mastarpj.nict.go.jp/~t_watana/papers/interspeech2010- tutorial.pdf
  36. 36. ご清聴ありがとうございました
  37. 37. 高次のIBMモデル• IBMモデル1: アライメントは一様分布• IBMモデル2: 絶対アライメントを追加• IBMモデル3: 単語数の増減を追加• IBMモデル4: 相対アライメントを追加• IBMモデル5: 単語の欠損を追加上位のモデルは下位のモデルによる学習を初期値として再学習
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×