機械翻訳
東京大学 情報基盤センター
情報理工学系研究科、情報学府 兼担)
中川裕志
昔の機械翻訳
 入力文:私はりんごを食べた。

 形態素解析構文解析
 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.
昔の機械翻訳
 意味のレベルで精密に日英が同一であることが前
提だった。
 また、形態素解析、構文解析、意味解析が正確に
動作すると想定している。
 しかし、なかなかそうとも言い切れない
 意味レベルでの概念が一致しない例
 湯  hot water、
 もったいない? 、
 checkという習慣が日本にない!
対訳辞書
日本語意味
りんご  APPLE
意味英語
ALLPE if bear noun or singular: apple
if plural: apples
単数の場合には an apple,複数なら apples
を選ぶのは、構文および形態素のレベル
少し前の機械翻訳:example based translation
 翻訳対の例文が類似検索可能な形でデータベース化
 例:私はみかんを食べた。  I ate an orange.
 入力文:私はりんごを食べた。
 翻訳対データベースから類似した日本語例文を検索
私はみかんを食べた。
違っている部分みかんをりんごに置き換え
さらに日英辞書でりんごをan appleに置き換え
 結果出力:I ate an apple.
 当然ながら、冠詞の選択などは文法規則によって行う。つ
まり、相当程度に従来の構文規則や、形態素解析技術と
共同することになる。
少し前の機械翻訳:example based translation
類似検索の部分が重要。ここで構文解析を使
うことも可能だが、だんだん古典的な機械翻
訳に近づく。
翻訳対を集めれれば集めるほどが翻訳の質
があがる。
この収集作業は機械的にできる。
統計的機械翻訳
Statistic Machine Translation (SMT)
 言語的知識を全く使わずに対訳を得る。アンチ言語学理
論
 2言語並行コーパスが蓄積
 文どうしの対応付けされた aligned corpus
 これを使って単語や句どうしの対応付け、すなわち対訳
を自動的に抽出
文同士の対応はあるが、単語列同士の対応は不明
探索空間が膨大
 IBMの Peter Brown,S. Della Pietra, V. Della Pietra,
Robert Mercerらの1993年のCLの論文“The Mathematics
of Statistical Machine Translation:Parameter Estimation”を
中心に解説
Bayesの定理
Canadian Hansard : French-English Bilingual
corpus
フランス語の単語列:f に対して妥当な英語
の単語列 : e を求める
 Given French string: f, find e^=arg maxePr(e|f)
種々のfに対応しそうなeはやたらと多い!!
 then
Pr(e )Pr( f|e)
Pr(e|f ) 
Pr( f )

^
e  argm ax
e
Pr(e )Pr( f|e)
なぜPr(e|f)ではなく、Pr(f|e)×Pr(e)
か?
種々のfに対応しそうなeはやたらと多い!!
対訳コーパスの対訳文はやはり少数
無尽蔵に多くあるフランス語の単語列 f に対して、
対応すべき正しい英語を求めるのが目的
Pr(e|f)直接では、正しい英単語列eに高い確率が割
り当てられることが保証されない。
正しい英文という要因を直接考慮するためにPr(e)を
別個の情報源から得て利用する。
Alignment:対応
• The1 poor2 don’t3 have4 any5 money6
• Les1 pauvres2 sont3 demunis4
(Les pauvres sont demunis |
The(1) poor(2) don’t(3,4) have(3,4) any(3,4)
money(3,4))
=A(e,f)=a
 e,fはここでは文
記法
• Alignmentも考慮したPr(f,a|e)
P r(f | e) 
 P r(f, a | e)
a
e  e1l  e1e2 .... el
where l
English words
f  f1m  f1 f 2 .... f m
where m
a  a1m  a1a2 ..... am,
where
french words
aj i
f, e は単語列 a はalignment
m

P r(f, a | e )  P r(m | e)
f i , ea j は単語
P r(a j | a1j 1 , f1 j 1 , m, e) P r( f j | a1j , f1 j 1 , m, e)
1
• 以後はPr(f,a,|e)を評価する方法
IBM Model 1
 このモデルでは、英、仏文の単語の出現順序には相関
がないとしている。-(1)
 また対訳は個々の単語にだけ依存する-(2)
  P r(m | e)
P r(a j | a1j 1 , f1 j 1 , m, e)  (l  1) 1
P r( f j | a1j 1 , f1 j 1 , m, e)  t ( f j | ea j )
P r(f, a | e) 

