翻訳モデル - Graham Neubig

ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
ALAGIN 機械翻訳セミナー
フレーズベース翻訳モデル
Graham Neubig
奈良先端科学技術大学院大学 (NAIST)
2014 年 3 月 4 日
1
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
フレーズベース機械翻訳の仕組み
[Koehn+ 03]
●
文を翻訳可能なパターンに区切り、並び替え
Today I will give a lecture on machine translation .
Today
I will give
今日は、 を行います
Today
今日は、
a lecture on
の講義
machine translation
機械翻訳
machine translation
機械翻訳
a lecture on
の講義
I will give
を行います
.
。
.
。
今日は、機械翻訳の講義を行います。
2
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
問題!
●
各文に対して膨大な可能性
花子 が 太郎 に 会った
Hanako met Taro
Hanako met to Taro
Hanako ran in to Taro
Taro met Hanako
The Hanako met the Taro
●
どれが訳としてふさわしいか?
●
●
どの単語を選択するか→語彙選択の問題
どの並びが相応しいか→並び替えの問題
3
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
フレーズベース翻訳の確率モデル
4
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
翻訳の定式化
●
翻訳を以下のように定義(逆順であることに注意)
●
●
●
出力文 E
導出 D
入力文 F
E=
hello where is the station
Dep =
D=
F=
Dfp =
Do =
hello
where is
こんにちは どこ です か
0
2
the station
駅は
1
こんにちは 駅 は どこ です か
5
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
最適解の定義・探索
●
最適な出力文を入力文 F が与えられた時の、事後確率
が最大の出力文 E として定義
Ê =argmax P ( E∣F )
E
●
全ての D に対して和を取ることで計算可能(周辺化)
Ê =argmax ∑ D P (D , E∣F )
E
●
しかし、計算量を多くかかるので、 D も最大化
̂
E≈argmax
P (D , E∣F )
E
6
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
翻訳の確率モデル
●
F が与えられた時の D と E の事後確率: P (D , E∣F )
●
条件付き確率の定義を用いて:
P (D , E∣F )=P ( D , E , F ) / P (F )
∝ P (D , E , F )
●
連鎖公式を使って以下の式で定義:
P ( D , E , F )∝ P ( E )∗
P ( Dep∣E )∗
P ( D fp∣D ep , E )∗
P ( Dorder∣D fp , D ep , E )∗
P ( F∣D order , D fp , D ep , E )
言語モデル
分割モデル
翻訳モデル
並び替えモデル
7
常に 1 (D が分かれ
ば F は一意 )
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
言語モデル
●
出力文 E の確率を計算
E = {e1, …, eI}
I +1
P (E )=∏i =1 P (e i∣e i −N +1 , … , e i−1 )
例: 2-gram
E = hello where is the station
P(E) = P(hello|<s>) * P(where|hello) * P(is|where)
* P(the|is) * P(station|the) * P(</s>|station)
8
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
分割モデル
●
E をフレーズに分割する確率を計算
Dep = {ep1, …, epK}
P ( D ep∣E)
E=
hello where is the station
Dep =
hello
where is
●
ほかのモデルと比べて影響が小さい
●
多くの場合は一様分布を利用
the station
P (D ep∣E)=1/ Z ep
●
フレーズの数に基づく確率を利用することも
P (D ep∣E)=e
α ep K
/ Z ep
( 正の αep→ 短いフレーズを重視、負の αep→ 長いフレーズを重視 )
9
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
翻訳モデル
●
フレーズの翻訳確率 Dep → Dfp
●
P(E|Dep) = 1 のため、 E は省略可能
P (D fp∣Dep , E )=P (D fp∣Dep )
●
多くの場合、フレーズの翻訳が独立であると仮定
K
P (D fp∣Dep )=∏ k =1 P ( fp k∣ep k )
Dep =
hello
where is
P( こんにちは |hello) * P( どこ です か |where is)
Dfp = こんにちは
どこ です か
the station
*
P( 駅 は |the station)
駅は
10
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
並び替えモデル
●
あるフレーズの並びを選択する確率
P (D o∣D fp , Dep , E )=P (D o∣D fp , Dep )
Dep =
Dfp =
Do =
●
hello
where is
こんにちは どこ です か
0
2
the station
駅は
1
非常に重要で難しい
11
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
並び替え:歪みモデル (1)
●
並び替えなしの場合
Dep =
the station
hello
Dfp = <s> こんにちは
0
1
+1
●
駅は
2 3
where is
どこ です か </s>
4
5 6
7
+1
+1
first(fpk) – last(fpk-1) == +1
+1
並び替えありの場合
Dep =
where is
hello
the station
Dfp = <s> こんにちは どこ です か
0
1
4
5 6
+1
+3
駅は
2 3
-4
</s>
7
+4
12
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
並び替え : 歪みモデル (2)
●
「歪み」は並び替えなし (+1) からの差:
dist(fpk-1, fpk) = |first(fpk) – last(fpk-1) – 1|
Dep =
where is
hello
the station
Dfp = <s> こんにちは どこ です か
0
1
4
5 6
dist=
●
+1
0
+3
2
駅は
2 3
-4
5
</s>
7
+4
3
歪みに対するペナルティを設ける
K +1
P (D o∣D fp , Dep )=
∏k=1 e
−αo dist ( fp k −1 , fp k )
Zo
13
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
並び替え:
語彙化並び替えモデル (1)
●
単語の並び替え方を確率的に表し、精度向上に貢献
●
現在と次のフレーズの順番は 4 種類に分類:
単調:順番は同じ
交換:順番は逆
背 の 高い 男
太郎 を 訪問 した
the tall man
visited Taro
不連続(右):
不連続(左):
私 は 太郎 を 訪問した
背 の 高い 男 を 訪問 した
I visited Taro
visited the tall man
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
並び替え:
語彙化並び替えモデル (2)
●
訳出候補に対して並び替えの種類を計算
Dep = <s>
where is
hello
the station
</s>
駅は
2 3
</s>
7
Dfp = <s> こんにちは どこ です か
0
1
4
5 6
type(fpk-1, fpk)=
mono
disc.
swap
disc.
last(fpk-1) + 1 = first(fpk) → mono
last(fpk) + 1 = first(fpk-1) → swap
otherwise
→ disc
●
フレーズ対が与えられた時の並び替えの確率を利用
K +1
P ( D o∣D fp , D ep )=
∏k=1 P ( type( fp k−1 , fpk )∣ fpk −1 , ep k −1)
Zo
15
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
モデルの全体像
言語モデル
P (D , E , F )∝ P (E )∗
P (D ep∣E )∗
P (D fp∣D ep , E )∗
P (D order∣D fp , Dep , E )
Dep =
D=
Dfp =
where is
hello
分割モデル
翻訳モデル
並び替えモデル
the station
駅は
こんにちは どこ です か
Do =
0
2
1
LM (2-gram) = P(hello|<s>) * P(where|hello) * P(is|where) * P(the|is) * P(station|the) * P(</s>|station)
e
SM ( 指数 ) =
TM
α ep
*
e
α ep
*
e
α ep
=P( こんにちは |hello) * P( どこ です か |where is) * P( 駅 は |the station)
16
RM ( 歪み ) =
−α o∗0
e
−α o∗2
e
−α o∗5
e
−α o∗3
e
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
対数確率
log P ( D , E , F )∝ log P ( E )+
log P ( D ep∣E )+
log P ( D fp∣D ep , E )+
log P ( D order∣D fp , D ep , E)
Dep =
D=
Dfp =
Do =
where is
hello
分割モデル
翻訳モデル
並び替えモデル
the station
こんにちは どこ です か
0
言語モデル
2
駅は
1
LM (2-gram) = log P(hello|<s>) + log P(where|hello) + log P(is|where) + log P(the|is) + log P(station|the) + log P(</s>|station)
SM ( 指数 ) =
TM
α ep
+
α ep
+
α ep
=log P( こんにちは |hello) + log P( どこ です か |where is) + log P( 駅 は |the station)
17
RM ( 歪み ) =
−α o∗0 + −α o∗2 + −α o∗5 + −α o∗3
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
対数線形モデル
18
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
確率→素性
確率の対数で表すことが多い
log P ( D , E , F ) ∝ log P ( E )+
log P ( D ep∣E )+
log P ( D fp∣Dep , E )+
log P ( D order∣D fp , D ep , E)
●
●
言語モデル
分割モデル
翻訳モデル
並び替えモデル
更に「素性」として一般化できる
log P ( D , E , F )∝ ϕ LM (D , E , F )+
ϕSM ( D , E , F )+
ϕTM ( D , E , F )+
ϕ RM ( D , E , F )
19
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
対数線形モデル [Och+ 03]
●
翻訳候補のスコアは対数確率の和として定義
○ Taro visited Hanako
☓ the Taro visited the Hanako
☓ Hanako visited Taro
●
TM
-3
-4
-3
RM
-1
-1
-2
-8
-10
-7 Best
Score ☓
更に重み付き和にすると、より正確なモデル化が可能
○ Taro visited Hanako
☓ the Taro visited the Hanako
☓ Hanako visited Taro
●
LM
-4
-5
-2
LM
TM
RM
0.2*-4 0.3*-3 0.5*-1
0.2*-5 0.3*-4 0.5*-1
0.2*-2 0.3*-3 0.5*-2
-2.2
-2.7
-2.3
Best
Score ○
最適化は最適な重みを発見 : wLM=0.2 wTM=0.3 wRM=0.5
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
対数線形モデルの定式化
●
翻訳候補のスコアは素性の重み付き和
I
S ( D , E , F )=∑i =1 w i ϕi ( D , E , F )
●
●
利点その1:
通常のモデルで利用される素性の重要度を付与
利点その2:
通常のモデルで利用できない素性も追加可能
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
翻訳の素性
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
通常のモデルでも利用される素性
●
言語モデルの対数確率: log PLM(E)
●
フレーズペナルティ:
●
翻訳モデルの対数確率: log PTM(Dfp | Dep)
●
歪みモデル: log PO(Do | Dep, Dfp)
●
語彙化並び替えモデル: log PLR(Do | Dep, Dfp)
|Dep|
対数線形モデルは
両方同時に!
(通常はどれか一つ)
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
単語ペナルティ
●
翻訳で最も精度に影響する素性の1つ
●
出力文の長さを数えるだけ
E=
hello where is the station
ϕ WP ( D , E , F )=∣E∣
●
wWP を高い値に設定すると長い文を生成
●
wWP を低い値に設定すると短い文を生成
24
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
翻訳モデルの種類
●
従来のモデルで目的言語が与えられた時の原言語確率
K
ϕTM (D , E , F )=∑ k =1 log P ( fp k∣ep k )
●
原言語が与えられた時の目的言語確率も利用可
K
ϕ RTM (D , E , F )=∑ k=1 log P (ep k∣ fp k )
●
単語を考慮する「語彙化翻訳確率」も利用可
∣ fp ∣+1
1
ϕ RLTM (D , E , F )=∑ k =1 log ∏ i=1
P (ep k ,i∣ fp k , j )
∑
j
=1
∣ fpk∣+1
K
∣epk ∣
単語ごとにフレーズ翻訳確率を計算
k
(明日 Model 1 として詳しく)
25
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
語彙化並び替えモデルの拡張
●
通常の語彙化並び替えモデルは前フレーズで条件付け
Dep = <s>
where is
hello
the station
</s>
駅は
2 3
</s>
7
Dfp = <s> こんにちは どこ です か
0
1
4
5 6
type(fpk-1, fpk)=
mono
disc.
swap
disc.
K +1
ϕ LR ( D , E , F )=log ∑ k=1 P (type ( fp k−1 , fp k )∣ fp k −1 , ep k −1)
●
後ろのフレーズから条件付けるのも可能
K +1
ϕ RLR ( D , E , F )=log ∑ k=1 P (type ( fp k−1 , fp k )∣ fp k , ep k )
●
「 mono 」「 swap 」「 disc 」で異なる重みを与える
26
ことも(「 mono を優先」などの役割)
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
Moses で利用される標準的な素性
言語モデル関係 (1)
●
言語モデル確率
翻訳モデル関係 (4)
●
●
●
●
フレーズ翻訳確率 P(E|F)
フレーズ翻訳確率 P(F|E)
語彙化翻訳確率 P(E|F)
語彙化翻訳確率 P(F|E)
ペナルティ関係 (2)
●
●
フレーズペナルティ
単語ペナルティ
●
計 14 個の素性を利用!
並び替えモデル関係 (7)
●
●
歪みモデル
語彙化並べ替えモデル
● 前条件付け
● mono
● swap
● disc
● 後ろ条件付け
● mono
● swap
● disc
27
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
ほかに多く利用可能
●
複数の言語モデル !
●
複数の翻訳モデル!
●
統語情報を考慮した素性!
●
...
28
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
翻訳モデルの発展
29
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
翻訳モデルの発展
●
翻訳モデル
●
●
●
因子化翻訳モデル
文脈を考慮した翻訳確率
並べ替えモデル
●
階層的な並べ替えモデル
30
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
因子化翻訳モデル
[Koehn+ 07]
●
各単語を様々な因子に分解・翻訳・生成
解析
翻訳
生成
品詞言語モデル
単語
単語
単語
単語
語幹
語幹
語幹
語幹
品詞
品詞
品詞
品詞
活用
活用
活用
活用
31
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
文脈を考慮した翻訳モデル確率
●
●
翻訳モデル確率をより多くの情報を用いて計算
run a marathon
run a program
run
走る
run
走る
run
実行する
run
実行する
フレーズごとに [Carpuat+ 07] 、単語ごとに [Mauser+
09] 文脈を考慮
32
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
階層的な並べ替えモデル
[Galley+ 08]
●
普通のモデルでは、粒度によって並び替えが変わる
I will study
machine
を勉強します
機械
machine
機械
I will study
translation
を勉強します
翻訳
mono
●
translation
翻訳
I will study machine translation
を勉強します
機械翻訳
machine translation I will study
機械翻訳
を勉強します
disc
swap
複数のフレーズをグループ化することで改良
I will study
machine
を勉強します
機械
machine
機械
translation
翻訳
translation
I will study
翻訳
を勉強します
mono
swap
33
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
資料
34
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
更に勉強するには
5章
6章
35
ALAGIN 機械翻訳セミナー - フレーズベース翻訳モデル
参考文献
●
●
●
●
●
●
[1] M. Carpuat and D. Wu. How phrase sense disambiguation outperforms
word sense disambiguation for statistical machine translation. In Proc. TMI,
pages 43-52, 2007.
[2] M. Galley and C. D. Manning. A simple and effective hierarchical phrase
reordering model. In Proc. EMNLP, pages 848-856, 2008.
[3] P. Koehn and H. Hoang. Factored translation models. In Proc. EMNLP,
2007.
[4] P. Koehn, F. J. Och, and D. Marcu. Statistical phrase-based translation. In
Proc. HLT, pages 48-54, Edmonton, Canada, 2003.
[5] A. Mauser, S. Hasan, and H. Ney. Extending statistical machine
translation with discriminative and trigger-based lexicon models. In Proc.
EMNLP, pages 210-218, 2009.
[6] F. J. Och and H. Ney. Discriminative training and maximum entropy
models for statistical machine translation. In Proc. ACL, 2002.
36