Unsupervised Word Alignment with Arbitrary Features #aclreading

39
Unsupervised Word Alignment with Arbitrary Features Authors: Chris Dyer et al. Carnegie Mellon University Presenter: @nokuno #acl2011reading

description

ACL2011読み会の資料です.

Transcript of Unsupervised Word Alignment with Arbitrary Features #aclreading

Page 1: Unsupervised Word Alignment with Arbitrary Features #aclreading

Unsupervised  Word  Alignment  with  Arbitrary  Features

Authors:  Chris  Dyer  et  al.  Carnegie  Mellon  University  

Presenter:  @nokuno  #acl2011reading

Page 2: Unsupervised Word Alignment with Arbitrary Features #aclreading

論文の概要

統計的機械翻訳における教師なし単語アライメントに識別モデル(線形対数モデル)を使って色々な素性関数を突っ込んだら多言語で翻訳とアライメントの精度が向上しましたという話.  

Page 3: Unsupervised Word Alignment with Arbitrary Features #aclreading

論文の見どころ

•  隠れ変数のアライメントをうまく周辺化して識別モデルを適用できるようにした  

•  色々な知見を元に素性関数の作り込みとエラー分析を行った  

•  英語と中国語,チェコ語,ウルドゥー語での実験結果  

Page 4: Unsupervised Word Alignment with Arbitrary Features #aclreading

発表の流れ

1.  背景  2.  モデル  3.  推論  4.  素性  5.  実験  6.  結論

Page 5: Unsupervised Word Alignment with Arbitrary Features #aclreading

1.背景

Page 6: Unsupervised Word Alignment with Arbitrary Features #aclreading

統計的機械翻訳入門

•  翻訳確率が最も高い翻訳候補を選ぶ  •  翻訳モデルは対訳コーパスから訓練する

言語モデル  ×  翻訳モデル

<対訳コーパスの例>(黒橋研の日英中基本文データより)  s:  彼 が 一緒 に 当日 の 試合 を 観戦 する  t:  On  the  day  of  the  game  ,  he  will  watch  it  with  me.  

Page 7: Unsupervised Word Alignment with Arbitrary Features #aclreading

単語アライメント

•  単語を翻訳して並べ替えればいいんじゃね?  •  アライメント a:    j→i    :  t_jがs_iに対応する

Page 8: Unsupervised Word Alignment with Arbitrary Features #aclreading

既存研究

•  生成モデル系[Brown+  93],  [Vogel+  96],  [Kirkpatrick+  10]  

–  IBMモデル侮りがたし  – オーバーラップする素性の扱いに限界  

•  識別モデル系[Moor+  05],  [Taskar+  05],  [Blunsum+  06]  – 人手でアライメントをつけたデータが必要  – アライメントに素性が有効なことは実証済み

Page 9: Unsupervised Word Alignment with Arbitrary Features #aclreading

2.モデル

Page 10: Unsupervised Word Alignment with Arbitrary Features #aclreading

モデル

•  長さnについては所与のものとする  

•  アライメントは周辺化して使う 長さモデル 説明は省略  

Page 11: Unsupervised Word Alignment with Arbitrary Features #aclreading

対数線形モデル

•  対数線形モデルでモデル化する

θ:パラメータ,H:素性関数,Z:分配関数  

Page 12: Unsupervised Word Alignment with Arbitrary Features #aclreading

クリークによる局所素性

•  局所素性の組合せで計算量を減らす  

•  C:クリーク(全結合な部分グラフ)  •  h:局所素性(クリーク上の素性)  •  今回は隣接ノードにのみエッジを張る  (1次マルコフ)

Page 13: Unsupervised Word Alignment with Arbitrary Features #aclreading

グラフィカルモデル(従来)

Page 14: Unsupervised Word Alignment with Arbitrary Features #aclreading

グラフィカルモデル(提案)

Page 15: Unsupervised Word Alignment with Arbitrary Features #aclreading

グラフィカルモデル(提案)

Page 16: Unsupervised Word Alignment with Arbitrary Features #aclreading

3.学習

Page 17: Unsupervised Word Alignment with Arbitrary Features #aclreading

パラメータ学習

•  アライメントを周辺化した尤度関数を最大化  

 •  パラメータで微分するとこうなる(次ページで証明)

(1) 第1項 第2項

(+L1正則化)

Page 18: Unsupervised Word Alignment with Arbitrary Features #aclreading

尤度関数の勾配(1)の導出

•  がんばる

第1項

第2項

尤度関数

同様に

第1項 第2項

Page 19: Unsupervised Word Alignment with Arbitrary Features #aclreading

推論

(1)式の勾配を計算する戦略を考える.  1.  (t_i,  a_i)ペアは1次マルコフなので期待値は

Forward-­‐Backwardで計算できる  2.  まず第2項を計算してから,パスを訓練データtに制限して第1項を計算する  

3.  tをsで辞書引きした単語に制限して,可能な翻訳候補を大幅に圧縮する  

※実装には汎用デコーダのWFSAを使う(?)

Page 20: Unsupervised Word Alignment with Arbitrary Features #aclreading

1.Forward  Backwardで第2項の計算

•  s:これ は ペン です  •  t:this  is  a  pen

