機械翻訳の今昔物語

87
機械翻訳 自然言語処理の歴史的変遷 昔の機械翻訳 統計的機械翻訳 翻訳の評価 中川裕志

Upload: hiroshi-nakagawa

Post on 18-Dec-2014

1.873 views

Category:

Technology


2 download

DESCRIPTION

機械翻訳はGoogle機械翻訳がやってくれるからもう十分とお考えのみなさん、実はその裏には長い歴史と面倒くさい理論があるのです。本資料の前半は古代からソシュールそして、30年前の機械翻訳を振り返ります。この時代までは機械翻訳の研究者は言語学者の知恵を借りて機械翻訳システムを作っていました。ところが、1990年ごろIBMのワトソン研究所で言語学者の要らない機械翻訳の研究を始めました。これが、この資料の後半で扱う最近主流の統計的機械翻訳です。やたらと数学的に難しいので、よほど興味がある人にしかお勧めできませんが、本気で勉強したい人にお役にたてれば幸いです。

TRANSCRIPT

Page 1: 機械翻訳の今昔物語

機械翻訳

自然言語処理の歴史的変遷

昔の機械翻訳

統計的機械翻訳

翻訳の評価

中川裕志

言語論の歴史を振り返ると 古代編

I モノには正しい名前があるソクラテス

II 言語の背後の論理へアリストテレス

III 修辞法の習得へクインティリアヌス

話言葉から書き言葉へ

観念から実用への流れ

自然言語処理の歴史的変遷

参考辻井潤一「ことばとコンピュータ」月間言語に2000年に連載

言語論の歴史を振り返ると 中世編

I 文法(品詞論統語論語用論)ポールロワイヤル

II 観念の表現ロック

III 意味の素性への分解コンディヤック

構造と意味現代的な問題は出揃っている

I 印刷技術のための統一された言語の構築キャクストン

印刷という実用的問題から言語を制御

言語論の歴史を振り返ると 近世編

I 真の言語を求めてインドヨーロッパ祖語フンボルト

II 言語のダーウィニズム

そして革命が

ソシュール

bull 思想は星雲のようなものでその中で必然的に区切られているものは何もない

bull 言語が現れる以前は何一つ判別できるものはない

言語の恣意性

言語の共時態を対象にした研究

言語の構造を明らかにすること

そして今

bull ソシュールの合理的言語処理

bull その困難に苦闘するうちに

bull 計算機技術の進歩によって巨大なコーパスを得て我々はどこへ向かうのか

認知革命

認知革命以前の問い言語の科学は物理学のように演繹的に構成できるのか(1950年代)

データのみから帰納する直観を排除構造主義

しかし計算機パワーが貧弱だった計算のモデルを欠いた帰納だけでは大きな発展が難しかった

1960年代認知革命人間の言語処理情報処理についてのトップダウンモデル

チョムスキーの変形文法

ニューウェルサイモンの問題解決人工知能

計算機の能力のそれなりの進歩による部分多し

チューリングテスト

チューリングテストをパスする自然言語処理機械を作るには

大きな九九表

文と意味の対応表日本語文と英語文の対応表

これではごまかしみたい本質が分かった気がしない

無限に多い場合を考慮すると対応表が爆発

無限の可能性に対応できる計算メカニズム チョムスキー型人工知能型アプローチ

無限に多い文や文脈を計算モデルとして考えきれるのか

Top down vs Bottom up 合理主義 vs 経験主義

現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映したもの

理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習

機械翻訳の研究の歴史を例に T vs B の葛藤の様相を示そう

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 2: 機械翻訳の今昔物語

言語論の歴史を振り返ると 古代編

I モノには正しい名前があるソクラテス

II 言語の背後の論理へアリストテレス

III 修辞法の習得へクインティリアヌス

話言葉から書き言葉へ

観念から実用への流れ

自然言語処理の歴史的変遷

参考辻井潤一「ことばとコンピュータ」月間言語に2000年に連載

言語論の歴史を振り返ると 中世編

I 文法(品詞論統語論語用論)ポールロワイヤル

II 観念の表現ロック

III 意味の素性への分解コンディヤック

構造と意味現代的な問題は出揃っている

I 印刷技術のための統一された言語の構築キャクストン

印刷という実用的問題から言語を制御

言語論の歴史を振り返ると 近世編

I 真の言語を求めてインドヨーロッパ祖語フンボルト

II 言語のダーウィニズム

そして革命が

ソシュール

bull 思想は星雲のようなものでその中で必然的に区切られているものは何もない

bull 言語が現れる以前は何一つ判別できるものはない

言語の恣意性

言語の共時態を対象にした研究

言語の構造を明らかにすること

そして今

bull ソシュールの合理的言語処理

bull その困難に苦闘するうちに

bull 計算機技術の進歩によって巨大なコーパスを得て我々はどこへ向かうのか

認知革命

認知革命以前の問い言語の科学は物理学のように演繹的に構成できるのか(1950年代)

データのみから帰納する直観を排除構造主義

しかし計算機パワーが貧弱だった計算のモデルを欠いた帰納だけでは大きな発展が難しかった

1960年代認知革命人間の言語処理情報処理についてのトップダウンモデル

チョムスキーの変形文法

ニューウェルサイモンの問題解決人工知能

計算機の能力のそれなりの進歩による部分多し

チューリングテスト

チューリングテストをパスする自然言語処理機械を作るには

大きな九九表

文と意味の対応表日本語文と英語文の対応表

これではごまかしみたい本質が分かった気がしない

無限に多い場合を考慮すると対応表が爆発

無限の可能性に対応できる計算メカニズム チョムスキー型人工知能型アプローチ

無限に多い文や文脈を計算モデルとして考えきれるのか

Top down vs Bottom up 合理主義 vs 経験主義

現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映したもの

理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習

機械翻訳の研究の歴史を例に T vs B の葛藤の様相を示そう

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 3: 機械翻訳の今昔物語

言語論の歴史を振り返ると 中世編

I 文法(品詞論統語論語用論)ポールロワイヤル

II 観念の表現ロック

III 意味の素性への分解コンディヤック

構造と意味現代的な問題は出揃っている

I 印刷技術のための統一された言語の構築キャクストン

印刷という実用的問題から言語を制御

言語論の歴史を振り返ると 近世編

I 真の言語を求めてインドヨーロッパ祖語フンボルト

II 言語のダーウィニズム

そして革命が

ソシュール

bull 思想は星雲のようなものでその中で必然的に区切られているものは何もない

