機械翻訳勉強会 論文紹介

機械翻訳勉強会 論文紹介
mamoru-k
小町守
2015/9/30
1
今日読む論文
• Statistical Phrase-Based Translation
• Philipp Koehn, Franz Josef Och, Daniel
March
• HLT-NAACL(2003)
2015/9/30
2
この論文に書いてあること
• 句ベースのモデルが単語ベースのモデ
ルより性能がよいという実験結果
• ヒューリスティックな句翻訳と句翻訳
にかける語彙の重みで性能が上がる
• 統語的な関係しか見ない句だけを使う
とむしろ性能が下がる?
2015/9/30
3
イントロダクション
• 句翻訳を使うことで統計翻訳の質は向
上してきた(1999-2002)
• 句翻訳対を抽出するためいちばんいい
方法はなにか?
• この論文では句翻訳の表を作る評価フ
レームワークを提案
2015/9/30
4
高い性能を得るためには
• 比較的単純な方法で十分
– ツールも資源も研究者はフリーで入手可能
– 統語的情報を使っても性能はよくならない
– 3単語までの小さな句を使うだけで高い精度を得
るには十分
• 単語のアライメントからヒューリスティック
に獲得した句翻訳表を使う
– ヒューリスティックは言語対・訓練コーパスに
よって異なる
2015/9/30
5
評価フレームワーク
• まず句抽出方法の比較のために評価フ
レームワークを作成
• 句翻訳モデルと、どんな句翻訳表でも
使えるデコーダの提案
2015/9/30
6
句翻訳モデル
• 雑音チャネルモデル
arg max e p(e | f )  arg max e p( f | e) p(e)
I
• デコードの際には文 f は I 個の句 f 1に
分割される
2015/9/30


7
英語 e の最適出力
ebest  argmaxe p(e | f )
 argmaxe p( f | e) p(e)
 argmaxe p( f | e) pLM (e)
length(e )
トライグラム
長い出力ほどよい
2015/9/30
8
句ベース翻訳モデル
I
p( f 1 | e )   ( f i | e i )d(ai  bi1)
I
I
1
i1
英語の句が外国語に訳される確率分布
distortion の確率分布(どれくらい翻訳された句が離れているか)
Ai: i番目の英語の句に訳された外国語の句の位置
Bi-1: I-1 番目の英語の句に訳された外国語の句の位置
2015/9/30
9
デコーダ
• ビームサーチアルゴリズム(Jelinek
[1998])
• 英語の文は部分的翻訳(仮説)の形で左か
ら右に生成される
2015/9/30
10
デコードのアルゴリズム
空仮説から始める
以下の手順で既存の仮説から新しい仮説を
作る
1.
2.
I.
II.
III.
3.
2015/9/30
未翻訳の外国語単語列に対し、英語の句による
翻訳が可能であればそれを選択
英語の句はそれまでの翻訳につけ足す
翻訳した外国語を翻訳済みとマークし、仮説の
確率コストを更新
未翻訳の単語がない最終仮説で一番コスト
が低いものが探索の出力
11
仮説生成の問題点
• 仮説はスタックに積まれるので、ス
タックの大きさは入力の文の長さに指
数関数的に増大
• それまでの発生コストとそれからの予
測コストで弱仮説の枝刈りをする
– 発生コストは n-best
– 予測コストは句翻訳コストだけ考慮
2015/9/30
12
句翻訳コストの計算
• 文内で句翻訳可能なところ(翻訳選択肢
と呼ぶ)では、予測コストは句翻訳確率
と言語モデルの確率をかけたもの
• 翻訳選択肢のコストが分かれば連接す
る外国語の句翻訳予測コストは事前に
計算可能
2015/9/30
13
弱仮説の枝刈り
• distortion コストは無視
• 句翻訳コストは動的計画法により計算
• 長さ n の入力文だと n(n+1)/2 個の連接
する2単語があるので、それらについて
事前に計算して表に入れておく
• 翻訳の際には未翻訳の単語のコスト見
積もりは表を見るだけでよい
2015/9/30
14
ビームサーチの計算量
• ビームの大きさは定数
• 翻訳選択肢の数は入力文の長さに比例
• ビームサーチの時間計算量は
– 入力文の長さの二乗に比例
– ビームの大きさに比例
2015/9/30
15
句翻訳の学習方法
1. 単語単位でアライメントのついたコーパス
から学習(Och et al. [1999])
2. 構文解析結果のアノテーションがついた単
語アライメントつきコーパスから学習
(Yamada and Knight [2001], Imamura
[2002])
3. パラレルコーパスから直接句レベルのアラ
イメントを学習(Marcu and Wond [2002])
2015/9/30
16
単語のアライメントから学習
• Giza++ ツールキット(Och and Ney
[2000]) を使う
• 単語アライメントと矛盾しないアライ
メントのついた句の対を集める
• 句翻訳確率分布は以下で計算:
count ( f ,e)
 ( f | e) 
 count ( f ,e)
