言語処理学会 第24回年次大会 発表論文集 (2018年3月)

日英ニューラル機械翻訳における未知語への対応
伊部 早紀

山口 和紀

松田 源立
東京大学

{ibe, matsuda, yamaguch}@graco.c.u-tokyo.ac.jp

はじめに1

第一に，対訳コーパスにアライメントモデルを適用し，単語アライメント表を作成する．アライメントモ

ニューラル機械翻訳 [2] は 2010 年代に提案された

デルとしては IBM モデル 4 を使うのが一般的であり，翻訳手法であり，原言語あるいは目的言語の単語を分本研究でも IBM モデル 4 を用いた．IBM モデル 4 の計

散表現という数値ベクトルに変換し，ニューラルネッ

算では同時に単語翻訳確率 t(e| f ) も計算される．単語

トワークを用いてモデルを学習し翻訳を行う．従来のアライメント表を原言語から目的言語，またその逆に統計的機械翻訳 [6] では対訳コーパスに加えて単語ア対して作成し，grow-diag-final-and (gdfa) などのヒューライメント情報などを用いて原言語から目的言語へのリスティックを用いて 2 つの表を重ね合わせたものを変換規則の確率を学習していたが，この翻訳方式では最終的な単語アライメント表とする．

対訳コーパスのみを入力として学習するため，以前よりもモデルが単純になった．

第二に，作成した単語アライメント表と対訳コーパスをもとに，翻訳規則とフレーズ翻訳確率 P(e|f ) を

ニューラル機械翻訳は統計的機械翻訳に比べ流暢な学習する．

文が生成されるが，訳抜けや重複など正確さに欠ける

最後に，翻訳規則を利用して出力候補文をいくつかことや，出力結果に未知語 (UNK) が含まれること [7]生成する．各候補文に対し翻訳規則の確率と言語モデがしばしば指摘される．未知語の問題に対処する方法

ルを用いて翻訳確率を計算し，翻訳確率が最も高い候としては，コーパスに前処理を行う方法 [7, 10] や，学補文を出力結果とする．

習するモデルを変更する方法 [1, 12] や，統計的機械翻訳と組み合わせる手法 [11] などがある．

統計的機械翻訳では，単語やフレーズ間の対応関係は正確に抽出できるが，文全体の文法構造に関しては本研究では，ニューラル機械翻訳で生成されるアテ長文だと上手く翻訳できない．

ンションを用いて単語アライメントを作成し，それをもとに出力結果に含まれる未知語を他の単語に置き換えることで翻訳精度を向上させる手法を提案する．こ2.2のように組み合わせることで，ニューラル機械翻訳による文の流暢さを残しつつ，単語アライメントを用いることで正確な単語を選択することが期待できる．

アテンションに基づくニューラル機械
翻訳

アテンションに基づくニューラル機械翻訳 [2] は，アテンションを用いて翻訳する原言語の部分を特定するニューラル機械翻訳である．

2

背景

2.1

フレーズに基づく統計的機械翻訳

入力文 f = ( f1 , f2 , ..., f J ) とその分散表現 x =本研究では，未知語を置き換える単語を探す時にフ(x1 , x2 , ..., x J )，出力文 e = (e1 , e2 , ..., eI ) とその分散表
現 y = (y1 , y2 , ..., yI ) のペアの条件付き確率を最大化するように学習する．

レーズベース機械翻訳 [6] で生成されるフレーズテー

p(e|f ) =ブルを使うため，フレーズベース機械翻訳について説明する．フレーズベース機械翻訳は，統計的手法を用いて翻訳規則を学習し，翻訳を行う手法である．手順I∏p(et |e1 , ..., et−1 , f )

(1)

t=1

ei の生成確率は以下で与えられる．

を以下に示す．

p(ei |e1 , ..., ei−1 , x) = ρ(yi−1 , si , ci )― 1046 ―(2)Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

si は i 番目の入力単語列の隠れ状態であり，式 si =intersection 原言語，目的言語どちらから見ても確率f (si−1 , yi−1 , ci ) で計算される．ci は原文の i 番目の単語∑ xの文脈ベクトルといい，式 ci = Tj=1
αi j h j で計算する．

