PFI seminar 2010/05/27 統計的機械翻訳

9,764 views

Published on

1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total views
9,764
On SlideShare
0
From Embeds
0
Number of Embeds
2,255
Actions
Shares
0
Downloads
94
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide

PFI seminar 2010/05/27 統計的機械翻訳

  1. 1. 統計的機械翻訳サーベイ<br />岡野原 大輔<br />hillbig@preferred.jp<br />2010/05/27 PFIセミナー<br />
  2. 2. 参考資料<br />[NLP] “統計的機械翻訳ことはじめ”, 渡辺太郎言語処理学会チュートリアル NLP2004<br />日本語で読める<br />[SMT] “Statistical Machine Translation”, P. Koehn2010<br />統計的機械翻訳の歴史・グループ・手法など<br />最新手法までではないが基本は押さえられる<br />[免責事項]SMTは専門ではないので誤りなどありましたら教えてください<br />
  3. 3. 対象者<br />自然言語処理な人ではない<br />EM法ももちろん知らない<br />アルゴリズム/データ構造/数学の基礎知識有<br />機械翻訳を知っているが失望している<br />
  4. 4. 機械翻訳の現状 [SMT]<br />2007年時点では一日あたり5億単語が機械翻訳されている<br />一日あたり5000万ウェブページが翻訳される<br />主な利用用途は Gisting(主旨・要点の理解)<br />内容をなんとなく理解するので十分<br />完璧な翻訳は限定されたドメインで<br />天気予報・時間情報・ニュース・マニュアル<br />c.f. Microsoftのマニュアル<br />
  5. 5. Gistingしてみよう!<br />今日17:00時点での<br />アルジャジーラの<br />トップニュース<br />http://www.aljazeera.net<br />
  6. 6. Gistingしてみよう!<br />
  7. 7. Gistingしてみよう!英語読めるなら英語への翻訳がいい英語⇔アラビア語英語⇔中国語の精度はかなり良い<br />
  8. 8. 統計的機械翻訳(SMT: Statistical Machine translation)<br />パラレルコーパスを用いて翻訳ルールを獲得<br />c.f. ロゼッタストーン<br />言語の専門家がいなくてもよい(国家的な理由も)<br />高品質・大量のパラレルコーパスは国連・EUの国際会議の議事録などで大量に入手可<br />LDC, Acquis, OPUS, Communautaire, …<br />例:Europarlの場合 11言語毎に4000万単語<br />言語のスケーラビリティが高い<br />コーパスさえあれば良い c.f .Google 50言語間<br />
  9. 9. 統計的機械翻訳の歴史 (1/2)<br />~1980 用例ベース機械翻訳<br />1989 IBMResearchによる著名な論文<br />NLP業界での引用数第2位 (約1000件)<br />翻訳システムのパラメータをパラレルコーパスから自動推定する<br />簡単な手法から順に IBMモデル1 - 5がある<br />提案者自身らは金融業界へと去っていった<br />1998 ワークショップで開発祭り<br />IBMモデルを実装<br />
  10. 10. 統計的機械翻訳の歴史 (2/2)<br />2000年以降<br />DARPAによる強力な資金援助<br />米国としてはアラブ/中国の文章を保安上読みたい<br />NIST workshopで毎年翻訳精度競争<br />Language Waver, Google, Yahoo,MSの台頭<br />現在、研究グループは50以上<br />[SMT]に詳細がのっています<br />
  11. 11. 基本的なアイディア (1/3)[Broun+ 1993]<br />翻訳元:J翻訳先:E<br />モデル:P(E|J ; θ)<br />θはモデルを特徴付けるパラメータ<br />パラレルコーパスからθを学習<br />θ = 単語対の翻訳スコアなど<br /><ul><li>E* = argmaxEP(E|J; θ) (デコーディング)</li></ul>翻訳 = 確率が最大となる翻訳先を求める<br />
  12. 12. 基本的なアイディア(2/3)<br />argmaxEP(E|J; θ)= argmaxEP(J|E; θ’) P(E; θ’’)<br />P(J|E; θ’) 翻訳モデル<br />翻訳元の意図を正しく伝えているか?<br />P(E; θ’’)言語モデル<br />翻訳した結果が言語として正しいか?<br />単言語コーパスから推定可能<br />
  13. 13. 基本的なアイディア(3/3)<br />p(J|E) = ∑Ap(J,A|E)<br />A: アライメント<br />E中の単語とJ中の単語の対応付け<br />A[i] = i番目の翻訳先の翻訳元番号<br />0 1 2 3 4 5 6 <br />NULL ichgehejanichtzumhaus<br />I do not go to the house<br />A = [ 1 , 0, 4, 2, 5, 5, 6 ]<br />
  14. 14. IBM モデル<br />p(E, A, | J) をどのように定義するかで5種類<br />そのうち簡単なIBM Model-2まで紹介<br />Model-1 ∝Πk t (ek | JA[k]) <br />アライメントに従い、各翻訳は独立に<br />t (e | j) : 単語対の翻訳確率<br />Model-2 ∝Πk t (ek | JA[k]) u(A[k] | k, |E|, |J|)<br />u:どのくらい翻訳元と先で単語が移動し得るか<br />
  15. 15. 翻訳モデルの学習<br />P(J|E; θ’)の θ’を求める<br />Model-1の時は p(e | j ) for all e, j<br />ある単語 j が eに翻訳される確率<br />使えるのはパラレルコーパスのみ<br />アライメントAの情報はついていない<br />もしわかったら単にペアの回数を数えるだけp(e| j ) = (eとjが翻訳ペアだった回数) / (j の回数)<br />Aは観測できない隠れ変数 ⇒ EMアルゴリズムを使う<br />
  16. 16. Expectation Maximizationアルゴリズム (EM法)<br />教師無学習の基礎中の基礎<br />Aはわからないが、Aが無いと回数が数えられず、θを求められない<br />1. Aの確率分布 p(A)を適当に決める<br />2. p(A)に基づいて回数の期待値を求める<br />3. θを元にp(A)を再推定する<br />4. 2へ戻る<br />  動的計画法によってO(文長2) で解ける<br />
  17. 17. デコーディング<br />「ねんがんの p(J|E) をてにいれたぞ!」<br />後は argmaxE P(J|E) P(E)を求めれば良い<br />しかし、この問題はNP完全問題であることが知られている<br />探索問題<br />各状態は(翻訳済の元単語, 翻訳された単語)<br />遷移は未翻訳の単語を翻訳したスコア<br />全ての翻訳元が空になれば終了状態<br />
  18. 18. 理想と現実 (1/2)<br />さきほどまできれいな話だったが・・<br />P(J|E) P(E) だけでなくP(E|J)も使っちゃう<br />だけでなく他の情報も全部使っちゃう<br />きれいな確率モデルでは、もはやない<br />fi = log P(J|E) など(J, E)から得られる情報を全て特徴ベクトル Φ(J, E)∈Rmに入れる [Chiang+ 09]<br />線形モデルで学習・推定する wTΦ(J, E)<br />学習にはMIRAなどが利用される<br />BLEU(翻訳精度・後述)を最大化するよう学習<br />
  19. 19. 理想と現実 (2/2)<br />P(E) : 翻訳先Eを出力する確率<br />文法的・用法的に正しい文Eに対し高い確率を与える<br />P(“ipadがまだ届きません”) > P(“届きipadがませんまだ”)<br />利用される言語モデルはまだ非常に粗い<br />N-gram モデル N-1単語前にのみ条件付 P(w1w2w3w4) = Πi P(wi|wi-N+1wi-N+2 .. wi-1)<br />非文に対しても高い確率を与えうる<br />
  20. 20. 話せなかった最近の話題<br />フレーズモデルが今は普通<br />翻訳元・翻訳先が複数単語 など<br />フレーズは非連続でも良い [Galley+ 10]<br />Synchronous CFGで構文情報も利用可能<br />遅い. が高速化が進む [C. Dyer+ 10]<br />アライメントの精緻化・高速化<br />p(E|J) P(J|E)を両方使う [Liang+ 06] etc.<br />SAなどの利用 [Lopez 07] etc.<br />単言語コーパスから取得 [Haghighi+ 08] etc.<br />
  21. 21. 翻訳精度の評価<br />プロ翻訳家の間でも正解は大きく異なる<br />翻訳結果の評価もばらつきが大きい<br />人手による評価は非常にコストが高い<br />システムをつくり直すたびに評価は大変<br />BLEU: 複数の正解例とのN-gramマッチ<br />自動で評価できる. 人の評価と相関が高い<br />今の翻訳システムはBLUEを最大化するようにパラメータ学習をするようにしている<br />
  22. 22. オープンソース<br />Moses<br />http://www.statmt.org/moses/<br />基本的な機能は一通り<br />cdec<br />http://cdec-decoder.org/index.php<br />C++ と 様々な高速化により最速<br />最新の手法が一通り入っている 機能は不足<br />joshua<br />SCFG baseで grammer抽出とかもサポート<br />
  23. 23. 機械翻訳の今後<br />日本語  多言語について<br />Googleは人材募集 + 何でもやる [NLP2010 個人談]<br />今のSMTモデルは日本語に不向きと言われるがSCFGがあっているかも微妙. 別のモデル?<br />世界的な流れ<br />翻訳のベンチャー + サービス会社が牽引<br />市場は拡大 ビジネスモデルはB2B サービス<br />英西翻訳など ヒスパニック系人材向け<br />音声認識, 検索など他のサービスと結合<br />
  24. 24. 出展<br />[Broun+ 93] “The Mathematics of Machine Translation: Parameter Estimation”, P. F. Brown and et. al. Computational Linguistics 1993<br />[Chiang+ 09]“11,001 new features for statistical machine translation”, D. Chaingand et. al. NAACL 2009<br />[Galley+ 10] “Accurate Non-Hierarchical Phrase-Based Translation”, M. Galley and C. D. Manning NAACL 2010<br />[Dyer+ 10] “Two monolingual parses are better than one (synchronous parse)” C. Dyer NAACL 2010<br />[Liang+ 06] “Alignment by agreement”, P. Laing and et. al. NAACL 2006<br />[Lopez 07] “Hierarchical Phrase-Based Translation with Suffix Arrays”, A. Lopez, EMNLP 2007<br />[Haghighi+ 08] “Learning Bilingual Lexicons from Monolingual Corpora”, A. Haghighi+ ACL 2008<br />

×