統計的機械翻訳入門 その2 〜フレーズベース機械翻訳〜 #TokyoNLP

Preview:

Citation preview

統計的機械翻訳入門 その2 ~フレーズベース編~

#tokyonlp @nokuno

自己紹介 • @nokuno / id:nokuno

• #TokyoNLP主催 • Social IME / StaKK開発者 • Web系ソフトウェアエンジニア

近況報告

Speller Challengeで 入賞しました

ICML読み会 &

ACL読み会 やります

今日の内容

1. IBM Model [1-5]の復習 2. アライメントの拡張 3. フレーズベース機械翻訳 4. 色々な拡張

参考文献

•  機械翻訳の教科書 •  5章を中心に •  http://amzn.to/hIvoo6

IBMモデルの復習

統計的機械翻訳とは • 入力: • 出力: • アライメント: • 単語 が単語 に対応

NoisyChannelモデル • 言語モデル×翻訳モデルに分解

• 対訳コーパスから翻訳モデルを学習

(4.23)

IBMモデル1 • 文の翻訳を語彙の翻訳に分解

• アライメントaは隠れ変数 (4.7)

EMアルゴリズム •  Eステップ

• Mステップ (4.11)

(4.14)

(4.13)

人工的な例

IBMモデル2 • アライメントにも確率分布を考える

• 語彙の確率分布tと組み合わせる

(4.25)

IBMモデル2 • 語彙の翻訳とアライメントの ���

2ステップモデル

t:語彙の翻訳

a:アライメント

EMアルゴリズム •  IBMモデル1と同様の計算が可能

• アライメントの頻度も求まる

(4.26)

(4.28)

i

i

高次のIBMモデル •  IBMモデル1: アライメントは一様分布 •  IBMモデル2: 絶対アライメントを追加 •  IBMモデル3: 単語数の増減を追加 •  IBMモデル4: 相対アライメントを追加 •  IBMモデル5: 単語の欠損を追加

上位のモデルは下位のモデルを 初期値として再学習

IBMモデル3 •  4つのステップを経て翻訳するモデル

単語数の増減

NULL挿入

語彙の翻訳

位置の並べ替え

アライメントの拡張

モチベーション • アライメントを単独で評価したい • 後のフレーズベースで使いたい • アライメントの推定にはIBMモデルを利用可能だが…

•  IBMモデルでは一対多のアライメント • 多対多のアライメントはフレーズベースで

アライメントの表現

アライメントの対称化

アライメントの評価 • 正解セットを使った正解率

•  S (Sure): 完璧なアライメント •  P (Possible): まあまあのアライメント

※AER=Alignment Error Rateのはずが、誤植で逆の意味に

フレーズベース���機械翻訳

モチベーション •  IBMモデルは単語単位で翻訳する • 単語より長いフレーズ単位で翻訳したい • アドバンテージ

•  多対多の関係を翻訳できる •  リッチなコンテキストを考慮できる •  データさえあれば非常に長いフレーズも学習できる

• Google翻訳でも使われている←本当?

フレーズベースモデル • フレーズ単位で翻訳・並べ替えを行う • フレーズの定義は言語学的ではなく機械的

フレーズ翻訳テーブル • 例:natuerlichに対する翻訳テーブル

実際の例 • 例:den Vorschlagに対する翻訳テーブル

確率モデル •  IBMモデルと比べても、単位がフレーズになったくらいの違いしかない

•  d: 距離に応じた並べ替え確率

(5.2)

書いてないけど… • フレーズ分割の周辺化が必要 • 異なる分割で同じ翻訳になる確率を足す •  Sを可能なフレーズ分割として、

距離の計算方法

並べ替え確率 •  d(x)は単純には指数関数とか • 距離が遠いほど確率が低くなる

• ※日本語と英語だとうまくいかない

フレーズベースの学習 • 問題設定:対訳コーパスからフレーズテーブルを学習する

• 以下の3ステップで学習 • 単語アライメントを推定する • 整合するフレーズペアを抽出する • フレーズの翻訳確率を推定する

単語アライメント

フレーズ抽出

抽出結果:assumes that / geht davon aus , dass

整合性とは? • アライメントと「整合性のある」フレーズを抽出したい

• 「整合性」を定義すると…

見たほうが早い • ルール1:隣り合う■はつながる • ルール2:全ての■がカバーされる

これはOK これはOK これはダメ

フレーズ抽出方法

• 以下のステップでフレーズ抽出 • 最も小さなフレーズを見つける • フレーズをマージして大きなフレーズを見つける

• 文単位のフレーズになるまで続ける

短いフレーズの例

michael assumes michael geht davon aus assumes that geht davon aus , dass that he dass er in the house im haus

長いフレーズの例

michael assumes that he will stay in the house

michael geht davon aus , dass er im haus bleibt

assumes that he will stay in the house

geht davon aus , dass er im haus bleibt

he will stay in the house er im haus bleibt

翻訳確率の推定 • 抽出したフレーズの相対頻度を取るだけ • 最尤推定…?

• フレーズも隠れ変数とみなしてEMアルゴリズムで解く方法もあるが遅い

(5.4)

色々な拡張

識別モデル • これまで言語モデル、フレーズ翻訳確率、並べ替え確率の3つのモデルを考えてきた

• これらを識別モデルで重み付けする

• 他の素性を加えられるようになった • これ以降は追加する素性の話

双方向の翻訳確率 • ベイズの定理で翻訳モデルを逆向きにしたが、順向きのほうが良い場合も

• 珍しい単語eと一般語fではφ(f|e)が不当に高くなりやすい

• 識別モデルの素性としてp(f|e) と p(e|f) の両方を突っ込んでしまう

スムージング • 低頻度なフレーズを正確に評価したい • フレーズを構成する単語の翻訳確率を使ってスムージングする

• 単語の翻訳確率にはIBMモデルを使う

(5.9)

a: フレーズ内部のアライメント

長さに対する罰則項

• 言語モデルは短い出力を好む 単語数:

• 長いフレーズが有利になりすぎる フレーズ数:

語彙に基づく���並べ替え

•  距離に基づく並べ替えは貧弱 →語彙ごとに並べ替えを学習しよう!

• 並べ替えのパターンは多すぎる…

• 典型的な3タイプの並べ替えを考える

3タイプの並べ替え

• m (monotne): 連続的 •  s (swap): 隣同士の並べ替え •  d (discontinuous): 非連続的

orientation

並べ替え確率の推定 • 単語ペアごとのorientationの相対頻度

• スパースなのでスムージング

p(o): 語彙による条件がない分布

(5.11)

(5.13)

まとめと感想 •  IBMモデルは正当な確率モデル+最尤推定

• フレーズベースも確率モデルだが、フレーズ抽出はヒューリスティック

• ちゃんとした方法は遅いので近似する • 識別モデルはなんでもありのフレームワーク

発表者を募集しております

ご清聴ありがとうございました

Recommended