bull 言語が現れる以前は何一つ判別できるものはない

言語の恣意性

言語の共時態を対象にした研究

言語の構造を明らかにすること

そして今

bull ソシュールの合理的言語処理

bull その困難に苦闘するうちに

bull 計算機技術の進歩によって巨大なコーパスを得て我々はどこへ向かうのか

認知革命

認知革命以前の問い言語の科学は物理学のように演繹的に構成できるのか(1950年代)

データのみから帰納する直観を排除構造主義

しかし計算機パワーが貧弱だった計算のモデルを欠いた帰納だけでは大きな発展が難しかった

1960年代認知革命人間の言語処理情報処理についてのトップダウンモデル

チョムスキーの変形文法

ニューウェルサイモンの問題解決人工知能

計算機の能力のそれなりの進歩による部分多し

チューリングテスト

チューリングテストをパスする自然言語処理機械を作るには

大きな九九表

文と意味の対応表日本語文と英語文の対応表

これではごまかしみたい本質が分かった気がしない

無限に多い場合を考慮すると対応表が爆発

無限の可能性に対応できる計算メカニズム チョムスキー型人工知能型アプローチ

無限に多い文や文脈を計算モデルとして考えきれるのか

Top down vs Bottom up 合理主義 vs 経験主義

現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映したもの

理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習

機械翻訳の研究の歴史を例に T vs B の葛藤の様相を示そう

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 4: 機械翻訳の今昔物語

言語論の歴史を振り返ると 近世編

I 真の言語を求めてインドヨーロッパ祖語フンボルト

II 言語のダーウィニズム

そして革命が

ソシュール

bull 思想は星雲のようなものでその中で必然的に区切られているものは何もない

bull 言語が現れる以前は何一つ判別できるものはない

言語の恣意性

言語の共時態を対象にした研究

言語の構造を明らかにすること

そして今

bull ソシュールの合理的言語処理

bull その困難に苦闘するうちに

bull 計算機技術の進歩によって巨大なコーパスを得て我々はどこへ向かうのか

認知革命

認知革命以前の問い言語の科学は物理学のように演繹的に構成できるのか(1950年代)

データのみから帰納する直観を排除構造主義

しかし計算機パワーが貧弱だった計算のモデルを欠いた帰納だけでは大きな発展が難しかった

1960年代認知革命人間の言語処理情報処理についてのトップダウンモデル

チョムスキーの変形文法

ニューウェルサイモンの問題解決人工知能

計算機の能力のそれなりの進歩による部分多し

チューリングテスト

チューリングテストをパスする自然言語処理機械を作るには

大きな九九表

文と意味の対応表日本語文と英語文の対応表

これではごまかしみたい本質が分かった気がしない

無限に多い場合を考慮すると対応表が爆発

無限の可能性に対応できる計算メカニズム チョムスキー型人工知能型アプローチ

無限に多い文や文脈を計算モデルとして考えきれるのか

Top down vs Bottom up 合理主義 vs 経験主義

現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映したもの

理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習

機械翻訳の研究の歴史を例に T vs B の葛藤の様相を示そう

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 5: 機械翻訳の今昔物語

ソシュール

bull 思想は星雲のようなものでその中で必然的に区切られているものは何もない

bull 言語が現れる以前は何一つ判別できるものはない

言語の恣意性

言語の共時態を対象にした研究

言語の構造を明らかにすること

そして今

bull ソシュールの合理的言語処理

bull その困難に苦闘するうちに

bull 計算機技術の進歩によって巨大なコーパスを得て我々はどこへ向かうのか

認知革命

認知革命以前の問い言語の科学は物理学のように演繹的に構成できるのか(1950年代)

データのみから帰納する直観を排除構造主義

しかし計算機パワーが貧弱だった計算のモデルを欠いた帰納だけでは大きな発展が難しかった

1960年代認知革命人間の言語処理情報処理についてのトップダウンモデル

チョムスキーの変形文法

ニューウェルサイモンの問題解決人工知能

計算機の能力のそれなりの進歩による部分多し

チューリングテスト

チューリングテストをパスする自然言語処理機械を作るには

大きな九九表

文と意味の対応表日本語文と英語文の対応表

これではごまかしみたい本質が分かった気がしない

無限に多い場合を考慮すると対応表が爆発

無限の可能性に対応できる計算メカニズム チョムスキー型人工知能型アプローチ

無限に多い文や文脈を計算モデルとして考えきれるのか

Top down vs Bottom up 合理主義 vs 経験主義

現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映したもの

理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習

機械翻訳の研究の歴史を例に T vs B の葛藤の様相を示そう

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 6: 機械翻訳の今昔物語

そして今

bull ソシュールの合理的言語処理

bull その困難に苦闘するうちに

bull 計算機技術の進歩によって巨大なコーパスを得て我々はどこへ向かうのか

認知革命

認知革命以前の問い言語の科学は物理学のように演繹的に構成できるのか(1950年代)

データのみから帰納する直観を排除構造主義

しかし計算機パワーが貧弱だった計算のモデルを欠いた帰納だけでは大きな発展が難しかった

1960年代認知革命人間の言語処理情報処理についてのトップダウンモデル

チョムスキーの変形文法

ニューウェルサイモンの問題解決人工知能

計算機の能力のそれなりの進歩による部分多し

チューリングテスト

チューリングテストをパスする自然言語処理機械を作るには

大きな九九表

文と意味の対応表日本語文と英語文の対応表

これではごまかしみたい本質が分かった気がしない

無限に多い場合を考慮すると対応表が爆発

無限の可能性に対応できる計算メカニズム チョムスキー型人工知能型アプローチ

無限に多い文や文脈を計算モデルとして考えきれるのか

Top down vs Bottom up 合理主義 vs 経験主義

現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映したもの

理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習

機械翻訳の研究の歴史を例に T vs B の葛藤の様相を示そう

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 7: 機械翻訳の今昔物語

認知革命

認知革命以前の問い言語の科学は物理学のように演繹的に構成できるのか(1950年代)

データのみから帰納する直観を排除構造主義

しかし計算機パワーが貧弱だった計算のモデルを欠いた帰納だけでは大きな発展が難しかった

1960年代認知革命人間の言語処理情報処理についてのトップダウンモデル

チョムスキーの変形文法

ニューウェルサイモンの問題解決人工知能

計算機の能力のそれなりの進歩による部分多し

チューリングテスト

チューリングテストをパスする自然言語処理機械を作るには