が最も高いセルを対応付けする．

ai′ j and j = arg max ai j′
1 if i = arg imax′j′
bi j = 0 otherwise

αi j はアテンション確率といい， xi と yi が関連している確率である．式 (3) に従って計算する．

exp ei j
αi j = ∑T x
k=1 exp eik(3)

gdfa intersection において作成した行列 B をもとに，対応付けされたセルの隣のセルで，原言語またはここで ei j = va µ(si−1 , h j ) である．

目的言語のどちらか一方から見て確率が最も高い

h j は入力文の j 番目の単語の文脈ベクトルで，式 h j =セルがあれば対応付けする．原言語の 1 つの単語

g(h j−1 , x j ) に従って計算する．

が目的言語において複数の単語に対応している場

以上の µ(), ρ(), f (), g() はパラメータを含む非線形関数

合，それらは隣り合うことが多い．このため，すである．学習では，式 (4) のクロスエントロピーとしでにアライメント表に入っている単語と隣り合うて定義された損失関数を最小化し，翻訳では式 (1) を単語のみを表に追加することを許す．

neighbor(b p,q ) = {b p−1,q , b p+1,q , b p,q−1 , b p,q+1 }最大化する e をビームサーチなどで求める．

L=−∑y j log y′ j∑
1 if bi j = 0 and b pq ∈neighbor(bi, j ) b pq ≤ 1

and (i = arg max ai′ j or j = arg max ai j′ )bi j = i′j′
0 otherwise(4)jy j はコーパスにおける y j に対応する単語 e j の出現確率、y′j は学習したパラメータを用いて翻訳を行った時に y j に対応する単語 e j が出力される確率である．
ニューラル機械翻訳は長文でも文法構造が適切な文3.2 未知語の置き換えに翻訳できるが，未知語が多くなるという特徴がある．

作成したアライメント行列 B をもとに，出力文における未知語 ei が入力文のどの単語あるいは単語列 fiに対応しているかを決める．

3 提案手法

for all ei in e:

本研究ではニューラルネットワークを用いてモデルを学習し翻訳を行った後，アテンションから単語アライメントを作成し，作成した単語アライメントを用いて未知語を別の単語に置き換える手法を提案する．こうすることで，ニューラル機械翻訳の流暢さを残しつつ未知語を適切に減らすことができる．

fi = { f j |bi j = 1}
次に，fi の訳を決め，未知語 ei と置き換える．
本研究では fi の訳の決め方として [6] を参考に IBMと ChangePhrase の 2 種類を，さらに比較対象としてDict を加え計 3 種類の手法を用いた．
IBM 対訳コーパスに IBM モデル 4 を適用したときの単語翻訳確率 t(e| f ) を参照し，fi = ( fi1 , ..., fin )の要素それぞれにおいて最も確率の高い ebest =3.1 単語アライメント表の作成

arg max t(e| fi ) を訳として選ぶ手法．

まず，出力文中の各未知語が原言語におけるどの単e語に対応付けられているかを知るために，単語アライChangePhrase fi の訳を統計的機械翻訳で作成したメント表を作成する．単語アライメントの作成アルゴ

フレーズテーブルから参照し，コーパスから計算