(l  1)
 (1)
 ( 2)
m
m
 t( f
j
| ea j )
 (3)
1
f, e は単語列 a はalignment
f i , ea jは単語
Model 1
• このモデルでは、Alignment aj は0から m の任
意の値をとるから1/(l+1)。ラグランジュ未定乗数
法によってPr(f|e)を最大化する。

P r(f | e) 
(l  1) m
constraint:
l
l
m
...  t( f
a1 0
j
 ( 4)
| ea j )
am  0 1
 t( f | e )  1
f , eは単語f j , ea j のいずれかを表す。
f

h (t ,  ) 
(l  1) m
l
l
m
...  t( f
a1 0
h

0

t ( f | e) (l  1) m
j
am  0 j 1
l
| ea j ) 
  ( t( f | e )  1)
e
e
l
f
m
...  ( f , f ) (e, e
j
a1 0
am 0 j 1
 (5)
a j )t (
f | e)
1
m
 t( f
k 1
k
| eak )  e  (6)
t ( f | e)  e 1

1
e

l
(l  1)
m
l
 ...   ( f , f
a1  0
am  0 j 1
m
 P r(f, a | e)  ( f , f
j 1
a
m
m
j
j
) (e, ea j ) t ( f k | eak )
k 1
) (e, ea j )
 (7)
m
c( f | e; f, e)   P r(a | f, e)  ( f , f j ) (e, ea j )
 (8)
j 1
a
• c(…) とは翻訳(f|e)において、英単語e が フランス語単
語f に翻訳される回数。2番目の∑はあるalignment a に
おいてf,eの対訳された回数で総和。
P r(a | f, e)  P r(f, a | e) /P r(f | e)
f, a, e
m
 P r(f, a | e) ( f , f
 c ( f | e; f, e) 
a
は単語列
j )
j 1
 (9)
P r(f | e)
 t( f | e)  e1 P r(f | e )c ( f | e; f, e)
( e, ea j )
- (10)
m
l
 ( f , f )  (e, e )
j
i
i 0
 (9)式の j 1
の部分はfとeの対訳回数になることが
分かる。(alignment aがないのでこの式)下図参照。







f=
e=
f1, f2(=f), f3, ..,f7(=f), …. fm
e1(=e)
*
*
e2
:
e8(=e)
*
*
:
el
 教師データとしてS個の翻訳 (f(s)|e(s)) s=1,…,Sがコーパスから知られて
いるので、S個の翻訳の総和を用いて式(10)を書き換えた以下の式を使
うので覚えておいてください。ただし、 (10)のλePr(f|e) をλeと置き換えた。
t ( f | e) 
S
1
e 
s 1
c( f | e; f (s)e(s) )
t(f|e)を求めるまではもう一工夫

t ( f j | eai )
l
l
は、単項式だから
m
... t ( f
a10
am0 j 1
m
j
l
| ea j )   t ( f j | ei )
 (11)
j 1 i 0
 例 t10t20  t10t21  t11t20  t11t21  (t10  t11 )(t20  t21 )
 これによると
Pr(f | e) 

(l  1)
m
m
l
 t( f
j 1
i 0
j
| ei )  (12)
そこで、またラグランジュ未定乗数法で
constraint:  t ( f | e )  1
f
h(t ,  ) 

m
(l  1) m
h
0

t ( f | e)
l
  t( f
j 1
i 0 c
j
| ei )   e ( t ( f | e )  1)
e

(l  1) m
m
 t( f
i 0 c
f
l
  t( f
l
| ei )
j
j 1
 (13)
i 0 c
j
m
l
j 1
i 1
| ei )  ( f , f j )  (e, ei )  e
 (14)
l
 e1 P r(f | e) 
 t( f
i 0
m
| ei )
l
  ( f , f )  (e, e )
j 1
by(10)(15) 
j
j
i 0
 (15)
i
m
l
t ( f | e)
c( f | e; f, e) 
 ( f , f j )  (e, ei )  (16)

t ( f | e0 )  ...  t ( f | el ) j 1
i 0
いよいよEMでt(f|e)を推定-1
1. t(f|e)の初期値を適当に決める
2. 各(f(s),e(s)), 1=<s =<Sに対して、
m
l
t ( f | e)
(s) (s)
c( f | e; f , e ) 
 ( f , f j )  (e, ei )