大きな九九表

文と意味の対応表日本語文と英語文の対応表

これではごまかしみたい本質が分かった気がしない

無限に多い場合を考慮すると対応表が爆発

無限の可能性に対応できる計算メカニズム チョムスキー型人工知能型アプローチ

無限に多い文や文脈を計算モデルとして考えきれるのか

Top down vs Bottom up 合理主義 vs 経験主義

現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映したもの

理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習

機械翻訳の研究の歴史を例に T vs B の葛藤の様相を示そう

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 8: 機械翻訳の今昔物語

チューリングテスト

チューリングテストをパスする自然言語処理機械を作るには

大きな九九表

文と意味の対応表日本語文と英語文の対応表

これではごまかしみたい本質が分かった気がしない

無限に多い場合を考慮すると対応表が爆発

無限の可能性に対応できる計算メカニズム チョムスキー型人工知能型アプローチ

無限に多い文や文脈を計算モデルとして考えきれるのか

Top down vs Bottom up 合理主義 vs 経験主義

現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映したもの

理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習

機械翻訳の研究の歴史を例に T vs B の葛藤の様相を示そう

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 9: 機械翻訳の今昔物語

Top down vs Bottom up 合理主義 vs 経験主義

現実のデータを見ない理論(TopDown) チョムスキーの文法やソシュールの言語観を反映したもの

理論的方向性のないデータ集積(BottomUp) 言語学者による例文の集積から帰納 膨大な言語データ(コーパス)からの機械学習

機械翻訳の研究の歴史を例に T vs B の葛藤の様相を示そう

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 10: 機械翻訳の今昔物語

Bottom Up 旧世代構造主義

思弁的だった言語学を科学にしようとした試み

収集した言語データを主観を排して観察し言語の本質的要素を明らかにする

動詞の接尾辞「て」vs「で」

同じ「て」だが鼻音の動詞「死んで」の後では「で」になる

鼻音 vs 非鼻音 という相補分布でなければいけない

最小対(minimal pair)の考え方

しかし「死んで」と「生きて」を同じカテゴリーだと見るのは全く主観を排して議論できるのだろうか

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 11: 機械翻訳の今昔物語

合理主義

出発点言語から独立した計算のモデルを想定

できるだけ単純なモデルが見通しがよい

言語を実世界から切り離したソシュール的アイデア

最初はパフォーマンスが悪いがいずれはBottomUpシステムを上回るBTは現実のデータしか見ないから予測能力が低いのだ しかし最初のモデルが外れだったら

チョムスキーの個別言語に依存しない言語理論(普遍文法)に依拠

言語だけを相手にしたとき自立した言語のモデルは構文論が最適

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 12: 機械翻訳の今昔物語

下図のどこかのレベルで言語Aから言語Bに移行する

移行するレベルにおいては言語Aと言語Bの表現の間で変換対応表を作れる(という信念) たとえ対応表が膨大でも

言語独立な表現(=意味)

深層格表現(動作主経験者etc)

構文構造表現

句構造表現

単語列

言語Aの文 言語Bの文

移行派原理主義transfer fundamentalist

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 13: 機械翻訳の今昔物語

移行派原理主義の問題点 レベルが上がるにつれて構造が大きくなるそれでも言語

AからBへ移行できるのは

部分の意味は一度決まるとそれを組み合わせることで全体の意味が決まるという構成性原理を前提にしてるからなのだがhelliphellip

言語AB間で単語の対応は一意的でない 湯水 water

一方の言語にしか存在しない文法的性質や機能語あり 冠詞名詞の性

それでも複雑な変換表を作ればなんとかごまかせるかも

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 14: 機械翻訳の今昔物語

移行派原理主義の問題点 最も深刻なのは

意味の文脈依存性

名詞の単数複数の区別のない言語Aからある言語Bへ変換するには文脈情報が必要しかも文脈の数は無限

デフォールトを単数に変換し文脈で証拠が出れば複数と変換

「けっこうです」rdquothank yourdquo or ldquono thank yourdquo

デフォールトでは解けない

ようするにあるレベルでの処理結果が非常に大きな曖昧さを含みそれを上位の階層で解決を丸投げするという仕組みに根本的な問題がある

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 15: 機械翻訳の今昔物語

記号について -- 少し視野を広げ人工知能の視点から--

記号と公理系から閉じた知識体系を作る(前記ヴィトゲンシュタイン)

記号はそれ自体でひとつの存在記号を用いた推論は想定する集合上での操作として定義できる(外延的論理)

80年代までの人工知能はこの路線だったなにし

ろ入出力が貧弱で計算機の外側の世界と通信できなかったから

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 16: 機械翻訳の今昔物語

しかし限定目的の貧弱なシステムしか作れなかった(エキスパートシステム)

80年代後半から外界とのインタラクションが重視されるようになった

ロボットにおける subsumption architecture

分散知能

エージェント(これは現在ではソフトウェア工学)

文脈情報を考慮した記号処理への動き

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 17: 機械翻訳の今昔物語

記号は

a コアになる意味

b 文脈に依存したつまり言語使用における意味

からなる

そこでbを考慮するために事例を大量に集めて事例ベース翻訳が考案された

翻訳事例 「太郎は小説を読んだ」 vs ldquoTaro read a novelrdquo

には 太郎=人間小説=文字メディアという文脈によって「読む」を規定する力あり

しかしそれにしても個々の単語のコアな意味は予め与えないと動かない

文脈情報を考慮した記号処理への動き

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 18: 機械翻訳の今昔物語

単語の意味

単語の意味を要素に分解して表現する方法(80年代) Kill = cause (someone (alive death))

何を基本要素におけば十分なのか 90年代以降の主流は

その単語が使われた文脈に共起する単語で意味の曖昧さを解消する 大規模コーパス(20ヶ月分のNYタイムス)で capital の資本首都の意味の曖昧さ解消などが90の精度でできた

未知語の翻訳も文脈に共起する単語の類似性を使って推定する方法が提案されている

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 19: 機械翻訳の今昔物語

入力文私はりんごを食べた

形態素解析構文解析 noun verb noun subj predicate object

意味解析 (action=食べる agent=私 target=りんご time=past)