Start

this,  これ

this,  は

pen,  ペン

End 呍呍呍

pen,  です

this,  これ

is,  です

呍呍呍

pen,  です

this,  これ

pen,  です

this,  これ

this,  は

pen,  ペン

呍呍呍

pen,  です

呍呍呍

a,  NULL

呍呍呍

呍呍呍

※説明のためa_iをs[a_i]で表示

Page 21: Unsupervised Word Alignment with Arbitrary Features #aclreading

2.パスの制限による第1項の計算

•  s:これ は ペン です  •  t:this  is  a  pen      ←この文に整合するパスだけ残す

Start

this,  これ

this,  です End

呍呍呍

is,  です

is,  これ a,  これ

pen,  ペン

呍呍呍

pen,  です

呍呍呍

a,  NULL

呍呍呍

※説明のためa_iをs[a_i]で表示

pen,  これ

Page 22: Unsupervised Word Alignment with Arbitrary Features #aclreading

3.辞書引きした単語だけを使う

•  s:これ は ペン です  •  t:this  is  a  pen

※辞書の生成にはIBMモデル1を使う

Start

this,  これ

pen,  ペン

End

this,  これ

is,  です

this,  これ

pen,  ペン

this,  これ

pen,  ペン

呍呍呍

呍呍呍

a,  NULL

呍呍呍

pen,  ペン

is,  です

呍呍呍

Page 23: Unsupervised Word Alignment with Arbitrary Features #aclreading

4.素性

Page 24: Unsupervised Word Alignment with Arbitrary Features #aclreading

素性の分類

A. 翻訳ペアに関する素性  B.  アライメントに関する素性  C.  翻訳元のジャンプに関する素性  D. 翻訳元単語に関する素性  E.  翻訳先単語に関する素性    ※とくに断りがない限り2値素性とする  

Page 25: Unsupervised Word Alignment with Arbitrary Features #aclreading

A.  翻訳ペアに関する素性

•  翻訳単語のペア:  •  綴りに関する素性  – 翻訳元と翻訳先が一致  – プレフィックスが一致  – 文字列類似度  

•  関連性に関する素性  – ダイス係数(共起)  –  IBMモデルの翻訳確率(両方向)  

•  クラスタリング  – 翻訳元と翻訳先のクラスペア

Page 26: Unsupervised Word Alignment with Arbitrary Features #aclreading

B.  アライメントに関する素性

•  翻訳元と先の近さを表す素性  

•  hと翻訳元単語のクラスのペア  – 単語によって位置の入れ替わりやすさが違う  – 日本語の動詞は末尾に来るとか    ※日本語と英語のペアは実験されていない  

Page 27: Unsupervised Word Alignment with Arbitrary Features #aclreading

C.  翻訳元のジャンプに関する素性

•  翻訳元の単語のジャンプの距離  

•  lと翻訳先の長さnとのペア  •  lと翻訳元単語                のクラスとのペア  •  lと翻訳元単語                    のクラスとのペア  

Page 28: Unsupervised Word Alignment with Arbitrary Features #aclreading

D.  翻訳元単語列に関する素性

•  翻訳元単語  – 機能語は翻訳元の文から取り除くと良いことがある(例:前置詞)  

– 翻訳元単語を素性に含めると,機能語が翻訳される確率を減らすことができてウマー  

•  翻訳元単語のクラス  •  翻訳元バイグラム  •  翻訳元クラスバイグラム  

Page 29: Unsupervised Word Alignment with Arbitrary Features #aclreading

E.  翻訳先単語列に関する素性

•  前後に同じ単語が含まれるかどうか  – 同じ単語が繰り返される不自然な文を抑制できる  – これ以上複雑な素性は計算量的に難しい

Page 30: Unsupervised Word Alignment with Arbitrary Features #aclreading

5.実験

Page 31: Unsupervised Word Alignment with Arbitrary Features #aclreading

実験設定

•  対訳コーパス  – 中国語-­‐英語:0.8M  Words  – チェコ語-­‐英語:3.1M  Words  – ウルドゥー語-­‐英語:2M  Words  

•  実験方法  – ベースライン:Giza++のModel  4  – Both:  Model  4と提案のフレーズを合成したもの  – 言語モデル:3-­‐gram  (50M  単言語コーパスから)  – デコーダ:cdec  [Dyer+  10]  

Page 32: Unsupervised Word Alignment with Arbitrary Features #aclreading
Page 33: Unsupervised Word Alignment with Arbitrary Features #aclreading
Page 34: Unsupervised Word Alignment with Arbitrary Features #aclreading
Page 35: Unsupervised Word Alignment with Arbitrary Features #aclreading

6.結論

Page 36: Unsupervised Word Alignment with Arbitrary Features #aclreading

結論

•  教師なし単語アライメントに識別モデルを使って色々な素性関数を突っ込んだら翻訳とアライメントの精度が向上.  

•  識別モデルにおける隠れ変数の扱い方と,素性の作り方が勉強になりました.

Page 37: Unsupervised Word Alignment with Arbitrary Features #aclreading

Page 38: Unsupervised Word Alignment with Arbitrary Features #aclreading
Page 39: Unsupervised Word Alignment with Arbitrary Features #aclreading