t ( f | e0 )  ...  t ( f | el ) j 1
i 0


を計算する。
l
m
 ( f , f )  (e, e )
j
j 1
i
i 0
のときだけ0でない。
の値は f,e がf(s),e(s)の要素
いよいよEMでt(f|e)を推定-2
3.
t ( f | e) 
S
1
e 
s 1
c( f | e; f (s)e(s) )
左辺が1になるので、
を f
すると
S
e    c( f | e; f (s) , e(s) )
f s 1
このλeの値を用いてt(f|e)の新たな値を推定する。


S
t ( f | e) 
s 1
S
f
4.
c( f | e; f (s) , e (s) )
s 1
c( f | e; f (s) , e (s) )
t(f|e)が収束するまで2,3を繰り返す。
Model 2
• Alignmentが位置に依存する。つまり、
a (a j | j , m, l )  P r(a j | a1j 1 , f1 j 1 , m, l )
が
j
aj
m l に依存
l
 a(i | j, m, l )  1
i 0
l
then
l
m
P r(f | e)    ...  t ( f j | ea j )a(a j | j , m, l )
a1  0
am  0 j 1
ラグランジュ
h(t,a, ,  )
 P r(f | e)   e ( t ( f | e)  1)    jml ( a (i | j , m, l )  1)
e
f
j
i
ラグランジュ未定乗数法でhを微分し計算すると
t ( f | e)  
1
e
m
 P r( f,a | e)  ( f , f
) (e, e j )
j 1
a
c ( f | e; f, e) 
j
m
 P r(a | f, e)  ( f , f
j 1
a
j
) (e, ea j )
t ( f | e)  e 1 P r( f | e)c( f | e; f, e)
t ( f | e)  e 1 P r( f | e)
S

c ( f | e; f (s) e (s) )
s 1
ここまでは同じだが、
c (i | j , m, l ; f, e) 
さらに意味的に考えて
 P r(a | e, f ) ( i,a
j
)
a
a (i | j , m, l )  
1
jml
S
 c(i | j, m, l; f
(s)
, e (s) )
s 1
注: P r(a | f , e) P r( f | e)  P r(a, f | e)
 jml P r( f | e)   jml
Model 1と同じように計算し
• Model 1 では(l+1)-1 だったa(i|j,m,l)をModel 2
では変数と見ているので、
m l
Pr(f | e)     t ( f j | ei )a( i | j , m , l )
j 1i  0
m l
c( f | e; f, e)   
j 1i  0 t (
c( i | j , m , l ; f, e) 
t ( f | e )a( i | j , m , l ) ( f , f j ) (e , ei )
f | e0 )a(0 | j , m , l )  ....  t ( f | el )a( l | j , m , l )
t ( f j | ei )a( i | j , m , l )
t ( f j | e0 )a(0 | j , m , l )  ....  t ( f j | el )a( l | j , m , l )
• 後は同じくEMアルゴリズムでt(f|e)を求める
• 初期値にはModel 1の結果を用いる。
Model 3
• 1単語がn単語に翻訳 not => ne … pas
• n=0(翻訳されない)の場合も考慮。 冠
詞は日本語にはない。
• 対応する単語の出現場所がねじれる
– 日英での語順の差
• こういった現象に対応するモデル
繁殖確率 n(φ|e): 英語単語eがφ個のフラン
ス語単語に接続される確率
翻訳確率t(f|e):英語単語eがフランス語単
語fに翻訳される確率
歪確率d(j|i,m,l):英文長さl,フランス文長さ
m,英文の単語位置iがフランス文の単語位
置jに接続される確率
空の英単語の繁殖数=φ0
• 空でない英単語から生成されたフランス語単
語の後に空から生成されたφ0個の単語が確
率p1で挿入されるとすると、
 1  ..  l
P r(0 |  , e)  

0

p0  p1  1
l
1
m

i 0
i
m
 1 . .l 0 0

p1
 p0

以上の準備の下
l
l
a1  0
am  0
Pr(f | e)   ...  Pr(f,a | e)
l
l
a1  0
am  0
  ... 
 m  0  m  20 0 l

 p0
p1  i !n(i | ei ) 
i 1
 0 
m
 t( f
j 1
j
| ea j )d ( j | a j , m, l )
 (32)