英語の語彙に変換(つまり意味表現のレベルないしはそれに近い深さで変換 対訳辞書利用 (action=eat agent=I target=an apple time=past)

構文および形態素の生成(語順の変換)して翻訳出力を得る 対訳辞書利用

noun=I verb(past)=ate noun=an apple

出力文 I ate an apple

移行派原理主義TopDown型 規則主導の機械翻訳

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 20: 機械翻訳の今昔物語

意味のレベルで精密に日英が同一であることが前提だった

また形態素解析構文解析意味解析が正確に動作すると想定している

しかしなかなかそうとも言い切れない

意味レベルでの概念が一致しない例 湯 hot water

もったいない

checkという習慣が日本にない

規則主導の機械翻訳

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 21: 機械翻訳の今昔物語

対訳辞書

日本語意味 りんご APPLE (単数か複数か不明)

意味英語 ALLPE if bear noun or singular apple

if plural apples

単数の場合には an apple複数なら applesを選ぶのは構文および形態素のレベル

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 22: 機械翻訳の今昔物語

翻訳対の例文が類似検索可能な形でデータベース化

例私はみかんを食べた I ate an orange

入力文私はりんごを食べた

翻訳対データベースから類似した日本語例文を検索

私はみかんを食べた

違っている部分みかんをりんごに置き換え

さらに日英辞書でりんごをan appleに置き換え

結果出力I ate an apple

当然ながら冠詞の選択などは文法規則によって行うつまり相当程度に従来の構文規則や形態素解析技術と共同することになる

少し前の機械翻訳example based machine translation

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 23: 機械翻訳の今昔物語

類似検索の部分が重要ここで構文解析を使うことも可能だがだんだん古典的な機械翻訳に近づく

翻訳対を集めれれば集めるほどが翻訳の質があがる

この収集作業は機械的にできる

少し前の機械翻訳example based translation

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 24: 機械翻訳の今昔物語

旧世代の経験主義 合理主義 新世代の経験主義あるいはデータ主義

文脈あるいは言語使用における意味というデータ主導の方法をもっとラディカルにするのが経験主義

IBMの統計的機械翻訳(90年代初頭)

人間でも気がつかないような英仏の言い回しの翻訳を純粋に機械的手法(統計的機械学習)で発見した

EM ビタビ探索など

大量のメモリと高速な計算機

大量の質のよい翻訳文の対(教師データ) これがなかなか簡単に入手できない

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 25: 機械翻訳の今昔物語

統計的機械翻訳 Statistic Machine Translation (SMT)

言語的知識を全く使わずに対訳を得るアンチ言語学理論 2言語並行コーパスが蓄積 文どうしの対応付けされた aligned corpus

これを使って単語や句どうしの対応付けすなわち対訳を自動的に抽出 文同士の対応はあるが単語列同士の対応は不明 探索空間が膨大

SMTの発展の概観する IBMの Peter BrownS Della Pietra V Della Pietra Robert

Mercerらの1993年のComputational Lingusiticsの超有名かつ超難解な論文ldquoThe Mathematics of Statistical Machine TranslationParameter Estimationrdquoをまず解説

次にその発展形であるPhrase based SMTについて説明

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 26: 機械翻訳の今昔物語

SMTの発展の流れ1 ベイズ

基本にあるのはベイズの定理

p(e)は翻訳先言語のみのコーパスだけから学べるので資源量は十分

p(f|e)は対訳コーパス(paralle corpus)から学習 training phase

新規の元言語の文fnewに対してその翻訳結果 enew=argmaxe p(fnew |e) p(e)

を求める計算をdecoderと呼ぶしばらく後で紹介する

が多い)デル(例えば  翻訳先言語の言語モ

への翻訳モデル  

翻訳元言語の表現例えば文)翻訳先言語の表現(

翻訳結果

3

|

|maxarg

ngramnep

feefp

fe

epefpee

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 27: 機械翻訳の今昔物語

SMTの発展の流れ2 IBM Model 最初のSMTは1993のCLの論文で提案されたIBM Model1-5 efを翻訳先および翻訳元もとの単語列とし

argmax p(f|e) p(e)の計算を行うのがベイズ統計による翻訳

IBM modelはparallel corpusからp(f|e)をEMアルゴリズムで学習するところで使える

Model 1ではe-fは1対1対応場所の制約なし

Model 2では場所の制約(word alignment)を追加

Model 3ではeの1単語(ie the)がfの複数単語(lalelrsquo)のいずれかに訳されることもモデル化

Model 4では複数単語の表現(phrase)の語順の入れ替えもモデル化

Model 5では単語が対応しない位置が存在しないようにするモデル(Model 4ではある位置に対訳する単語が存在しないような結果がでうるのでそれを防ぐ制約も入れた)

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 28: 機械翻訳の今昔物語

Bayesの定理 Canadian Hansard French-English Bilingual

corpus

フランス語の単語列f に対して妥当な英語の単語列 e を求める

なお以下ではfeは単語あるいは句feは文

Given French string f find e^=arg maxePr(e|f)

種々のfに対応しそうなeはやたらと多い

then

))Pr(Pr(argmax

)Pr(

))Pr(Pr()Pr(

^

f|eee

f

f|eee|f

e

 

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 29: 機械翻訳の今昔物語

なぜPr(e|f)ではなくPr(f|e)timesPr(e)か

対訳コーパスの対訳文はやはり少数

無尽蔵に多くあるフランス語の文(文字列) f に対して対応すべき正しい英語を求めるのが目的

Pr(e|f)直接では正しい英文eに高い確率が割り当てられる可能性が低い

正しい英文という要因を直接考慮するためにPr(e)を別個の情報源から得て利用する

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 30: 機械翻訳の今昔物語

Alignmentとは

bull The1 poor2 donrsquot3 have4 any5 money6

bull Les1 pauvres2 sont3 demunis4

(Les pauvres sont demunis |

The(1) poor(2) donrsquot(34) have(34) any(34) money(34))

=A(ef)=a

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 31: 機械翻訳の今昔物語

フランス語vs英語の対訳コーパスを用いて

フランス語単語列fが英単語列eに翻訳される確率

t(f | e)を対訳コーパスから評価する方法

彼らの実験ではカナダの国会議事録という英仏対訳

コーパスだったので

さていよいよ難解な論文の説明のさわり

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 32: 機械翻訳の今昔物語

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求める

1 t(f|e)の初期値を適当に決める

2 対訳コーパス中のS個の対訳文f(s)e(s) 1=lts =ltS各々の組(f(s)e(s)) に対してefの翻訳回数の期待値

を計算する

つまりCcorpus(f|e f(s)e(s)) の値は fe がf(s)e(s)の対訳の組に出現したときだけ0でないまたei (i=1l)は対訳英文の各単語lは対訳文に含まれる英単語の語彙数

m

j

l

i

ij

SS

corpus

SS

corpus

l

)δ(ee)δ(ffSCorpusefC

efCefteft

eftefc

1 0

0

(s)(s)

ef|

ef|)|()|(

)|()ef|(

におけるの文

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 33: 機械翻訳の今昔物語

フランス語単語fが英単語eから

翻訳される確率t(f|e)を求めるーつづき

3 2で求めた

を用いて下の式によってt(f|e)を更新する

4 t(f|e)が収束するまで23を繰り返す

このような繰り返し方法で未知の確率を推定する方法を

Expectation and Maximization(EM)algorithmと言い情報科学の基本のひとつ

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

)ef|( (s)(s)efc

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 34: 機械翻訳の今昔物語

翻訳例2個の対訳の例文ペアからのc(f|e)t(f|e) の第1回めの計算の例

the learning algorithm harr 学習 アルゴリズム the algorithm harr アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the learn

ing

algorit

hm

the learn

ing

algorith

m

the learni

ng

algorit

hm

学習 アルゴリズム

学習 アルゴリズム

学習 アルゴリズム

the algorithm

アルゴリズム

the algorithm

アルゴリズム

英仏日英 で考えます

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 35: 機械翻訳の今昔物語

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2

1

2121

21

1algorithm|the|

algorithm|algorithm|

3

1

313131

31

1algorithm|learning|the|

algorithm|

algorithm|

2 step

1

2

1

学習学習学習

学習

学習

アルゴリズムアルゴリズム

アルゴリズムアルゴリズム

アルゴリズムアルゴリズムアルゴリズム

アルゴリズム

アルゴリズム

ttt

t

c

tt

tc

ttt

t

c

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 36: 機械翻訳の今昔物語

7

2

312131

31

algorithm|algorithm|

algorithm|

algorithm|

7

5

312131

2131

algorithm|algorithm|

algorithm|

algorithm|

3 step

1

2

1

1

1

2

1

2

1

学習アルゴリズム

学習

学習

学習アルゴリズム

アルゴリズム

アルゴリズム

cc

c

t

cc

c

t

i i

i i

i i

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 37: 機械翻訳の今昔物語

もう少し本格的に IBM Model を説明 まず記法

bull Alignmentも考慮したPr(fa|e)

bull 以後はPr(fa|e)を評価する方法

mef|afmef|aam|

efa

iawhereaaaaa

wordsfrenchmwhereffff

wordsEnglishlwhereeeee

jj

j

mjj

j

ai

jm

m

m

m

l

l

j

1

1

1

1

1

1

1

1

1

211

211

211

a

PrPrePre|afPr

は単語alignmentはef

f

e

)e|afPr()e|fPr(

 は単語列

翻訳元言語のi番目の単語は

翻訳先言語のj番目の単語に対応

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 38: 機械翻訳の今昔物語

IBM Model 1

このモデルでは英仏文の単語の出現順序には相関がないとしている-(1)

また対訳は個々の単語にだけ依存する-(2)

は単語はは単語列j

j

j

ai

ajm

aj

jj

j

jj

j

efalignment

eftl

eftmfaf

lmfaa

|m

aef

)3()|()1(

)e|afPr(

)2()|()e|Pr(

)1()1()e|Pr(

)ePr(

m

1

1

1

1

1

11

1

1

1

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 39: 機械翻訳の今昔物語

bull このモデルではAlignment aj は0から m

の任意の値をとるラグランジュ未定乗数法によってPr(f|e)を最大化する

)6()|()|()()()1()|(

0

)5()1)|(()|()1(

)(

1)|( constraint

)4()|()1(

)e|fPr(

m

1

1

0 0 1

m

1

m

1

1

01 0

01 0

e

k

ak

l

a

l

a

m

j

ajm

fe

e

l

a

l

a j

ajm

f

l

a

l

a

ajm

k

m

j

m

j

m

j

eftefteeffleft

h

efteftl

th

efte

eftl

この項を2種類の方法で書き換えて等しく置くとことがミソ

IBM Model 1

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 40: 機械翻訳の今昔物語

bull c(hellip) とは翻訳(f|e)において英単語e が フランス語単語f に翻訳される回数2番目のsumはあるalignment a においてfeの接続回数

)8()()()ef|aPr(e)f|(

)7()()()e|afPr(

)|()()()1(

)|(

1

1

1

10 0 1

1

1

m

j

aj

a

m

j

aj

a

e

m

k

ak

l

a

l

a

m

j

ajme

j

j

k

m

j

eeffefc

eeff

efteeffl

eft

(10)-e)f|()e|fPr(

)9()e|fPr(

)()()e|afPr(

e)f|(

eaf)e|fPr()e|afPr()ef|aPr(

1

1

efce)|t(f

eeff

efc

e

m

j

aj

aj

は文字列

ミソ その1

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 41: 機械翻訳の今昔物語

t(f|e)を求めるまではもう一工夫

は単項式だから

これによると

)11()|()|(1 0

m

101 0

i

m

j

l

i

j

l

a

l

a j

aj efteftm

j

)|et(fiaj

))(( 212011102111201121102010 tttttttttttt

)12()|()1(

)e|fPr(01

l

i

ij

m

jm

eftl

ミソ その2

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 42: 機械翻訳の今昔物語

)16()()()|()|(

)|(e)f|()15)(10(

(10)-e)f|()e|fPr(

15

)()(

)|(

e)|Pr(f

)|()1(

)e|fPr()12()14(

)14()()()|(

)|()1()|(

0

)13()1)|(()|()1(

)(

1)|( constraint

1 00

1

1 0

01

01

1 101

0

01

m

ji

l

ij

l

e

m

j

l

iij

l

ii

e

l

iij

m

jm

e

m

j

l

iij

l

iij

m

jl

ii

m

fee

l

iij

m

jm

f

eeffefteft

eftefcby

efce)|t(fagain

eeff

eft

eftl

andby

eeffeft

eftleft

h

efteftl

th

eft

  

         

    

  

そこでまたラグランジュ未定乗数法で ミソ その2 (12)式を使ってh(tλ)の第1項を書き換え

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 43: 機械翻訳の今昔物語

bull (16)式の の部分は(12)式からfとeの接続回数になることが分かる(alignment aがないのでこの式)下図参照

bull 教師データとしてS個の翻訳 (f(s)|e(s)) s=1hellipSがコーパスから知られているので以下の式を使う

m

j

i

l

i

j eeff1 0

)()(

)ef|( (s)(s)

1

efcS

s

f

f1 f2=f f3 hellip f7=f hellip fm

e

e1=e

e2

e8=e

el

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 44: 機械翻訳の今昔物語

f

S

s

S

s

f

S

s

S

s

f

S

s

e

f

S

s

e

f

S

s

e

efc

efc

eft

efc

efc

eft

efc

efc

eftefceft

1

(s)(s)

1

(s)(s)

(s)(s)

(s)(s)

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)

(s)(s)

1

(s)(s)1

(s)(s)

1

(s)(s)1

)ef|(

)ef|(

)|(

1e|fPr

100

)ef(

e|fPr

)ef|(e|fPr

)ef|(e|fPr

)|(

)ef|(e|fPr

1)ef|(e|fPr

1)|()ef|(e|fPr)|(

て と近似できるよっ

ることができるなら確かなものだと考えよって

あるは人間の作った翻訳でしかし対訳提示してこなかった

る方法はであるこれを計算すここで問題になるのは

  

 を用いると そこで  

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 45: 機械翻訳の今昔物語

いよいよEMでt(f|e)を推定-1

1 t(f|e)の初期値を適当に決める

2 E step

各(f(s)e(s)) 1=lts =ltSに対して

を利用してc(f|e f(s)e(s))を計算する

この値は fe がf(s)e(s)の要素のときだけ0でない

m

j

is

l

i

js

l

)δ(ee)δ(ff)t(f|e)t(f|e

t(f|e))ef|c(

1

)(

0

)(

0

(s)(s) ef

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 46: 機械翻訳の今昔物語

いよいよEMでt(f|e)を推定-2

3 M step

下の更新式を用いてt(f|e)の新たな値を推定する

4 t(f|e)が収束するまで23を繰り返す

f

S

s

S

s

efc

efceft

1

(s)(s)

1

(s)(s)

)ef|(

)ef|()|(

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 47: 機械翻訳の今昔物語

Model 2

bull Alignmentが位置に依存するつまり

if j

jml

ja

l

a

l

a

m

j

j

l

i

j

jj

jj

lmjiaeft

)ah(t

lmjaaeftthen

lmjia

lmaj

lmfaalmjaa

j

m

)1)|(()1)|((e)|Pr(f

)|()|()e|fPr(

1)|(

)|Pr()|(

e

e

0 0 1

0

1

1

1

1

1

ラグランジュ

に依存が

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 48: 機械翻訳の今昔物語

ラグランジュ未定乗数法でhを微分し計算すると

jmljml

S

s

jml

a

j

S

s

e

e

m

j

aj

a

m

j

jj

a

e

ef

efaefefa

lmjiclmjia

a(i)lmjic

efcefeft

efcefeft

eeffefc

eeffe|afeft

j

)|Pr(

)|Pr()|Pr()|Pr(

)ef|()|(

)fe|aPr(e)f|(

)ef|()|Pr()|(

e)f|()|Pr()|(

)()()ef|aPr(e)f|(

)()()Pr()|(

(s)

1

(s)1

(s)(s)

1

1

1

1

1

1

さらに意味的に考えてここまでは同じだが

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 49: 機械翻訳の今昔物語

Model 1と同じように計算し

bull Model 1 では(l+1)-1 だったa(i|jml)をModel 2 では変数と見ているので

bull 後は同じくEMアルゴリズムでt(f|e)を求める bull 初期値にはModel 1の結果を用いる

l|jmla|eft|jmla|eft

i|jmla|efti|jmlc

l|jmlaf|et|jmlaf|et

eeδffδi|jmlaf|etfec

i|jmla|eftε

ljj

ij

m

j

l

i l

ij

m

j

l

i

ij

0ef

0

e|f

e|fPr

0

1 0 0

1 0

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 50: 機械翻訳の今昔物語

Model 3

bull 1単語がn単語に翻訳 not =gt ne hellip pas

bull n=0(翻訳されない) 冠詞は日本語にはない

bull 対応する単語の出現場所がねじれる

ndash日英での語順の差

bull こういった現象に対応するモデル

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 51: 機械翻訳の今昔物語

bull 繁殖確率 n(φ|e) 英語単語eがφ個のフランス語単語に接続される確率

bull 翻訳確率t(f|e)英語単語eがフランス語単語fに翻訳される確率

bull 歪確率d(j|iml)英文長さlフランス文長さm英文の単語位置iがフランス文の単語位置jに接続される確率

bull 空の英単語の繁殖数=φ0

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 52: 機械翻訳の今昔物語

bull 空でない英単語から生成されたフランス語単語の後に空から生成されたφ0個の単語が確率p1で挿入されるとすると

m

pp

ppe

m

i

i

ll l

0

10

1

0

0

1

10

1

)|Pr( 001

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 53: 機械翻訳の今昔物語

以上の準備の下

)32()|()|(

)|(

e)|aPr(fe)|Pr(f

1

1

1

2

0

0

0

00

00

00

1

1

lmajdeft

enppm

ja

m

j

j

ii

l

i

i

ml

a

l

a

l

a

l

a

j

m

m

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 54: 機械翻訳の今昔物語

bull (32)式を用いてntdp01に関する各々の

総和=1の確率による条件をつけてラグランジュ未定乗数法で Pr(f|e) を最大化すればよい

bull しかしmodel12と異なり和積の交換ができないので直接計算する

bull 組み合わせの数が多いのでビタビ法で近似計算する

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 55: 機械翻訳の今昔物語

SMTの発展の流れ3 Phrase Based SMT

IBM Model1-5はprimitiveで性能がいまいち

efとも単語単位ではなく単語列(phrase)単位として翻訳される

phraseを単位としてSMTを行う= Phrase Based SMT

Parallel corpusからphraseを取り出しPhraseの対訳確率 p(f-phaese|e-phrase)を求めることはできる

文をPhraseの連鎖と見なしたときにベイズの定理によるargmax p(f|e) p(e)を計算decoder

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 56: 機械翻訳の今昔物語

SMTの発展の流れ3 Phrase Based SMT

Phrase Based SMTの長所

多単語-対-多単語の翻訳ができるので意味的に構成的でないイディオムの翻訳などに強い

文脈情報が使える

Parallel corpusが大きくなればより長いphraseが学習できる

Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 57: 機械翻訳の今昔物語

Phrase Based SMTにおける Phrase Tableの学習

IBM Model 1-5によって求めた単語の対訳を用いて求めたWord-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 58: 機械翻訳の今昔物語

Phrase Based SMTにおける Phrase Tableの学習

Word-alignmentの結果からalignmentに矛盾しないphrase対訳を抽出する

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

矛盾 矛盾 無矛盾

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 59: 機械翻訳の今昔物語

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 60: 機械翻訳の今昔物語

Phrase Based SMTにおける Phrase Tableの学習

Papers publised recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 61: 機械翻訳の今昔物語

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 62: 機械翻訳の今昔物語

Phrase Based SMTにおける Phrase Tableの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 63: 機械翻訳の今昔物語

Phrase 対訳対の確率

抽出されたPhrase 対訳対に確率 を与える

Phraseの構成要素である単語の対訳確率(word-to-

word alignmentの結果)を使う(単純には積) 抽出されたPhrase 対訳対の相対確率を使う

この式では分子のcountが少ないのでsmoothing

したほうが性能があがるかもしれない

ef |

fefcount

efcountef

|

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 64: 機械翻訳の今昔物語

Decoderの枠組み

Decoder 新規のソース言語の文に対してターゲット言語の文を生成する

ソ ー ス 言 語 の 文 の Phrase 毎 に Phrase

Table(Phrase単位の対訳テーブルのこと)を引きターゲット言語に置き換える

だがどのようなPhraseを切り出してきて置き換えればよいか 最近発表された論文

最近最近発表された発表された発表された論文

切り出しの候補は非常に多く解空間は膨大

ビームサーチによる絞り込み

ビーム幅に性能が左右される

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 65: 機械翻訳の今昔物語

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

reorder

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 66: 機械翻訳の今昔物語

マリー は あの 熟した リンゴ を 食べた

Mary ate that riped apple ate

マリー

Mary

P=08

マリーは

Mary

P=09

あの

that

P=054

熟した

riped

P=036

リンゴ

apple

P=0216

熟したリンゴ

riped apple

P=0428

熟したリンゴを

riped apple

P=02996

リンゴを

apple

P=02212

あの

those

P=027

熟したリンゴ

riped apples

P=0189

熟したリンゴを

riped apples

P=01323

リンゴ

apples

P=018

で連結されたPhraseのシーケンスをパスという

日本語Phrase

英語Phrase

PPhrase 対訳確率

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 67: 機械翻訳の今昔物語

ソース言語でのPhraseとしての切り出し方の選択肢多し

Phraseの対訳先の選択肢多し

極めて膨大な可能性の広がりNP完全 処理の難しい部分を飛ばした前方で確実な対訳があるPhraseを対訳してPhraseの連結したシーケンス(=パス)の確率を予測する方法もある

合流したパスは合流地点でまとめる 性能劣化はないが枝刈りは十分ではない

ビーム幅を決めてパスの候補を枝刈りをしないと計算機で動かない 性能の劣化(よい対訳phraseを探し損なう)

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 68: 機械翻訳の今昔物語

将来のパスの確率を予測

まだ調べていない将来の部分に確率の高いPhraseがありそれを現在のパスの確率に乗

じてもかなり確率が高ければそれを考慮して現在のパスの順位を変更する

昨日 の 203 で 太郎 と いっしょに 行った 発表 は うまくいった

P=05 uncovered P=05 uncovered

P=03 P=04

05times03times 05times04=003

P=001 times 場所か道具か分らないと確率低い

何かの番号らしいが辞書でカバーされてない「203で」なので場所か道具か

とにかくもう少し先に進みたい

「203で」が「発表を行う」にかかるなら場所とわかり確

率が高い

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 69: 機械翻訳の今昔物語

頻度分布と母集団および目的適合性 argmax p(e|f) のdecoder計算では対訳コーパスなどの言語資源からIBM modelやPhrase SMTで「得られた確率p(e|f)とp(e)を使っている

しかし真の分布あるいは母集団の分布を使うのが理想

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

は辞書由来の情報かなどの言語モデル+何は

加味したい度だけではない要因も  対訳コーパスの頻

は対訳確率だが

DLM

T

DLMT

pgramnp

p

epepefpepefpfep

|||

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 70: 機械翻訳の今昔物語

単純にコーパスの頻度だけではなく種々の言語的要因を加味してみたらどうだろうか

eあるいはfの長さ頻度文中での出現位置などなど

すると p(e|f)は多数の要素の重み付け

対数をとり最適化する

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

そもそも真の分布母集団の分布が固定した形で得られるのかどうか分らない

M

i

iip

1

を最適化したいのだがi

M

i

ii

M

i

i pp i

11

loglog

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 71: 機械翻訳の今昔物語

目的は良い対訳文の生成なので「良さ」を最大化するようにλiを最適化するべき

「良さ」の尺度は機械翻訳の評価尺度BLUEなど

つまりBLUEWordErrorRate(WER)などを最適化の目的関数にする

以下はBLEUで代表して記述

機械翻訳の出力文集合fiei(i=1S)

参照訳(人間が作った正解訳文)ri(i=1S)

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 72: 機械翻訳の今昔物語

(a)(b)はλiが両方の式に現れ一挙に解けない以下のような繰り返しで解く

1 適当なλiの初期値を与えるbest対訳リスト=空 2 (b) n-bestな対訳を作りbest対訳リストにまだ入っていな

ければ best対訳リストに追加

3 (a)でλiを更新

4 上記23を2でbest対訳リストへの新規追加が無くなったら終了

F Och Minimum Error Rate Training in Statistical

Machine Translation ACL2003

b or |logmaxarg st

a maxargˆˆ

1

1

1

1ˆˆ

1

1

M

k

kikke

Mi

S

i

MiiM

epfepfe

ferBLEUM

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 73: 機械翻訳の今昔物語

SMTの発展の流れ4 Syntax Based SMT

言語学的な単位を扱うために構文構造(構文木)を単位として統計的機械翻訳を行う

Syntax Based SMT Phrase の対訳辞書(Phrase Table)の学習法が重要な技術要素

構文解析が入ってくるので構文解析結果を使う昔の規則ベースの翻訳に近いが構文解析規則はParallel corpusから自動的に求める

Synchronous Context Free Grammar SCFG

翻訳元先の両方の言語の構文規則が使える両方の言語での構文知識が使える

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 74: 機械翻訳の今昔物語

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

日本語入力からSyntacticなまとまり(構文木)を探して抽出

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 75: 機械翻訳の今昔物語

of JAVA

PR N

A book

NP PRP

bought

VB PRP

He

NP VB

VB

VB

PRP

PRP N

NP PR N N VB

N PP N PP N PP VB

彼 は JAVA の 本 を 買った

捻れをほどく

reordering

reordering

reordering

英語の構文木に対応させると捻れる捻れをほどくのがreordering

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 76: 機械翻訳の今昔物語

Reordering Table

original order (日本語)

Reorder (英語)

P(reorder|original order) 作り物です

NP1 PP PRP NP1 072

NP1 PRP NP2 NP2 PRP NP1 078

NP1(に) NP2(を) VB VB NP1 NP2 067

NP1(に) NP2(を)VB VB NP2 to NP1 033

VB NP NP VB(関係節) 056

VB NP NP REL(関係代名詞) VB 044

VB PP(か) DoDoes VB 057

このようなreordering規則によってある確率をもったいくつかの仮説となる構文木が生成される

最後はargmax p(f|e)p(e)で評価するが

途中の仮説数が大きくなりすぎたらビームサーチなどで枝刈り

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 77: 機械翻訳の今昔物語

Synchronous Grammar Rule Reordering 規則を2言語の同期文法規則として表す

単語翻訳規則 X 本|a book

句翻訳規則 X 放り出す|throw away throw out

終端記号非終端記号の混合規則 XN を| NP X X blanc|white X X ne X pas|not X

非終端記号の入れ替え XNP VP| VP NP この書き換え規則を適用して NP VP VP NPのreorderができる

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 78: 機械翻訳の今昔物語

Synchronous Grammar Ruleの学習

Papers published recently are too difficult

最近

発表

された

論文

難し

すぎる

XYすぎる | too Y

X発表された Y| Y published

XZされた Y| Y Z-ed

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 79: 機械翻訳の今昔物語

Synchronous Grammar Ruleの学習と問題点

自動的に学習された規則が多すぎる 規則のカバーする範囲の長さを制限する 右辺に非終端記号が2個以上あると厄介1個だけにする

構文解析器の性能が悪いとSMTの性能も悪い 果たして今の構文解析器の性能で十分か

未だ効率が良くない(そもそも難しい処理)

構文解析や文法とSMTの両方に詳しい研究者がそもそも少ないので研究が進めにくい

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 80: 機械翻訳の今昔物語

Topdown型の規則主導の機械翻訳の時代は

翻訳結果が人間にとって理解できるか自然な文かなどが評価尺度だった

数量的根拠に乏しく種々のシステムを定量的に比較できない

SMTの時代になり種々のシステムの定量的な比較ができる尺度 BLEUが提案された

正解として人間の翻訳文を利用し正解と機械翻訳システムの出力を比較する尺度

機械翻訳の評価尺度

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 81: 機械翻訳の今昔物語

代表的なMT評価尺度(1)

BLEU

WER(word error rate)

機械翻訳文と参照訳との編集距離を正規化した値

機械翻訳長

参考訳長長い機械翻訳が参照訳より

数文内の全機械翻訳

数で一致した文と参照訳翻訳

1exp1

log4

1exp

4

1

otherwisefiBP

gramni

gramniiBPBLEU

n i

i

i

i

i

iiiWER

の語数参照訳

置換語数削除語数挿入語数min

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 82: 機械翻訳の今昔物語

代表的なMT評価尺度(2) PER(position independent WER)

METEOR

参照訳中に現れる単語unigramを正解と見なしたとき機械翻訳に出現する単語unigramのRecallとPrecisionの調和平均

10PrecRecall(Recall+9Prec)

GTM(General Text Matcher)

機械翻訳文と参照訳との最長一致単語列の集合MMS

i

i

i

iiPER

の語数参照訳

の一致語数と参照訳機械翻訳1

recallpre

recallpreGTM

i

iiMMSrecall

i

iiMMSpre

2

)(

)(

の語数参照訳

参照訳機械翻訳文

の語数機械翻訳文

参照訳機械翻訳文

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 83: 機械翻訳の今昔物語

評価尺度とMT方式の関係

この議論を整理すると評価尺度とMT方式の関係を分析する必要性も浮かび上がる

ルールベース翻訳(RMT)

統計翻訳

(SMT)

BLEU 悪い 良い

人間の評価 けっこう良い 部分的な訳は良い

代替尺度 良いところは良いと評価する尺度がほしい

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 84: 機械翻訳の今昔物語

MTの評価尺度として頻繁に使用されているBLEUが人間が見て良い訳文を良い訳文と評価するのかが疑問視されている

例えばSYSTRANのようなルールベースMTの結果のBLEU値は悪いが人間が見ると悪くないという場合もある

もう一つの問題としてSMTが良い訳文を生成しているのかという問題がある

機械翻訳評価尺度についての議論

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 85: 機械翻訳の今昔物語

特許文に対するSMTの評価

利用データJAPIO提供の公開特許公報要約PAJ対訳データ(1993年から2004年までの12年分G06分野77万文で学習1000文でパラメータ調整500文で評価

フレーズベースSMT

入力文をフレーズ(翻訳する上で固定的に扱える単位)に分割SMTは短い表現の翻訳に強い

各フレーズを統計翻訳

フレーズ順序を統計的に調節

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 86: 機械翻訳の今昔物語

動作例

BLEU WER PER GTM

02713 0848 0452 0881

Tommrow I will go to the conference in Japan

明日 Φ 日本の 会議に 行きます

機械翻訳のMT評価尺度による評価

MT2006(NIST主催)でのBestな BLEUは035 よって特許翻訳ではフレーズベースSMTはかなり期待できる

個々のフレーズは統計翻訳で求める

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず

Page 87: 機械翻訳の今昔物語

こんな課題をやるとBLEUによる評価の 実態がわかるでしょう

NHKのニュースサイト httpwwwnhkorjp に行くとその日のニュースとその英語版ニュース

httpwwwnhkorjpnhkworld が掲載されています 一方Google翻訳では日英翻訳ができますこれは統計ベースの翻訳IBMモデルとかかぎらないかもしれない

またYahooでも翻訳サービス httphonyakuyahoocojp があります 日本語NHKニュースの英語翻訳結果を参照訳としてGoogle翻訳の結果とYahoo翻訳の結果のBLUE値を計算してくださいそしてBLUE値と実際の読みやすさ理解しやすさを検討してみるとよいでしょう

BLUE値の計算は手計算でけっこうですが評価プログラムは探せば入手可能のはず