リズムとしては intersection と gdfa の 2 種類を用いた．

)
したフレーズ翻訳確率 P(e|f ) = c(e,fc(f ) が最も高い[6] を参考に，既存の手法である intersection と gdfa を訳 e best = arg max P(e|fi ) を未知語と置き換えるe

アテンションに適用できるように修正して用いた．

手法．c(f ) はコーパス中のフレーズ f の出現回数，c(e, f ) はフレーズ e と f の同時出現回数で入力 アテンション A = ai j ∈ [0, 1]ある．フレーズで置き換えるため，未知語を複数

出力 単語アライメント B = bi j ∈ {0, 1}

単語と置き換えることもある．

各 ai j と bi j をセルと呼ぶ．またアテンションの値は確

Dict 外部の辞書から f j の各単語の訳を参照し，それ率と解釈する．

を ei と置き換える手法．

― 1047 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

表 1: 各コーパスのサイズと単語数．train は学習に，dev はパラメータチューニングに，test はテストに用いた．

train
文

ASPEC
NTCIR

日本語
英語
日本語
英語

908.1K
3.2M

326.8K
146.5K
265.0Kの場合が最大で+1.12 の上昇を確認できた．英日翻訳においてはコーパス単位の BLEU は ASPEC では

dev

test

文

文+gdfa+ChangePhrase の場合が最大で+0.82，NTCIR で1.8K

1.8K確認できた．英日翻訳より日英翻訳の方が未知語が多単語

162.3Kの場合が最大で+4.35，NTCIR では+intersection+IBMは+gdfa+ChangePhrase の場合が最大で+0.77 の上昇をく出現するため，日英翻訳の方が BLEU 値が向上した．

2.0K

また各コーパスともに UNK の出現回数が少なくな0.9Kるとともに BLEU 値が向上することが確認できた．単語アライメント作成法は intersection，gdfa どちらも殆4 実験

ど結果に差が見られないためにより単純な intersectionを用いるのが良く，未知語置き換え法も ChangePhrase

4.1 実験データ・方法と IBM に差が見られないためにより単純な IBM を用

対訳コーパスとしては ASPEC [8]，NTCIR10 のいるのが良い．ChangePhrase は未知語に対応する単語

patentMT [5] を用いた．コーパスのサイズと単語数が複数ある場合はそれらをフレーズとみなして訳を探を表 1 に示す．モデル学習およびデコーダには nema-すが，単語一つに対し一つの訳を決める IBM に比べ1tus を用い，日英および英日の翻訳を行った．英語のてそれほど有効でないことがわかった．

構文解析には Stanford Parser2 を，日本語のトークン化には KyTea3 を用いた．IBM モデル 4 の実装としてはGIZA++4 を用いた．フレーズテーブルの抽出は moses-5 おわりにdecoder5 を用いた．未知語の置き換えの手法の Dict で本研究では，生成されたアテンションをもとに，単は外部辞書として EDict [4] を用いた．学習において語の重複がないように単語アライメントを作成するこは語彙数を頻度の高い 4 万語に制限した．とで，出力結果における未知語が入力文のどの単語に対応しているかを判別し，統計的機械翻訳でのモデルを用いて未知語を正しい単語に置き換えることで，翻4.2 評価指標訳精度の向上につながることを確認した．今後はモデ

翻訳精度の評価指標には BLEU [9]，METEOR [3]を用いた．BLEU はコーパス単位および文単位の双方ルの変更を行い未知語の出現を減らす手法を検討していきたい．

で測り，文単位の評価値についてはベースラインと比較して平均値が上昇したものに関して片側検定における p 値を求めた．また METEOR は日本語の評価には対応していないため日英翻訳の評価のみに用いた．

参考文献[1] P. Arthur, G. Neubig, and S. Nakamura. Incorporating discrete translation lexicons into neural machine

4.3 実験結果と考察

translation. arXiv preprint arXiv:1606.02006, 2016.

nematus のデフォルトの設定で学習したモデルをベー[2] D. Bahdanau, K. Cho, and Y. Bengio. Neural ma-スラインとし，出力結果に提案手法による修正を加え

chine translation by jointly learning to align andたものと翻訳精度を比較した．実験結果を表 2 に示す．

translate. arXiv preprint arXiv:1409.0473, 2014.

表 2 より，日英翻訳においてはコーパス単位の BLEU
は ASPEC で は+intersection+IBM の 場 合 が 最 大 で[3] S. Banerjee and A. Lavie. Meteor: An automatic+4.45，NTCIR では+gdfa+IBM の場合が最大で+1.18の上昇，METEOR は ASPEC では+gdfa+ChangePhrase

metric for mt evaluation with improved correlation
with human judgments. In Proc. ACL workshop on
intrinsic and extrinsic evaluation measures for machine translation and/or summarization, Vol. 29, pp.

1 https://github.com/EdinburghNLP/nematus
2 https://stanfordnlp.github.io/CoreNLP/

65–72, 2005.

3 http://www.phontron.com/kytea/index-ja.html
4 https://github.com/moses-smt/giza-pp
5 https://github.com/moses-smt/mosesdecoder― 1048 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

表 2: 翻訳結果の精度評価．ベースラインの出力に修正を施した結果．太字は最も高い値．文単位の BLEU の平均値が baselineに比べ下がったものに関しては p 値を出していない．

日→英

ASPEC

BLEU

英→日

BLEU

METEOR

UNK[%]

コーパス単位

文単位

[%]

25.68

7.06

25.94

2.48

26.15

0.00

25.66

1.73

26.33

1.06

26.07

0.00

25.61

2.49

コーパス単位文単位

baseline

19.41

15.40

26.76

14.57

29.16+intersection+ChangePhrase

23.06

19.06

30.46

6.15

29.49

+intersection+IBM

23.86

19.20

30.60

2.90

29.45

+intersection+Dict

19.91

15.99

27.86

10.93

29.22+gdfa+ChangePhrase

23.41

19.49

31.11

3.93

29.98

+gdfa+IBM

23.24

19.25

30.97

2.87

29.54

+gdfa+Dict

19.97

16.06

28.02

9.95

29.24

(p≤e−9)(p≤e−9)(p=0.31)(p≤e−9)(p≤e−9)(p=0.28)

日→英

NTCIR

BLEU

UNK

(p=0.67)(p=0.45)(−)(p=0.31)(p=0.54)
(−)

英→日

BLEU

METEOR

UNK[%]

コーパス単位

文単位[%]

21.38

31.1412.37

34.32

31.80

5.69

21.87

31.55

7.88

34.76

32.18

3.28

22.79

32.26

0.00

35.01

32.34

0.00

21.51

31.33

9.21

34.35

31.74

1.14

22.32

31.88

2.24

34.87

32.25

1.90

22.55

32.08

0.00

35.09

32.62

0.00

21.54

31.44

5.54

34.37

31.72

1.69

コーパス単位文単位

baseline

24.48+intersection+ChangePhrase

25.03+intersection+IBM

25.42+intersection+Dict

24.70+gdfa+ChangePhrase

25.57+gdfa+IBM

25.66+gdfa+Dict24.81(p=0.54)(p=0.09)(p=0.87)(p=0.24)(p=0.15)(p=0.84)[4] J. Breen. A www japanese dictionary. JapaneseUNK(p=0.65)(p=0.27)(−)(p=0.59)(p=0.33)(−)[9] K. Papineni, S. Roukos, T. Ward, and W.-J. Zhu.

Studies, 20(3):313–317, 2000.

BLEU: a method for automatic evaluation of machine translation. In ACL, pp. 311–318. ACL, 2002.

[5] I. Goto, K.-P. Chow, B. Lu, E. Sumita, and B. K.
Tsou. Overview of the patent machine translation[10] R. Sennrich, B. Haddow, and A. Birch. Neural ma-task at the ntcir-10 workshop. In NTCIR, 2013.
[6] P. Koehn, F. J. Och, and D. Marcu.

chine translation of rare words with subword units.
arXiv preprint arXiv:1508.07909, 2015.

Statisticalphrase-based translation. In NAACL HLT-Volume[11] I. Skadina and R. Rozis. Towards hybrid neural ma-1, pp. 48–54. ACL, 2003.

chine translation for english-latvian. In Human Lan-

[7] M.-T. Luong, I. Sutskever, Q. V. Le, O. Vinyals,guage Technologies–The Baltic Perspective: Pro-and W. Zaremba. Addressing the rare word prob-ceedings of the Seventh International Conference

lem in neural machine translation. arXiv preprint

Baltic HLT 2016, Vol. 289, p. 84. IOS Press, 2016.

arXiv:1410.8206, 2014.
[8] T.

Nakazawa,M.

[12] Z. Tu, Z. Lu, Y. Liu, X. Liu, and H. Li. ModelYaguchi,K.

Uchimoto,

M. Utiyama, E. Sumita, S. Kurohashi, anding coverage for neural machine translation. arXiv
preprint arXiv:1601.04811, 2016.

H. Isahara. ASPEC: Asian scientific paper excerpt
corpus. In Proc. of LREC 2016, pp. 2204–2208.

― 1049 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.