φi ! はeiから生成されたφi個の単語列における順番を入れ替えた単語列の数
え上げ
• (32)式を用いて、n,t,d,p0,1に関する各々の
総和=1の確率による条件をつけてラグラ
ンジュ未定乗数法で Pr(e|f) を最大化すれ
ばよい。
• しかし、model1,2と異なり和積の交換がで
きないので、直接計算する。
• 組み合わせの数が多いので、ビタビ法で
近似計算する。
機械翻訳評価尺度についての議論
近年、MTの評価尺度として頻繁に使用さ
れているBLEUが人間が見て良い訳文を
良い訳文と評価するのかが疑問視されて
いる。
例えば、SYSTRANのようなルールベースM
Tの結果をBLEU値は悪いが、人間が見ると
悪くない、という場合もある。
もう一つの問題としてSMTが良い訳文を
生成しているのか、という問題がある。
評価尺度とMT方式の関係
 この議論を整理すると、評価尺度とMT方式の
関係を分析する必要性も浮かび上がる
ルールベース翻
訳(RMT)
BLEU
悪い??
人間の評価
けっこう良い
代替尺度
統計翻訳
(SMT)
良い??
部分的な訳は
良い
良いところは良いと評価する尺度
代表的なMT評価尺度(1)
 BLEU
 4
1 

BLEU  BP  exp 
log
 n 1 4 


BP  1
if

 翻訳i文と参照訳 iで一致した n  gram数  
 
機械翻訳
i
文内の全
n

gram
数


i
i
機械翻訳が参照訳より 長い
参考訳長 

otherwise exp 1 

機械翻訳長


 WER(word error rate)
 機械翻訳文と参照訳との編集距離を正規化した値
挿入語数i  削除語数i  置換語数i 

W ER 1 
 参照訳iの語数
i
i
代表的なMT評価尺度(2)
 PER(position independent WER)
機械翻訳iと参照訳 iの一致語数

PER  1 
 参照訳iの語数
i
i
 GTM(General Text Matcher)
 機械翻訳文と参照訳との最長一致単語列の集