f
2015/9/30
17
統語的句の学習
• (発想)単語アライメントと矛盾しない句
全部取ってきたら、“house the” のよう
な変な句まで取ってくるのでは?
• 統語的句だけしか取らなければそうい
う変な句は除くことができるのではな
いか
2015/9/30
18
統語的句の集め方
• 統語的句 = 構文解析木のひとつのサブ
ツリーに入る単語列(Imamura [2002])
• 前節と同じく単語アライメントつきパ
ラレルコーパスを使用
• いずれのコーパスもその言語の構文解
析器で解析し、単語アライメントのあ
る句の対に関して解析木のサブツリー
に入っているかどうかチェック
2015/9/30
19
句アライメントによる学習
• 翻訳元の言語と翻訳対象言語の文をパ
ラレルコーパスから同時に生成する句
ベースの同時確率モデルを EM により
学習句レベルの対応を学習(Marcu and
Wong [2002])
 (e, f )
句e’と句f’が翻訳関係にある確率分布
d(i, j)
位置iの句が位置jの句に訳される同時分布
2015/9/30
20
実験
• Europal コーパス
– フリーで使える
– EU の11の公式言語それぞれにつき2,000万
語以上収録
– ヨーロッパ議会の議事録(1996-2001)
– 長さ5-15の1,755文をテストに確保
• 英語とドイツ語で実験
• BLEU スコアで評価
2015/9/30
21
3手法の比較
• 図1参照
• 単語アライメントに矛盾しない句を全
部学習するモデルがいちばん高性能
• 統語的句しか使わないモデルはむしろ
性能が悪い
• どのシステムもデータが増えれば性能
は上がる
2015/9/30
22
統語的句の重みづけ
• 統語的に正しい句は信頼度が高い翻訳
句対ではないか?
• 統語的句に重みをつけて性能がよくな
るかどうか実験→よくならない
• いい性能を得るためには文の断片から
も学習する必要
– ドイツ語の “es gibt” と英語の “there is”
– 英語の “with regard to” と “note that”
2015/9/30
23
最大句長
• 図2参照
• 3単語までの句しか取らないでもいちば
んよい性能になる
• 増やしても性能があまり上がらないか、
もしくは悪くなることすらある
• 2単語の句だけだと明らかに悪い
2015/9/30
24
語彙重みづけ
• 句翻訳対の質をたしかめるにはお互い
に訳せるかどうか試すのも一つの手
count( f ,e)
w( f | e) 
 count( f ,e)
f 

2015/9/30
25
語彙重みづけの計算式
n
1
pw ( f | e,a)  
w( f i | e j )

j | (i, j)  a (i, j )a
i1 
英語の句が外国
語の句にアライ
メントaで対応
するときの重み
2015/9/30
英語と外国語でア
ライメントがついた
もののうち、英語
の句の単語数
アライメントaで
対応する英語
と外国語の単
語の相対頻度
の和
26
語彙重みづけした翻訳モデル
語彙重みづけの強さ
I
p( f 1 | e )   ( f i | e i )d(ai  bi1) pw ( f i | e i,a)
I
I
1
i1
2.1節(p.3)の翻訳
モデル参照
2015/9/30
語彙重みづけ
27
句抽出とアライメント
• Giza++ では英語1単語を外国語1単語にアラ
インすることができない→ヒューリスティッ
クに解決
• パラレルコーパスを双方向にアライメント
– 両方のアライメントの共通部分は高精度
– 両方のアライメントの和集合は高再現率
• この両者の間のどこか適当なところに落ち着
きたい
2015/9/30
28
句抽出のヒューリスティック
1. アライメントの共通部分から始める
2. 2つのアライメントのうちの和集合に
あるもののみ新たに加える
3. アライメントがなかった語を加えるよ
うな点しか加えない
• 詳しくは [Och et al. 1999]
2015/9/30
29
ヒューリスティックの結果
• 図5参照
• ヒューリスティックを使ったものが、
片方のアライメントしか使わなかった
もの・和集合を使ったものより性能が
よい
2015/9/30
30
単語ベースのモデル
• 図6参照
• IBMモデルの特徴
– IBMモデル1と2: 近似しないでよい
– IBMモデル1-3: 高速に動作・実装簡単
– IBMモデル4: 複雑・計算量大・要近似
• 単純で高速なモデル2で複雑なモデル4
と同等の性能が得られる
2015/9/30
31
英語・ドイツ語以外の言語対
• 表3参照
• 英語・ドイツ語・フランス語・フィン
ランド語・スウェーデン語・中国語い
ずれもモデル4より句翻訳モデル(+語彙
重みづけ)の方が BLEU スコアは高い
– フィンランド語と中国語はインド・ヨー
ロッパ語族ではない
2015/9/30
32
まとめ
• 3単語までの小さい句でもいい結果
• 句翻訳に対する語彙的重みづけも有効
• 単純に統語モデルを使ってもうまく行
かない
• 最初の単語アライメントを作成するた
めに使うアルゴリズムより正しいアラ
イメントのヒューリスティックを選択
することの方が重要
2015/9/30
33