階層フレーズ翻訳モデルにおける 広範囲語順調整ルールの検討 丁塵辰

筑波大学大学院博士課程
システム情報工学研究科修士論文
階層フレーズ翻訳モデルにおける
広範囲語順調整ルールの検討
丁 塵辰
(コンピュータサイエンス専攻)
指導教員 山本 幹雄
2012 年 3 月
概要
現在の統計的翻訳技術の多くはインド・ヨーロッパ語族内の言語間での翻訳を前提として
おり、大幅な単語移動が考慮されていない。したがって、日本語・英語間のような語族を超え
た言語間での機械翻訳は、大きな語順変化がネックとなってよい翻訳結果が得られない。本
研究では、日英など言語的な距離が遠い言語間の翻訳を視野に入れ、広範囲語順調整のでき
る階層フレーズ翻訳モデルを構築することにより、日英のような構文構造が根本的に異なる
言語間の翻訳精度を向上させる方法を検討した。
本研究は語順調整範囲を拡大することを目的とし、広範囲の語順調整ルールと文構造のマッ
チング・変換ルールという二種類の階層的な翻訳ルールを提案する。提案手法で構成した階層
的な翻訳モデルは、日英方向の翻訳において従来の階層フレーズモデルの約五分の一のサイ
ズでほぼ同じ性能に達する。さらに提案モデルと従来の階層フレーズモデルとの結合手法を
提案し、従来の階層フレーズモデルの約半分のサイズで性能が上回っていることを示す。す
なわち、提案手法は翻訳精度とモデルサイズの両方で従来の階層フレーズモデルを改善でき
ることが分かった。
目次
第 1 章 はじめに
1.1 研究背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 目的と提案手法の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 本論文の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
2
2
第 2 章 統計的機械翻訳システム
2.1 対数線形モデル . . . . . . . . .
2.2 システムを構成する各種モデル
2.2.1 言語モデル . . . . . . .
2.2.2 翻訳モデル . . . . . . .
2.2.3 語順調整について . . . .
2.3 Minimum Error Rate Training . .
2.4 自動翻訳精度評価 . . . . . . . .
.
.
.
.
.
.
.
3
3
4
4
5
5
6
6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
9
9
12
13
14
16
16
17
18
19
19
20
21
第 4 章 広範囲語順調整の問題点
4.1 局所的な語順調整と広範囲語順調整 . . . . . . . . . . . . . . . . . . . . . . .
23
23
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
第 3 章 翻訳モデル
3.1 IBM モデル . . . . . . . . . . . . . . . . . . . . .
3.1.1 IBM モデル1と IBM モデル2の事前準備
3.1.2 IBM モデル1 . . . . . . . . . . . . . . . .
3.1.3 IBM モデル2と HMM モデル . . . . . . .
3.1.4 IBM モデル3以上のモデル . . . . . . . .
3.1.5 単語対応の対称化 . . . . . . . . . . . . . .
3.2 フレーズモデル . . . . . . . . . . . . . . . . . . .
3.2.1 ルール抽出 . . . . . . . . . . . . . . . . .
3.2.2 パラメータ推定 . . . . . . . . . . . . . . .
3.2.3 デコーディング . . . . . . . . . . . . . . .
3.3 階層フレーズモデル . . . . . . . . . . . . . . . .
3.3.1 ルール抽出 . . . . . . . . . . . . . . . . .
3.3.2 パラメータ推定 . . . . . . . . . . . . . . .
3.3.3 デコーディング . . . . . . . . . . . . . . .
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.2
4.3
フレーズモデルについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
階層フレーズモデルについて . . . . . . . . . . . . . . . . . . . . . . . . . . .
第 5 章 広範囲語順調整ルール
5.1 広範囲の並べ替え . . . . . . . . .
5.1.1 ルール抽出 . . . . . . . .
5.1.2 パラメータ推定 . . . . . .
5.2 文構造のマッチングと変換 . . . .
5.2.1 ルール抽出 . . . . . . . .
5.2.2 パラメータ推定 . . . . . .
5.3 広域と局所の翻訳の両立について
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
第 6 章 実験
6.1 コーパス . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 トレーニングの設定 . . . . . . . . . . . . . . . . . . . .
6.2.1 単語対応の学習 . . . . . . . . . . . . . . . . . . .
6.2.2 フレーズモデルの構築 . . . . . . . . . . . . . . .
6.2.3 階層フレーズモデルの構築 . . . . . . . . . . . . .
6.2.4 提案モデルの構築 . . . . . . . . . . . . . . . . . .
6.2.5 言語モデルの構築 . . . . . . . . . . . . . . . . . .
6.3 デコーディングの設定 . . . . . . . . . . . . . . . . . . .
6.3.1 フレーズモデル . . . . . . . . . . . . . . . . . . .
6.3.2 階層フレーズモデルと提案モデル . . . . . . . . .
6.4 実験結果 . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.1 従来のフレーズ・階層フレーズモデルの翻訳結果
6.4.2 提案モデルの翻訳結果 . . . . . . . . . . . . . . .
6.4.3 モデルのサイズと性能 . . . . . . . . . . . . . . .
6.5 翻訳例 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6.1 広範囲語順調整について . . . . . . . . . . . . . .
6.6.2 モデルサイズの削減について . . . . . . . . . . .
6.7 今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . .
第7章
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
25
.
.
.
.
.
.
.
27
27
27
28
28
29
32
32
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
34
34
35
35
36
36
37
37
38
38
38
39
39
40
42
44
47
47
47
48
おわりに
49
謝辞
50
参考文献
51
ii
図目次
3.1
3.2
3.3
3.4
3.5
単語アライメントテーブルの例 . . . . . . . . . . .
対訳フレーズ対の例 . . . . . . . . . . . . . . . . .
対訳階層フレーズ対の抽出例 . . . . . . . . . . . . .
複数非終端記号を持つ対訳階層フレーズ対の抽出例
出現回数を一様に分配 . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
17
19
19
20
4.1
4.2
4.3
4.4
仏英単語アラインメントテーブルの一例
日英単語アラインメントテーブルの一例
並べ替えパターンの例 . . . . . . . . . .
構文構造の変換の例 . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
24
25
26
5.1
5.2
5.3
5.4
階層的な並べ替えルールの抽出
R と O の例 . . . . . . . . . . .
M の例 . . . . . . . . . . . . .
アラインメントテーブルの収縮
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
29
30
31
6.1
6.2
6.3
各モデルのサイズと性能の比較 . . . . . . . . . . . . . . . . . . . . . . . . .
表 6.14 の Hiero の出力文の導出木 . . . . . . . . . . . . . . . . . . . . . . .
表 6.14 の StrGapReo.hier の出力文の導出木 . . . . . . . . . . . . . . . . . .
43
45
46
.
.
.
.
.
.
.
.
.
.
.
.
iii
.
.
.
.
.
.
.
.
表目次
3.1
f1J 、aJ1 、eI1 の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
NTCIR-7 と実験用諸コーパス . . . . . . . . . . . . . . . . . . . . . .
単語対応の学習設定 . . . . . . . . . . . . . . . . . . . . . . . . . . .
フレーズモデル構築の設定 . . . . . . . . . . . . . . . . . . . . . . . .
階層フレーズモデル構築の設定 . . . . . . . . . . . . . . . . . . . . .
広範囲並べ替えルールの抽出設定 . . . . . . . . . . . . . . . . . . . .
文構造マッチング・変換モデルの抽出設定 . . . . . . . . . . . . . . .
ビーム・サーチ設定 . . . . . . . . . . . . . . . . . . . . . . . . . . .
従来のフレーズ・階層フレーズモデルのテストセット BLEU 値 . . . .
従来のフレーズ・階層フレーズモデルの翻訳結果間の有意差検定 . . .
各提案モデルのテストセット BLEU 値 . . . . . . . . . . . . . . . . .
各提案モデルと従来のフレーズモデルの翻訳結果間の有意差検定 . . .
各提案モデルと従来の階層フレーズモデルの翻訳結果間の有意差検定
各提案のルールセットと従来の階層フレーズモデルのサイズ . . . . .
提案モデルと従来の階層フレーズモデルの翻訳例 . . . . . . . . . . .
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
34
35
36
36
37
37
38
39
39
40
41
41
42
44
第 1 章 はじめに
1.1
研究背景
機械による自動翻訳に関する研究は昔から行われており、機械翻訳システムも時間・労力
をかけて開発されてきた。現在一般的に使われているのはルールベースと呼ばれる手法で作
成された翻訳システムである。これは、人手で翻訳ルールを作成し、システムに組み込む手
法であり、一定の性能が示されている。しかし、翻訳作業は多くの例外が存在し、文脈によ
り様々な対応が求められることに対し、人間が把握できるルールの数は限られており、ルー
ルベース翻訳システムの性能向上は難しいと言われている。
一方、1990 年代、文法や構文知識を必要とせず、すべての翻訳ルールを対訳文コーパスか
ら自動的に学習するという統計的な手法が、Brown らによる論文で提案された [1]。これらの
IBM モデルと呼ばれる提案モデルは、現在の統計的機械翻訳の一連の手法の起源である。だ
が、IBM モデルは単語ベースのモデルであり、複雑なモデルではあるが、翻訳精度は高くな
い。その改良として、Och らによってフレーズ単位で翻訳を行うフレーズモデルが提案され、
翻訳精度が劇的に改善された [2][3]。フレーズモデルは IBM モデルを基にし、対訳コーパス
から対訳フレーズを抽出し、翻訳ルールに確率的なパラメータを付与するモデルである。さ
らに Och らは対数線形モデルというシステムの枠組みを提案し、複数の特徴量を統合できる
翻訳システムを考案した [4]。この枠組みは現在 Minimum Error Rate Training (MERT) と一緒
に広く利用されている [5]。
その後、Chiang によってフレーズモデルを階層化した。階層フレーズモデルが提唱され
た [6]。フレーズを階層化することで、書換え規則として Synchronous Context Free Grammar
(SCFG)を翻訳に利用するモデルである。階層フレーズモデルはフレーズモデルより正確な
語順調整情報を保持でき、不連続なフレーズも対応できる強力なモデルである。日英のよう
に大幅な語順移動を必要とする言語間の翻訳においてフレーズモデルより翻訳精度が明らか
に向上する。
ある程度の言語学的な知識を人手で導入し、品詞情報や構文木を利用する統計的機械翻訳
システムも多数存在しているが、フレーズベースモデルと階層フレーズモデルは統計的機械
翻訳における現在最も重要な二つのモデルである。
1
1.2
目的と提案手法の概要
フレーズモデルはフレーズ(単語列)ごとに翻訳を行い、Lexicalized Orientation Reordering
Model というモデルにより局所的なフレーズの交換に関する傾向を測り、語順調整を行う
[7][8]。この手法は語順が似ているインド・ヨーロッパ諸言語間の翻訳において高い性能を示
すが、構文構造が根本的に違う日本語・英語の間の翻訳においては能力が足りない。一方、従
来の階層フレーズモデルは語順調整をよりよくコントロールできるが、比較的に局所的な語
順調整しか行えない上に、モデルのサイズが極めて膨大になってしまうのが欠点である。
本研究は語順調整範囲を拡大することを目的とし、広範囲の並べ替えルールと文構造のマッ
チング・変換ルールという二種類の階層的な翻訳ルールを提案する。提案手法で構成した階
層的な翻訳モデルは、日英方向の翻訳において従来の階層フレーズモデルより遥かに小さい
サイズでほぼ同じ性能に達する。さらに提案モデルと従来の階層フレーズモデルとの結合手
法を提案し、従来の階層フレーズモデルの約半分のサイズで性能が上回っていることを示す。
すなわち、提案手法は翻訳精度とモデルサイズと両方で従来の階層フレーズモデルを改善で
きる。
1.3
本論文の構成
本論文は次のように構成する。第 2 章では現在の統計的機械翻訳概要について説明する。第
3 章は翻訳モデルについて詳細に述べる。第 4 章は現在の翻訳モデルの広範囲語順調整におい
ての欠点を検討し、第 5 章は提案手法を述べる。第 6 章は提案手法に対する評価実験と考察
である。
2
第 2 章 統計的機械翻訳システム
本章は現在の統計的機械翻訳システムの基本手法について述べる。まず、対数線形モデルと
いうシステムの枠組みを説明し、次はシステムに利用される各種モデルを述べる。対数線形
モデルに必要となる各特徴量の重みの調整手法としての Minimum Error Rate Training (MERT)
にも触れる。最後機械翻訳システムの性能の自動的な評価手法について説明する。
2.1
対数線形モデル
統計的機械翻訳システムの基本フレームワークは雑音通信路モデルである [1]。つまり、シス
テムへの原言語(翻訳元の言語)の入力文を f1J = f1 , f2 , . . . , fJ とし、条件付き確率 P r(eI1 |f1J )
最大にする目的言語文 eIi = e1 , e2 , . . . , eI をシステムの目的言語(翻訳先の言語)の出力文 f1J
と考える。ここで fj と ei はそれぞれ原言語の j 番目、目的言語の i 番目の単語を表す。
数式化すると式 (2.1) になる。
êI1 = argmax P r(eI1 |f1J )1
(2.1)
eI1
ベイズの定理により、上式は式 (2.4) に変形できる。
êI1 = argmax P r(eI1 |f1J )
(2.2)
eI1
P r(f1J |eI1 ) · P r(eI1 )
P r(f1J )
(2.3)
= argmax P r(f1J |eI1 ) · P r(eI1 )
(2.4)
= argmax
eI1
eI1
式 (2.4) により元の条件付き確率 P r(eI1 |f1J ) は P r(f1J |eI1 ) と P r(eI1 ) に分解できた。つまり、
入力文 f1J に対する大量の出力候補文 eI1 を想定し、それぞれの eI1 に対して、目的言語文とし
ての流暢さ(P r(eI1 ):言語モデルと呼ぶ)と f1J に翻訳する妥当さ(P r(f1J |eI1 ):翻訳モデル
と呼ぶ)の両方で評価し、一番良い eI1 をシステムの出力にするという解釈ができる。
雑音通信路モデルの発展として、Och らは対数線形モデルというシステムの枠組みを提案
した [4]。対数線形モデルは、入力文と出力候補文の間の特徴関数 hm (eI1 , fiJ ) を利用し、それ
1
本論文の使い分けとして、P r(·) は真の確率を表す。実際の各モデルにおいて様々な近似を必要とし、近似確
率は p(·) で表す。
3
ぞれの特徴関数に重みを付けて評価する手法である。この手法は複数の特徴量を統合し、汎
用性が高いため、現在主流の枠組みである。
形式的に書くと、式 (2.8) になる。
êI1 = argmax P r(eI1 |f1J )
eI1
= argmax ∑
eI1
e′ 1
I
= argmax exp(
eI1
M
∑
λm hm (eI1 , f1J ))
(2.6)
(2.7)
m=1
= argmax
eI1
′
∑M
I
J
m=1 λm hm (e1 , f1 ))
′
∑
′I
J
exp( M
m=1 λm hm (e 1 , f1 ))
exp(
(2.5)
M
∑
λm hm (eI1 , f1J )
(2.8)
m=1
雑音通信路モデルは対数線形モデルの特例と見なしてもよい。つまり式 (2.8) において

λ1 = 1




 λ2 = 1
(2.9)
(2.10)

h1 (eI1 , f1J ) = P r(f1J |eI1 )




h2 (eI1 , f1J ) = P r(eI1 )
(2.11)
(2.12)
を代入すれば式 (2.4) になる。
2.2
システムを構成する各種モデル
対数線形モデルを枠組みとする現在の機械翻訳システムには、複数のモジュールを組み込
むことが可能である。一般的に言語モデルと翻訳モデルでシステムを構成するが、他には語
順調整についてのモデルも必要となる。
2.2.1
言語モデル
言語モデルは与えられた単語列の言語らしさを評価するための確率モデルである [9]。現在
の統計的機械翻訳では主に N-gram モデルというシンプルかつ強力なモデルを利用することが
多い [10]。出力文候補の言語モデルスコアは機械翻訳システムの対数線形モデルの一つの特
徴関数となる。
N 個単語からなる文 S = w1N = w1 , w2 , . . . , wN の出現確率 P r(S) は乗法定理を用いて式
(2.15) と表せる。
4
P r(S) = P r(w1N )
(2.13)
= P r(w1 )P r(w2 |w1 )P r(w3 |w1 w2 ) . . . P r(wN |w1 w2 . . . wN −1 )
=
N
∏
P r(wi |w1 . . . wi−1 )
(2.14)
(2.15)
i=1
式 (2.15) において文 S = w1N = w1 , w2 , . . . , wN の出現確率はそれぞれの単語 wi の条件付
き確率 P r(wi |w1 . . . wi−1 ) の積となる。w1 . . . wi−1 は単語 wi の履歴と呼ぶ。
しかしながら、ある言語の語彙サイズは数万から数十万であるため、すべての P r(wi |w1 . . . wi−1 )
を推定するのは現実ではない。そこで、注目している単語から近い n − 1 単語に履歴を限定し
たものが N-gram モデルである。N-gram モデルは、式 (2.15) を式 (2.16) で近似的に計算する。
p(S) ≈
N
∏
p(wi |wi−(n−1) . . . wi−1 )
(2.16)
i=1
近年の統計的機械翻訳において 5-gram モデルがよく用いられる。つまり式 (2.16) において、
n = 4 と置くと式 (2.17) のようになる。
p(S) ≈
N
∏
p(wi |wi−4 wi−3 wi−2 wi−1 )
(2.17)
i=1
2.2.2
翻訳モデル
翻訳モデルは統計的機械翻訳システムの中心になる技術であり、一般的に翻訳ルール(フ
レーズ対、階層フレーズ対、並べ替えルールなど)に複数のパラメータを付け、それぞれ対
数線形モデルの特徴関数として扱う [11]。
初期の IBM モデルは単語ベースのモデルであり、現在は直接用いられていないが、IBM モ
デルは現在のフレーズ・階層フレーズモデルを構築するための基礎となる。フレーズモデルは
フレーズ毎に原言語から目的言語へ変換しながら翻訳を行う。階層フレーズモデルはフレー
ズのみならず、階層的な翻訳ルールも利用し翻訳を行うモデルである。翻訳モデルは本研究
の中心であるため、これについては第 3 章で詳細に述べる。
2.2.3
語順調整について
語順調整は機械翻訳において現在最も注目されている課題である。語順調整を一切考慮し
ないシステムもあるが、一般的に高い翻訳の質が求められる場合、語順調整モデルは統計的
機械翻訳システムにおいて不可欠なものである。特に日本語・英語のような構文構造が大き
く異なる言語間の翻訳において、語順調整は翻訳精度向上のネックになっている。
5
現在のフレーズモデルでは Lexical Orientation model という語順調整モデルを用いる場合が
多い。しかし、Lexical Orientation model は局所的な語順調整しかコントロールできず、日英
翻訳に不向きである。階層フレーズモデルはより強力な階層ルールで語順調整を行うが、そ
の階層ルールの抽出に対して制限があり、広範囲の語順調整ができない。
現在の翻訳システムの語順調整手法の問題点については、第 4 章で詳細に述べる。
2.3 Minimum Error Rate Training
式 (2.8) においてそれぞれの特徴関数 hm (eI1 , f1J ) の重み λm を決定する必要がある。その際
よく用いられるのが Minimum Error Rate Training (MERT) である [5]。
MERT では重みを調整するための評価データ(デベロップメントデータと呼ぶ)を別に用
意し、そのデベロップメントデータに対する翻訳結果が次節で述べる自動翻訳精度評価指標
が最大になるような λm を探索する手法である。
実際に、まず λm の初期値を設定し、デベロップメントデータを翻訳する。ただし、現在の
λm の設定の下で一番良い候補文のみ出力するのではなく、候補文リストの上位 N をすべて
出力し評価する。N 個の候補文において必ずしもスコア1 が一番高い文の質が一番良い分けで
はないため、翻訳質が一番良い文のスコアが一番高くなるように λm を調整する。これで初
期の λm が改良される。λm が収束するまで同じ操作を繰り返す。
2.4
自動翻訳精度評価
機械翻訳システムの性能評価は研究を行う上で極めて重要である。最も良い方法は人手で
評価し、考察することであるが、これは評価者に対する負担が非常に大きく、大きなコスト
がかかる。そこでいくつかの自動翻訳精度評価手法が提案されている。現在良く使われるの
は BLEU という評価指標である [12]。BLEU は計算が簡単であり、人手評価との相関も高い。
BLEU は統計的機械翻訳システムの入力文に対する出力文と事前に用意した正しい翻訳文
(参照文と呼ぶ)の間の N-gram の一致率を計算し平均する。
BLEU -n = brevity-penalty · exp(
n
∑
λi log precisioni )
(2.18)
i=1
output-length
)
brevity-penalty = min(1,
ref erence-length
(2.19)
式 (2.18) は BLEU の計算式であり、-n は n-gram まで(1∼n)一致率を測ることを意味す
る。precisioni は i-gram の参照文に対する一致率であり、それぞれの i-gram に対して重み λi
を付けることも可能である。しかし、単に出力文に対する N-gram の一致率で評価すると、シ
ステムは確実な部分翻訳結果のみ(すなわち短い文)を出力すれば、N-gram の一致率があ
1
∑
I
J
つまり、 M
m=1 λm hm (e1 , f1 ) である。
6
がって高い BLEU 値を得ることができる。これに対して、参照文と比べると短すぎる出力文
に罰を課す brevity-penalty を必要とする。その計算式は式 (2.19) である。output-length と
ref erence-length はシステムの出力文と人手で翻訳した参照文の長さ(単語数)である。
一般的には -n を -4 に設定し、λi を全部 1 に設定することが多い。式 (2.20) を用いる。
∏
output-length
precisioni
)·
ref erence-length
4
BLEU -4 = min(1,
i=1
7
(2.20)
第 3 章 翻訳モデル
本章は翻訳モデルについて詳しく述べる。まず統計的機械翻訳のにおいて最も基本的な IBM
モデルを説明する。IBM モデルは単語ベースモデルであり、現在は対訳文ペアの単語対応を
自動的に計算するために用いられる。対称化という手法で IBM モデルからより一般的な単語
対応を生成する。本章ではこの単語対応の対称化手法にも触れる。単語対応を基にし現在主
流であるフレーズベースと階層フレーズベースの翻訳モデルが構築できる。本章後半はこの
二種類のモデルについてそれぞれの翻訳ルールの抽出法、対訳パラメータの推定法とデコー
ディング法(翻訳時のアルゴリズム)を述べる。
3.1 IBM モデル
IBM モデルは式 (2.4) において単語ベースで P r(f1J |eI1 ) をモデル化する手法である。IBM モ
デルは単語アラインメントという概念を導入し、単語アラインメント aJ1 を f1J と eI1 間を結ぶ
隠れ変数とする。式 (3.1) のように P r(f1J |eI1 ) を aJ1 で周辺化する [1]。
P r(f1J |eI1 ) =
∑
P r(f1J , aJ1 |eI1 )
(3.1)
aJ
1
例えば図 3.1 のような単語アライメントを考える場合、f1J 、aJ1 、eI1 は表 3.1 のようになる。
aj は fj と対応している ei の添え字である。つまり fj と eaj が対応していることを意味する。
もし fj と対応する ei がなければ、便宜上 aj = 0 と置き、e0 は NULL という「空単語」を想
定する [1]。
表 3.1: f1J 、aJ1 、eI1 の例
n
0
1
2
3
4
5
fn
an
en
NULL
雪
1
snow
は
0
is
白い
3
white
です
2
.
。
4
本論文で単語アライメントテーブルというものを用いて単語アラインメントを視覚化する
[11]。図 3.1 は表 3.1 を示す単語アライメントテーブルである。図 3.1 において黒いマスは対
応している単語を表す。
8
図 3.1: 単語アライメントテーブルの例
3.1.1
IBM モデル1と IBM モデル2の事前準備
IBM モデル1と IBM モデル2は式 (3.2) を近似することで構築される [1]。
P r(f1J , aJ1 |eI1 ) = P r(J|eI1 ) ·
J
∏
j−1
P r(aj |aj−1
, J, eI1 ) · P r(fj |aj1 , f1j−1 , J, eIi )
1 , f1
(3.2)
j=1
式 (3.2) の右辺はまず目的言語文を見て原言語文の長さを決定し、そして翻訳済み部分を見
て次の翻訳すべき単語を選定し翻訳するという翻訳の流れを示している。
注意すべきところはまず式 (3.2) は近似ではなく、正確な展開式である点である。次は式
(3.2) は P r(f1J , aJ1 |eI1 ) の唯一の展開手法ではなく、対訳文生成の流れを変えた場合、他の展開
式にもなりえる点である。
3.1.2
IBM モデル1
IBM モデル1は式 (3.2) の右辺を以下のように近似する [1]。


P r(J|eI1 ) ≈ ϵ


j−1
P r(aj |aj−1
, J, eI1 ) ≈ p(aj |I) ≈ (I + 1)−1
1 , f1


 P r(f |aj , f j−1 , J, eI ) ≈ p(f |e ) ≡ t(f |e )
j
1
1
j
i
aj
j
aj
(3.3)
(3.4)
(3.5)
IBM モデル1の近似により、目的言語文の長さ J を原言語文 eI1 によらず一定の定数と
j−1 j−1
見なされ、P r(aj |a1 , f1 , J, eI1 ) を原言語文の長さ I のみに依存させ、一様分布にする1 。
j
j−1
P r(fj |a1 , f1 , J, eIi ) を対応する単語 eaj のみで決定できる t(fj |eaj ) と近似する。
1
e0 という「空単語」も考慮するから (I + 1)−1 になる。
9
式 (3.3) から式 (3.5) を式 (3.2) に代入すると式 (3.6) になる。
p(f1J , aJ1 |eI1 ) =
J
∏
ϵ
t(fj |eaj )
(I + 1)J
(3.6)
j=1
式 (3.1) に式 (3.6) を代入すると式 (3.9) になる。
p(f1J |eI1 ) =
∑
p(f1J , aJ1 |eI1 )
(3.7)
aJ
1
J
∑∏
ϵ
=
t(fj |eaj )
(I + 1)J J
(3.8)
a1 j=1
=
I
I ∏
J
∑
∑
ϵ
·
·
·
t(fj |eaj )
(I + 1)J
a1 =0
(3.9)
aJ =0 j=1
ただしすべての目的言語側の単語 e に対して式 (3.10) を満たさなければならない。
∑
t(f |e) = 1
(3.10)
f
これから式 (3.9) を式 (3.10) の制限条件で最大にするような t(fj |eaj ) を推定する。
等式制約条件付きの最適化問題を解くための一般的な手法としてラグランジュ未定係数を
用いると、式 (3.9) のラグランジュ関数である式 (3.11) が得られる。
J
I
I ∏
∑
∑
∑
∑
ϵ
t(f |e) − 1)
)
−
λ
(
t(f
|e
h(t, λ) ≡
·
·
·
e
j
a
j
(I + 1)J
e
a1 =0
aJ =0 j=1
(3.11)
f
式 (3.11) を t(f |e) で偏微分すると式 (3.12) でが得られる。
I
I ∑
J
J
∑
∑
∏
ϵ
∂h
=
···
δ(f, fj )δ(e, eaj )
(fk |eak )−1 − λe
∂t(f |e)
(I + 1)J
a1 =0
aJ =0 j=1
(3.12)
k=1
ただし δ は Kronecker delta であり、
{
δ(x, y) =
0
(x ̸= y)
(3.13)
1
(x = y)
(3.14)
で定義される。式 (3.12) を 0 に置くと式 (3.15) のような t(f |e) が得られる。
t(f |e) = λe
−1
I
I ∑
J
J
∑
∑
∏
ϵ
···
δ(f, fj )δ(e, eaj )
(fk |eak )
(I + 1)J
a1 =0
aJ =0 j=1
10
k=1
(3.15)
しかしながら式 (3.15) において t(f |e) が両辺で存在しており、直接計算できないため、再
帰的な手法1 で推定せざるを得ない。
式 (3.6) を式 (3.15) に代入することで意味がより明確な式 (3.16) になる。
t(f |e) = λe
−1
∑
p(f1J , aJ1 |eI1 )
J
∑
δ(f, fj )δ(e, eaj )
(3.16)
j=1
aJ
1
∑
式 (3.16) において Jj=1 δ(f, fj )δ(e, eaj ) は f1J 、aJ1 、eI1 の下で、ある原言語側の単語 f とあ
る目的言語側の単語 e と対応付けされた回数になり、p(f1J , aJ1 |eI1 ) をかけると確率的な対応回
数になる。ここで λe −1 は正規化係数である。したがって、その確率的な対応回数 c を式 (3.17)
で定義すると、式 (3.16) はさらに式 (3.18) に書き換えられる。
c(f |e; f1J , eI1 )
=
∑
p(f1J , aJ1 |eI1 )
J
∑
δ(f, fj )δ(e, eaj )
(3.17)
j=1
aJ
1
t(f |e) = λe −1 c(f |e; f1J , eI1 )
(3.18)
式 (3.18) は一文対に対する推定式であり、S 文対を含む対訳コーパスに対して t(f |e) の推
(s)
(s)
定式は式 (3.19) である。ここで f1J と eI1 は s 番目の対訳文対である。
t(f |e) = λe −1
S
∑
c(f |e; f1J
(s)
, eI1
(s)
)
(3.19)
s=1
以上 c(f |e; f1J , eI1 ) を正規化することで t(f |e) を求められることを示したが、式 (3.17) で
∑
c(f |e; f1J , eI1 ) を計算するのは困難である。なぜなら、式 (3.17) において aJ は (I + 1)J 項の
1
和であり、つまり全部の aJi を列挙し足す操作になるため、組み合わせ的爆発が生じる。
IBM モデル1はシンプルなモデルであるため、最初の p(f1J |eI1 ) の計算については式 (3.20)
から式 (3.21) に書き換えられる。
p(f1J |eI1 ) =
I
I ∏
J
∑
∑
ϵ
·
·
·
t(fj |eaj )
(I + 1)J
a1 =0
=
ϵ
(I + 1)J
J ∑
I
∏
(3.20)
aJ =0 j=1
t(fj |eaj )
(3.21)
j=1 i=0
式 (3.21) において「I + 1 項の和の J 回の積」になるから、式 (3.21) を展開すれば (I + 1)J
項の和になり、それぞれ式 (3.20) の項に対応される。これにより、IBM モデル1は、すべて
可能な単語アラインメントを等確率とすることで、aJ1 を逐一列挙しなくても fj 毎にまとめて
計算できる。
1
すなわち EM アルゴリズムである。
11
式 (3.21) を利用して、計算可能になる c(f |e; f1J , eI1 ) は式 (3.22) で表せる。
c(f |e; f1J , eI1 ) =
3.1.3
∑
∑
t(f |e)
δ(f, fj )
δ(e, ei )
t(f |e0 ) + . . . + t(f |eI )
J
I
j=1
i=0
(3.22)
IBM モデル2と HMM モデル
IBM モデル1では式 (3.4) で aj を単に I に依存させ、一様分布にした。IBM モデル2には
aj について式 (3.23) でより精確に近似する [1]。
j−1
P r(aj |aj−1
, J, eI1 ) ≈ p(aj |j, J, I) ≡ a(aj |j, J, I)
1 , f1
(3.23)
IBM モデル1の式 (3.9) の代わりに式 (3.25) となる。
p(f1J |eI1 ) =
∑
p(f1J , aJ1 |eI1 )
(3.24)
aJ
1
=ϵ
I
∑
···
a1 =0
I ∏
J
∑
t(fj |eaj )a(aj |j, J, I)
(3.25)
aJ =0 j=1
ただし IBM モデル1の t(f |e) のように a(aj |j, J, I) は以下の正規化条件を満たさなければ
ならない。
I
∑
a(i|j, J, I) = 1
(3.26)
i=0
IBM モデル1と同じ手法で式 (3.25) を最大化する t(f |e) と a(aj |j, J, I) と求めれば、IBM
モデル1と同様の再推定式が得られる。
J I
t(f |e) = λ−1
e c(f |e; f1 , e1 )
(3.27)
J I
a(i|j, J, I) = µ−1
jJI c(i|j, J, I; f1 , e1 )
(3.28)
ここで、IBM モデル1のように c(f |e; f1J , eI1 ) は単語の対応回数であり、さらに IBM モデル
2においては対応する単語の位置も考慮するため、c(i|j, J, I; f1J , eI1 ) は対訳文においての単語
位置の確率的な対応回数である。そしてそれぞれの計算式は以下のようになる。
c(f |e; f1J , eI1 ) =
J ∑
I
∑
j=1 i=0
t(f |e)a(i|j, J, I)δ(f, fj )δ(e, ei )
t(f |e0 )a(0|j, J, I) + . . . + t(f |eI )a(I|j, J, I)
12
(3.29)
c(i|j, J, I; f1J , eI1 ) =
t(f |e)a(i|j, J, I)
t(f |e0 )a(0|j, J, I) + . . . + t(f |eI )a(I|j, J, I)
(3.30)
IBM モデル2は単語自身の対応ではなく、その文においての位置の対応もモデル化した。i
と j は単語の文においての「絶対位置」と呼ぶ。原言語と目的言語両方の絶対位置をモデル
化する代わりに、片方の「相対位置」をモデル化し、IBM モデル2の改良とする HMM モデ
ルも存在している。
HMM モデルには式 (3.23) の代わりに式 (3.31) の近似を用いる [13][14]。
j−1
P r(aj |aj−1
, J, eI1 ) ≈ p(aj |aj−1 , J, I)
1 , f1
3.1.4
(3.31)
IBM モデル3以上のモデル
IBM モデル3以上の IBM モデルはより複雑な展開式を近似することで構築される。aJ1 と
いう隠れ変数のほか、更なる以下のいくつかの隠れ変数を必要とする。
• ϕi :単語 ei の繁殖数 (fertility) と呼び、ei と対応する f の数である。
• τik:τi は単語 ei の tableau と呼び、単語 ei と対応する f のリストを表し、τik はそのリ
ストの k 番目の f である。
• πik :πi は τi の並び方 (permutation) と呼び、単語 ei の tableau の中の単語の並び方を
表す。
以上の ϕi 、τik 、πik を導入することで、式 (3.2) はまず式 (3.32) に書き換えられる。
P r(f1J , aJ1 |eI1 ) =
∑
P r(τ, π|eI1 )
(3.32)
(τ,π)∈<fiJ ,aJ
1>
ただし、異なる (τ, π) のペアも、同じ (fiJ , aJ1 ) ペアを生成することも可能であるため、こ
のようなすべての (τ, π) ペアで構成する集合を < fiJ , aJ1 > と定義する。式(3.32)において、
最終的な P r(f1J , aJ1 |eI1 ) はこの集合中の (τ, π) について周辺化した結果である。
式 (3.32) においての P r(τ, π|eI1 ) はさらに以下のように展開できる。
13
P r(τ, π|eI1 )
=
I
∏
I
I I
P r(ϕi |ϕi−1
1 , e1 )P r(ϕ0 |ϕ1 , e1 )
(3.33)
i=1
·
ϕi
I ∏
∏
k−1 i−1 I I
, τ0 , ϕ0 , e1 )
P r(τik |τi1
(3.34)
k−1
P r(πik |πi1
, π1i−1 , τ0I , ϕI0 , eI1 )
(3.35)
i=0 k=1
·
ϕi
I ∏
∏
i=1 k=1
·
ϕ0
∏
k−1
P r(π0k |π01
, π1I , τ0I , ϕI0 , eI1 )
(3.36)
k=1
P r(τ, π|eI1 ) の展開式の解釈としては、まず eI1 の中の ei 及び e0 に対応される f の数を決め
(式 (3.33))、そして ei の tableau を生成し(式 (3.34))、最後に τi の並び方 πi (式 (3.35))と
τ0 の並び方 π0 (式 (3.36))を決定するという流れとなる。
3.1.5
単語対応の対称化
IBM モデルで対訳文対 eI1 と f1J との共起確率を最大とする âJ1 、
âJ1 = argmax P r(f1J , aJ1 |eI1 )
(3.37)
aJ
1
を eI1 と f1J の間の単語対応とする。しかし、実際の IBM モデルで学習した単語対応には雑音
が多く、かつより一般的であると考えられる多対多の単語対応を IBM モデルでは学習できな
い。現在はシンプルなヒューリスティックスで IBM モデルから雑音を減らしながら単語対応
を計算し、フレーズ・階層フレーズモデル構築の基礎データとすることが多い [3][11][14]。こ
れらの手法は単語対応の対称化という。具体的には、IBM モデル用いて「原言語から目的言
語へ」
・
「目的言語から原言語へ」という両方向の単語対応結果を結合し、一般的な多対多の
単語対応を得るための処理である。
対訳文対 eI1 と f1J に対して、以上の両方向の単語対応集合は A と B で表記すれば、以下の
集合 intersection と union が定義される。
intersection = {(i, j)|(i, j) ∈ A ∩ B}
(3.38)
union = {(i, j)|(i, j) ∈ A ∪ B}
(3.39)
ただし (i, j) はインデックスのペアで ei と fj が対応していることを意味する。
以上の定義から intersection は両方向共に存在している単語対応の集合であり、精度が高
いと思われるが、有用な単語対応を見逃す可能性がある。一方 union は可能なすべての単語
14
対応の集合であり、大量の雑音を含むことになる。intersection と union との間のある集合
が最適な集合である。現在は一般的に 2 段階の手法で intersection ⊂ alignment ⊂ union と
いう alignment 集合を生成する。それぞれ grow と f inal ステップと呼ぶ。
プログラム 3.1 は 2 種類の grow 関数と 2 種類の f inal 関数の擬似コードである [11]。
プログラム 3.1: 単語対応対称化の擬似コード
1
2
3
SET NEIGHBOR (i,j) {return {(i-1,j),(i+1,j),(i,j-1),(i,j+1)};}
SET DIAG_NEIGHBOR (i,j){return NEIGHBOR (i,j)+{(i-1,j-1),(i-1,j+1),(i+1,j-1),(i+1,j+1)};}
SET ALIGNMENT = INTERSECTION;
4
5
6
7
8
9
10
11
12
13
14
15
16
GROW (&ALIGNMENT, &UNION)
{
for ()
{
for (all (i,j) in ALIGNMENT)
if ((i,j) is in ALIGNMENT)
for (all (i_new, j_new) in NEIGHBOR (i,j))
if ((i_new is not aligned || j_new is not aligned) && (i_new,j_new) is in UNION)
add (i_new,j_new) to ALIGNMENT;
if (ALIGNMENT has not been changed) break;
}
}
17
18
19
20
21
22
23
24
25
26
27
28
29
GROW_DIAG (&ALIGNMENT, &UNION)
{
for ()
{
for (all (i,j) in ALIGNMENT)
if ((i,j) is in ALIGNMENT)
for (all (i_new, j_new) in DIAG_NEIGHBOR (i,j))
if ((i_new is not aligned || j_new is not aligned) && (i_new,j_new) is in UNION)
add (i_new,j_new) to ALIGNMENT;
if (ALIGNMENT has not been changed) break;
}
}
30
31
32
33
34
35
36
37
38
39
40
41
FINAL (&ALIGNMENT, &UNION)
{
for (all i)
for (all j)
if ((i_new is not aligned || j_new is not aligned) && (i_new,j_new) is in UNION)
add (i_new,j_new) to ALIGNMENT;
for (all j)
for (all i)
if ((i_new is not aligned || j_new is not aligned) && (i_new,j_new) is in UNION)
add (i_new,j_new) to ALIGNMENT;
}
42
43
44
45
46
47
48
49
50
51
52
53
FINAL_AND (&ALIGNMENT, &UNION)
{
for (all i)
for (all j)
if ((i_new is not aligned && j_new is not aligned) && (i_new,j_new) is in UNION)
add (i_new,j_new) to ALIGNMENT;
for (all j)
for (all i)
if ((i_new is not aligned && j_new is not aligned) && (i_new,j_new) is in UNION)
add (i_new,j_new) to ALIGNMENT;
}
15
grow ステップは intersection 集合から始まり、だんだん生成済み部分と隣接している union
の中の単語対応を取り入れ、取り入れられる単語対応がなければ終了するという手順である。
ただし、「隣接」というのは「直接隣接」と「対角(と直接)隣接」と二通りがあり、一般的
に grow と grow-diag で区別し表記する。f inal ステップは grow ステップの結果を持って、
union の中に存在し、かつその単語ペアについて片方・両方の単語が未だ対応していない場
合、その単語対応を取り入れる。一般的に片方のみ考慮する場合は f inal と記し、両方共に
考慮する場合は f inal-and と表記する。
以上の 2 種類の grow 手法と 2 種類の f inal 手法とは互いに独立であるため、組み合わせれ
ば四つの方式になる。日英翻訳において grow-diag-f inal-and の効果が一番良いと言われて
いる。
3.2
フレーズモデル
IBM モデルと単語対称化手法で一般的な単語対応が獲得できる。フレーズモデルはこの対
称化された単語対応から対訳フレーズ対を抽出し、対訳パラメータを付与することで構築さ
れるモデルである。
3.2.1
ルール抽出
フレーズモデルにおいてパラメータ付きの対訳フレーズ対で翻訳ルール集合を構成する。対
訳文 f1J と eI1 とその単語対応集合 A = {(i, j)|1 ≤ i ≤ I, 1 ≤ j ≤ J, ei と fj が対応される } が
f -end
与えられた場合、単語列ペア < ee-end
e-start , ff -start > は以下の条件を同時に満たせば対訳フレー
ズ対になる [11][15]。
• ∀i ∈ [e-start, e-end] : (fj , ei ) ∈ A → j ∈ [f -start, f -end]
• ∀j ∈ [f -start, f -end] : (fj , ei ) ∈ A → i ∈ [e-start, e-end]
• ∃i ∈ [e-start, e-end], j ∈ [f -start, f -end] : (fj , ei ) ∈ A
図 3.2 は対訳フレーズ対の例を示す図である。
以上の定義について直感的に説明すると、対訳文対アラインメントテーブルにおいて、ま
ずいくつかのマスを覆う四角い枠(図 3.2 の二重線枠)を選定する。もしその枠の中に黒い
マス(対応される単語対)が一つ以上あり、そしてその枠に覆われる行と列において、その
枠以外に黒いマスがないとしたら、その枠の横と縦方向で覆う単語列は対訳フレーズ対にな
る。図 3.2 について、左の例には < 本 です ; is a book > という対訳フレーズ対が抽出され
る。真ん中の例に × でマークされるマスは二重線枠からはみ出し、そして所在の列は二重線
枠に覆われているため、< 本 です ; is a > という単語列対は対訳フレーズ対にならない。図
3.2 の右の例については、二重線枠は空白の列(「は」の一列)を覆うが、以上の定義に違反
していないため、対訳フレーズ対として成り立つ。つまり、対訳フレーズ対についてこのよ
うな「空白行・列の弛め」が許される。
16
図 3.2: 対訳フレーズ対の例
3.2.2
パラメータ推定
現在のフレーズモデルは標準的に以下のパラメータを対訳フレーズペアに付与し、それぞ
れ式 (2.8) の対数線形モデルの特徴量になる [3][11]。
• 原言語から目的言語へのフレーズ翻訳確率の対数
• 目的言語から原言語へのフレーズ翻訳確率の対数
• 原言語から目的言語への語彙翻訳確率の対数
• 目的言語から原言語への語彙翻訳確率の対数
• 翻訳ルールペナルティとする定数(一般的に 1 にする。)
• 目的言語側の単語ペナルティとする定数(一般的に N 個単語があれば N にする。)
以上のフレーズ・語彙翻訳確率の計算は、簡単に出現回数の相対頻度で計算する方法が一
般的である。つまり対訳フレーズ対 f¯, ē の共起回数を C(f¯, ē) で表記する場合、両方向のフ
レーズ翻訳確率は式 (3.40) と式 (3.41) で計算する。
C(f¯, ē)
¯′
¯′ C(f , ē)
(3.40)
C(f¯, ē)
¯ ′
′
ē C(f , ē )
(3.41)
p(ē|f¯) = ∑
f
p(f¯|ē) = ∑
対訳フレーズの語彙対訳確率の計算については対訳単語対を元にして行う。単純に単語対
応付きの対訳コーパスから対訳単語対(アライメントテーブルにおいての黒いマス)を抽出
し、式 (3.40) と式 (3.41) のように対訳確率を計算する。ただし式 (3.40) と式 (3.41) のフレー
ズ対共起回数 C(f¯, ē) の代わりに、単語対の共起回数 C(f, e) とする。一般的に一つの対訳フ
17
レーズ対の中に複数の対応単語対が有るため、全部の対応単語の翻訳確率を掛け合わせて語
彙翻訳確率とする。
さらに、語彙確率の計算について注意点が二つある。
• ある対訳文対に対応していない単語が存在しているなら、その単語は「空単語」と呼ば
れる NULL と対応するものにする。
• 同じ対訳フレーズ対を別の対訳文ペアから抽出することも可能であるが、抽出された対
訳文ペアの単語対応パターンが必ずしも一致することはない。これに対処する手法は何
通りかある。一番単純な手法は「原言語から目的言語へ」と「目的言語から原言語へ」
両方向独立に最大となる値を選ぶものであり、抽出回数が一番多いパターンの両方向の
値をとり、一番多いパターンも複数存在する場合は両方向独立に最大の値をとる手法も
有る。ただしこれらの手法の違いによりシステムの性能に明らかな影響を及ぼすことは
ない。
翻訳ルールペナルティは定数であり、目的言語側の単語ペナルティは目的言語側の単語数
で簡単に計算できる。この二つの特徴量は翻訳において翻訳ルールの使用数と出力文の長さ
をコントロールするためのものである。
3.2.3
デコーディング
構築された対数線形モデルを用い新しい原言語文を翻訳することをデコーディングと呼ぶ。
現在フレーズ翻訳モデルに対してマルチスタックというデコーダがよく利用される。
マルチスタックデコーダは入力文の翻訳済み単語数によりそれぞれの部分翻訳(仮説と呼
ぶ)を異なるスタックに入れ、短い仮説から長い仮説を生成する。入力文の全単語を翻訳済
みとした仮説は出力文候補になり、その中でスコアの一番高い仮説が出力となる。以上の手
順の擬似コードをプログラム 3.2 で示す [11]。
プログラム 3.2: マルチスタックデコーダの擬似コード
1
2
3
4
MULTI_STACK_DECODING (F_SENTEMCE)
{
int N = the length of F_SENTENCE;
STACK STACKS [N];
5
for (all STACKS [i])
for (all HYPO in STACKS [i])
for (all RULE in TRANS_TABLE)
if (RULE is applicable)
{
generation new HYPO if possible;
prune STACKS if too big;
}
6
7
8
9
10
11
12
13
14
output the best HYPO in STACKS [N];
15
16
}
18
3.3
階層フレーズモデル
階層フレーズモデルは階層的な対訳フレーズ対で構成した翻訳モデルである。フレーズモ
デルに用いられる対訳フレーズ対の発展とし、「変数」を含む階層的なルールで翻訳を行う。
3.3.1
ルール抽出
図 3.3 は対訳階層フレーズ対抽出の例である。
図 3.3: 対訳階層フレーズ対の抽出例
対訳階層フレーズの抽出において、まず図 3.3 の(1)の < 本 です 。; is a book . > とい
う「イニシャルフレーズ対」
(二重線の四角)を考える。そのイニシャルフレーズの中に存在
しているより小さい(2)の < 本 ; a book > という「サブフレーズ対」を変数に書き換える
と、
(3)の階層フレーズ対 < X です 。; is X . > が抽出される。その変数の部分は「非終端
記号」と呼ぶ。
すでに非終端記号を持っている対訳階層フレーズ対をさらにイニシャルフレーズ対とし、サ
ブフレーズを書き替えると複数の非終端記号を持つ対訳階層フレーズ対が得られる。図 3.4 は
その抽出の一例である。
図 3.4: 複数非終端記号を持つ対訳階層フレーズ対の抽出例
19
図 3.4 において対訳階層フレーズ対 < X は 本 です 。; X is a book . > からさらにサブフ
レーズ < 本 ; a book > を変数に書き換えると < X は Y です 。; X is Y . > というような複
数の非終端記号を持つ対訳階層フレーズ対を生成できる。
サブフレーズを変数に書き換えるという処理を繰り返すと、単語アラインメント付きの対訳
文対から多くの可能な対訳階層フレーズ対が抽出できる [6]。一切制限なしで抽出される対訳
階層フレーズの数は非常に膨大になってしまい、実用上、いくつかの制限(ヒューリスティッ
クスと呼ぶ)を使うことにする。
一般的に以下の制限が必要である [6]。
• イニシャルフレーズの長さを制限する(例えば、10 単語以下)。
• 非終端記号数を制限する(例えば、2 以下)。
• 原言語側の単語数・記号数(単語+非終端記号数)を制限する(例えば、5 個まで)。
3.3.2
パラメータ推定
標準的な階層フレーズモデルには、フレーズモデルと同じようなパラメータを使うことに
する。ただし、フレーズ翻訳確率の計算に使われる出現回数については、各対訳階層フレー
ズ対の正確な出現回数を知りえないため、数えることは困難である。そこで、同じイニシャ
ルフレーズをシェアしている翻訳ルールに出現回数を一様に分配する [6]。
図 3.5: 出現回数を一様に分配
図 3.5 は階層フレーズモデルにおいての翻訳ルールの数え方である。イニシャルフレーズ対
< 本 です ; is a book > から右の枠内の三つの翻訳ルール(対訳フレーズ対・階層フレーズ対
1
を問わず)しか抽出できないため、それぞれの出現回数を同一視し、 と数えることにする。
3
以上の出現回数の数え方を利用して、フレーズモデルと同じようにフレーズ翻訳確率の計
算を行う。他の語彙翻訳確率・翻訳ルールペナルティ・原言語側の単語数ペナルティの計算・
設定は共にフレーズモデルと同じである。
20
3.3.3
デコーディング
階層フレーズモデルのデコーディングは一般的に CKY アルゴリズム風 [6] で、chart 上で
botton-up 的に行う。入力文 f1J において、部分連続単語列の長さ n をスパンと呼び、n = 1 の
場合は単語の翻訳であり、n = J 1 の場合は文の翻訳になる。n は 1 から J まで拡張し翻訳す
ることで文全体の翻訳結果が得られる。
プログラム 3.3: CKY-chart デコーダの擬似コード
1
2
3
4
CKY_CHART_DECODING (F_SENTENCE)
{
CHART L;
N = the length of F_SENTENCE;
5
for (span = 1; span <= N; span ++)
{
if (span <= MAX_SPAN)
for (all (i,j), 1<=i<j<=N && j-i==span)
for (all RULE in TRANS_TABLE)
if (RULE is applicable)
{
add new HYPO in L [i][j] if possible;
prune L [i][j] if too big;
}
if (i = 1)
for (all GLUE_RULE)
if (GLUE_RULE is applicable)
{
add new HYPO in L [i][j] if possible;
prune L [i][j] if too big;
}
}
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
output the best HYPO in L [1][N];
25
26
}
プログラム 3.3 は階層フレーズモデルに使われる CKY デコーダの擬似コードである [6][11]。
ただし、入力文の長さ J とする場合は CKY アルゴリズムの時間計算量は O(J 3 ) になるため、
一般的に M AX SP AN という解析するスパンの上限を設定し(プログラム 3.3 の 8 行目)、
この上限を超えたら、以下のような特殊なグルー・ルールを利用し、文頭から部分翻訳結果
を単に並べる(プログラム 3.3 の 16 行目)[6]。
• S →<X ; X >
• S →<SX ; SX >
一般的にグルー・ルールにペナルティを付与し、対数線形モデルの 1 特徴量とする。グルー・
ルールのペナルティと普通のルールペナルティとの重みによって、翻訳システムのグルー・
ルールの使用をコントロールできる [6]。
1
実際の翻訳において言語モデルの計算上、文頭・文末記号も考慮するため、J 個単語の文は最終的に J + 2 の
スパンまで処理する。ここで説明を単純ににするために最大のスパンは J で表記する。つまり f1J にはすでに文
頭・文末記号を入れておくと見なしても良い。
21
デコーディングを高速化するため、Cube Pruning という手法が標準的に用いられる [6]。さ
らに、階層ルールを利用する場合、その中の変数に対応するサブフレーズのカバー範囲を正
確に同定する必要がある。このため、対訳階層フレーズ対を抽出する場合のヒューリスティッ
クスとして、前述の制限のほかに、
• 原言語側に隣り合う非終端記号を禁止する
という制限も加える。もし原言語側に隣り合う非終端記号があれば、デコーディング時に、そ
れぞれの非終端記号と対応するサブフレーズの境界位置が一通りに判定できない。境界位置
によって翻訳結果が大きく異なることはないため、同じ翻訳結果の仮説を多く生成すること
になり時間の無駄となる [6]。
22
第 4 章 広範囲語順調整の問題点
本章は日本語と英語のように構文構造が大きく異なる言語間の翻訳における広範囲語順調
整の各種問題点を論じる。
4.1
局所的な語順調整と広範囲語順調整
機械翻訳においては、原言語から目的言語への単語・フレーズを変換することに加え、並
び方も決めなければならない。しかし、対訳言語対の構文構造の相違の程度により、語順調
整の困難さは大きく変化する。
図 4.1 と図 4.2 は単語アラインメントテーブルであり、それぞれ仏英・日英の対訳文対の例
である。
図 4.1: 仏英単語アラインメントテーブルの一例
23
図 4.2: 日英単語アラインメントテーブルの一例
図 4.1 の仏英の例から見ると、対応されている単語(黒いマス)がほぼ主対角線に並んでい
ることから、仏英の間で単語・フレーズの並び方の一致性が高いことが分かる。それに対し
て図 4.2 の日英のアラインメントテーブルにおいては、黒いマスが対角線に直交して散らばっ
ており、日英の間の語順の大きな違いが示唆されている。
以上の例によると、仏英方向の翻訳において文頭から単語・フレーズごとに変換し、そのま
ま並べれば大体翻訳できる。最終的に局所的な調整を行えば十分である。しかしながら、日英
翻訳の場合はフレーズの並び方は大きく変化するため、強力なモデルで対応しなければ、意
味が通る翻訳文が得られない。
4.2
フレーズモデルについて
初期のフレーズ翻訳モデルは単にフレーズ変換を行い、フレーズのリ並べ替えを考慮しな
いが、現在のフレーズ翻訳システムは一般的に Lexical Orientation Model と呼ばれるモデルを
利用し、語順調整を行う。
Lexical Orientation Model はフレーズ対の局所的な「交換する・交換しない」傾向をモデル
化する。図 4.3 の例で説明する。
24
図 4.3: 並べ替えパターンの例
まず図 4.3(A) において対訳フレーズ対 < から ; f rom > に対して、左下にも < 海 ; the sea >
という対訳フレーズ対が存在するたため、対訳フレーズ対 < から ; f rom > は「交換する」
という属性を持っていると判定できる。つまり「から」を f rom に翻訳する場合、f rom に
隣接の英語フレーズは「から」と順序が逆になる傾向がある。同じく、図 4.3(B) において
< 私 の ; my > という対訳フレーズ対に対し、右下に対訳フレーズ対 < 本 ; book > が有る
ため、< 私 の ; my > は「交換しない」という特徴がある。実際にこの「交換する・交換し
ない」傾向は確率的に扱われ、対数線形モデルの特徴関数としてシステムの中に組み込む。
この手法の問題点を図 4.3(C) で説明する。< だ ; is > という対訳フレーズ対の左下は
< 私 の ; my > と < 本 ; book > と二つの対訳フレーズ対があるが、どちらも共に < だ ; is >
と隣接していない。隣接しているのは < 私 の 本 ; my book > というもっと大きいな対訳フ
レーズ対である。以上述べた「交換・交換しない」の特徴抽出は、実際には、単に隣接のマス
(フレーズ対ではなく)のみを考慮すること [7] が多いため、図 4.3(C) の場合は失敗してしま
う。一方、隣接しているフレーズを考慮する手法 [8] もあるが、その隣接の対訳フレーズ対の
サイズの粒度をコントロールすることが困難であり、あくまでも広範囲語順調整に不向きで
ある。
4.3
階層フレーズモデルについて
階層フレーズモデルにおいて、翻訳ルールは全部 SCFG (Synchronous Context Free Grammar)
ルール1 という形で表現する。
図 4.3(C) の例において、節 3.3.1 の抽出法を利用し、以下のような対訳階層フレーズ対が抽
出できる。
• < X だ ; is X >
• < 私 の X だ ; is my X >
< X だ ; is X > は語順置換の情報を持ち、フレーズモデルにおいて Lexical Orientation
Model と似ている役目を果たすが、階層フレーズモデルにおいて語順置換を行う場合、常に
1
非終端記号は普通の X とグルー・ルールの S との 2 種類にし、普通の対訳フレーズは 0 個の非終端記号を
含むルールと見なす。
25
精確な語彙情報に従うというところは長所である。一方、< 私 の X だ ; is my X > のよう
なルールは不連続部分の翻訳も可能とする。これは階層フレーズモデルの特徴の一つである。
しかしながら、節 3.3.1 の説明のように、階層フレーズモデルを構築する場合はそのモデル
サイズを削減するために、幾つかのヒューリスティックスを必要としている。その中に一般的
に「非終端記号」の数は 2 に設定する。つまり今の階層フレーズモデルは 3 個以上のフレー
ズを同時に移動することが不可能である。
図 4.4: 構文構造の変換の例
図 4.4 は文構造レベルの語順調整の例である。二重線枠で囲まれる四つのフレーズ対はそ
れぞれ文の主語、間接目的語、直接目的語と述語部分であり、それらの移動を同時にコント
ロールすることは従来の階層フレーズモデルでは処理できない。つまり図 4.4 から
• X → < X1 が X2 に X3 を X4 ; X1 X4 X3 f rom X2 >
というような翻訳ルールが抽出できない。
現在の階層フレーズモデルの問題点というのは、従来の抽出法で抽出された対訳階層フレー
ズ対の集合において、有用なルールと使えそうもないルールと常に混ざっており、シンプル
なヒューリスティックスでモデルサイズを削減する際、大量の無用なルールを棄却すると共
に、一部の有用なルールも見逃している可能性が高い。
26
第 5 章 広範囲語順調整ルール
本章は提案手法を述べる。二つの提案手法、つまり階層的な広範囲並べ替えルールと文構
造マッチング・変換ルールについてその抽出手法と対訳パラメータ推定法を論じる。さらに
従来の階層フレーズモデルとの結合手法は「広域と局所の翻訳に両立」の一節で述べる。
5.1
広範囲の並べ替え
本節で述べる並べ替えルールはフレーズ翻訳モデルに用いられる Lexical Orientation Model
を階層フレーズ化にしたものとみなしてもよい。このような階層的なルールは Watanabe らに
提案されたことがあるが、Watanabe らのルールは単に対訳フレーズ対の両辺に非終端記号を
付け、その対訳確率は従来のフレーズ対の値を襲用している [16]。つまり Watanabe らのルー
ルは単なる非終端記号付きの対訳フレーズ対として、更なる並べ替えの情報をモデル化して
いるわけではない。それに対して、本節の提案手法はこのようなルールの対訳パラメータを
再推定を行うのが特徴である。
5.1.1
ルール抽出
Galley の Lexical Orientation Model についての研究 [8] に従い、単語・フレーズ・階層フレー
ズ、それぞれに基づく三つの手法で階層的な並べ替えルールを抽出する。
図 5.1: 階層的な並べ替えルールの抽出
図 5.1 の例で抽出法を説明する。注目するのが < ア ; A > というフレーズ対であり、それ
に関する並べ替えルールを抽出する。
まず図 5.1(A) の場合、< ア ; A > という対訳フレーズ対の右上と左下のマスが白く1 、か
1
対応単語対がないことを意味する、∗ でマークされたマス。
27
つ右下のマスが黒い1 ということより、< ア X ; A X > という対訳階層フレーズ対が抽出さ
れる。この手法は単に隣接のマスを考慮するため、単語に基づく手法と呼ぶ。
一方まず図 5.1(B) の場合、< ア ; A > の周辺のマス全部白いことから、上述の単語に基づ
く抽出法が失敗してしまう。実際に < ア ; A > の右下に < イ ウ ; B C > というフレーズ対
が存在している。このようなことから < ア X ; A X > を抽出するのがフレーズに基づく手
法である。つまり、単に隣接のマスではなく、隣接のフレーズを探すというのがフレーズに
基づく手法の長所であり、単語に基づく手法より広い範囲の語順調整情報が取られる。
最後は階層フレーズに基づく手法であるが、その手法は基本的にフレーズに基づく手法と
一致する。しかし、実際の対訳フレーズ対を抽出する場合は、フレーズの長さに上限を設定
する必要があり、それに応じて、隣接のフレーズを探すときにはその隣接フレーズのサイズ
も制限される2 。図 5.1(C) の例のように、もしフレーズの長さを両方 3 単語までと設定すると
< ア ; A > という対訳フレーズ対が抽出されるが、その右下の < イ ウ エ オ ; B C > が大き
すぎるため、対訳フレーズ対と認められなく、< ア X ; A X > という対訳階層フレーズの抽
出が失敗した。階層フレーズに基づく手法というのは、隣接フレーズを探索するとき、その
サイズに上限を設定しないことにする手法である。つまり隣接フレーズ対のサイズを問わず、
あれば抽出するということになる。
尚、フレーズ・階層フレーズに基づく手法を用いる場合は、隣接フレーズを探索するため、
対訳フレーズ対の特徴として、5.1(B) と (C) の場合 ∗ のマスが必ず白いので3 、そのチェック
が省ける。
5.1.2
パラメータ推定
これらの階層的な並べ替えルールは節 3.2.2 と同じようにパラメータを推定する。階層的な
ルールであるが、従来の対訳階層フレーズ対の抽出法と違い、イニシャルフレーズ対を利用
していないため、節 3.3.2 の一様に分配する必要はない。
5.2
文構造のマッチングと変換
階層フレーズモデルの長所は複数のフレーズを同時に移動できる点と、不連続なフレーズ
を翻訳できることである。しかしながら、従来の階層フレーズルールにおいて非終端記号二
つまでであり、自由に文構造を反映できるルールとは言えない。一方単純に非終端記号を増
やすと、必ずしも精確な文構造ルールが抽出できる分けではなく、モデルにほぼ無用なルー
ルのみが増加してしまう。
それに対して、本節では文構造を精確にとらえることのできる文構造マッチング法と変換
ルールを提案する。
1
つまり、対応単語対が有る。
普通はフレーズの長さ上限と同じにする
3
節 3.2.1 のフレーズの抽出法により、アライメントテーブルにおいては、対訳フレーズ対の四角の上下左右の
すべてのマスは白い。
2
28
5.2.1
ルール抽出
最初に原言語側の単語集合 I を決定する。この集合をイニシャル単語集合と呼び、文構造
を示唆できる単語(例えば、機能語)のみを含む。
ただし「文構造を示唆できる」といった単語集合の決定法はここでは述べない。本節では
説明の都合上、助詞、助動詞、接続詞、句読点という 4 種類の日本語品詞1 を持つ単語を使う
ことにした。
対訳文対 f1J と eI1 のすべて可能な単語インデックスペア集合を以下の S で記すと、
S = {(i, j) | 1 ≤ i ≤ I, 1 ≤ j ≤ J}
(5.1)
f1J と eI1 との単語アラインメントで S の一つサブ集合 A が決定される。つまり、
A = {(i, j) | (i, j) ∈ S, and ei is aligned to fj }
(5.2)
である。
図 5.2: R と O の例
さらに、イニシャル単語集合 I を用いて、A をさらに R と O と二つ集合に分割する。
1
R = {(i, j) | (i, j) ∈ A, and fj ∈ I}
(5.3)
O = {(i, j) | (i, j) ∈ A, and fj ∈
/ I}
(5.4)
日本語形態素解析ツール ChaSen の品詞体系に従う [17]。
29
で定義すると、明らかに R ∪ O = A と R ∩ O = ∅ とを満たす。
図 5.2 は図 4.2 のアラインメントテーブルにおいて集合 R と O の例である。黒いマスは R
に属す単語ペアであり、灰色のマスは O に属する単語ペアである。I に属する日本語側の単
語は ∗ で表記する。
単語対応付きの対訳文対に対して、抽出できるすべての対訳フレーズの集合を P で表記す
ると、集合 R と O に基づき、P のサブ集合 Po が以下のように決定できる。
Po = {p | p ∈ P, and ∀(i, j) covered by p : (i, j) ∈ A → (i, j) ∈ O}
(5.5)
つまり、集合 Po は O に属するマスのみを覆う対訳フレーズ対の集合である。
次には、Po のサブ集合とする Po の中の「最大フレーズ対」で構成される集合 M は以下の
ように定義する。
M = {p | p ∈ Po , and ∃(i, j) covered by p : (i, j) is covered by q ∈ Po → q = p}
(5.6)
図 5.3: M の例
図 5.3 は図 5.2 の R と O から得られる M を示している。二重線枠で囲まれる対訳フレー
ズ対は M に属するフレーズ対である。ただし、注意すべきのは Po が常にすべての O に属す
るマスを覆うことはないというところである1 。例えば図 5.3 において、< 次 ; f ollows > と
いう単語ペアに対して、「次」と「の」が同時に f ollows と対応しているので、Po の中には
この灰色のマスを覆うことができる対訳フレーズ対が存在しない。
1
従って Po のサブ集合とする M もすべての O に属するマスを覆うことはない。
30
図 5.4: アラインメントテーブルの収縮
最終的に、M の中の対訳フレーズ対をそれぞれ一つの黒いマスに収縮させる(フレーズを
一つ単語のように見なす)。図 5.3 の例に対して、その収縮されたアライメントテーブルは図
5.4 のようになる。収縮処理から得られる黒いマスはその両辺に共に非終端記号 X を置き、対
応される非終端記号という意味を表す。
図 5.4 というような非終端記号を含む単語アラインメントテーブルを用いて、単純に節 3.2.1
で述べる従来の対訳フレーズ抽出法を応用すれば非終端記号を含む対訳フレーズ対(つまり、
階層的な対訳フレーズ対)が抽出できる。ただし、抽出において、以下の幾つかのヒューリ
スティックスを施す。
1.対訳フレーズ対の両方で少なくとも一つの非終端記号を含む。
2.対訳フレーズ対に対応される単語(非終端記号 X を除く)を含む。
3.片方、または両方のフレーズの単語数に上限を設定する。
4.原言語側で隣り合う非終端記号を禁止する。
1 番目の制限から階層的な対訳フレーズ対のみを抽出する。2 と 3 番目の制限は普通の対
訳フレーズ対抽出ヒューリスティックスで用いられているものである。これらのヒューリス
ティックスに従い、図 5.4 のアラインメントテーブルから以下のような階層的な対訳フレーズ
対が抽出される。
• < X1 の X2 ; X2 according to the X1 >
• < 次 の 如く X1 。; X1 as f ollows . >
• ··· ···
31
4 番目の制限は節 3.3.3 で説明した理由から必要とされる。図 5.4 のアラインメントテーブ
ルから、
• < X1 X2 は , X2 f or X1 >
という対訳フレーズ対が抽出できるが、4 番目の制限から捨てられる。
この抽出法の特徴として、明示的に非終端記号の数を制限していないところである。実際
には、3 番目と 4 番目の制限により、非終端記号数の制限はある。例えば原言語側の単語数
5 までと設定すると、実際最大 6 個非終端記号を含む階層的な対訳フレーズ対が抽出できる。
以下は実際に抽出された例の一つである。
• < X1 および X2 の X3 に関する X4 を X5 する X6 ;
a X6 f or X5 the X1 and X4 concerning X3 of the X2 >
5.2.2
パラメータ推定
これらの文構造マッチング・変換ルールは節 3.2.2 と同じようにパラメータを推定する。同
じくイニシャルフレーズ対がないため、節 3.3.2 の一様に分配する手法が不要となる。
5.3
広域と局所の翻訳の両立について
日英翻訳において広範囲語順調整が必要であるが、一方、局所的な語順調整も同じく必要
である。従って、広域と局所の翻訳を両立するのが新しい課題になる。節 5.1 と節 5.2 で論じ
る 2 種類の階層的なルールは共に広範囲語順調整だけを目的としているもので、局所的な翻
訳は目的としていない。よって、前述 2 種類のルールのほかに、従来の階層フレーズの「局
所の不連続フレーズの翻訳」という長所を生かし、以下の形の階層対訳フレーズ対も加える。
• < ア X1 イ , A X 1 >
• < ア X1 イ , X1 A >
• < ア X1 , A X 1 B >
• < X1 ア , A X1 B >
• < ア X1 イ , A X 1 B >
ただし、ここで「ア」と「イ」は原言語側のフレーズを意味し、
「A」と「B」は目的言語側の
フレーズを意味している。
以上の 5 種類のルールとは、少なくとも片方に不連続部分が存在しているという特徴点が
あり、
「ギャップフレーズ」と呼ぶこととする。これらのルール抽出は節 3.3.1 と同じ手法とな
る。一方、従来の抽出法を利用すれば、イニシャルフレーズ対が必要となり、抽出されたフ
32
レーズの数え方が問題点になる。それに対して、本節の階層的な対訳フレーズ対は、節 3.3.2
の一様に分布の手法を使わずに、単純にフレーズ対の出現回数を数え、節 3.2.2 の計算法で対
訳確率を計算することにした。
33
第 6 章 実験
本章は提案手法の評価実験について述べる。日英方向の特許文翻訳実験を行い、従来のフ
レーズモデル、階層フレーズモデルと提案モデルの翻訳精度・モデルサイズを比較し、翻訳
例を挙げて検討する。最後には先行研究と本論文の提案手法とを考察し、今後の研究課題を
挙げる。
6.1
コーパス
本章の実験は NTCIR-7 対訳コーパスを用いた日英方向の翻訳実験である [18]。従来の階層フ
レーズモデルのサイズが膨大すぎるため、NTCIR-7 対訳コーパスの一部のみをランダムに取り
出し、トレーニングコーパスにする。MERT に用いられるデベロップメントセットは NTCIR-7
の dev コーパスを利用する。翻訳モデルの性能を比較するためのテストセットは NTCIR-7 の
fmlrun コーパスを使う。それぞれのトレーニングコーパス・デベロップメントデット・テス
トセットの詳細は以下の表 6.1 で示す。
表 6.1: NTCIR-7 と実験用諸コーパス
コーパス
対訳文数1
日本語側単語数2
英語側単語数
NTCIR-7 全
トレーニング
デベロップメント3
テスト
1,797,916
99,967
1,842
1,381
63,809,720
3,545,245
64,957
48,572
59,910,287
3,328,090
60,635
45,334
1
対訳文の単語対応を学習するツール GIZA++は、入力の対訳文両方 100 単語以下、かつ対訳文の間の単語数
の差は 9 倍以下といった制限があるので、トレーニング用のコーパスを事前に clean-up するという処理が必要と
なる。ここの NTCIR-7 全・トレーニングの対訳文数は clean-up 済みの文数であり、元の対訳文数は NTCIR-7 全:
1,798,571 文対、トレーニング:100,000 文対である。デベロップメント・テストについてトレーニング段階では
なく、デコーディングのみに用いられるため、それに対する clean-up が不要である。
2
日本語形態素解析ツール ChaSen を利用する結果である。
3
dev と devtest との二つのセット共に利用する。dev:915 文対、devtest:927 文対である。
34
6.2
トレーニングの設定
従来のフレーズモデルと階層フレーズモデルの構築は現在広く使われている機械翻訳シス
テム Moses で抽出する [19]。
6.2.1
単語対応の学習
5 各翻訳モデルのルールを抽出する前に、対訳文の単語対応の学習が必要である。単語対応
ツール GIZA++を利用し単語に基づくモデルをトレーニングしてから、Moses のスクリプト
で単語対応の対称化を行う。表 6.2 は単語対応を学習するとき GIZA++における設定である1 。
表 6.2: 単語対応の学習設定
モデル
反復回数
2
2
5
0
5
3
3
MKCLS
IBM Model 1
IBM Model 2 3
HMM Model
IBM Model 3
IBM Model 4 4
(50 classes)
grow-diag-f inal-and 5 という単語対応の対称化手法で最終的な単語対応付き対訳文コーパ
スを作成した。以下の従来のフレーズ・階層フレーズモデルと提案モデルは共に同じ単語対
応付き対訳文コーパスから構築されるモデルである。
1
GIZA++は Moses により自動的に呼び出されることができ、表 6.2 の各モデルのトレーニングにおける反復回
数は Moses のデフォルト設定である。
2
MKCLS は単語を自動的に分類するプログラムである。IBM Model 4 には単語の分類情報が必要としており、
品詞情報などを利用することもよろしいが、一般的に GIZA++を走らせる前に MKCLS により単語の自動分類を
行う。ここで 50 分類という設定も Moses のデフォルト設定である。
3
現在の実用上 IBM Model 2 の代わりに HMM Model を直接利用することが多い。
4
IBM Model 5 以上の IBM モデルも存在しているが、トレーニングに時間が非常にかかるので、現在実用上
IBM Model 4 まで利用することが多い。Koehn の研究により、単語の対称化手法で IBM Model 2 までトレーニン
グすれば既に IBM Model 4 とほぼ同じ性能に達していることが分かった。
5
Moses の バ ー ジョン に よ り、単 語 対 応 の 対 称 化 手 法 の デ フォル ト 設 定 は grow-diag-f inal 又 は
grow-diag-f inal-and と い う 違 う と こ ろ が あ る 。日 英 翻 訳 に 性 能 が 一 番 良 い と 思 わ れ て い る の が
grow-diag-f inal-and であるため、今回の実験にそれを適用した。
35
6.2.2
フレーズモデルの構築
従来のフレーズモデルは表 6.3 の設定で Moses を用い構築した。
表 6.3: フレーズモデル構築の設定
max-phrase-length 1
reordering 2
6.2.3
5
{(wbe-)|phrase-|hier-}msd-bidirection-f e 3
階層フレーズモデルの構築
従来の階層フレーズモデルは表 6.4 の設定4 で Moses を用い構築した。
表 6.4: 階層フレーズモデル構築の設定
M axSpan 5
M axSymbolsSource 6
M inHoleSource 7
M inHoleT arget 7
1
15
5
1
1
Moses の max-phrase-length オプションは抽出された対訳フレーズ対の単語数の上限を設定する。ただし、
ここの単語数は原言語・目的言語両方で同じように制限することにした。片方のみの制限や両方への異なる設定
は Moses で実現できない。
2
Moses の reordering オプションはフレーズ翻訳モデルを抽出すると同時に、Lexical Orientation Model も構
築するものである。
3
ここでの msd というのは Lexical Orientation Model において、Momotone/Swap/Discontinue に局所情報を三つ
分類にすることを意味する。Momotone/Swap とは節 4.2 で述べた「交換する・交換しない」ものであり、Discontinue
というのが Momotone/Swap のどちらにも属していないというおおまかな分類である。bidirection というのは局
所的な語順置換を前・後ろ両方向でモデル化することであり、f e は原言語・目的言語両方で行うことである。接
頭部分の {(wbe-)|phrase-|hier-} はそれぞれ単語・フレーズ・階層フレーズに基づくものである。
4
Moses のオプションにより階層対訳フレーズの非終端記号数の設定も可能であるが、従来の抽出法は、二つ非
終端記号だけに制限しても膨大な数のルールとなってしまい、それ以上設定することは抽出のスピード及びルー
ル数の点から実行不可能である。今回の実験では Moses のデフォルト設定である二つ非終端記号までという設定
をそのまま利用することにした。
5
Moses の M axSpan オプションは階層対訳フレーズ対を抽出するときにイニシャルフレーズ対の単語数の上
限を設定するオプションである。フレーズモデルを抽出する場合の max-phrase-length オプションと同じ、原言
語・目的言語両方で制限し、細かい設定はできない。
6
Moses の M axSymbolsSource オプションは階層対訳フレーズ対の原言語側の記号数(単語数+非終端記号
数)の上限を設定するものである。
7
Moses の M inHoleSource と M inHoleT arget とは階層対訳フレーズ対を抽出するときにサブフレーズのサ
イズの下限を設定する。両方 1 で設定すると無制限ということになる。
36
6.2.4
提案モデルの構築
提案モデルは広範囲並べ替えと文構造マッチング・変換といった 2 種類の提案ルール、及び
局所翻訳を強化するための従来の階層フレーズモデルの一部のルールで構成したものである。
広範囲並べ替えルールは表 6.5 の設定1 で、最初の対訳フレーズ対を抽出し、さらに「広範
囲の並べ替え」の一節(節 5.1)の各手法で階層的なルールを生成した。
表 6.5: 広範囲並べ替えルールの抽出設定
原言語(日本語)側最大単語数
目的言語(英語)側最大単語数
5
15
文構造マッチング・変換ルールは表 6.6 の設定で、
「文構造のマッチング・変換」の一節(節
5.2)の手法で抽出した。
表 6.6: 文構造マッチング・変換モデルの抽出設定
集合 I
日本語の助詞、助動詞、接続詞、句読点2
原言語(日本語)側最大単語数
目的言語(英語)側最大単語数
5
∞
最後に「広域と局所の翻訳の両立について」の一節(節 5.3)で述べたルール集合は従来の
階層フレーズ抽出と同じ設定で抽出した。ただし、形は節 5.3 の 5 種類のパターンに限定さ
れる。
以上の 3 種類の階層的な翻訳フレーズ対に対して、それぞれ第 5 章各節の推定法でパラメー
タを付与し、翻訳ルールを成す。
6.2.5
言語モデルの構築
言語モデルは言語モデルツール SRILM を利用する [20]。NTCIR-7 対訳コーパスの英語側3 を
訓練データとした。。現在よく使われる Interpolated Kneser-Ney 法で 5-gram モデルを構築した。
1
ここで目的言語(英語)側最大単語数は 15 に設定することにしたので、実際抽出した対訳フレーズ対集合は
表 6.3 の設定で抽出された集合より若干大きくなり、表 6.4 の設定で抽出された階層対訳フレーズ対集合の中の非
終端記号 0 個のフレーズ対集合(つまり普通の対訳フレーズ対)と同じ集合になる。
2
日本語形態素解析ツール ChaSen の品詞体系に従う [17]。
3
単語対応学習時の clean-up が不要であるため、全部 1,798,571 文の英文を使うことにした。
37
6.3
デコーディングの設定
機械翻訳システム Moses にフレーズモデル向きの Multi-Stack デコーダと階層フレーズ向
きの CKY-Chart デコーダが実装されており、従来のフレーズモデルと階層フレーズモデルに
対して Moses でデコーディングを行う [19]。提案モデルは基本的に階層的なモデルのため、
Moses の CKY-Chart デコーダを利用してデコーディングを行う。2 種類のデコーダの仕組み
は異なるが、基本的ビーム・サーチを使うことにした。実験における各モデルのデコーディ
ングは表 6.7 のように共通に設定した1 。
表 6.7: ビーム・サーチ設定
beam-limit 2
ttable-limit 3
6.3.1
200
20
フレーズモデル
一般的には実用上フレーズモデルのデコーディングに単語の相対移動距離(distortion-limit)
の上限を設定し、この上限を超える単語移動した仮説は考慮しないことにする。日英翻訳で
は語順移動が非常に大きいため、その上限を大きめに設定すると翻訳の性能が向上する。一
方、非常に大きい上限や上限なしに設定するとデコーディングのスピードが非常に遅くなる
欠点がある。今回の実験は distortion-limit = 20 又は 30 で相対的に大きい設定4 で行った。
6.3.2
階層フレーズモデルと提案モデル
階層フレーズモデルを利用して CKY-Chart デコーダでデコーディングする際、その文導出
の解析上限(max-span)も必要とされている。フレーズモデルの distortion-limit の設定に
合わせるように max-span = 20 又は 30 と設定し実験を行った。
提案モデルも階層的なモデルであるため、デコーディングの設定は従来の階層フレーズモ
デルと一致させた。max-span = 20 又は 30 と設定し、それ以上のスパンは節 3.3.3 で述べた
グルー・ルールを利用する。ただし、グルー・ルールの独立のルール・ペナルティに対して、
提案モデルの 3 種類のルールは一つのルール・ペナルティを共用することにした。これは各
種類のルールに単独なルールペナルティを付与しても明らかな改善が見られない上、対数線
形モデルの特徴量が増えると、MERT で過学習する傾向があるためである。
1
Moses のデフォルト設定である。
beam-limit は入力文の同じ部分に対して、スコア順でどれぐらいの部分翻訳(仮説)を保存するというビー
ム幅である。プログラム 3.2 の 12 行目と 3.3 の 14、21 行目で「prune ... if too big」というのが、仮説の数をこの
幅に収めるためなのである。
3
ttable-limit は同じ原言語側のフレーズに対して、スコア順でどれぐらいの目的言語側の対訳フレーズをメモ
リに読み込むというビーム幅を設定するものである。
4
ヨーロッパ諸言語間の翻訳は distortion-limit = 6 といった設定が一般的である。
2
38
6.4
実験結果
以上節 6.2 で構築各モデルは節 6.3 のデコーディング設定でデベロップメントセット上の翻
訳を行うことにより、MERT で各特徴量の重みを調整する。各モデルの調整済み重みを用い、
テストセット上の翻訳を行う1 。各モデルの性能を比較するために、テストセットの翻訳結果
は BLEU で翻訳精度を評価する。さらに、各モデル間の性能の差異は統計的な意味があるか
どうかを bootstrap resampling 法で検定する [21]。
6.4.1
従来のフレーズ・階層フレーズモデルの翻訳結果
表 6.8 は従来のフレーズモデル(P hrase)と階層フレーズモデル(Hiero)のテストセット
における BLEU 値を示している。ただし -{(wbe-)|phrase-|hier-}msd-bidirection-f e は表 6.3
の 3 種類の Lexical Orientation Model である。dl はフレーズモデルへの distortion-limit であ
り、ms は階層フレーズモデルへの max-span である。
表 6.8: 従来のフレーズ・階層フレーズモデルのテストセット BLEU 値
models
dl/ms = 20
dl/ms = 30
P hrase-(wbe-)msd-bidirection-f e
27.34
27.38
P hrase-phrase-msd-bidirection-f e
P hrase-hier-msd-bidirection-f e
27.41
27.00
27.61
27.76
Hiero
28.61
28.49
表 6.9 は表 6.8 の結果について、P hrase-(wbe-)msd-bidirection-f e をベースラインにし
bootstrap resampling 法で検証した統計的有意差である。+/− はベースラインより BLEU 値の
改善・改悪であり、∗ は p ≤ 0.05 の p-level、∗∗ は p ≤ 0.01 の p-level を意味する。ただし、同
じ dl/ms(列)で検定を行った。
表 6.9: 従来のフレーズ・階層フレーズモデルの翻訳結果間の有意差検定
models
P hrase-(wbe-)msd-bidirection-f e
dl/ms = 20
dl/ms = 30
base-line
base-line
P hrase-phrase-msd-bidirection-f e
P hrase-hier-msd-bidirection-f e
∗∗
Hiero
+ 0.07
− 0.34
∗
+ 0.23
+ 0.38
+ 1.27
∗∗
+ 1.11
表 6.8 と表 6.9 から、従来のフレーズモデルに対して、単語に基づく Lexical Orientation Model
よりフレーズ・階層フレーズモデルに基づく Lexical Orientation Model のほうは多少性能の向
1
各対照実験にデベロップメントとテスト上のデコーディング設定は常に一致させる。
39
上が見られるが、統計的な有意差は大きくはない。一方、従来の階層フレーズモデルはフレー
ズモデルより性能が著しく向上し、かつ大きな統計的な有意差に達している。このような結
果より、日英のような広範囲語順調整が必要とする翻訳において従来の階層フレーズモデル
がより強力なモデルであるという結論を再確認した。
6.4.2
提案モデルの翻訳結果
表 6.10 は各提案モデルのテストセットにおける BLEU 値である。Reo、Str、Gap はそれ
ぞれ提案した広範囲並べ替えルール、文構造マッチング・変換ルールと従来の階層フレーズ
モデルの一部とする不連続フレーズルールのセットであり、.{wbe|phrase|hier} はそれぞれ
広範囲並べ替えルールを生成するときの単語・フレーズ・階層フレーズに基づく手法を意味
する。
表 6.10: 各提案モデルのテストセット BLEU 値
models
max-span = 20
max-span = 30
Reo.wbe
Reo.phrase
Reo.hier
26.96
27.04
27.36
26.98
27.33
27.37
GapReo.phrase
GapReo.hier
27.44
28.05
27.67
28.08
StrReo.phrase
StrReo.hier
27.75
28.47
28.01
28.22
StrGapReo.phrase
StrGapReo.hier
28.54
28.79
28.91
28.73
表 6.10 の結果から見ると、まず Reo というルールセットのみなら、翻訳性能がそれほど高
くはない。その中に、単語に基づく生成法(.wbe)の性能が一番悪く、フレーズ(.phrase)
と階層フレーズ(.hier)に基づく手法では性能が一定程度向上した。そして、Reo に Gap ま
たは Str を加えると、性能の向上が見られ、相対的に StrReo のほうがより良いことが分か
る。最後に StrGapReo という 3 種類のルールセットを全部利用すると翻訳精度がさらに伸び
た。一方、.phrase と .hier を比べると、max-span = 30 の場合は両者の性能が互角であり、
max-span = 20 の場合は .hier のほうが若干良い。
40
表 6.11 は表 6.10 の結果について、P hrase-(wbe-)msd-bidirection-f e をベースラインにし
bootstrap resampling 法で検証した統計的有意差である。各記号の意味は表 6.9 と同じである。
表 6.11: 各提案モデルと従来のフレーズモデルの翻訳結果間の有意差検定
models
P hrase-(wbe-)msd-bidirection-f e
dl/ms = 20
dl/ms = 30
base-line
base-line
− 0.38
− 0.30
+ 0.02
− 0.40
− 0.05
− 0.01
Reo.wbe
Reo.phrase
Reo.hier
GapReo.phrase
GapReo.hier
∗∗
+ 0.10
+ 0.71
StrReo.phrase
StrReo.hier
+ 0.41
∗∗ + 1.13
∗∗
StrGapReo.phrase
StrGapReo.hier
∗∗
∗∗
∗∗
∗∗
+ 1.20
∗∗ + 1.45
∗∗
+ 0.29
+ 0.70
+ 0.63
+ 0.84
+ 1.53
+ 1.35
従来のフレーズモデルと比べると、Reo のみでほぼ同じ性能に達している。それは Reo と
いうルールセットは実際に Lexical Orientation Model の階層フレーズ化したものであるから
であり、Lexical Orientation Model 以上の性能を発揮するとは期待していない。一方、Reo に
Gap 又は Str を加えると性能がさらに伸びるが、その改善は従来のフレーズモデルより統計
的に有意である。最後の StrGapReo は大きな有意差でフレーズモデルに勝る。
表 6.12 は表 6.10 の結果について、Hiero をベースラインにし bootstrap resampling 法で検
証した統計的有意差である。各記号の意味は表 6.9 と同じである。
表 6.12: 各提案モデルと従来の階層フレーズモデルの翻訳結果間の有意差検定
models
max-span = 20
max-span = 30
Hiero
base-line
base-line
Reo.wbe
Reo.phrase
Reo.hier
∗∗
− 1.65
∗∗ − 1.57
∗∗ − 1.25
∗∗
GapReo.phrase
GapReo.hier
∗∗
∗∗
StrReo.phrase
StrReo.hier
∗∗
− 1.17
∗ − 0.56
StrGapReo.phrase
StrGapReo.hier
41
− 1.51
− 1.16
∗∗ − 1.12
∗∗
∗
− 0.82
− 0.41
− 0.86
− 0.14
∗
− 0.48
− 0.27
− 0.07
+ 0.18
∗
+ 0.42
+ 0.24
表 6.12 は各提案モデルと従来の階層フレーズモデルの性能を比較した。Reo のはただ従
来のフレーズモデルの性能に達しているので、従来の階層フレーズモデルと比べると非常に
劣っている。一方、GapReo と StrReo とは依然従来の階層フレーズモデルより性能が悪いが、
StrReo のみ統計的有意差無しというところまで近づいたことが分かる。最終の StrGapReo
の性能は従来の階層フレーズモデルとほぼ互角である。
6.4.3
モデルのサイズと性能
階層フレーズモデルに対して、膨大なモデルサイズは実用上大きな問題点になる。本節で従
来の階層フレーズモデルのサイズと各提案ルールセットのモデルサイズとの比較を行う。た
だし、モデルのサイズというのは、対訳ルール数で比較する。
表 6.13: 各提案のルールセットと従来の階層フレーズモデルのサイズ
models
Hiero
Reo.wbe
Reo.phrase
Reo.hier
Gap
Str
rule numbers
72,921,857
9,712,185
12,496,014
13,883,487
24,564,233
645,618
= 5,506,429 + 4,205,756 1
= 5,506,429 + 6,989,585 1
= 5,506,429 + 8,377,058 1
表 6.13 から、従来の階層フレーズモデル(Hiero)の膨大さが分かる。それに対して、並べ
替えルールの生成法(.{wbe|phrase|hier})により Reo というルールセットのサイズが多少
1
1
上下しているが、提案ルールは大体従来の階層フレーズモデルの から のサイズになる。
7
5
そして Gap は従来の階層フレーズモデルの一部であるため、形が限られていても大きなルー
ルセットである。一方、Str というルールセットは非常に小さく、他のルールセットと比べる
と桁違いに小さい。
1
ここで 5,506,429 は普通のフレーズルールの数であり、+ の部分は生成した並べ替えルールの数である。
42
図 6.1: 各モデルのサイズと性能の比較
図 6.1 は各提案モデルと従来の階層フレーズモデルのサイズ・ベスト翻訳精度を示す図であ
る。Reo と StrReo 間の性能差及び GapReo と StrGapReo 間の性能差から、Str というルー
ルセットは非常に小さいにも関わらず、モデルの翻訳性能を明らかに飛躍させている。結果
1
として StrReo は従来の階層フレーズ のサイズでベースライン性能に有意差無く達してお
5
1
り、StrGapReo は従来の階層フレーズ ぐらいのサイズでその性能よりも上回っている。
2
43
6.5
翻訳例
節 6.4.2 と節 6.4.3 の実験結果から Str というルールセットは強力なものであることが分かっ
た。本節で翻訳例を挙げ、その提案ルールの性質について検討する。
表 6.14 はテストセットの中の一翻訳例である。
「入力文」に翻訳モデルを用いてデコーディ
ングを行い、翻訳システムの出力文と「参照文」とを比較する。
表 6.14: 提案モデルと従来の階層フレーズモデルの翻訳例
入力文
また 、 同時に 強 誘電 体 キャパシタ 12 から BL 2 へ 電荷 が 移動する 。
参照文
at the same time , electric charges transfer from the ferroelectric capacitor 12 to bl2 .
Hiero の出力文
at the same time , bl2 to charge is moved from the ferroelectric capacitor 12 .
StrGapReo.hier の出力文
at the same time , the charge moves from the ferroelectric capacitor 12 to bl2 .
Hiero の出力文には、「bl2」と「to」との二つの単語の位置が間違っており、全体的に意味
不明の翻訳文となっている。これに対して StrGapReo.hier の出力文は単語やフレーズの翻
訳に多少揺れはあるが(「the charge / electric charges」、「moves / transfer」)、構造が正しく、
意味が通じる文となっている。
さらに、図 6.2 と図 6.3 はそれぞれ表 6.14 の Hiero と StrGapReo.hier の出力文を得るま
での導出木を示している。
図 6.2 において灰色の枠で囲まれる対訳ルール
X2 →< X3 12 から X4 する ; X4 f rom the X3 12 >
により、二つのフレーズの並び方を置換したが、日本語側の「へ」という単語は見逃され、そ
れについての語順置換が行われていなかったため、英語側の「to」
(「へ」から翻訳された)は
そのまま「bl2」の後ろに置かれ、さらに「bl2 to」は全体的に文頭は移動されてしまった。
一方、提案の StrGapReo モデルには、Str の中で
X2 →< X3 から X4 へ X5 ; X5 f rom X3 to X4 >
といったような三つ以上の非終端記号を持つ広範囲翻訳ルールがあるため、図 6.3 の灰色の三
つの部分が同時に移動され、正しい語順調整が行われる。このような操作により構文構造が
正しい出力文が得られる。
44
図 6.2: 表 6.14 の Hiero の出力文の導出木
45
図 6.3: 表 6.14 の StrGapReo.hier の出力文の導出木
46
6.6
考察
本節では本研究の内容と数多くの先行研究の中の代表的なものとを比較し考察する。
6.6.1
広範囲語順調整について
広範囲語順調整に注目するする研究が多数存在している。その中の多くはモデルのトレー
ニングフェーズのみや、トレーニング・デコーディングフェーズ両方で言語学知識を利用す
るものである。
Rottmann と Vogel の研究 [22] には、並べ替え情報を抽出・利用するため、トレーニングと
デコーディングとの両方で品詞(POS)情報が用いられる。彼らのモデルにおいて、単語列
と品詞列に同じように扱われている。さらに Li らの研究 [23] において、Monotone/Swap の情
報は入力言語側の構文解析木を利用し抽出する。Li らの手法は Rottmann と Vogel の手法より
更なる言語学的な知識が必要されている。この二つの研究はフレーズモデルへの手法である。
階層フレーズモデルへの改良法として、Setiawan ら [24] が単語間の支配関係を注目し、階
層ルールの利用順序をコントロールできるモデルを考案した。その手法により、より自然な
導出木により高いスコアが付与できる。この手法は単語対応の学習にも活用できる [25]。し
かしながら、Setiawan らの研究は単にコーパスから上位の高頻度単語を統計し、それらの単
語のペアについて検討したモデルである。それはコーパスに依存する恐れがあり、一方三つ
以上の単語間関係は未だ及んでいない。
以上の先行研究と比べると、本研究は極端に言語学の知識を排除することは行っていない
が、極めて保守的に利用している(使ったのは品詞情報のみ)。それにより、明確な構文的情
報が抽出される一方、コーパスから独立するため、一定程度の頑健性も保たれる。実行上に
は、本研究のモデルはトレーニングとデコーディング両方で語彙(Lexical)レベルで行われ
る。ただし、モデルの抽出の初期段階で集合 I(機能語の集合)を決定する場合、言語学的な
情報が使われていた。
主流のフレーズ・階層フレーズ系のモデルではなく、語順調整に注目する他の特殊のモデ
ルも存在している。Sudoh ら [26] の英日翻訳システムは、入力文をまず句(clause)に分割
し、それぞれの句を翻訳してからそれらの語順を調整し、出力文を生成するという流れで処
理する。Badr ら [27] の英アラビア翻訳システムは原言語・目的言語両方で精確な形態素解析
を利用するものである。これらの翻訳システムは一般的に特定の言語対向きのシステムであ
り、特定言語対間の特性が考慮された。一方、本研究は日英方向で実装されたが、原言語側
の特性情報のみ利用しているので、日英方向限定ではなく、他の広範囲語順調整の必要とす
る翻訳タスクにも比較的容易に応用可能である。
6.6.2
モデルサイズの削減について
翻訳モデルの削減を目指す先行研究も多く存在している。例えば、Johnson ら [28] による
有意差検定の手法、Wu ら [29] による対数尤度比の手法と Zettlemoyer ら [30] の second pass
47
抽出法などの多数の手法が研究されている。
それに対して、提案モデルのサイズ削減が文構造マッチング・変換というルールセット(Str)
の自然な性質から得られる結果であり、意図的なモデル削減は行われていない。実際、Reo と
Gap は共にモデルサイズを考慮しない抽出法であり、さらにルール数を削減することも潜在
的に可能である。
6.7
今後の課題
本論文の研究内容に対し、以下の項目は今後の課題となる。
• より大きいコーパス上の実験を行う。NTCIR-8(3 百万文対)の対訳コーパスに提案手
法を実装する予定である。
• 集合 I の自動決定について検討し、手動手法(本論文)と自動手法で抽出された文構造
マッチング・変換ルールの性能を比較する。
• 集合 I を前もって決定することではなく、直接対訳コーパスから文構造の示せる対訳
ルールを抽出する。これは長期の研究テーマである。
• 単語間の依存構造を分析・利用し、文構造の情報を抽出する。これも長期の研究テーマ
である。
48
第 7 章 おわりに
本論文では、機械翻訳における広範囲語順調整に着目し、研究を行った。まず機械翻訳と
いう分野の発展を顧み、現在の主流である技術の分析を行い、広範囲語順調整における問題
点を確認した。
次に、広範囲語順調整のための並べ替えルールと文構造のマッチング・変換ルールという二
種類の階層的な翻訳ルールを提案した。日英方向の翻訳実験により、広範囲の並べ替えルー
ルで構成されたモデルは従来のフレーズモデルと同じ性能に達しており、広範囲の並べ替え
ルールと文構造のマッチング・変換ルールとの結合により構成されたモデルは性能が向上し、
従来の階層フレーズモデルの五分の一のサイズで同等の性能に達している。尚、文構造のマッ
チング・変換ルールについてはモデルサイズが小さくかつ強力という性質を実験的に示した。
さらに、広範囲・局所的な語順調整を組合せ、提案手法と従来の階層フレーズモデルの一
部とを結合させ、従来の階層フレーズモデルを上回ることも示した。同時にモデルサイズに
ついては依然従来の階層フレーズモデルの約半分にとどまっている。
本研究では広範囲語順調整手法の日英方向翻訳への有用性と可能性を示した。今後さらに
広範囲の構造的特徴をとらえ、ルールに反映することにより、より一層の性能向上が行える
と信じている。
49
謝辞
本研究を進めるにあたり、研究の機会と環境を与えて頂き、多大なるご指導を頂きました
筑波大学システム情報系情報工学域の山本幹雄教授に心から感謝いたします。
研究や日常の多く側面でアドバイスを頂いた筑波大学システム情報系情報工学域の乾孝司
助教に厚く御礼申し上げます。
また日常の様々な局面においてご助言を頂いた筑波大学システム情報系情報工学域の滝沢
穂高准教授に感謝いたします。
常に日頃からご指導や研究のご協力を頂いた筑波大学知能情報生体工学研究室の皆様に感
謝を申し上げます。
50
参考文献
[1] Brown, P. F., Della Pietra, V. J., Della Pietra, S. A., and Mercer, R. L., The mathematics
of statistical machine translation: parameter estimation. Computational Linguistics, Vol.19,
No.2, pp. 263-311, 1993.
[2] Och, F. J., and Ney, H., The alignment template approach to statistical machine traslation.
Computational Linguistics, Vol.30, No.4, pp. 417-449, 2004.
[3] Koehn, P., Och, F. J., and Marcu, D., Statistical phrase based translation. In Proceedings of
HLT-NAACL, pp. 48-54, Edmonton, May-June, 2003.
[4] Och, F. J., and Ney, H., Discriminative training and maximum entropy models for statistical machine translation. In Proceedings of the 40th Annual Meeting on Association for
Computational Linguistics, pp. 295-302, Philadelphia, July, 2002.
[5] Och, F. J., Minimum error rate training in statistical machine translation. In Proceedings
of the 41st Annual Meeting of the Association for Computational Linguistics, pp. 160-167,
July, 2003.
[6] Chiang, D., Hierarchical phrase-based translation. Computational Linguistics, Vol.33, No.2,
pp. 201-228, 2007.
[7] Tillmann, C., A unigram orientation model for statistical machine translation. In Proceedings of HLT-NAACL, 2004.
[8] Galley, M., and Manning, C. D., A simple and effective hierarchical phrase reordering
model. In Proceedings of the 2008 Conference on Empirical Methods in Natural Language
Processing, pp. 848-856, Honolulu, October, 2008.
[9] 北 研二, 確率的言語モデル, 言語と計算, 第 4 巻. 岩波書店, 1999.
[10] Chen, S. F., and Goodman, J., An empirical study of smoothing techniques for language
modeling. Technical Report TR-10-98, Computer Science Group, Harvard University.
[11] Koehn, P., Statistical Machine Translation. Cambrage University Press, 2010.
51
[12] Papineni, K., Roukos, S., Ward, T., and Zhu, W.-J., BLEU: a method for automatic evaluation of machine translation. In Proceedings of the 40th Annual Meeting on Association for
Computational Linguistics, pp. 311-318, Philadelphia, July, 2002.
[13] Vogel, S., Ney, H., and Tillmann, C., HMM-based word alignment in statistical translation.
In Proceedings of the 16th International Conference on Computational Linguistics, 1996.
[14] Och, F. J., and Ney, H., A systematic comparison of various statistical alignment models
Computational Linguistics, Vol.29, No.1, pp. 19-51, 2003.
[15] Och, F. J., Tillmann, C., and Ney. H., Improved alignment models for statistical machine
translation. In Proceedings of the Joint Conference of Empirical Methods in Natural Language Processing and Very Large Corpora, pp. 20-28, 1999.
[16] Watanabe, T., Tsukada, H., and Isozaki, H., Left-to-right target generation for hierarchical
phrase-based translation. In Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics, pp. 777-784, Sydney, Australia, 2006.
[17] Matsumoto, Y., Takaoka, K., and Asahara, M., ChaSen morphological analyzer version
2.4.0 user’s manual. 2007.
[18] Fujii, A., Utiyama, M., Yamamoto, M., and Utsuro, T., Overview of the patent translation
task at the NTCIR-7 Workshop. In Proceedings of NTCIR-7 Workshop Meeting Tokyo,
Japan, December 16-19, 2008.
[19] Koehn, P., Moses statistical machine translation system user manual and code guide.
September, 2011.
[20] Stolcke, A., SRILM - an extensible language modeling toolkit. In Proc. Intl. Conf. Spoken
Language Processing Denver, Colorado, September, 2002.
[21] Koehn, P., Statistical significance tests for machine translation evaluation. In Proceedings of
the 2004 Conference on Empirical Methods in Natural Language Processing, pp. 388-395,
Barcelona, Spain, 2004.
[22] Rottmann, K., and Vogel, S., Word reordering in statistical machine translation with a POSbased distortion model. The 11th International Conference on Theoretical and Methodological Issues in Machine Translation (TMI-07), Skövde, Sweden, September 7-9, 2007.
[23] Li, C.-H., Zhang, D., Li, M., Zhou, M., Li, M., and Guan, Y., A probabilistic approach to
syntax-based reordering for statistical machine translation. In Proceedings of the 45th Annual Meeting of the Association of Computational Linguistics, pp. 720-727, Prague, Czech
Republic, June, 2007.
52
[24] Setiawan, H., Kan, M.-Y., Li, H., and Resnik, P., Topological ordering of function words
in hierarchical phrase-based translation. In Proceedings of the 47th Annual Meeting of the
ACL and the 4th IJCNLP of the AFNLP, pp. 324-332, Suntec, Singapore, August 2-7, 2009.
[25] Setiawan, H., Dyer, C., and Resnik, P., Discriminative word alignment with a function word
reordering model. In Proceedings of the 2010 Conference on Empirical Methods in Natural
Language Processing, pp. 534-544, MIT, Massachusetts, USA, October 9-11, 2010.
[26] Sudoh, K., Duh, K., Tsukada, H., Hirao, T., and Nagata, M., Divide and translate: improving long distance reordering in statistical machine translation. In Proceedings of the Joint
5th Workshop on Statistical Machine Translation and MetricsMATR, pp. 418-427, Uppsala,
Sweden, July 15-16, 2010.
[27] Badr, I., Zbib, R., and Glass, J., Syntactic phrase reordering for English-to-Arabic statistical
machine translation. In Proceedings of the 12th Conference of the European Chapter of the
ACL, pp. 86-93, Athens, Greece, March 30 - April 3, 2009.
[28] Johnson, H., Martin, J., Foster, G., and Kuhn, R., Improving translation quality by discarding most of the phrasetable. In Proceedings of the 2007 Joint Conference on Empirical
Methods in Natural Language Processing and Computational Natural Language Learning,
pp. 967-975, Prague, June, 2007.
[29] Wu, H., and Wang, H., Comparative study of word alignment heuristics and phrase-based
SMT. In Proceedings of the MT Summit XI, 2007.
[30] Zettlemoyer, L., and Moore, R., Selective phrase pair extraction for improved statistical
machine translation. In Proceedings of NAACL HLT 2007, Companion Volume, pp. 209212, Rochester, New York, April, 2007.
53