合:MMS
MMS( 機械翻訳文i, 参照訳i )
,
機械翻訳文iの語数
2  pre recall
GTM 
pre  recall
pre 
recall 
MMS( 機械翻訳文i, 参照訳i )
参照訳iの語数
特許文に対するSMTの評価
利用データ:JAPIO提供の公開特許公報
要約/PAJ対訳データ(1993年から2004
年までの12年分。G06分野77万文で学
習、1000文でパラメータ調整、500文で評
価
フレーズベースSMT
入力文をフレーズ(翻訳する上で固定的に扱
える単位)に分割
各フレーズを統計翻訳
フレーズ順序を統計的に調節
動作例
Tommrow
I
Φ
明日
will go
日本の
to the conference
会議に
行きます
機械翻訳のMT評価尺度による評価
BLEU
WER
PER
0.2713
0.848
0.452
MT2006(NIST主催)でのBLEUは0.35。 かなり見込みあり。
in Japan
二言語コーパスからの対訳抽出
-- Aligned corpus の場合-Parallel Corpus(平行、対訳コーパス)
Aligned Corpus: 種々の研究あり。要はどのようにして
2つの言語のコーパスにおける文、単語、複合語、句
を 対応付ける(align) するかに集中。
90年代前半にきれいな2言語対訳コーパスを対象に
した多数の研究があり。
90年代後半に、Noisy Parallel Corpus への展開が
試みられた (Fung94,Fung98)
対訳コーパスからの対応文のペアを求める
Gale and Church 1993
2言語の文書 S,Tから対応付け(Alignment)
Aを求める。
SとTの対応する文のペアを bead という。
例 B=(言語 language),
B=(les eaux mineral, mineral water)
Alignment=argmaxA P(A|S,T)= argmaxA P(A,S,T)
Bkは 文書先頭からk番目のbead
P ( A, S , T ) 
k 1 P( Bk )
K
対訳コーパスからの対応文のペアを求める
例 B=(言語 language),
B=(les eaux mineral, mineral water)
Align  arg max A P ( A, S , T )  arg max A
k 1 P( Bk )
K
これらから分かるように、よい対応付けは、単
語やcollocationレベルでの2言語での対応付
けから得られるbead: Bkの確からしさP(Bk)が大き
いものを集めて作る。
具体的なアルゴリズムはDPによる
対訳コーパスからの対応文のペアを求める
このようにして、文内部の対応がうまく付く文同士が
高い対応付け確率を持つとする。
文書同士で文同士が高い対応付けを持つペアを連
ねるように選ぶと対応文ペアが求まる。
文書を構成する各文同士の対応付けもまた、文の対応付
け確率を用いたDPによる。
Beadを作る単語同士の対訳の他に、文の長さが類
似しているほど、よく対応する文のペアと考える方法
も加味できる。
対訳コーパスからの対訳文の概要
動的計画法による探索 Gale&Chruch93,
Nissen et al 98
A*探索 Wang & Waibel 97
確実な対訳と見られるアンカー点を決めつつ
の反復法 Kay & Roscheisen 93
Aligned corpus からの
単語やcollocation 対訳抽出の概要
対訳判定の尺度:
各言語の対訳文毎に対訳かどうか判定したい表現
w1,w2(=各言語から抽出された表現)が出現する文
としない文を数える。
w1,w2 が対訳文の出現する確率による。ただし、この
確率=0ならEMアルゴリズムで推定。Kupiec93
w1,w2の相互情報量 Haruno93, Smadja96
w1,w2のDice係数 Smadja96
ヒュ-リスティック
Likelihood ratio Melamed97
語の2言語コーパスでの共起と
その有意さの尺度
 あるテキストの単位(文、段落など)へのW1(言語A),w2
(言語B)のcontingency matrix (頻度) a+b+c+d=N
W1出現
W1非出現
W2出現
a
c
W2非出現
b
d
 相互情報量 MI (w1, w2)  log P( w1, w2)  log
P( w1) P( w2)
 Dice係数
Dice( w1, w2) 
2a
( a  b)  ( a  c )
aN
(a  b)(a  c)
Champollion ( Smdja et al 96)
Translating collocations: based on sentence
aligned bilingual corpus
1つの言語においてXtractで collocation
を抽出
相手側の言語の対応文である統計的フィ
ルタをパスするような分布で出現している
collocation を対訳とする。
フィルタとしては、相互情報量、Dice係数を
比較した結果、
Champollion
Dice係数は、X=0,Y=0(双方の言語の文に
collocationの要素がない場合)に影響され
ないので、精度が高いので、これを使う。
2 freq( X  1,Y  1 )
Dice( X ,Y ) 
freq( X  1 )  freq( Y  1 )
大雑把には collocation (の要素たち)の
Dice係数が閾値以上のもののみを残す。
なお、極端に出現頻度の低い要素語は捨
てる。
Champollion
Canadian Hansards (50MB order)
3000, 5000 collocations extracted by Xtract
中頻度の300 collocations で評価
Xtractのerror rate = 11%
Incorrect translations = 24%
Correct translations = 65%
Champollion’s precsion = 73%
Likelihood ratio: Melamed 97
Melamed 97 の方法は、対訳はone-to-oneという
仮定をおき、
2言語の単語u,vが対訳であるかどうかの尤度比を計
算し、
最大の尤度比のものを対訳とする。
ただし、u,vの個別の出現例から
λ +=P(対訳|共起かつ対訳)、 λ -=P(対訳|共起かつ非
対訳)、をコーパスで評価しておき
λ + λ- をΠu,vP(k(u,v)|n(u,v),λ±)を最大化するようにし
て求める
次の尤度比を用いる。
L(u,v)=B(k(u,v)|n(u,v),λ+)/B(k(u,v)|n(u,v),λ-)
λ± 機能語、内容語で分類する
recall=90% -- precision=87%
二言語コーパスからの対訳抽出
-- non aligned corpus の場合-Non-aligned Corpus の場合
Alignさせながら対訳を探す方法 Fung95ACL
Alignment を使わず別の情報源による方法
複合語の構成 Fung95WVLC
文脈に出現する語の分布
Rapp95,Tanaka96 ,Fung98,
特定の分野のコーパスであること
二言語コーパスからの対訳抽出
-- non aligned corpus の場合-基本的方法は、まず双方の言語で用語あ
るいは collocation を抽出し、次に何らかの
方法で対応をつけようとする。
Noisy Parallel Corpus の場合
 Fung94 ACL では English-French parallel
corpus (Hansards) から次のような方法で対訳を
求めた。
1. 同じ内容をもつ英仏テキスト対をK等分する
2. 英単語Wenと仏単語WfrのK個のセグメントでの現
れ方(<1,0,1,0,0>などと表現)の相関を相互
情報量MIで測る
3. MIの高いものが対訳とみなす。
4. 低頻度単語でMIが高くでる傾向の是正策(t-scoreに
よる検定)も行う。
 K分割というところが味噌。Fung95につながる。
高頻度の確実な対訳語対を探してAlignment さ
せながら低頻度語の対訳も探す方法
――Noisy Parallel Corpus の場合――
 Fung95 ACL95
Alignment と 対訳抽出を同時に行う。
Step1. 両言語のコーパスで頻度の高い語につ
いての対応付けをする。うまくいけば、この対応
付けが同時に対訳になる。
各語の相対出現位置ベクトルを求める
このベクトルをDP風にマッチさせ対応する対を選ぶ。
なお、ベクトルの平均と分散のによるユークリッド距離
の離れている対は除去
この対応付けをアンカー点と呼ぶ
高頻度の対応付けだけを残すとかなりきれいな
alignment になっている
Fung 95 ACL の続き
Step2: 低頻度の語の対応付け
アンカー点で区切ったセグメントをs1,s2,…とす
る(K等分ではないところが進歩)
低頻度の語の相対位置ベクトルをセグメント
の順番( i of si )の列に変換する。これによって、
ラフな alignment でも誤差がセグメント単位に
切り上げられる。
その上で相互情報量の小さい対を対訳として
選ぶ。
Fung 95 ACL の続き
結果
6000語ほどの小さな英中コーパス
高頻度の対訳 128語 80%弱の精度
低頻度の対訳 533語 70%程度の精度
平均して 73%の精度
必ずしも実用レベルの実験ではない
非平行な同一分野の2言語コー
パスからの訳語抽出
• Non-parallel comparable corpora
• Similarity of context is cue.
•
ab X cd
•
a’ b’ Y c’ d’
language A
language B
• Calculation of contexts similarity is heavy
Context Heterogeneity (Fung95WVLC)
扱う分野が同じなら parallel でなくてよい。
単語 trigram により文脈を作る。つまり
 単語L 単語0 単語R
ここで、単語0 の context heterogeneity は
単語Lの異なり数=a, 単語Rの異なり数=b
単語0 の出現頻度=c のとき
Left-heterogeneity=a/c, rigth-heterogeneity=b/c
このアイデアは語基の連接数(中川)に似ている
二つの言語の単語w1,w2の context
heterogeneity x1,y1 (for w1), x2,y2 (for w2)の距
離は
2
2
  ( x1 x2)  ( y1 y 2)
Context heterogeneity の評価
εは統計量なのでとにかくコーパスが大きく
ないと信頼性の高いデータが得られない。
大規模なデータ量は、non-aligned corpus の
場合、必然かも。
Context heterogeneity のような局所的な文
脈だけで対訳を絞りこめるのか疑問
評価結果が論文に書いてない
既存の辞書を使っていない。ゼロから対訳
を得ようというのはかなり無理では。
より本格的に文脈を利用する方法 Rapp
Rapp95,99 では、共起する語の分布の近さ
で訳語の曖昧性を解消しようとする。
小規模な英独対訳辞書は利用する。
ドイツ語コーパスである単語wdの前後2単
語づつでの共起語を使う。
上で述べた位置関係において二つの単語
wa,wb の共起を頻度や確率、MIでなく次
にしめす対数尤度比(これが最良と報告)
によってあらわす。
より本格的に文脈を利用する方法 Rapp
対数尤度比
 あるテキストの単位(文、段落など)へのwa,wb(言語B)
のcontingency matrix (頻度) a+b+c+d=N,
 wa,wbが共起= a, waだけ= b ,wbだけ= c,両方ともない=d
 2 log   a log
 c log
aN
bN
 b log
(a  b)(a  c )
(a  b)(b  d )
cN
dN
 d log
(a  c )(c  d )
(b  d )(c  d )
 この対数尤度比をベクトルの要素にして、waに共起する
w(ger)とその対訳w(eng)のベクトルの距離を次式で測る
s( w( ger ), w( eng )) | ( 2 11 2 )w( ger )  ( 2 11 2 )w( eng ) |
より本格的に文脈を利用する方法 Rapp
前式でw(ger)の対訳w(eng)は既存の辞書で求め
る。
距離s(w(ger),w(eng))をwaに近接する語基全て
について加算し、これをSとする。
Sの最小のものがwaの訳語であるとする。
ドイツ語の語基から英語への対訳を100語のサ
ンプルで評価した結果、
第1順位の対訳の精度は72%、
上位10位以内に正しい訳語がある場合も加え
ると89%の精度
より本格的に文脈を利用する方法 Fung
Fung98 : Rappと同様のアイデア
既存の中英対訳辞書を利用して中国語未知語
Wの英訳語を求める。
Wの出現した文と同じ文における共起する既存
の辞書の単語 Wdをひとつの次元とみなすベク
トル空間法
Wと同じ文におけるWdの出現数をtf
Wと同じ文をdocument と見なした場合のidf (Wと
同じ文に出現する総単語数で正規化
より本格的に文脈を利用する方法 Fung
 tf・idf を直接Wdの重みにせずに、Wdの
英訳語の既存の辞書での重要度順位kで
割る。
cosine, Dice係数などで類似度の高い英単
語をWdの対訳とする。
第1位の訳語の精度は30%
第20位までの訳語だと76%の正解をカ
バー
より本格的に文脈を利用する方法 Tanaka K
Tanaka96 類似性はMI、辞書はEDICT
 言語A
 単語u
A
 単語v
T
言語B
単語k
T^AT vs B
単語l
Tij=p(言語Bの単語j | 言語Aの単語i)
 |T^ATーB| を最急下降法で最小化し、求めたTが対
訳マトリクス。
378語の対訳実験で、
曖昧さ解消成功率 =82%。一方、ふるい落とし
た対訳の85%は誤訳語
Context Heterogeneity (Fung95WVLC)
扱う分野が同じなら parallel でなくてよい。
単語 trigram により文脈を作る。つまり
 単語L 単語0 単語R
ここで、単語0 の context heterogeneity は
単語Lの異なり数=a, 単語Rの異なり数=b
単語0 の出現頻度=c のとき
Left-heterogeneity=a/c, rigth-heterogeneity=b/c
このアイデアは語基の連接数(中川)に似ている
二つの言語の単語w1,w2の context
heterogeneity x1,y1 (for w1), x2,y2 (for w2)の距
離は
2
2
  ( x1 x2)  ( y1 y 2)
Context heterogeneity の評価
εは統計量なのでとにかくコーパスが大きく
ないと信頼性の高いデータが得られない。
大規模なデータ量は、non-aligned corpus の
場合、必然かも。
Context heterogeneity のような局所的な文
脈だけで対訳を絞りこめるのか疑問
評価結果が論文に書いてない
既存の辞書を使っていない。ゼロから対訳
を得ようというのはかなり無理では。
既存の対訳辞書と語基の連接数との併用
nakagawa2000 LREC WTRC, 2001 NLPRS
各言語のコーパスから用語候補を抽出
言語毎に、抽出された語基を連接数の大
きさの順に並べる
日本語の語基wjの英語の対訳候補
we1,we2,..を既存の対訳辞書(EDICT)から
求める。当然、曖昧
wj の対訳として、 wj の連接数の順位に
近い連接数の順位を持つwei (i=1,2,..) を
選ぶ
抽出、順位つけされた
抽出、順位つけされた
用語集合(英語)
用語集合(日本語)
1位
1位
N-2位:メモリシステム
N位: memory system
〇
N+3位:記憶システム
×
N+50位:脳組織
100位
100位
正規化順位
正規化順位
Distance
• distance(Xe, Xj) = | rank(Xe)-rank(Xj) |
• If distance(Xe, Xj) is small, Xe is the
translation of Xj.
• distance(Xe1,Xj)<distance(Xe2,Xj)<…
then Xe1 is most likely translation of Xj
Example of distance
memory system
メモリシステム
記憶システム
メモリ方式
記憶方式
脳組織
0.051493
0.956459
1.234347
3.809609
63.498688
日英,英日の情報通信関連専門用語の対訳
で60%から80%の精度
より本格的に文脈を利用する方法 まとめ
 Rapp、Fung, Tanaka の方法は
1. タネになる小さな対訳辞書によって
2. 対訳を求めたい語基の文脈(に現れる既知
語)をベクトル表現し
3. 相手側テキストで、このベクトルによく一致す
るものを探し、そこの未知語を訳語にする
 この方法は、行き着くところまで行ってい
る(local minimum)ので、新規なアイデア
が必要??
ダウンロード

統計的機械翻訳、対訳抽出