コーパスベースの機械翻訳
内山将夫@NICT
mutiyama@nict.go.jp• コーパスとは単言語もしくは多言語のテキストの集積のこと• コーパスベースの機械翻訳とは，コーパスから• 各種の知識を自動獲得し，それを利用して，• 機械翻訳をすること1

背景• コーパスベースの機械翻訳 (MT) は• 学部実験で扱えるくらいに• 各種のツールが整備されてきたこの講義の目的１• 個人で機械翻訳を研究したい人が• ツールのアルゴリズムを理解し，それを• 改善し，新たなアルゴリズムを作成できるだけの• 基礎知識を提供すること
この講義の目的２• 自分でオープンソースの MT システムを利用して，• 機械翻訳の実験をするくらい興味を喚起すること2

成績評価方法
次の 3 通りのいずれかにより，成績を評価するので，各
自が，どの評価法による評価を望むかを指定し，当該のレポートを提出して下さい．
評価法 1 (MT 実験) オープンソースの MT システムを，各自の計算機で実際に動かしてみて，その過程をレポートする．
評価法 2 (課題回答) 講義スライド中にある課題のうちで，興味のある課題について，レポートする．
評価法 3 (授業態度) 講義の前に，講義スライドを全て読み，講義スライドにおける疑問点等を事前にリストアップし，講義においては，疑問点を質問し，そのやりとりの過程を記録する．そして，これらの疑問点とやりとりについてレポートする．

3

講義の内容1. オープンソースの MT システムの例———————–
2. MT の性能評価についての一般的な話題
3. MT の性能をどう測定するか？ 実験の作法と MT の自動評価
4. 自動評価尺度 BLEU———————–
5. 初歩の確率
6. 初歩の言語モデル———————–
7. 単語対応の導入
8. IBM Model-1 の式の説明
9. IBM Model-1 の動作例———————–
10. 現状で利用可能なパラレルコーパス
11. パラレルコーパスを利用した検索と対数尤度比検定による対訳抽出
12. パラレルコーパスの自動作成———————–
13. 翻訳モデルと翻訳エンジン
14. 句単位の翻訳モデルの概要
15. フレーズテーブルの作り方———————–
16. 対数線型モデルの導入
17. 句に基づく統計的機械翻訳 (SMT) における素性———————–
18. デコーダ概要
19. 最小誤り率訓練———————–
20. まとめ4

1. オープンソースの MT システムの例
内山将夫@NICT
mutiyama@nict.go.jp

1機械翻訳手法の概要• 人手による規則に基づく機械翻訳 (商用の機械翻訳システムのほぼ全て)
日：主語 目的語 述語 → 英：主語 述語 目的語
私は本を読んだ → I read a book

• コーパスに基づく機械翻訳 (現在の研究の主流)
用例：私は本を読んだ → I read a book
入力：私は新聞を読んだ → 出力：I read a newspaper.

2

コーパスベースの機械翻訳の主構成要素• 対訳コーパス： 対訳コーパスがあれば，翻訳エンジンを利用して，機械翻訳ができる．しかし，これがなければどうしようもない．→ コーパスベースの機
械翻訳のボトルネック．
• 翻訳エンジン：対訳コーパスから単語や句の対訳を抽出し，それを利用して翻訳をする．現状の研究の主対象．
• 翻訳精度の評価手法：翻訳エンジンの精度を自動評
価できれば，その評価を最大化するように翻訳エンジンを改良できる．

3

オープンソースの機械翻訳システム
http://www.statmt.org/wmt07/baseline.html• 対訳単語等の抽出ソフトウェア• 機械翻訳エンジン (当該ページに対訳コーパスへのポインタ)• 翻訳精度の自動評価とそれを利用したパラメタ調整
このページだけで一応の機械翻訳ができる (学生実験レベル)
機械翻訳研究におけるベースライン．

4

ベースラインシステムの性能• 解析速度：一文あたり数秒• 翻訳精度：語順が似た言語間については，市販のシステムと同程度？
• 翻訳可能な言語：3000 万単語 (100 万文) 程度の対訳
コーパスがある言語対

5機械翻訳エンジンの現状と今後の課題
現状
大量の対訳コーパスが必要
対訳コーパスと異なるドメインの翻訳は苦手
主に構造が似た言語対の翻訳で実験されている
課題
少量の対訳コーパスからの学習
異なる分野への翻訳エンジンの適応
異なる構造の言語での翻訳エンジンの評価

6日本語のコーパスの例
コーパスベースの機械翻訳には，数十万から数百万の対訳文が現状では必要である．これに匹敵する大きさの対訳コーパスは日英では，日本と米国に同時出願された特許から構成されたものしかない．
これは，NICT が開発したものであり，700 万文程度の日英の対訳文からなり，
国立情報学研究所 (NII) 主催の NTCIR プロジェクト
http://research.nii.ac.jp/ntcir/index-ja.htmlの特許の機械翻訳タスクにおいて利用されている．
2008 年 12 月以降に，一般にも，NII から研究利用可能となる予定であるが，現在のところは，特許の機械翻訳
タスクの参加者のみが利用可能である．

7

翻訳例 (1/4)
5174%'

cpu 1

performs the control of thewhole electronic musical instrument such as
key assigning and tone generating control.

4'57.6㧯㧼㨁㧝ߪࠠ࡯ࠕࠨࠗࡦ‫⊒ޔ‬㖸೙ᓮߥߤ㔚ሶᭉེో૕ߩ೙ᓮࠍⴕ߁‫ޕ‬C 㐳޿ࡈ࡟࡯࠭߇ࡅ࠶࠻ߒߡᱜߒ޿⠡⸶ߦᚑഞߒߡ޿ࠆ଀㧔χ㧕
5174%'

when the air conditioner performs thecooling-mode operation , a refrigerant flows in the directionofarrows of solid line .

4'57.6ታ✢ߩ⍫ශߩᣇะߦᵹࠇ ‫ߩߎ ޔ‬ⓨ᳇⺞๺ⵝ⟎ ߩ ಄ᇦ cooling-mode േ૞ ࠍⴕ߁ ‫ޕ‬D ࡈ࡟࡯࠭ߪ߅߅ࠃߘᱜߒ޿߇‫ޔ‬ਗ߮ᦧ߃ߢᄬᢌߒߡ޿ࠆ଀㧔χ㧕

8翻訳例 (2/4)

SOURCE: consequently , the potential of internal
data transmitting line io becomes higher than thepotential of internal data transmitting line / io .
REFERENCE: この結果、内部データ伝達線ＩＯの電位が内部データ伝達線／ＩＯの電位よりも高くなる。
RESULT: これにより、内部データ伝達線ＩＯの電位が内部データ伝達線／ＩＯの電位よりも高くなる。

9翻訳例 (3/4)

SOURCE: it is necessary to select the first andsecond magnetic layers 1 and 2 in order to obtaina large gmr effect .
REFERENCE: 第１及び第２磁性層１，２は高いＧＭＲ効果のために選ばれる必要がある。
RESULT: 第１及び第２の磁性層１と２を得る
ために、大きなＧＭＲ効果を選択する必要がある。

10

翻訳例 (4/4)

SOURCE: when the air conditioner performs thecooling-mode operation , a refrigerant flows in the
direction of arrows of solid line .
REFERENCE: 空気調和機が冷房運転する場
合、冷媒は実線矢印の向きに流れる。
RESULT: 実線の矢印の方向に流れ、この空気調和装置の冷媒 cooling-mode 動作を行う。

11

まとめ
ある程度の性能の計算機さえあれば，誰でも機械翻訳の研究ができるようになった．
課題
興味があれば，
http://www.statmt.org/wmt07/baseline.htmlのシステムを動かしてみる．(これはそれなりに大変です)
参考情報としては，
NTCIR-7 特許翻訳タスクのページ
http://if-lab.slis.tsukuba.ac.jp/fujii/ntc7patmt/indexja.html
があります．

12

2. MT の性能評価についての一般的な話題
内山将夫@NICT
mutiyama@nict.go.jp

1コーパスベースの MT をするときに問題になること• MT の性能をどう測定するか？
• MT の計算モデルをどう捉えるか？
• MT の計算モデルをどう訓練するか？
• MT の訓練に必要なコーパスをどう獲得するか？
これらについて，この講義では，実例を示す．

2

MT の性能をどうはかるか？ — その前に —Q: 何故 MT の性能を測定する必要があるか？
A: MT システム A と B とを比較するとき，A と B のどちらが良いかを知るためには，A と B の性能を測定する必要がある．
Q: システムの比較はなぜ必要か？
A: より良いシステムを作るためには，システムを比較し，どちらが良いかを知る必要がある．

3

MT の性能は相対評価で測る
相対評価とは 2 つのシステムをある基準により比較すること

Q: ある基準とは何か？
A: MT を使う目的により異なる．よく使われる基準については後述する．

4

MT における絶対評価とは何か？
• よくわからないが，• ある目的について，その MT が• 使えるか？使えないか？の評価だろう．
• たとえば，ケータイ翻訳で，そのケータイ翻訳だけで• 海外旅行ができるかどうかとかが• 絶対評価で，• 相対評価では，2 つのシステムの両方が使えなくても，• まだ，こちらの方がましということがある．

5

何故相対評価をするか？
• たとえ，2 つのシステムの双方が使えないにしても• その 2 つのシステムを比較することにより，• どちらのシステムの方が良いかが分かれば，• その良い方のシステムを残して，• それを更に改良することができるためシステムを少しずつ改良するためには，相対評価で十
分である．

6

評価の基準は目的による• たとえば，英文を書くときに，• Web 上の MT システムを利用するとしたら，• その英文作成に最適なものが良い．
• この基準は，難しいが，• MT 訳の，ある種の「良さ」を評価するものである．

7

なるべく目的独立の基準が欲しい• MT を使う目的には様々なものがあるので• それぞれの目的ごとに MT を評価する必要があるのは• その目的のために MT を使う人にとっては当然である．
• しかし，MT を開発するときには，• 全ての目的を考慮するのは無理なので，• ある基準をもってきて，その基準を満せば，• いろいろな目的が果せるようなものがあると良い．
課題 1• 目的独立の基準の欠点• 目的依存の基準には，どのようなものあるか？

8

MT 訳と参照訳が似ていれば良いのではないか？
• MT は入力文を翻訳する．
• この翻訳文が正しいものであれば，MT を使って，• 各々の目的を達成できると思われる．
• したがって，MT 訳と正しい訳 (参照訳) を比較して• それが似ているほど良いと考える．

9

MT 訳と参照訳が似ているとはどういうことか？
• たとえば，参照訳と MT 訳とを見比べて，• 誤訳になっている個所を指摘したりする．
• あるいは，共通する単語数を数えたりする．
→ 後述する自動評価10事例：各種 Web MT システムの比較• 新聞記事からとった 10 文について，• Q:入力英語• A:参照訳• として，S1,S2,S3 のシステムを比較する• 比較には，誤訳の数を数えることにする．

11

Q1: Europe is carrying out vigorously the
Growth Initiative agreed in Edinburgh andstrengthened in Copenhagen.
A: 欧州は、エディンバラにおいて合意され、コペンハーゲンにおいて強化された成長イニシアチブを精力的に実行しつつある。
S1: ヨーロッパは活発にエディンバラで同意されて、コ
ペンハーゲンで強化された Growth Initiative を実行しています。
S2: ヨーロッパは、活発に、エジンバラで同意されて、コペンハーゲンで強化される Growth Initiative を実行しています。
S3: ヨーロッパは、エディンバラで同意され、コペンハーゲンで強くなった成長イニシアチブを活発に実行しています。
誤訳の数

S1: 3.「活発に」の位置．
「Growth」と「Initiative」が未訳．
S2: 4.「活発に」の位置．
「強化される」が誤訳．
「Growth」と「Initiative」が未訳．
S3: 0.

12

Q2: We recognize the importance of improved
market access for economic progress in Russia.
A: 我々は、ロシアの経済発展にとって、改善された市場アクセスが重要であることを認識する。
S1: 私たちはロシアに経済進歩のための立直り市況ア
クセスの重要性を認めます。
S2: 我々は、ロシアにおける経済進歩のために、改善された市場参入の重要性を認めます。
S3: 私たちは、ロシアで経済進歩のために改善された市場参入の重要性を認識します。
誤訳の数

S1: 3．
「ロシアに」と「立直り」と「市況」が誤訳
S2: 0.
S3: 1. 「ロシアで」が誤訳

13

Q3: Partnerships and management assistance at
corporate level can be particularly effective.
A: 法人レベルでのパートナーシップ及びマネージメン
ト支援は、特に効果的であり得る。
S1: 法人のレベルにおけるパートナーシップと管理支援
は特に有効である場合があります。
S2: 会社レベルの協力と管理援助は、特に効果的でありえます。
S3: 企業のレベルの協力および管理援助は特に有効になりえます。
誤訳の数

S1: 0
S2: 0
S3: 0

14

Q4: The Federal Constitutional Court decides
on the question of unconstitutionality.
A: 違憲の問題については、連邦憲法裁判所が決定する。
S1: 連邦政府の Constitutional Court は違憲の問題を決めます。
S2: Federal Constitutional 法廷は、憲法違反の問題を決定します。
S3: 連邦憲法裁判所は、憲法違反の質問を決めます。
誤訳の数

S1: 3. 「Constitutional」と「Court」が未訳．
「問題を」
が誤訳．
S2: 3. 「Federal」と「Constitutional」が未訳．
「問題を」
が誤訳．
S3: 1. 「質問を」が誤訳．

15

Q5: The practical process of integration must
begin in the economic sphere.
A: 統合の実際のプロセスは、経済分野から始めねばならない。
S1: 統合の実用的な過程は経済球で始まらなければなりません。
S2: 統合の実用的なプロセスは、経済球で始まらなければなりません。
S3: 統合の実際的なプロセスは経済球体の中で始まるに違いありません。
誤訳の数

S1: 2. 「実用的な」と「球」が誤訳
S2: 2. 「実用的な」と「球」が誤訳
S3: 2. 「球体」と「違いありません」が誤訳

16

Q6: Sanctions should be upheld until the conditions in the relevant Security Council resolutions are met.
A: 関連する安全保障理事会決議の諸条件が満たされるまで、制裁は維持されるべきである。
S1: 関連安全保障理事会の決議における条件が満たされるまで、制裁は是認されるべきです。
S2: 関連した安全保障理事会決議の状況が対処されるまで、制裁は支えられなければなりません。
S3: 適切な安全保障理事会の決議中の条件が満たされるまで、制裁が支持されるべきです。
誤訳の数

S1: 2. 「関連安全保障理事会」と「是認」が誤訳
S2: 3. 「状況」と「対処」と「支えられ」が誤訳
S3: 1. 「適切な」が誤訳

17

Q7: International terrorism is a grave threat toworld peace and security.
A: 国際テロは、世界の平和と安全に対する重大な脅威だ。
S1: 国際テロは世界の平和とセキュリティへの危険な脅
威です。
S2: 国際テロは、世界平和と安全に対する重大な脅威です。
S3: 国際テロは世界平和とセキュリティに対する重大な
脅威です。
誤訳の数

S1: 2. 「セキュリティ」と「危険な」が誤訳
S2: 0.
S3: 1. 「セキュリティ」が誤訳

18

Q8: Poverty, population policy, education,
health, the role of women and the well-beingof children merit special attention.
A: 貧困、人口政策、教育、保健、女性の役割、及び児童の福祉は、特別の注意に値する。
S1: 貧困、人口政策、教育、健康、女性の役割、および子供の幸福は特別な注意に値します。
S2: 貧困、人口方針、教育、健康、女性の役割と子供たちの幸福は、特別な注意に値します。
S3: 欠乏、人口政策、教育、健康、女性の役割および子供の安寧は、特別の注意に値します。
誤訳の数

S1: 0.
S2: 1. 「人口方針」が誤訳
S3: 1. 「欠乏」が誤訳

19

Q9: Improvement of access for Russian products to international markets strongly reinforces
Russian structural reform.
A: 国際市場に対するロシア産品のアクセス改善は、ロシアの構造改革を大いに強化する。
S1: 国際市場へのロシアの製品のためのアクセスの改
良は強くロシアの構造改革を補強します。
S2: 国際的な市場へのロシアの製品のためのアクセスの改善は、強くロシアの構造改革を補強します。
S3: 国際市場へのロシアの製品のためのアクセスの改
良は強くロシアの構造の改革を強化します。
誤訳の数

S1: 0
S2: 0
S3: 0

20

Q10: This also means respecting power structures established in a democratic way.
A: このことはまた民主的な形で樹立された権力構造の尊重をも意味する。
S1: また、これは、民主的な方法で確立された権力機構を尊敬するのを意味します。
S2: これも、民主主義の方向で設立される権力側を尊重することを意味します。
S3: これはさらに民主主義の方法で設立された権力機構を尊敬することを意味します。
誤訳の数

S1: 0
S2: 4. 「これも」と「方向」と「設立される」と「権力
側」が誤訳
S3: 0

21

誤訳の集計• S1: 3 + 3 + 0 + 3 + 2 + 2 + 2 + 0 + 0 + 0 = 15
• S2: 4 + 0 + 0 + 3 + 2 + 3 + 0 + 1 + 0 + 4 = 17
• S3: 0 + 1 + 0 + 1 + 2 + 1 + 1 + 1 + 0 + 0 = 7
文単位の比較

S3 > S1 > S2 という傾向がありそうだ．
S1 の方が S2 より良い文の数 4 S1 > S2
S2 の方が S1 より良い文の数 2S1 の方が S3 より良い文の数 1 S3 > S1
S3 の方が S1 より良い文の数 5S2 の方が S3 より良い文の数 2 S3 > S2
S3 の方が S2 より良い文の数 422今の比較の問題点• テスト文が少ない．10 文では，十分な比較はできな
い．
• テスト文が恣意的である．新聞記事からとった文では，新聞記事以外の翻訳については，評価が不十分である．
• 「誤訳」の定義があいまい．なんとなく誤訳では，客観的な評価と言えない．
これらの問題点の逆を考えると• 十分な数の文数が必要• 恣意的でないテスト文が必要• 「誤訳」の定義を客観的に確立する．
これらが成立してはじめて，システムの公正な比較ができる．しかし，これを全てするのは困難である．
評価に関しての最近の傾向
１つのテストセットに対して，複数の研究機関が参画する共同タスクが盛んとなっている．

• 同一データにより，異なる手法を比較できる．
• 共同のデータを利用して，よりよい評価を研究する．
23

良いテスト文があったとして，どれくらいの差があれば良いか？
• 比較の方法として，10 文について，各文ごとに• システム A と B を比べたとき，A が，たとえば，• 6 文について，B より良かったとする．すると，• A 対 B = 6 対 4 である．このとき，• A の方が B よりも良いシステムであると言ってよい
か？

24

良くない
• なぜなら，10 回中 6 回くらいは，• 偶然かもしれないからである．一方，• 10 回中 8 回なら，これは，• 偶然の可能性は低い．このようなことを測るために，• 統計的検定を利用する．

25

Q: なぜ差があるかを比較するか？
• A: もし差があれば，• システムを良い方向に改良するし，• 差がなければ，• その変更は，受け付けない．
• 差があるかどうかを知ることにより，• システムを，その方向に変更すべきかどうかが分か
る．

26

符号検定
• 簡単な検定方法として，符号検定がある．
• これは，システム A と B が同じ性能だとすると，• ある文について，A が良い確率は 0.5 であることに基づく．
• 0.5 の確率のとき，10 回中 6 回 A が良い確率は，
10
10 C6 0.5 = 0.20508• である．そして，0,1,2,3,4,5 回のそれぞれについては0.00097656, 0.00097656, 0.043945, 0.11719, 0.20508,
0.24609である．

• したがって，A が 0〜6 回，B より良い確率は，
6X
i=0

10 Ci 0.5

10である．一方• A が 7〜10 回良い確率は，
1 - 0.82812 = 0.17188
である．

27

= 0.82812

確率の判断の仕方• 6 回よりも A が良い確率が0.17188 (= 17%)とかなりあるので，A と B に性能差があるとは言えない．

• 一方，8 回のときには，A が 9,10 回良い確率は
1−

8
X
i=0

10 Ci 0.5

10

= 0.0107(1%)

なので，• 10 回中 8 回 A が良い場合には，• そうなる確率が小さいので，統計的に有意差がある
と言う．

28

統計的検定における注意点• A と B の性能に差があるということだけを言っていて，• その差は，とても小さいかもしれない．
• たとえば，10000 回中で，5100 回，A が良かったら，• A が良い割合は，0.51 で，• A と B との差は小さいが，
1−

5100
X
i=0

10000
= 0.022(2.2%)
10000 Ci 0.5なので，有意差はある．

• つまり，有意差があるということと• その差の大きさが十分なものかは• 別問題である．
• また，テスト文自体が良いものかのチェックも必要
である．

29

まとめ
• ここまでで，システムの性能を• 相対評価で比較すること• 評価の際には，テスト文の選び方が大切なこと• システム間の差が有意かどうかを• 統計的に検定できることがわかった．
課題 2• Web 上の MT システムを複数選び，その性能を比較
すること

30

3. MT の性能をどう測定するか？ 実験の作法と MT の自動評価
内山将夫@NICT
mutiyama@nict.go.jp

1

実験における性能評価
MT の性能をどう測定するか？
• 実験の作法• MT の性能の自動評価

2

実験の目的MT の性能を正確に測定したい
Q: 正確とはどういうことか？
A: この実験で得られた結論が，別の実験でも成立する
ことが，だいたい言えること．
つまり，結論が，一般化できること．

3

実験の作法
• 実験データを，訓練用，パラメタ調整用，テスト用に 3 分割する• 訓練データで，MT モデルの基本構造を得る．
• パラメタ調整用データで，モデルのパラメタを調整する• テストデータで，モデルの性能を確認する

4

モデルの性能を正しく測定するには• 訓練，調整，テストで，データに重なりがあってはいけない．なぜなら，たとえば，• 訓練とテストに同一のデータがあったら，単に，• そのデータを記憶しておくだけで，高性能となる．
しかし，• 単に記憶するだけでは，未知データに対処できない．
つまり，• 一般性が低い．それにもかかわらず，• 高性能と判断されたら，• そのテストはおかしい．

5

モデルの性能を正しく測るには
色々なデータを使う必要がある
MT の場合には以下のようなものを翻訳したい• 多言語：日英，日中，日韓，．
．
．
• 多ジャンル：新聞，論文，特許，ブログ，チャット，．
．
．
現在の技術では，ジャンルが変わっただけで，性能が大きく低下する場合が多い．
その理由：• ジャンルが変わると，出現する単語や句が変わる

6

実際にはどのような実験がなされているか• 訓練，調整，テストは必ず分ける• できるだけたくさんの種類のデータを使う→ しかし，– 実験に利用できるデータは少ないし，– 実験には，時間と手間が掛かるので，– それらを勘案して，– できるだけのことをする．

7

ともかく実験をしたとして MT の性能をどう測るか？
2 つの軸がある• 人手評価か，自動評価か• MT 訳自体の評価か，MT 訳により何ができるかによる評価か8MT 訳自体の評価が評価に利用される場合が多い考えられる理由• MT 訳自体の品質があがれば，MT 訳を使ってできる
ことの効率も上がると考えられるから• 研究開発においては，タスクにかかわらず，MT 訳を向上させることができれば，それの方が手間がかからないから
しかし，MT により何ができるかによる評価を，もっと盛んにする必要がある．なぜなら，それこそが MT を使う理由だからである．
課題 3
複数の Web 上の MT システムについて，「こういう用途
なら，システム A よりもシステム B の方が良い，なぜなら，．
．
．だから」というように評価してみる．

9

MT 訳自体の評価の方法• 人手評価• 自動評価10人手評価の例• 翻訳文の流暢さ (読み易さ)• 翻訳文の忠実度
どのくらい原文に沿っているか？
などを各 5 点満点で評価するなど．

11

自動評価の例• 参照用の翻訳と MT 訳との類似度を• n-gram (n 単語連鎖) の• 重なり具合で評価する．
参照訳と似ている訳が良い訳であるという立場である．

12

人手評価の良いところ• 明確な指示を評価者に与えなくても，何らかの良さの評価ができる• 自動評価ではできない細かな評価ができる文の類似性の判定には，n-gram の一致だけでなく，類似語とか，言い換えとかも考えないといけない．

13

人手評価における研究課題ある評価者がある文の読み易さを中程度などと判定したとき，なにゆえ，そのような判定をしたかを調べる
こと．たとえば，• 間違った助詞を選択したとか• 時制が違うとか• 係り受けが違うとか• 語順が違うとか様々な要因が読み易さにはあるが，どのような要因があるかは，まだリストアップされていない．

14

人手評価の問題点
時間がかかる• 1000 文の MT 訳について，その訳が良いか悪いかを判定するには• 一週間以上かかるかもしれない．
一方，• MT システムを開発するときには，• すぐさま，評価結果が欲しい
自動評価ができれば，この問題は解決する．

15

自動評価の良いところ
すばやくできる
モデルのパラメタを調整するときに，調整用データにおける MT 訳の品質が向上する．つまり，自動評価の値が大きくなるように，パラメタを調整できる．
評価の安定性同じ MT 訳と参照訳について，同一の値がでる．
→ 異なるシステムの比較が容易である．
人手評価だと，同じ人が同じ文を評価しても，異なる結果になることがある．

16

自動評価の悪いところ• 自動評価では，測定できないものがある．
たとえば，BLEU という評価尺度では，ngram の重なりしかみていないので，同一の意味でも異なる表
現の場合には，間違いとされる．

• しかし，自動評価は– 似たタイプのシステムの比較には有用である．

17

まとめ
• 訓練，調整，テストにデータを分け，– 訓練で，モデルの基本を作り– 調整で，パラメタを調整し– テストで，テストする• 調整にあたっては，自動評価の値が最大となるように，パラメタを調整する• 自動評価には，限界もあるが有効なツールである．

18

4. 自動評価尺度 BLEU
内山将夫@NICT
mutiyama@nict.go.jp

1自動評価尺度 BLEU
Kishore Papineni, Salim Roukos, Todd Ward and Wei-Jing Zhu.
method for Automatic Evaluation of Machine Translation.

(2002) BLEU: a

ACL.

前提：

MT 訳とプロの翻訳者による (複数の) 翻訳が似ていれば似ているほど，その MT 訳は良いだろう．
自動評価に必要なもの• (複数の) 良質の翻訳
あらかじめ用意しておく• 似ている度合を測定する尺度 → BLEU

2

注：BLEU の妥当性の日本語についての現状• これから紹介する BLEU について，• その MT の評価尺度としての妥当性を検討したもの
は，• 中国語–英語，アラビア語–英語が主であり，• 中日や英日で，しっかりと検証した研究はないようである．
• これについて，我々は，• NTCIR-7 における日英特許翻訳タスクを通じて• 調査する予定であるが，• 今のところは，そのような調査結果はないようであるので，• 英語を例文として利用する．

3

ngram の重なりによる類似度の例
1 番目の良い MT 訳の方が，参照訳と共通する ngram が多い．
MT 訳
1. 1It is a guide to action 2which 3ensures that the military
4 always obyes the 5 commands 6 of the party.
2. It is to ensure the troops forever hearing the activity
guidebook that party direct
参照訳

1. 1It is a guide to action that 3ensures that the military
will forever heed Party 5commands.
2. It is the guiding principle 2which guarantees the militaryforces 4always being under the command 6of the party.
3. It is the practical guide for the army 4always to heed the
directions 6of the party.

4

一般に
1. 多くの ngram を参照訳と共有する MT 訳の方が2. そうでないものよりも良い訳と言えるのではないか
欠点

1. ngram の共有は字面しかみていないので，同義語でも異なるとみなされる．また，活用を考慮していな
い
2. 語順があまり評価に反映されない5

ngram の重なり具合の測り方の悪い例
参照訳中にある ngram 数
ngram 精度 =MT 訳中の ngram 数
不都合な例

MT: the the the the the the theRef1: The cat is on the mat.
Ref2: There is a cat on the mat.
MT 訳は the のみからなり，the は Ref1 と Ref2 の双方に出現しているため，上記定義だと
7
1gram 精度 =7となる．これはおかしい．

6

修正された ngram 精度
Pngram ある参照訳での ngram の共有数の最大値
MT 訳中の ngram 数
MT: the the the the the the thePn =Ref1: The cat is on the mat.
Ref2: There is a cat on the mat.
P1 = 27
P2 = 07

最初の例での計算
10
MT1: P1 = 17
=
0.94,
P
=
2
18
17 = 0.59
8
1
MT2: P1 = 14
= 0.57, P2 = 13
= 0.08MT 訳
1. 1It is a guide to action 2which 3ensures that the military
4 always obyes the 5 commands 6 of the party.
2. It is to ensure the troops forever hearing the activity
guidebook that party direct
参照訳

1. 1It is a guide to action that 3ensures that the military
will forever heed Party 5commands.
2. It is the guiding principle 2which guarantees the militaryforces 4always being under the command 6of the party.
3. It is the practical guide for the army 4always to heed the
directions 6of the party.

8

複数文を翻訳したときの ngram 精度PP

MT 訳 MT 訳の ngram 修正された共有 ngram 数
Pn =PPMT 訳 MT 訳の ngram ngram の数• 分母としては，全ての MT 訳における全ての ngramの数• 分子は，各 MT 訳について，修正した ngram の共有数を求めて，それを全 MT 訳について足したもの

9修正 ngram 精度の統合
1
log Pnn=1 N
NX

Pn = 修正 ngram 精度
N = ngram の最大長 (英語では 4 が多い)
いくつもの ngram 精度を組合せることにより，数値が安定することを意図している．

10

長さに関しての修正 ngram 精度 Pn の性質
参照訳よりも長い MT 訳の場合
共有 ngram 数は，参照訳にある ngram 数を越えないので，参照訳よりも長い MT 訳は，Pn が小さくなる．
参照訳よりも短い MT 訳の場合
短い訳の ngram 精度は，高くなる．これは困った．
P1 = 2/2, P2 = 1/1

MT 訳: of the
参照訳 1: It is a guide to action that ensures that the military will forever heed Party commands.
参照訳 2: It is the guiding principle which guarantees themilitary forces always being under the command of theparty.
参照訳 3: It is the practical guide for the army always toheed the directions of the party.

11短かすぎる MT 訳へのペナルティ
MT 訳の長さとコーパス中の文長 (単語数) の比較
c=
r=

X

X

MT 訳

M T 訳の長さ

参照訳中で，対応する M T 訳に最近の長さ

参照訳集合

コーパス全体で，長さを計算することにより，一文一文の長さの違いには，あまり影響されないようにする．

BP (brevity penalty)






1
if c ≥ r exp(1 − r/c) if c < r

BP = 

• MT 訳 ≥ 参照訳 のときには，BP = 1 (なにもしない)• MT 訳 < 参照訳なら BP < 1 としてペナルティとする

12自動評価尺度 BLEU
1
log Pn)n=1 N• 短い MT 訳へのペナルティ ×
BLEU = BP × exp(

NX

• ngram 精度の幾何平均

BLEU により始めて可能になること• システムの安価で素早い比較
BLEU により，開発→評価→開発 ... というサイクルが素早く回りはじめた．最近の統計的機械翻訳進展の原動力の一つである．
現状の MT の研究における，標準的な評価尺度である．

13

人手による評価と BLEU の比較
人手による評価• 単言語グループ 10 人 (英語を母語とするもの)• 2 言語グループ 10 人 (中国語が母語)• 各人は，中英翻訳システムが翻訳した 500 文の英文のうちで 50 文を評価
• 各文は，5 つのシステム (S1,S2,S3,H1,H2) が英語に翻訳．ただし，H1 と H2 は人手による翻訳．H1 は日英ともに母語ではない．H2 は英語が母語．
• 評価の方法は，1(非常に悪い)〜5(非常に良い) の点を付ける．
• 単言語グループは，出力された英語の読み易さなどのみをチェック• 2 言語グループは，入力中国語と出力英語とを比較してチェック• 各人が，各文毎に，各システムの評価をするので，システムを比較するときには，同一人の同一文におけるシステム間の評価値の差を求めて，その差が 0 か
どうかにより，検定をする．

14

評価値の差の検定 (paired t-test)• ある人 u，ある文 i，あるシステム s について，評価
値 r(u, i, s) がある．
• 同じ人と文について，別のシステム s0 について，評
価値 r(u, i, s0) がある．
• これより，s と s0 の評価値の差は d(u, i, s, s0)r(u, i, s) − r(u, i, s0) である．

=

• これを全ての人と文について平均すると m(s, s0) =P0u,i d(u, i, s, s )• 分散は v(s, s0) = n1 Pu,i(d(u, i, s, s0) − m(s, s0))2 である．
P
ただし，n = u,i 1.
• もし，s と s0 で評価値に差がなければ，m(s, s0) = 0
なので，• これが実際に 0 かどうかを調べるために，m(s, s0)t = s v(s,s0)n−1を計算する．

• t がある値よりも大きければ，統計的に有意差がある．

15

BLEU および人手による評価値
システム BLEU 単言語 2 言語
S10.052700S20.0829 0.326 0.551
S3
0.0930 0.44 0.691
H1
0.1934 2.265 2.574
H2
0.2571 2.8
2.612
単言語グループと 2 言語グループにおける数値は，S1 の数値を 0 とし，S2 は，m(S1, S2) を評価値とし，S3 =S2+m(S3, S2) というように，評価値の差に基づいて点数を付けた．

16

BLEU および人手による評価値
1

Normalized score

0.8

0.6

0.4

0.2

Bilingual
Monolingual
BLEU
0
S1

S2

S3

H1

H2

• 縦軸が評価値で，横軸がシステムである• 0-1 に正規化したスコアを利用している• BLEU と単言語および 2 言語の評価は似ている• BLEU は単言語グループの評価に似ている• S3 と H1 のような大きな差だけでなく，• H1 と H2，S2 と S3 のような小さい差も検出可能である

17

BLEU と単言語グループのスコアの比較
3

2.5

Monolingual Judgment

2

1.5

1

0.5

0
’monolingual.txt’
f(x)
-0.5
0

0.05

0.1

0.15
BLEU

0.2

0.25

0.3

BLEU は，単言語グループのスコアと相関が高い

18

BLEU と単言語グループのスコアの比較
3

2.5

Bilingual Judgment

2

1.5

1

0.5

0
’bilingual.txt’
f(x)
-0.5
0

0.05

0.1

0.15
BLEU

0.2

0.25

0.3

BLEU は，2 言語グループのスコアとも相関が高い．

19

まとめ
• BLEU は MT 訳と参照訳との類似性を表す尺度である• BLEU と人手評価との相関は高い
BLEU の欠点• 意味は同じでも字面が違う ngram とマッチしない• コーパス全体での値は求められるが文毎の値は求められない→ どの文が上手く翻訳でき，どの文が翻訳できなかったかがわからない
しかし，現在では，ほぼ全ての研究で利用されている．

20

5. 初歩の確率
内山将夫@NICT
mutiyama@nict.go.jp

1

初歩の確率• 確率の例と用語• 連鎖規則 (Chain Rule)• ベイズの定理

2

確率の例• 硬貨を 1 回投げたとき，表がでる確率→ 12• サイコロを投げたとき，1 の目がでる確率→ 16• 52 枚のカードから 1 枚をひいたとき，エースがでる
確率
4
1
→ 52
= 13

3

確率の例 (言語モデル)• 「今日は良い」という文字列の後に，
「天気」
「日」
「こ
と」が続く確率• 検索エンジンで「今日は良い」を検索すると，426000
ヒット• 「今日は良い天気」は，149000→ 149000
426000 = 0.35
• 「今日は良い日」は，42200
42200→ 426000= 0.1• 「今日は良いこと」は，19200
19200→ 426000= 0.05

任意の文字列 (単語列) について，確率を割当てるモデ
ルを「言語モデル」という．

4

確率の例 (翻訳モデル)「心」の訳語としては，「mind」「heart」「spirit」のどれが良く使われるか？

• 「心」と「mind」を両方含むページ → 1440000• 「心」と「heart」を両方含むページ → 1570000• 「心」と「spirit」を両方含むページ → 1360000
合計 = 4370000
3 つが互いに排他的であるとして，• 「心」と「mind」 → 0.33
• 「心」と「heart」 → 0.36
• 「心」と「spirit」 → 0.31
→ 日本語の単語列の翻訳確率を与えるモデルを「翻訳モデル」という

5

確率の例 (確率による翻訳)
翻訳モデルと言語モデルを利用して訳を得る．
翻訳確率が• 「脳」 → brain = 1.0， 「と」→ and = 1.0， 「心」→ mind = 1/3, heart = 1/3, spirit = 1/3
のとき，
翻訳モデル

• 脳と心 → (A) brain and mind = 1/3, (B) brain andheart = 1/3, (C) brain and spirit = 1/3
言語モデル• (A)brain and mind のヒット数 = 315000 → 0.48
• (B)brain and heart のヒット数 = 336000 → 0.52
• (C)brain and spirit のヒット数 = 800 → 0.00
より「翻訳モデル × 言語モデル」による推定では，(B)が優勢である．
直接数える• (A) “brain and mind” ＆ “脳と心” → 82
• (B) “brain and heart” ＆ “脳と心” → 2• (C) “brain and spirit” ＆ “脳と心” → 0
より (A) が優勢である．(推定と実際での食い違い)

確率の用語：条件付き確率
条件付き確率 P (B|A)• A を条件としたときの B の確率
たとえば，• P (天気 | 今日は良い) = 0.35
• 「心」の訳語として，「mind」「heart」「spirit」しか考えないとき
P (mind| 心) + P (heart| 心) + P (spirit| 心) = 1.0
また，– P (mind| 心) = 0.33
– P (heart| 心) = 0.36
– P (spirit| 心) = 0.31

7

連鎖規則
P (X1, X2, X3, ..., XN )= P (X1)
×P (X2|X1)
×P (X3|X1, X2)
×P (X4|X1, X2, X3)...
×P (XN |X1, X2, ..., XN −1)
たとえば，

P (今日, は, 良い, 天気, だ)= P (今日)×P (は | 今日)×P (良い | 今日, は)×P (天気 | 今日, は, 良い)×P (だ | 今日, は, 良い, 天気)8条件付き独立
1-gram モデル
P (X1, X2, X3, ..., XN )= P (X1)P (X2)P (X3)P (X4) · · · P (XN )2-gram モデル
P (X1, X2, X3, ..., XN )= P (X1)
×P (X2|X1)
×P (X3|X2)
×P (X4|X3)...
×P (XN |XN −1)
3-gram モデル
P (X1, X2, X3, ..., XN )= P (X1)
×P (X2|X1)
×P (X3|X1, X2)
×P (X4|X2, X3)...
×P (XN |XN −2, XN −1)
9ベイズの定理
P (X|Y )P (Y )P (Y |X) =P (X)「脳と心」が入力，「brain and mind」が翻訳候補

P (brain and mind| 脳と心)P (脳と心 |brain and mind)P (brain and mind)=
P (脳と心)言語モデルと翻訳モデルの組み合わせにより確率計算
をする．
言語モデル

P (brain and mind) = P (brain)P (and|brain)P (mind|and)翻訳モデル

P (脳と心 |brain and mind)= P (脳 |brain)×P (と |and)×P (心 |mind)

10

まとめ
• 言語現象に確率を割当てることができる• それを利用して，翻訳確率を計算できる

11

6. 初歩の言語モデル
内山将夫@NICT
mutiyama@nict.go.jp

1

言語モデルの紹介
言語モデルというのは，任意の文字列について，それが日本語文等である確率を付与する確率モデルである．
n-gram 言 語 モ デ ル と は ，単 語 列 w1, w2, . . . , wi が
与 え ら れ た と き に ，そ の 後 に 単 語 x が く る 確 率
P (x|w1, w2, . . . , wi) を，すぐ前の n − 1 個の単語を条件とした確率として計算する．つまりP (x|w1, w2, . . . , wi) = P (x|wi−n+2, w2, . . . , wi)
以下では，単純な• 1-gram 言語モデル• 2-gram 言語モデル
について説明する．

2

1-gram 言語モデル• 言語モデルの役割は，与えられたテキストに確率を割当ることである．
• 良くでるテキストには高い確率を割当て，そうでないものには低い確率を割当てたい．

P (テキスト) = P (単語 1, 単語 2, . . . , 単語 m)(1)= P (単語 1)P (単語 2)P (単語 3) · · · (2)mY=
P (単語 i)
(3)
i=1

ただし，

• m はテキスト中の単語数• 単語 i はテキストに i 番目に出現した単語
1-gram 言語モデルは，単語の確率を計算するときに文脈を考慮しない．

3

1-gram 言語モデルの確率推定• 「坊っちゃん」(夏目漱石) を例に 1-gram 言語モデルを利用した確率推定の例を示す．
• 原文は ChaSen で単語に分ける．
• 全部で 2711 文あるので，先頭の 2611 文を訓練に利用して，残りの 100 文のうち 50 文をパラメタ調整，残りの 50 文をテストに使用する• 訓練とは確率を推定することであり，テストとは推定結果を評価することである．
(原文) 親譲り の 無鉄砲 で 小 供 の 時 から 損 ばかり し て いる 。小学校 に 居る 時分 学校 の 二階 から 飛び降り て 一 週間 ほど 腰 を 抜かし た
事 が ある 。なぜ そんな 無闇 を し た と 聞く
人 が ある かも 知れ ぬ 。別段 深い 理由 で もない 。新築 の 二 階 から 首 を 出し て い たら
、 同級生 の 一 人 が 冗談 に 、 いくら 威張っ ても 、 そこ から 飛び降りる 事 は 出来 まい 。弱虫 や ー い 。と 囃し た から で ある 。小使 に負ぶさっ て 帰っ て 来 た 時 、 おやじ が 大きな
眼 を し て 二 階 ぐらい か ら 飛び降り て 腰 を抜かす 奴 が ある か と 云っ た から 、 この 次は 抜かさ ず に 飛ん で 見せ ます と 答え た 。
4

頻度上位の単語 100 語• 延べ語数 = 55161、 2742 。 2362 て 2092 の 2074 は 1643 が 1630 た 1599 を 1586 に 1535 と1503 だ 1035 で 929 ない 770 から 670 し 643 も 631 な 519 おれ 451 へ
439 か 419 う 350 ん 326 」 309 「 309 ある 279 事 277 いる 245 もの 214
云う 210 人 199 する 196 たら 190 君 182 です 175 赤 172 来 171 云っ
168 い 168 よう 166 なら 166 シャツ 164 じゃ 163 そう 158 一 147 山
嵐 142 お 140 思っ 136 何 134 この 130 ば 119 てる 119 それ 119 方
114 なっ 114 いい 114 出 113 だろ 113 時 100 なる 98 まで 97 その 93
これ 92 れ 91 学校 90 ばかり 88 清 85 見 84 なり 84 や 83 聞い 81
野 78 ら 78 生徒 77 ね 77 ます 76 顔 75 さ 75 でも 74 … 74 って
73 所 72 気 70 こんな 70 校長 69 み 68 上 67 出し 67 より 67 ――
66 二 65 行っ 65 奴 62 もし 62 うち 62 中 60 今 60 ませ 59 もん 58
なかっ 58 ちゃ 575確率推定：最尤推定法「、」や「。」の確率 P (、) や P (。) を知りたい．そうする
とき，最尤推定法では，P (テキスト) =
=

m
Y
i=1

P (単語 i)Y

単語 ∈ 語彙P (単語)n(単語)

(4)
(5)

が最大となるように P (単語) を定める

• 4 式では，i は 1 から m (テキスト長) まで動くので，
単語 i は，i 番目の単語という意味である．
• 5 式では，テキスト中の同一単語の数を n(単語) と数
えて，同じ単語はひとまとめにしたものである．

6

最尤推定つづき• 語彙における i 番目の単語の確率を pi，頻度を ni とし• 語彙の大きさを l とする．
max Qli=1 pni i なる pi は，テキストの確率を最尤にする．こP
れは，L = li=1 ni log(pi) としたときに，max L とすれば良い．
課題 (20 分)

max L となるときにおける pi の値を ni を利用して表現すること．

7

ラグランジェの未定乗数法を使わない回答例
まず， li=1 pi = 1 より pl = 1 −
P

L=

l−1
X
i=1

Pl−1

i=1 pi ．よって

ni log pi + nl log(1 −

l−1
X
i=1

よって，i = 1, 2, ..., l − 1 について
∂L ni
nl
= −
=0
∂pi pi 1 − Pl−1
i=1 pi

pi)

(6)

(7)

つまり

nl
ni
nl
=
(8)
=
Pl−1
pi 1 − i=1 pi pl
よって，K = np l (定数) とすると，i = 1, ..., l について，
l
ni
=K
(9)
pi
ni
次に，pi = K
だから，

ni
=1
i=1
i=1 K
P
よって，K = li=1 ni．したがって，
ni
ni
pi =
=
K Pli=1 ni
l
X

pi =

l
X

(10)

(11)

要するに，普通に出現頻度の割合を求めると，それが最尤推定確率となるということである．

8

ラグランジェの未定乗数法を使う回答例
M=

l
X
i=1

ni log pi − λ(

l
X
i=1

pi − 1)とする．i = 1, 2, ..., l について，∂M ni= −λ=0
∂pi
pi

(12)

(13)

より，pi = nλi ．また，制約として，

より，

l
∂M
X
= −( pi − 1) = 0
i=1
∂λ

(14)

ni
pi =
=1
i=1
i=1 λ

(15)

l
X

l
X

よって，

λ=

l
X
i=1

よって，

ni

(16)

ni
ni
(17)
= Pl
λ
i=1 ni
この場合には，二つの回答例であまり複雑さはかわらないが，一般には，ラグランジェの未定乗数法を利用した方が簡単である．
pi =9問題 (10 分)
テキスト中の全単語の出現頻度の和 ( li ni) が 55161 で，
P

単語
頻度
おれ
451
は
1643
蕎麦
15
が
1630
大好き 2
で
929
ある
279
という出現頻度のときにP (おれ，は，蕎麦，が，大好き，で，ある)の確率を 1-gram 言語モデルにより計算すること．

10

(18)

回答
単語
頻度 確率
おれ
451 451/55161 = 0.00817606642374141
は1643 1643/55161 = 0.0297855368829427
蕎麦15
15/55161 = 0.000271931255778539
が1630 1630/55161 = 0.0295498631279346
大好き 2
2/55161 = 3.62575007704719e-05
で929 929/55161 = 0.0168416091078842
ある
279 279/55161 = 0.00505792135748083
より，確率を全て掛けて，

6.04390968739961e − 1811

最尤推定法の問題点• 訓練テキスト中に出現しなかった単語の確率が 0 となる
たとえば，「坊っちゃん」で確率推定したときには P (三四郎) = 0 となってしまう．そのため，

P (三四郎，は，蕎麦，が，大好き，で，ある) = 0 (19)となる．これは困る．
なぜ困るかというと，言語モデルの役割は，• ある文 A と B について，A と B のうちで，よく出現しそうな文に高い確率をつけること，つまり• P (A) > P (B) か P (A) < P (B) か P (A) = P (B) かを推定することだが• 最尤推定だと，A と B に未知語 (訓練データにない語)があると，• P (A) = P (B) = 0 となり，
• 未知語以外がどんなに違っていても同じ確率となっ
てしまう．

12

未知語への対処法• 訓練データ中にでない単語は UNK という 1 つの仮想的な単語と考え• P (UNK) を推定する．
つまり，P (三四郎) = P (明暗) = P (UNK)(20)のように，でてこない単語は，1 つのクラス UNK でまとめる• この P (U N K) をどう推定するかが問題である．
最尤推定だと P (UNK) = 0 となってしまうので，別の方法を使う必要がある．

13

未知語を含むテキストにも確率 > 0 を割当てる
方法
これにはとてもたくさんの方法がある．これらの方法
は，一般に，• スムージングと呼ばれている．
ここでは，スムージング法の中でも比較的簡単な• 補間法
について述べる．
ngram 言語モデルを実際に利用するには，• SRILM
等のツールキットを使うと良い．

14

補間法
• 複数の確率分布の重み付き平均を確率とする方法
この場合には，最尤推定による単語 w の確率を PM L(w)とすると，これに PM L よりも滑らかな確率を組合せる．
そのような分布として，「坊っちゃん」に出現した 5507の異なり単語に UNK を加えた 5508 単語 (K=5508 とする) が一様に出現する一様分布を考えると
1
1
PU =
=
= 0.000182(21)
K 5508
これらを足してP (w) = λPM L(w) + (1 − λ)PU

(22)とする．ただし，λ(0 ≤ λ ≤ 1) は，重み調整用のパラメタである．

15

P (UNK) がどうなるか
P (UNK) = λPM L(UNK) + (1 − λ)PU(23)
= λ × 0 + (1 − λ)PU(24)
= (1 − λ)PU
(25)
1−λ
=
(26)
K
これよりテキストに出現しない単語 (UNK) についても確率 > 0 が割当てられるようになった．なお，λ = 1 のときには，P (UNK) = 0 である．
問題 (5 分)このように定義した確率が，確率の定義を満すことを確かめること

16

回答例
確率の定義は, V が UNK を含む語彙として
Xw∈V

P (w) = 1(27)が成立して，かつ，全ての単語 w について

0 ≤ P (w) ≤ 1(28)が成立することである．
Xw∈V

P (w) =

X

w∈V

= λ

{λPM L(w) + (1 − λ)PU }Xw∈VPM L(w) + (1 − λ)PU1
= λ · 1 + (1 − λ) K
K
= 1

X

w∈V

(29)
1 (30)(31)(32)

また，0 ≤ λ ≤ 1 よりλ ≥ 0
1−λ ≥ 0(33)
(34)

PM L(w) ≥ 0
PU > 0(35)(36)

P (w) = λPM L(w) + (1 − λ)PU ≥ 0

(37)

かつ

より，

17

λ をどう推定するか
重要な点

λ を調整するコーパスは，PM L を推定したコーパスとは別のコーパスとすること．
理由

λ の推定は最尤推定によるので，もし，PM L を推定した
コーパスを使うと，そこには UNK がないので，λ は 1となってしまう．

18

λ の推定法 (単語の生成モデル)

P(ML)

P(U)

ML

U

PML(W)PUW

2 つの状態 ML と U を考え，ある単語 w は，ML もしく
は U のどちらかからでるとすると，
P (w) = PM L(w)P (M L) + PU P (U )(38)

P (M L) + P (U ) = 1(39)

ところで，テキストにおける i 番目の単語 ti は ML か Uのどちらかからでるので，n(M L) により，ML からでた
単語の総頻度を表し，n(U ) により，U から出た単語の総頻度を表すとすると，n(M L)P (M L) =(40)n(M L) + n(U )n(U )P (U ) =(41)n(M L) + n(U )と推定できる．P (M L) が λ に相当する．
19

ところが n(M L) や n(U ) を直接数えることはできない．
なぜなら，単語 w について，それが ML からでたか U からでたかはわからないからである．
そこで n(M L) や n(U ) のかわりに，その期待値を使う．
n(M L) の期待値はE(M L) =Xw∈Vn(w)P (M L|w)

(42)

である．ここで，n(w) は単語 w の出現頻度であり，P (M L|w) は，w が与えられたときに，それが ML からでた確率である．上式は，各 w について，それが M L からどれくらいの頻度ででたかを求めて，足している．
同様にX
E(U ) =
n(w)P (U |w)
(43)
w∈V

なお，

P (M L|w) + P (U |w) = 1

(44)

より

E(M L) + E(U ) =Xw∈Vn(w) = 全単語の頻度の和 (45)

このとき，E(M L)
E(M L) + E(U )である．なお，P (U ) = 1 − P (M L) である．
P (M L) =

20

(46)

よって，P (M L|w) を求めれば良い．ベイズの定理より

P (w|M L)P (M L)
P (M L|w) =
P (w)

(47)

さて，

P (w|M L) = PM L(w) = 既に訓練コーパスより得られた定数(48)
一方
P (M L) = λ
P (w) = λPM L(w) + (1 − λ)PU

(49)
(50)

は，今求めたい未知数 λ を含む．しかし，それにもかかわらず式を書くとλPM L(w)
P (M L|w) =(51)
λPM L(w) + (1 − λ)PU

E(M L) =Xw∈Vn(w)P (M L|w)

21

(52)

繰り返しによる λ の推定
1. λ = 0.5 とする
2.

λPM L(w)λPM L(w) + (1 − λ)PUX
E(M L) =n(w)P (M L|w)

P (M L|w) =

w∈V

(53)
(54)

を計算する

3.

E(M L)
λ = P (M L) =全単語の頻度の和4. λ が収束したら終了(55)

この方法は，とりあえず λ がわかっているものとしてE(M L) を計算し，その結果を利用して，λ を再推定するというように，少しずつ λ を改善する方法である．
これは EM 法の簡単な例である．

22

課題• EM 法について調べること
EM 法は，確率統計的手法を使うときには，必須の方法
ですが，EM 法自体は一般的な方法であり，それを個々の事柄に適用するためには，ここでしたように，個別の事柄にあわせて解法を開発する必要があります．
ここでは，EM 法を利用すると，未知パラメタを推定できるということを覚えておいて下さい．

23例：「坊っちゃん」について λ を求める
• 2611 文で PM L を推定する• 50 文で λ を推定する
繰り返し計算による

λ, E(M L), E(U ), Lの推移をみる．

L =Xn(w) log P (w) = 対数尤度

(56)n(w) = 単語 w の開発データでの頻度
P (w) = λPM L(w) + (1 − λ)Pu

(57)
(58)

w∈V

24

# lambda=λ# E(ML)=Pml からでた回数の期待値# E(UNI) = Puni からでた期待値# N=開発データの延べ単語数# LL=対数尤度#
ruby src/lambda.rb -n 20 botchanj/train.wfreq botchanj/test-develop.wfreq botchanj/pro
延べ単語数 = 55161
異なり単語数 = 5507
Puni = 0.000181554103122731
1: lambda=0.7703, E(ML)=825.7380, E(UNI)=246.2620, N=1072, LL=-6693.4745
2: lambda=0.8454, E(ML)=906.2771, E(UNI)=165.7229, N=1072, LL=-6477.1231
3: lambda=0.8693, E(ML)=931.8799, E(UNI)=140.1201, N=1072, LL=-6451.9807
4: lambda=0.8777, E(ML)=940.9064, E(UNI)=131.0936, N=1072, LL=-6448.6396
5: lambda=0.8808, E(ML)=944.2322, E(UNI)=127.7678, N=1072, LL=-6448.1713
6: lambda=0.8820, E(ML)=945.4790, E(UNI)=126.5210, N=1072, LL=-6448.1047
7: lambda=0.8824, E(ML)=945.9495, E(UNI)=126.0505, N=1072, LL=-6448.0951
8: lambda=0.8826, E(ML)=946.1275, E(UNI)=125.8725, N=1072, LL=-6448.0937
9: lambda=0.8826, E(ML)=946.1949, E(UNI)=125.8051, N=1072, LL=-6448.0936
10: lambda=0.8827, E(ML)=946.2205, E(UNI)=125.7795, N=1072, LL=-6448.0935
11: lambda=0.8827, E(ML)=946.2301, E(UNI)=125.7699, N=1072, LL=-6448.0935
12: lambda=0.8827, E(ML)=946.2338, E(UNI)=125.7662, N=1072, LL=-6448.0935
13: lambda=0.8827, E(ML)=946.2352, E(UNI)=125.7648, N=1072, LL=-6448.0935
14: lambda=0.8827, E(ML)=946.2357, E(UNI)=125.7643, N=1072, LL=-6448.0935
15: lambda=0.8827, E(ML)=946.2359, E(UNI)=125.7641, N=1072, LL=-6448.0935
16: lambda=0.8827, E(ML)=946.2360, E(UNI)=125.7640, N=1072, LL=-6448.0935
17: lambda=0.8827, E(ML)=946.2360, E(UNI)=125.7640, N=1072, LL=-6448.0935
18: lambda=0.8827, E(ML)=946.2360, E(UNI)=125.7640, N=1072, LL=-6448.0935
19: lambda=0.8827, E(ML)=946.2360, E(UNI)=125.7640, N=1072, LL=-6448.0935
20: lambda=0.8827, E(ML)=946.2360, E(UNI)=125.7640, N=1072, LL=-6448.0935

25

確率の値
最尤推定値
一様分布との補間
おれ
0.00817606642374141 0.00723817319206339
は0.0297855368829427 0.0263124826219221
蕎麦0.000271931255778539 0.000261328467719085
が0.0295498631279346 0.0261044574351871
大好き 3.62575007704719e-05 5.33032809840486e-05
で0.0168416091078842 0.0148870992889363
ある
0.00505792135748083 0.00448583995218444
全積6.04390968739961e-18 4.62487491745199e-18
UNK に確率を与えた分だけ，一様分布との補間の方が，少しずつ確率が少なくなっている．しかし，重みつき平均の結果として，「大好き」については，少し増えている．なお，P (UNK) = 2.12994061017353e − 05 である．

26

2-gram 言語モデルの導入
1-gram 言語モデルでは，単語の順番と確率が無関係なので，言語のモデル化には不十分である．
P (おれ, は, 蕎麦, が, 大好き, で, ある)= P (おれ)P (は)P (蕎麦)P (が)P (大好き)P (で)P (ある)= P (蕎麦)P (は)P (大好き)P (が)P (で)P (ある)P (おれ)= P (蕎麦, は, 大好き, が, で, ある, おれ)27

2-gram 言語モデルでは，一つ前の単語を見ることにより，並び順を少し考慮する．
P (おれ, は, 蕎麦, が, 大好き, で, ある)= P (おれ)P (は | おれ)P (蕎麦 | は)P (が | 蕎麦)P (大好き | が)P (で | 大好き)P (ある | で)
6= P (蕎麦, は, 大好き, が, で, ある, おれ)= P (蕎麦)P (は | 蕎麦)P (大好き | は)P (が | 大好き)
P (で | が)P (ある | で)P (おれ | ある)28

2-gram 言語モデルの求め方の例
PM L(単語 2| 単語 1) =単語 1 の後に単語 2 が続く頻度
単語 1 の頻度(59)

例「蕎麦」の頻度が 15 のとき
単語 1 単語 2 頻度 P (単語 2| 単語 1)
蕎麦 屋
5
0.33
を
4
0.27
と
2
0.13
粉
1
0.067
も
1
0.067
の
1
0.067
が
1
0.067

29

最尤推定における数値例
コーパス全体での頻度 = 55161
w
v n(w)PM L(w) n(v) n(vw) PM L(w|v)
おれ* 451 0.00817607
はおれ 1643 0.02978554 451
164 0.36363636
蕎麦は15 0.00027193 1643
1 0.00060864
が蕎麦 1630 0.02954986
15
1 0.06666667
大好きが
2 0.00003626 1630
1 0.00061350
で 大好き 929 0.01684161
2
1 0.50000000
あるで 279 0.00505792 929
78 0.08396125

w
v n(w)PM L(w) n(v) n(vw) PM L(w|v)
蕎麦*
15 0.00027193
は蕎麦 1643 0.02978554
15
0 0.00000000
大好き
は2 0.00003626 1643
1 0.00060864
が 大好き 1630 0.02954986
20 0.00000000
でが 929 0.01684161 1630
1 0.00061350
あるで 279 0.00505792 929
78 0.08396125
おれある 451 0.00817607 279
0 0.00000000• 文の生成確率は，1-gram モデルでは等確率だが，2gram モデルでは確率が異なる• 確率 0 となる場合があるのは困る．

30

2-gram 言語モデルにおける補間P (w|v) = λ2PM L(w|v) + λ1PM L(w) + λ0PUn(vw)
PM L(w|v) =
n(v)
n(w)
PM L(w) = Pv n(v)1
PU =|V | + 1

(60)

(61)
(62)
(63)

λ2, λ1, λ0 ≥ 0(64)

λ2 + λ1 + λ0 = 1

(65)

31

問題 (15 分)
テキスト w1, w2, . . . , wN が与えられているとする．ただし，wi はテキストの i 番目の単語とする．このとき，λ0,λ1, λ2 の推定法を示すこと．
1-gram 言語モデルのときと同様に，

1. λi の初期値を設定する
2. 各 λi に相当する状態における期待頻度 Ei を求める．
3. Ei を利用して，λi を求める
4. 収束したら終了というようにする．

32

λi の計算法
1-gram 言語モデルのときには，語彙の上で E(M L) や
E(U ) を計算したが，今回は，テキストの上で Ei を計算する．1-gram 言語モデルにおける n(w) は，今回は，テキストの上で単語を動かすので，複数回出現する単語はその回数分だけ重複されてカウントされるので，1-gram
言語モデルで n(w) を掛けるのと同様な効果が得られる．
1. λ2 = λ1 = λ0 = 13 とする
2.
λ2PM L(wi|wi−1)
i=2 λ2 PM L (wi |wi−1 ) + λ1 PM L (wi ) + λ0 PU
N
λ1PM L(wi)XE1 =i=2 λ2 PM L (wi |wi−1 ) + λ1 PM L (wi ) + λ0 PU
N
λ0PU
X
E0 =
i=2 λ2 PM L (wi |wi−1 ) + λ1 PM L (wi ) + λ0 PU

E2 =

N
X

3. λi = E0+EE1i +E2 for (i = 0, 1, 2)
4. goto 2 もしくは収束したら終了• まず初期値を設定する• 各 wi について，それぞれが 3 つの確率分布のどれからでたかの期待度数を求め，その和を各確率分布の期待度数とする．
• 期待度数の比として λi を求める
• 収束するまで繰り返す
33

数値例 1λ0 = λ1 = λ2 = 31 のときの各単語の確率と期待度数
おれ, は, 蕎麦, が, 大好き, で, あるpml(w|v) pml(w)pue(w|v)e(w)e0
は 0.363636 0.029786 0.000182 0.923865 0.075674 0.000461
蕎麦 0.000609 0.000272 0.000182 0.573041 0.256025 0.170934
が 0.066667 0.029550 0.000182 0.691577 0.306540 0.001883
大好き 0.000613 0.000036 0.000182 0.737989 0.043615 0.218396
で 0.500000 0.016842 0.000182 0.967075 0.032574 0.000351
ある 0.083961 0.005058 0.000182 0.941262 0.056703 0.002035------------------------------------------------------------sum
4.834808 0.771131 0.394061
lambda0.805801 0.128522 0.065677

2-gram まで考慮した状態 e(w|v) における期待頻度が他よりも大きいことがわかる．

34

数値例 2「坊っちゃん」のパラメタ調整用データ 50 文を利用して λi を求める．

• 2611 文は，PU , PM L(w), PM L(w|v) の推定に用いる• 50 文は，λi の推定に用いる
λ2

λ1

λ0

E2
E1
E0
尤度
1: 0.5350 0.2985 0.1665 546.77 305.05 170.18 -5217.63371050
2: 0.5749 0.2842 0.1409 587.57 290.48 143.95 -5090.05722072
3: 0.5813 0.2823 0.1364 594.12 288.50 139.38 -5085.40951867
4: 0.5823 0.2823 0.1355 595.06 288.48 138.46 -5085.27277246
5: 0.5824 0.2824 0.1353 595.16 288.61 138.23 -5085.26807026
6: 0.5823 0.2825 0.1352 595.16 288.69 138.15 -5085.26776245
7: 0.5823 0.2825 0.1352 595.15 288.73 138.13 -5085.26772140
8: 0.5823 0.2825 0.1351 595.14 288.74 138.12 -5085.26771436
9: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771310
10: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771287
11: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771283
12: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771282
13: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771282
14: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771282
15: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771282
16: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771282
17: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771282
18: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771282
19: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771282
20: 0.5823 0.2825 0.1351 595.14 288.75 138.11 -5085.26771282

尤度 = Σi log p(wi|wi−1) が単調に増加していることがわかる．
35

数値例 3
個別の文について各単語の確率を計算し，それを掛けて文の確率を求める．
P (おれは蕎麦が大好きである) = 6.456 × 10−14w
v PM L(w|v) PM L(w)PUP
おれ
* 0.000000 0.008176 0.000182 0.002334
は
おれ 0.363636 0.029786 0.000182 0.220184
蕎麦は 0.000609 0.000272 0.000182 0.000456
が蕎麦 0.066667 0.029550 0.000182 0.047192
大好き
が 0.000613 0.000036 0.000182 0.000392
で 大好き 0.500000 0.016842 0.000182 0.295932
あるで 0.083961 0.005058 0.000182 0.050344「おれ」「は」や「大好き」「で」は，高い確率で出現する．
P (蕎麦は大好きがであるおれ) = 1.683 × 10−18w
v PM L(w|v) PM L(w)PU
P
蕎麦
* 0.000000 0.000272 0.000182 0.000101
は
蕎麦 0.000000 0.029786 0.000182 0.008439
大好き
は 0.000609 0.000036 0.000182 0.000389
が 大好き 0.000000 0.029550 0.000182 0.008372
でが 0.000613 0.016842 0.000182 0.005140
あるで 0.083961 0.005058 0.000182 0.050344
おれある 0.000000 0.008176 0.000182 0.002334• どの単語の確率も低い• PM L(w|v) = 0 でも，P > 0 となっている．

まとめ• n-gram 言語モデルは，任意の文字列についての日本語らしさ (あるいは他の言語のそれらしさ) の確率を求める
• 確率の推定には，最尤推定ではなくスムージングが必要である
もっと複雑な言語モデル• 3-gram, 4-gram, 5-gram, ... 言語モデル• トピックを考慮した言語モデル• 構文を利用した言語モデル
言語モデルの利用例• 機械翻訳• 音声認識• 仮名漢字変換

37

単語対応の導入
内山将夫@NICT
mutiyama@nict.go.jp

1

パラレルコーパスからの情報抽出• 単語対応 (Word alignment) の抽出 (これ)• 句対応 (Phrase alignment) の抽出• 翻訳規則の抽出

2

単語対応 (Word Alignment) とはなにか
たくさんの対訳文対が，パラレルコーパスとして与えられたとき，各対訳文対において，日本語のどの単語が，英語のどの単語に対応しているかを同定する．
単語対応は，そもそも良く定義できない問題である．つまり，対訳文が与えられたとき，どの単語とどの単語が対応するかは，人間がみても良くわからないのが普通である．
しかし，今のところ，単語対応を求めることは，コーパスベースの翻訳にとって，本質的な問題である．

3

単語対応の例• 「今日」「は」「良い」「天気」「だ 」• 「It」「is」「fine」「today」
において• 「今日」と「today」は対応する．
• 「良い」「天気」と「fine」は対応する．
その他の「は」「だ」や「It」「is」は，どう判断したら良いだろうか？
課題
適当な対訳文 10 文について，単語対応を求めること．

4単語対応の確率モデル (Brown et al. 1993)
P (f |e) = フランス語の文 f が英語の文 e から生成される確率
この P (f |e) を，英単語と仏単語の対応確率から求めた
い．まず，e と f は，それぞれ l,m 個の単語からなる．

e = e1e2 . . . ei . . . el = el1
f = f1f2 . . . fj . . . fm = f1m

(1)
(2)

次に，各仏単語 fj が，ただ一つの英単語に対応するとして，その英単語の位置を aj とする．

a = a1a2 . . . aj . . . am = am
1

(3)

このとき，fj に対応する英単語は，eaj である．もし，fjに対応する英単語がない場合には，aj = 0 とする．この fj は，NULL 単語から生成されたと考える．したがって，aj ∈ {0, 1, . . . , l} である．ある対応，
f1 f2 f3 f4 f5
NULL
x
e1
x
e2
x
x
e3
x
において，f1 → e2, f2 → e1, f3 → e2, f4 → e3, f5 →NULL(e0) より a1 = 2, a2 = 1, a3 = 2, a4 = 3, a5 = 0 である．
5

ある生成モデル (IBM-Model 1,2 の原型)
P (f |e) =XaP (f , a|e)

P (f , a|e) = 仏文 f と対応 a が英文 e から生成される確率
m
Y
j−1
,
f
= P (m|e)P (aj |aj−1
1 , m, e)1
j=1
P (fj |aj1, f1j−1, m, e)

P (m|e) = 英文 e が m 単語の仏文になる確率j−1
j−1まで生成され，それP (aj |aj−1
1 , f1 , m, e) = 仏文が f1
ぞれが，aj−1
1 の位置の英単語につながっているとき，j
番目の仏語が aj 番目の英単語につながる確率

P (fj |aj1, f1j−1, m, e) = 上述の条件に加えて，j 番目の仏語が aj 番目の単語につながるときに，j 番目の仏単語がfj である確率
これは，確率の式を厳密に展開したものであることに注意する．上述の式を簡単化したものが IBM Model 1,2 である．別の形の式展開をすると IBM Model 3,4,5 となる．

6

8. IBM Model-1 の式の説明
内山将夫@NICT
mutiyama@nict.go.jp

1IBM-Mode1 の式の説明のまえに
Q:
何のために確率モデルを利用するかA:• 単語対応の確率や• 単語対応自体を求めるため
単語対応の確率：「お金」は「cash」と「money」のどちらに訳されることが多いか？
単語対応自体を求めるため：「今日」「は」「良い」「天気」「だ」と「It」「is」「fine」「today」では，「今日」はどの単語に対応するか？

2単語対応自体を求めるにはどうするか
条件：
英文 e と仏文 f が与えられていて，単語対応 a について，
P (f , a|e) が計算できるとする求めるもの â :â = arg max
P (f , a|e)aâ は，P (f , a|e) を最大化するアラインメントである．これは最も確率が高いアラインメントである．
→ アラインメントの確率をモデル化することにより，そのモデルの下での最適アラインメントを求めること
ができる．

3

単語対応の確率を求めにはどうするか• 求めたいパラメタを θ として，明示的に式に導入すると
P (f |e, θ)により，θ をパラメタとしたときの f の確率がわかる• パラレルコーパスを d = {hf , ei} とするとL(θ|d) = log

Y

hf ,ei∈d

P (f |e, θ)

によりパラメタ θ の下での，コーパス全体での f の確率がわかる．このときθ̂ = arg max L(θ|d)θ

なる θ̂ をみつけると，コーパスを最尤で生成する θ が求まる．

4

ここまでのまとめ
確率でモデル化することにより• 単語対応 (アラインメント) が計算できる• 単語対応確率等のパラメタが計算できる→ 大きな利点
難しいところ• モデルの正当性の評価が難しい• 数式で色々なことを表現しないといけないので，あまり複雑なことは表現できない• モデルの良さは，実際にデータに適用してみないとわからない• 良いアイディアと思っても上手くいくかはわからない5

IBM model-1 の式展開
P (f , a|e) = P (m|e)

m
Y

j−1
P (aj |aj−1,
f1
1 , m, e)

j=1
P (fj |aj1, f1j−1, m, e)(1)

P (m|e) = 仏文の長さ (単語数) が m である確率= ある定数²
j−1
P (aj |aj−1
1 , f1 , m, e) = j 番目の仏単語がつながるのが
aj 番目の英単語の確率= どの場所にも同確率
1=l+1

P (fj |aj1, f1j−1, m, e)= j 番目の仏単語が fj の確率= fj と eaj のみで決まる= t(fj |eaj )
以上より
m
²
Y
t(fj |eaj )P (f , a|e) =(l + 1)m j=1

6(2)

アラインメント a について和をとる
P (f |e)X= P (f , a|e)
a
m
²
Y
X
t(fj |eaj )=a (l + 1)m j=1
m
²
X Y
=
t(fj |eaj )maj=1(l + 1)
l
l
m
²
X
X
Y
···
t(fj |eaj )=(l + 1)m a1=0 am=0 j=1(3)

a = a1...am における aj は仏語 fj が英単語 eaj に継がることを示す．また，e = e1...el で，かつ，e0 = NULL である． そのため，0 ≤ aj ≤ l である．更に，1 ≤ j ≤ m
なので，上式の ように変形される．

7

パラメタ推定3 式において推定すべきパラメタは t(f |e) のみである．
これには前述のように，
max P (f |e)となる t(·) を推定すれば良い．
制約として，各英単語 e についてXft(f |e) = 1

である．つまり，各英単語 e について，それに対応する
f の確率の和は 1 である．

8

ラグランジェの未定乗数法により極値を求める
3 式と制約より
h(t, λ) =

m
l
l
²
X
Y
X
t(fj |eaj )···m(l + 1) a1=0 am=0 j=1
XX− λe( t(f |e) − 1)
e

f

(4)

第 2 項が制約部分であり，これは λe で偏微分をすること
により，
∂h
X
(5)
= −( t(f |e) − 1) = 0∂λefとなる．つまり，λe による偏微分の結果が 0 であること
により，極値におけるパラメタ値が制約を満すようになる．
一方，t(f |e) による偏微分においては，4 式の第 2 項は，∂XX− λe( t(f |e) − 1) = −λe∂t(f |e) e
f
4 式の第 1 項は，まず，mY
j=1t(fj |eaj )を偏微分する．

9

(6)

m
∂
Y
t(fj |eaj )∂t(f|e) j=1

=











=










Y

1≤k≤m
fk 6=f ∨eak 6=e





ak 




Pm
∂
δ(f,fj )δ(e,eaj )t(fk |e )t(f |e) j=1∂t(f |e)





ak 




t(fk |e ) n(e, f )t(f |e)n(e,f )−1

Y

1≤k≤m



fk 6=f ∨eak 6=e= n(e, f )t(f |e)







−1 










ak 




= n(e, f )t(f |e)−1

Y

1≤k≤m

t(fk |e ) t(f |e)n(e,f )fk 6=f ∨eak 6=e
Y

1≤k≤m

t(fk |eak )

(7)

ただし，

n(e, f ) =

m
X
j=1

δ(f, fj )δ(e, eaj )= 仏単語が fj で英単語が aj の単語対応の数• 1 行目では，t(f |e) の項を取り出す• 2 行目では，t(f |e) で偏微分する• 3,4 行 目 で は ，t(f |e)−1 を 括 り 出 す こ と に よ り，Q
1≤k≤m t(fk |eak ) を再導入する
以上より，

10

∂
h(t, λ)∂t(f |e)


l
l
m
²
X
X  X
−1


 t(f |e)
=
·
·
·
δ(f,
f
)δ(e,
e
)
j
a
j
(l + 1)m a1=0 am=0 j=1
Y(8)t(fk |eak ) − λe1≤k≤m

これを 0 とおくとt(f |e) = λ−1
e
×

l
X
a1 =0

²
(l + 1)m 
···

l
X

m
 X


am =0 j=1

δ(f, fj )δ(e, eaj )

Y

1≤k≤m

t(fk |eak )(9)まず，λe について説明すると，これは 4 式において，P
f t(f |e) = 1 となるように導入した変数である．この制約を満すには，t(f |e) = λe−1A(f |e) としたとき，λe =PPf A(f |e) とすると， f t(f |e) = 1 となる．つまり，λeは，単なる正規化定数である．

11

これまでのまとめ• 9 式により，t(f |e) を表現した• この式を利用すると t(f |e) が求まると思われる• しかし右辺にも t(·) がでてくる
EM 法により t(·) を求める
1. まず t(·) に適当な初期値を定める
2. 次に，その値を利用して，9 式により t(·) を計算する
3. 2 を繰り返す
このようにして，t(e|f ) を求める道筋が整った．次は，9式を簡単化していく．

12

9 式の再掲
t(f |e) =
×

λ−1
e
l
X
a1 =0

²
(l + 1)m 
···

l
X

m
 X


am =0 j=1

δ(f, fj )δ(e, eaj )

Y

1≤k≤m

t(fk |eak )3 式の再掲
l
l
m
²
X
X
Y
···
t(fj |eaj )P (f |e) = P (f , a|e) =
m
a
a
=0
a
=0
j=1
(l + 1) 1
m
X

これらより
m
X
−1 X
t(f |e) = λe
P (f , a|e)
δ(f, fj )δ(e, eaj )
a
j=1

(10)

これを更に概念的に簡単化するために，C(f |e; f , e) =XaP (a|f , e)

m
X
j=1

δ(f, fj )δ(e, eaj )(11)を定義する．
P
この式の mj=1 δ(f, fj )δ(e, eaj ) は，アラインメント a において f と e が継がっている回数である．また，P (a|f , e)は，アラインメント a の確率である．よって，C(f |e; f , e)は，f と e が対応する回数の期待値である．
これから確認するように，t(f |e) は，f と e の対応の期
待度数 C(f |e, f , e) を利用した割合により表現される．

13

t(f |e) = λ−1
e

X

= λ−1
e

X

a
a

P (f , a|e)

m
X
j=1

δ(f, fj )δ(e, eaj )P (f |e)P (a|f , e)

= λ−1e P (f |e)Xa

P (a|f , e)

m
X
j=1
m
X
j=1

δ(f, fj )δ(e, eaj )δ(f, fj )δ(e, eaj )= λ−1
e P (f |e)C(f |e; f , e)−1
= λ0e C(f |e; f , e)(12)λ0e = λeP (f |e)−1 は正規化定数．λ0e = Pf C(f |e; f , e) とすPれば， f t(f |e) = 1 となる．
上記は，英文 e と仏文 f が一文だけしかない場合である．
コーパス全体では，s 番目の対訳文を e(s) と f (s) で表すと
t(f |e) = λ0e−1 XsC(f |e; f (s), e(s))

である．これは，期待度数をコーパス全体で測定している．

14

これまでのまとめ
t(f |e) = λ0e
λ0e =C(f |e; f , e) =

−1 X

XX

f s
X

a

s

C(f |e; f (s), e(s))

C(f |e; f (s), e(s))

P (a|f , e)

m
X
j=1

(13)
(14)

δ(f, fj )δ(e, eaj ) (15)上式を利用した推定アルゴリズム

1. 全ての f と e について，t(f |e) の初期値を選ぶ．
2. コーパス中の文 s について C(f |e; f (s), e(s)) を計算す
る．
3. 各 e について，λ0e を計算する
4. 各 f について，t(f |e) を計算する
5. goto 2 or exit

15

残された問題
C(f |e; f , e)mXX
= P (a|f , e)δ(f, fj )δ(e, eaj )aj=1= λeP (f |e)−1t(f |e)(式 12 参照)

(16)をどう計算するか？
4 式に戻るとh(t, λ) =

l
l
m
²
X
X
Y
·
·
·
t(fj |eaj )m(l + 1) a1=0 am=0 j=1
XX− λe( t(f |e) − 1)ef

下線の部分で (l + 1)mm 回の計算が必要になる．この部
分を簡単化する必要がある．

16

l
X
a1 =0

···

l
X

m
Y

am =0 j=1

t(fj |eaj ) =

m
Y

l
X

j=1 i=0t(fj |ei)(l + 1)mm 回の計算量が m(l + 1) に減少した．
例により，この変形の正しさを確認する．
m = 3,l = 1 のとき，t(fj |ei) = tji として，
左辺 =

1
X

1
X

1
X

3
Y

a1 =0 a2 =0 a3 =0 j=1

t(fj |eaj )= t10t20t30 + t11t20t30 + · · · + t11t21t30 + t11t21t31

右辺 =

3
Y

1
X

j=1 i=0t(fj |ei)= (t10 + t11)(t20 + t21)(t30 + t31)17

4 式を簡単化する
m X
l
²
Y
X
X
h(t, λ) =
t(f
|e
)
−
λ
(
t(f |e) − 1)jiee(l + 1)m j=1 i=0f
第 2 項の t(f |e) による偏微分は −λe．

nf =
ne =

m
X
j=1
l
X
i=0

δ(f, fj ) = (f = fj ) なる fj の数
δ(e, ei) = (e = ei) なる eiの数

とすると
m
Y

l
X

j=1 i=0

=







l
X
 Y



1≤j≤m i=0



l
 X



 i=0



=

t(fj |ei)t(fj |ei)

fj 6=f



l
X
 Y



1≤j≤m i=0t(fj |ei)t(f |ei)

nf










 X



 0≤i≤l









nf

t(f |ei) + net(f |e)ei 6=efj 6=f(17)

だから∂第 2 項∂t(f |e)= nf n



 X

e

0≤i≤l= nf n




e









nf −1

t(f |ei) + net(f |e)ei 6=eX0≤i≤lt(f |ei)






nf −1


nf
nf ne

 X

t(f |ei)
= P
0≤i≤l t(f |ei ) 0≤i≤l
18

(18)

以上より，
m X
l
m X
l
∂
nf ne
Y
Y
t(fj |ei) = P
t(fj |ei)∂t(f |e) j=1 i=00≤i≤l t(f |ei ) j=1 i=0
(19)
よって，

∂h(t, λ)∂t(f |e)
m X
l
nf ne
²
Y
= Pl
t(fj |ei) − λem j=1 i=0
t(f
|e
)
(l
+
1)
i
i=0
nf ne
= Pl
P (f |e) − λei=0 t(f |ei )(20)

よって，極値では ∂h(t,λ)∂t(f |e) = 0 より
−1

λeP (f |e)

nf ne
= Pl
i=0 t(f |ei )よって，16 式よりC(f |e; f , e)
= λeP (f |e)−1t(f |e)t(f |e)= Pl
nf ne
i=0 t(f |ei )

(21)

|e)
ここで， Pl t(ft(fは，f と e という対応に与えられる重
|e )
i=0

i

みであり，nf ne は，そのような対応の数である．
19核となる式t(f |e)nf ne
i=0 t(f |ei )XX
λe =C(f |e; f (s), e(s))

C(f |e; f , e) = Pl

f sX(s) (s)t(f |e) = λ−1
e s C(f |e; f , e )

(22)
(23)
(24)

t(·) 推定のアルゴリズム
1. t(f |e) の初期値を設定する
2. 各文 s について C(f |e; f (s), e(s)) を計算する．
3. 各 e について，λe を計算する．
4. 各 f について，t(f |e) を計算する．
5. goto 2 or exit.
課題Peter F. Brown, Stephen A. Della Pietra, Vincent J. Della
Pietra, and Robert L. Mercer. (1993) The Mathematics ofStatistical Machine Translation: Parameter Estimation.
を読んでみる．

20

9. IBM Model-1 の動作例
内山将夫@NICT
mutiyama@nict.go.jp

1小さいコーパス• 「彼」「の」「絵 」と「 his 」「 painting 」
• 「彼」
「の」
「コレクション 」と「 his 」「 collection 」•「絵」「の」「コレクション」と「 painting 」「 collection 」

2初期値
f が日本語単語で，e が英単語に相当する．
1t(f |e) = 日本語単語の異なり語数= 14c(f |e) = Pf Ps C(f |e; f (s), e(s)) = 0と初期値を設定する．
t(f |e)/c(f |e)
彼 の 絵 コレクション 確率の計
1
NULL 14 /0 14 /0 14 /0
1
4 /0
1
1
1
1
his
/0
/0
/0
1
4
4
4
4 /0
1
painting 14 /0 14 /0 14 /0
1
4 /0
1
collection 14 /0 14 /0 14 /0
1
4 /0

3

1 回目の計算
全てのエッジの重みが 13 である．たとえば，「彼」「の」「絵」と「 NULL 」「 his 」「 painting 」において

t(絵 |painting)
1/4=
t(絵 |NULL) + t(絵 |his) + t(絵 |painting)
1/4 + 1/4 + 1/4
1
=
3


1/3



1/3
1/3



1/3
1/3

1/3

NULL

1/3

1/3

1/3
1/3

painting
NULL


1/3

1/3
1/3

NULL

1/3

 
1/3

1/3
1/3

his

 

1/3

1/3

his



1/3

1/3

collection

4

1/3

1/3

1/3
1/3

painting

1/3

1/3

collection

C(f |e) の集計 / t(f |e) の再推定
C(f |e) = f と e をつなぐエッジの重みの総和
C(f |e)C(f |e)=C(e)f C(f |e)t(f |e) = P「 NULL 」と「彼」に注目すると，このペアは 2 回でたので
1 1 2
C(彼 |NULL) = + =3 3 3
一方
1 1 1 1 1 1 1 1 1 9C(NULL) = + + + + + + + + =3 3 3 3 3 3 3 3 3 3
よって，C(彼 |NULL) 23 2t(彼 |NULL) ==9=
C(NULL)
93
彼
NULL 13 + 13 / 29
his 13 + 13 / 26
1 1
paint.
3/6
1 1
coll.
3/6

の
1
1
1 3
+
+
3
3
3/9
1
1 2
+
3
3/6
1
1 2
+
3
3/6
1
1 2
+
3
3/6

5

絵
1
1 2
+
3
3/9
1 1
3/6
1
1 2
+
3
3/6
1 1
3/6

コレ C(e)
1
9
1 2
+
/
3
3 9
3
1 1
6
/
3 6
3
1 1
6
/
3 6
3
1
1 2
6
+
/
3
3 6
3

2 回目の計算：文 1


4/13

3/13
6/13

NULL

1/3



1/3

1/3

4/13
3/13

his

6/13

painting

2t(彼 |NULL)= 2 92 1t(彼 |NULL) + t(彼 |his) + t(彼 |painting)9 + 6 + 6
4=
13
3t(の |NULL)= 3 92 2t(の |NULL) + t(の |his) + t(の |painting)9 + 6 + 6
1=
3
2t(絵 |NULL)= 2 91 2t(絵 |NULL) + t(絵 |his) + t(絵 |painting)9 + 6 + 6
4
=
13

6

問題 (15 分)


NULL
his

collection

NULL

painting

上記 2 文における各エッジの重みを求めること

7

collection

2 回目の計算：文 2

4/13

3/13
6/13

NULL

1/3




1/3

1/3

4/13
3/13

his

6/13

collection2t(彼 |NULL)= 2 29 1t(彼 |NULL) + t(彼 |his) + t(彼 |collection)
9 + 6 + 6
4=
13
3t(の |NULL)= 3 29 2t(の |NULL) + t(の |his) + t(の |collection)
9 + 6 + 6
1=
3
2t(コレクション |NULL)= 2 19 2t(コ |NULL) + t(コ |his) + t(コ |collection)
9 + 6 + 64=
13
8 

2 回目の計算：文 3

4/13

3/13
6/13

NULL

1/3

1/3

1/3

4/13
3/13

painting

6/13

collection

2t(絵 |NULL)= 2 92 1t(絵 |NULL) + t(絵 |painting) + t(絵 |collection)
9 + 6 + 6
4=
13
3t(の |NULL)= 3 92 2t(の |NULL) + t(の |painting) + t(の |collection)
9 + 6 + 6
1=
3
2t(コレクション |NULL)= 2 91 2t(コ |NULL) + t(コ |painting) + t(コ |collection)
9 + 6 + 64=139

問題 (15 分)
前述の C(f |e) の集計 / t(f |e) の再推定における彼の絵
コレ C(e)NULL 13 + 13 / 29 13 + 13 + 13 / 39 13 + 13 / 29 13 + 13 / 29 93
1
1 2
1 1
1 1
6
his 13 + 13 / 26
3 + 3/6
3/6
3/6
3
1 1
1
1 2
1
1 2
1 1
6
paint.
3/6
3 + 3/6
3 + 3/6
3/6
3
1 1
1
1 2
1 1
1
1 2
6
coll.
/
+
/
/
+
/
3 6
3
3 6
3 6
3
3 6
3
の表を更新すること10C(f |e) の集計 / t(f |e) の再推定
C(f |e) = f と e をつなぐエッジの重みの総和
C(f |e)C(f |e)t(f |e) = P
=
C(e)
C(f
|e)
f
「 NULL 」と「彼」に注目すると，
4
4
8
C(彼 |NULL) =+=13 13 134
4 1 1 1 444437
C(NULL) = + + + + + + + + =13 13 3 3 3 13 13 13 13 13
よって，
88C(彼 |NULL) 13= 37 =t(彼 |NULL) =C(NULL)
37
13

彼
4
4 8
NULL 13
+ 13
/ 37
6
6 36
his 13
+ 13
/ 80
3 9
paint.
13 / 80
3 9coll.
13 / 80

の
1
1
1 13
+
+
3
3
3 / 3711 26+
3
3 / 801
1 26+
3
3 / 801 26
1+
3
3 / 80

絵
4
4 8
+
13
13 / 37
3 9
13 / 80
66 36+
1313 / 803 9
13 / 80

コレ
C(e)
4
4 8
37
+
/
13
13 37
13
3 9
80
/
13 80
39
3 9
80
/
13 80
39
6 36
6
80
+
/
13
13 80
39

赤いセルに確率が集中していくことがわかる．
彼
の
絵
コレ
C(e)
NULL .615/.216 1.0/.351 .615/.216 .615/.216 2.846
his.923/.45 .667/.325 .231/.113 .231/.113 2.051
paint. .231/.113 .667/.325 .923/.45 .231/.113 2.051
coll. .231/.113 .667/.325 .231/.113 .923/.45 2.051
11

単語アラインメント
確率最大の t(f |e) について赤くする．



NULL



his


NULL



NULL

painting painting his

collection

12

collection

日英対訳文対応付けデータ (内山・高橋 2003) での例
約 10 万文の小説等のコーパスから IBM Model-1 で得られた対訳確率が 0.5 以上でかつ無作為に抽出した単語対
の例

13

英日方向
経済/economic, ワルツ/waltz, 宮殿/palace, 音楽/music,
フリー/free, ウワア/wow, ：/:, 1999/1999, US/us, ファーディナンド /ferdinand, 〃/., 百万/million, 砂地/sand,７．/7., ほこり/dust, 伯父/uncle, 霜/frost, ブリ/gabriel,
停留所/stop, ポール /paul, ウマ/horse, オックスフォー
ド /oxford, 両方/both, サー/sir, 財産/property, ハド ソン/hudson, 薄い/thin, エウリュピュロス/eurypylus, ベルリ
ン /berlin, ２０３．/the, ?/?, 高等/higher, 音節/syllables,
イグネイシャス/ignatius, ピナー/pinner, 日/day, ヶ月/months, １０１．/the, 銅/copper, コンロイ/conroy,
ハウス/house, ベーアマン /behrman, ほぼ /almost, 唇/lips, 新/new, 主題/subject, 祭壇/altar, エド ワード/edward, 太陽/sun, Software/software, 現象/phenomena,
空中/air, 友情/friendship, ガ /gallaher, 戦う/fight, 君たち/you, 気付/hearthrug, 三月/march, 被曝/exposure, ５
９．/mischievous, ヘンリー/henry, ワトスン /watson, マ
シン /machine, イタリア/italy, )/), エンジニアリング/engineering, 1986/1986, ２２９．/the, 美しい/beautiful,
ド ード ー/dodo, 損失/loss, 呑み/gasped, シカゴ /chicago,
Web/web, 砂漠/desert, 地主/squire, 朝食/breakfast, バー
ベキュー/barbecue, 1509/1509, デザイナー/designer, 下っ/down, アクセス/access, Law/law, 青/blue, 星/stars, ジョンストン /johnston, 蓮/lotus, ズン /thump, アンリエッ
タ/henrietta, エルサレム/jerusalem, 風の音/wind
14

日英方向
nose/鼻, amen/アーメン , ..7-1/., network/ネットワー
ク, dorothy/ド ロシー, .ix/., joe/ジョー, winter/冬, animals/動物, perrault/ペロー, window/窓, julia/ジュリ
ア, church/教会, smoke/煙, reasons/理由, trousers/ズボ
ン , patten/パッテン , armour/武具, tooth/歯, passepartout/パスパルトゥー, troy/トロイア, es/., era/時代,
freedom/自由, flag/旗, dublin/ダブ リン , churches/教会,
table/テーブル , eagle/ワシ , darwin/ダーウィン , poem/
詩, daisy/デ イジー, daughter/娘, shoulders/肩, twyford/
トワイフォード , 2/2, branches/枝, maimie/マイミー,“/「 , usecbc/UseCBC, master/主人, jim/ジム, uh/はい, purposes/目的, 20/20, straits/海峡, importation/輸入, endfor/EndFor, film/映画, fiddle-stick/ばかばかしい, 1997/1997, fox/キツネ, history/歴史, 12/12, flower/
花, german/ド イツ, years/年, eveline/エヴ リン , religion/宗教, register/レジスタ, skirt/スカート , poole/プー
ル , lisp/LISP, slowly/ゆっくり, tink/ティンク, mit/MIT,
kiotsukete/キヲツケテ, woods/森, puck/パック, head/頭, lysander/ライサンダー, french/フランス, insurance/
保険, reproduction/複製, ..3-1/., horses/馬, ..5-1/., .41/.,
israeli/ イスラエル , christianity/キリスト教, priam/プ リ
アモス, ohio/オハイオ, intellect/知性, shoulder/肩, wall/
壁, buildings/建物, truths/真理, rights/権利, gnu/GNU,
gentleman/紳士, 16/16, program/プログラム
15

アラインメント の例
X: 日英方向
Y: 英日方向
両方向で選ばれた対応：“と「，angel と天使，like とよう
“
he
looks
just
like
an
angle
“

「 天使 の よう だ ね 」
XY
X

Y
Y

X
XY

Y X
XY
Y

16

まとめ
• IBM Model-1 の実行例を観察した• 対訳単語の抽出や単語対応がとれることをみた• Model-1 はそれほど 強力なモデルではない
課題
興 味 が あ れ ば ，http://www2.nict.go.jp/x/x161/
members/mutiyama/software.html にある IBM Model1 のプログラムを実行してみる

17

10. 現状で利用可能なパラレル (対訳) コーパス
内山将夫@NICT
mutiyama@nict.go.jp

1これまでのまとめ
コーパスベースの機械翻訳により
対訳コーパスから自動的に翻訳機を作ることができることを述べ，その手始めとして，IBM Model-1 を説明した．
ここでやること
ここでは，機械翻訳自体の話題は少し休んで，コーパスベースの機械翻訳に必要な対訳コーパスをどう手に入れたら良いかを話す．

2

ここでの話題• 対訳コーパスの重要性について• 現状で利用可能な対訳コーパス• 対訳コーパスを自動で作る方法• 機械翻訳以外における対訳コーパスの利用

3

対訳コーパスとはなにか
複数言語について，特に，意味内容がほぼ等しいと考えられる文について対応関係が付いているコーパスを
パラレルコーパスあるいは対訳コーパスと呼ぶ

4

対訳コーパスの例
オオカミと仔ヒツジ
The Wolf and the Lamb
ある日のこと、オオカミは、群とはぐれて迷子になった
仔ヒツジと出会った。
WOLF, meeting with a Lamb astray from the fold,
オオカミは、仔ヒツジを食ってやろうと思ったが、牙を剥いて襲いかかるばかりが能じゃない。
resolved not to lay violent hands on him,
何か上手い理由をでっち上げて手に入れてやろうと考えた。
but to find some plea to justify to the Lamb the Wolf’sright to eat him.
そこで、オオカミはこんなことを言った。
He thus addressed him:
「昨年お前は、俺様にひどい悪口を言ったな！」”Sirrah, last year you grossly insulted me.”
仔ヒツジは、声を震わせて答えた。
「誓って真実を申しますが、私はその頃、まだ生まれていませんでした。」”Indeed,” bleated the Lamb in a mournful tone of voice, ”I
was not then born.”
するとオオカミが言った。
Then said the Wolf,「お前は、俺様の牧草を食べただろう！」”You feed in my pasture.” 5

対訳コーパスの重要性• 対訳コーパスは，コーパスベースの機械翻訳にとって，前提条件である• 歴史的には，– まず，対訳コーパスが自動構築され– つぎに，それを利用して，統計的機械翻訳が研究された

6

対訳コーパスはなぜ重要か
統計的機械翻訳では，入力文 f についてê = arg max
P (e|f )e
なる ê を出力するが，この確率の推定には，手本となる対訳コーパスが必要だからである．

7

対訳コーパス構築の困難性
しかし，利用可能な対訳コーパスは少ない (後述)
その理由は，対訳コーパスの構築には，様々なことを解決しないといけないからである．

8

対訳コーパス構築における障害• 原文および翻訳文の獲得– 原文および翻訳文には，著作権保持者がいる．
– この著作権保持者の許可を得ないと– その文章は対訳コーパスに採用できない– たくさんの著作権保持者と交渉するのは，時間も費用もかかる• 高価
たとえ対訳コーパスがあったとしてもそれらは，しばしば，高価である．

9

研究利用可能なコーパスの例• Linguistic Data Consortium のコーパス
年会費 2500 ドル (30 万弱) を払うことにより，– 中国語 - 英語
– アラビア語 - 英語
– フランス語 - 英語の対訳コーパスを入手可能である．各言語対について 100 万文以上ある．

• Europarl コーパス
欧州諸語についてのコーパスが無償で利用可能である．各言語対について数十万の規模である．

• NICT で公開しているコーパス (無償)
日本語と英語の対訳コーパス．30 万文程度である．

• NTCIR で利用可能なコーパス (無償)
NICT で開発した日米特許対訳コーパス 180 万文を利用して，特許翻訳タスクが実施されている．

10

NICT で無償公開している対訳コーパス• 読売新聞と The Daily Yomiuri の対訳文 18 万文
http://www2.nict.go.jp/x/x161/members/
mutiyama/jea/index-ja.html• 小説など 160 作品の対訳約 10 万文
http://www2.nict.go.jp/x/x161/members/
mutiyama/align/index.html

11日英新聞記事対応付けデータ「読売新聞」と「The Daily Yomiuri」とで互いに翻訳関係にあるような文を自動的に対応付けたデータ• 1 対 1 文対応：15 万，1 対 n 文対応：3 万• 日英 2 言語コーパスとしては世界最初のある程度の規模のコーパス• 研究教育目的に利用可能
文対応の精度は 98% 程度

12

サンプル
• 欧州は、エディンバラにおいて合意され、コペンハー
ゲンにおいて強化された成長イニシアチブを精力的に実行しつつある。 Europe is carrying out vigorously
the Growth Initiative agreed in Edinburgh and strengthened in Copenhagen.
• 我々は、ロシアの経済発展にとって、改善された市場
アクセスが重要であることを認識する。We recognize
the importance of improved market access for economic
progress in Russia.
• 法人レベルでのパートナーシップ及びマネージメン
ト支援は、特に効果的であり得る。Partnerships andmanagement assistance at corporate level can be particularly effective.

13

検索例
low profile「Japan has kept a low profile」「日本は目立った行動を控えていた」
dispose of「dispose of bad assets」「不良資産の処理」

14

データの特徴• 新聞記事• 高品質な実例
欲しい表現全てを網羅するほど大きくはないが，頻出表現は網羅できる．
→ コーパスに基づく英語教育に利用

15日英対訳文対応付けデータ再配布可能な日英の作品について，対訳文対応を 1 文単位で付けたデータ• Project Gutenberg や青空文庫やプロジェクト杉田玄白などの作品について• 160 作品を公開

16

Project Gutenberg
Project Gutenberg, abbreviated as PG, is a volunteer effort
to digitize, archive and distribute cultural works. Founded
in 1971 by Michael Hart, it is the oldest digital library.[1]Most of the items in its collection are the full texts of publicdomain books. The project tries to make these as free as
possible, in long-lasting, open formats that can be used on
almost any computer. As of August 2007, Project Gutenberg claimed over 22,000 items in its collection. Project
Gutenberg is affiliated with many projects that are independent organizations which share the same ideals, andhave been given permission to use the Project Gutenberg
trademark.
From Wikipedia, the free encyclopedia

17

青空文庫
青空文庫は，利用に対価を求めない，インターネット
電子図書館です．著作権の消滅した作品と，「自由に読んでもらってかまわない」とされたものを，テキストと XHTML (一部は HTML) 形式でそろえいています．
「青空文庫早わかり」より

18

プロジェクト杉田玄白
プロジェクト杉田玄白というのは、いろんな文章を勝手に翻訳して公開しちゃうプロジェクトなのだ。プロジェ
クトグーテンベルグや、青空文庫の翻訳版だと思って欲しい。日本は翻訳文化だといわれるけれど、それならいろんな翻訳が手軽に入手できるようにすることで、もっともっと文化的な発展ができるようになるだろう。

19

作品の一部「80 日間世界一周」「DES のクラック：暗号研究と盗聴
政策、チップ設計の秘密」「RMS スウェーデン王立工科大学講演」「「年」の話」「『群集心理』」「あらし」「ひと，場所，もの，そして，アイデア」「わがままな大男」「アッシャー家の崩壊」「アモンティリャードの酒樽」「アラビー」「アルセーヌ・ルパンの逮捕」「イソップ寓話集」「エヴリン 「ダブリンの人々」より」「オズの魔法使い」「カール・マルクス Interview」「カウンターパーツ」「キリストにならいて」「クリスマス・カロル」「グレイ
ト・ギャツビー」「グロリア・スコット号」「ケンジントン公園のピーターパン」

20データの特徴• 小説やエッセイ
楽しみのために読むことができる．
デモ21

11. パラレルコーパスを利用した検索と対数尤
度比検定による対訳抽出
内山将夫@NICT
mutiyama@nict.go.jp

1

パラレルコーパスの英語学習への利用• 辞書を調べるような感覚でパラレルコーパスを調べる• 自由に利用できる対訳コーパス検索システム「日英対応付けコーパスの検索」

http://www.kotonoba.net/∼snj/cgi-bin/text-search/text-search.cgi

2日英対応付けコーパスの検索サイト• 35 万文の対訳コーパス– 読売新聞と The Daily Yomiuri 18 万文– ロイター日英 7 万文
– 小説等 10 万文• 月間で 200〜300 人程度が使っている模様

3

検索される語の例• 「バランス.*取」「Maintaining a balance between thetechnocrats’ liberalism and economic nationalism, andcurbing corruption among the nationalists was of keyimportance to the stability and economic development ofIndonesian society.」「こうした構図にあっては、テクノクラートの自由主義と経済ナショナリズムの＜＜＜バランスがうまく取＞＞＞れ、しかもナショナリ
ストに伴いがちな腐敗・汚職がそこそこコントロー
ルされていることが、社会の安定と経済の発展には重要であった。」• 「んじゃない」「you must not touch her.」「さわる＜＜＜んじゃない＞＞＞。」「But, I think the public might
be convinced if everyone nominated Mr. Nakasone
for the premiership.」「本当は中曽根さんを皆で担いだら、国民も納得する＜＜＜んじゃない＞＞＞か。」

4英語教育への利用• 日本大学中條清美先生
http://www5d.biglobe.ne.jp/∼chujo/resorce.
html– パラレルコーパスを利用した語彙指導タスク集– パラレルコーパスを利用した文法指導タスク集 1– パラレルコーパスを利用した文法指導タスク集 2

5

タスクの例
1. 「decline」の日本語訳で多いものをあげてみよう．
「下落」「減少」「衰退」「低下」「落ち込み」
2. 「efficiency」の日本語訳で多いものをあげてみよう．
「効率」「燃費」「能率」
3. 「製品」にあたる英語で特に多いものは何ですか．
「product」「products」
4. どんな製品がありますか．
「(...) products」となるものを 3 つ見つけて，日本語訳もつけましょう．
「foreign
products (外国製品)」「industrial products (工業製品)」「oil products (石油製品)」「steel products (鉄鋼製品)」
5. 「commercial (...)」という用例を 2 つ見つけて日本語訳をつけよう．
「commercial areas (商業地)」「commercial bank (都市銀行)」
6. 「inventory (...)」という用例を 2 つ見つけて日本語訳をつけよう．
「inventory adjustment (在庫調整)」「inventory index (在庫指数)」7. 「(...) access」という用例を 2 つ見つけて日本語訳をつけよう．
「free access (自由なアクセス)」「Internet
access (インターネットアクセス)」

6

対訳候補の抽出
対訳コーパスを便利に使うには，「efficiency」の日本語訳で多いものをあげてみようという質問に対して，「効率」「燃費」「能率」という回答が，素早く分かることが必要である．
そのために，

1. decline と特に良く共起する日本語単語を抽出する
2. その共起の度合を表す尺度として対数尤度比を利用する

7

対数尤度比を利用した対訳候補の抽出法
効率 効率以外
efficiencyaba+b
efficiency 以外 c
d
c+d
a+c
b+d
n
a = 「効率」と「efficiency」が共に存在する対訳文の数
b = 「効率」がなく「efficiency」がある対訳文数
c = 「効率」があり「efficiency」がない対訳文数
d = 「効率」も「efficiency」も存在しない対訳文数
n = 全対訳文数
読売新聞と The Daily Yomiuri のデータでは

a = 137, b = 59, c = 284, d = 149520
もし，「効率」の存在が「efficiency」の存在に影響を与え
ないならば
a
b
∼
(1)
a+c b+dのはずである．しかし，もし，「効率」と「efficiency」が良く共起するなら (あるいはあまり共起しないなら)ab
6=
a+c b+d(2)のはずである．
1 式は両者が確率的に独立であり，2 式は両者が確率的に従属であることを示す．→ 独立性の検定を利用し，独立性が低いものを抽出する．
8

対数尤度比検定 (Log-Likelihood Ratio Test)
P (データ | 従属)(3)
P (データ | 独立)を計算する．LLR À 0 ならば，「効率」と「efficiency」
については，従属であると考えた方が良いので，この値が大きければ，対訳候補として有望と考える．つまり各単語と「efficiency」について，LLR を計算し，そのLLR が大きい単語を対訳候補とする．
LLR = log9

対数尤度比の例
単語
対訳
a b
c
d
LLR
efficiency 効率 137 59 284 149520 710
efficiency 化
79 117 6984 142820 115
efficiency 燃費 14 182 15 149789 73
efficiency 性
51 145 4861 144943 67
efficiency 向上 22 174 455 149349 58
decline
減少 139 487 525 148849 439
decline
低下 91 535 550 148824 245
decline
下落 81 545 414 148960 230
decline減
56 570 245 149129 165
decline
連続 57 569 514 148860 131
commercial 商業 120 325 101 149454 564
commercial 銀行 131 314 1900 147655 302
commercial 都市 50 395 710 148845 111
commercial 捕鯨 26 419 83 149472 92
commercial 都銀 23 422 44 149511 91

10データの表現法
P (データ | 独立) や P (データ | 従属) を計算するには，
データを数値表現しないといけない．このときのデー
タの単位は対訳文である．そこで






1「efficiency」が対訳文 i に出現する
Ei = 
 0 出現しない






1「効率」が対訳文 i に出現する
Ki = 
 0 出現しないという変数を定義する．すると

a =
b =
c =
d =

n
X
i=1
n
X
i=1
n
X
i=1
n
X
i=1

[Ei = 1][Ki = 1](4)

[Ei = 1][Ki = 0](5)[Ei = 0][Ki = 1](6)

[Ei = 0][Ki = 0]

(7)

である．

11

P (データ | 独立) の計算
log P (データ | 独立) =

n
X
i=1

log P (Ei, Ki| 独立)= a log P (Ei = 1, Ki = 1| 独立)+ b log P (Ei = 1, Ki = 0| 独立)+ c log P (Ei = 0, Ki = 1| 独立)+ d log P (Ei = 0, Ki = 0| 独立)

log P (Ei = 1, Ki = 1| 独立)= log P (Ei = 1| 独立)P (Ki = 1| 独立)a + ba + c
= log
n
n
log P (Ei = 1, Ki = 0| 独立)= log P (Ei = 1| 独立)P (Ki = 0| 独立)a + bb + d
= log
n
n
残りの 2 つについても同様

12

P (データ | 従属) の計算
log P (データ | 従属) =

n
X
i=1

log P (Ei, Ki| 従属)= a log P (Ei = 1, Ki = 1| 従属)+ b log P (Ei = 1, Ki = 0| 従属)+ c log P (Ei = 0, Ki = 1| 従属)+ d log P (Ei = 0, Ki = 0| 従属)alog P (Ei = 1, Ki = 1| 従属) = lognblog P (Ei = 1, Ki = 0| 従属) = logn
残りの 2 つについても同様

13

問題 (15 分)
P (データ | 従属)
LLR = log
P (データ | 独立)
を a, b, c, d, n により，なるべく簡単な形式で表現して
下さい．

14

回答例

LLR =
+

a
b
a log a+bna+c + b log a+bnb+d
n n
n n
c
d
c log c+dna+c + d log c+dnb+dn n
n n= a log a + b log b + c log c + d log d+ (a + b + c + d) log n− (a + b) log(a + b) − (a + c) log(a + c)
− (b + d) log(b + d) − (c + d) log(c + d)
= l(a) + l(b) + l(c) + l(d) + l(n)− l(a + b) − l(a + c) − l(b + d) − l(c + d)
ただし，l(x) = x log(x)

15

まとめ
• 対訳コーパスは，英語教育や日本語教育にも役立つ• LLR を利用することにより，対訳候補を抽出できる

16

12. 対訳コーパスの自動作成
内山将夫@NICT
mutiyama@nict.go.jp

1

対訳コーパスの自動作成
対訳関係にある文章から対訳関係にある文対応を同定することにより対訳コーパスを自動作成する

2

対訳文対応同定の手順
1. 英語文章 E と日本語文章 J を用意する
2. E を辞書引きして，日本語単語に変換する
3. J を単語に分割する
4. 単語同士の対応を利用して，文同士の対応をみつける

3

日本語テキスト の例
j0 天文学者
j1 ある天文学者は、夜になるとしょっちゅう、星を観測しに郊外へと出かけて行った。
j2 ある晩、彼は、星に気を取られていて、誤って深い井戸に落ちてしまった。
j3 彼は、打ち身や切り傷をつくって、悲鳴を上げた。
j4 その声を聞きつけて、近所の人が井戸へと飛んできた。
j5 そして何が起きたのかを知ると、こんな事を言った。
j6 「天国を覗くことばかりに、うつつを抜かしてないで、少しは足下に注意を払いなさいな」

4英語テキスト の例
e0 The Astronomer
e1 AN ASTRONOMER used to go out at night to observe
the stars.
e2 One evening, as he wandered through the suburbs withhis whole attention fixed on the sky,
e3 he fell accidentally into a deep well.
e4 While he lamented and bewailed his sores and bruises,
e5 and cried loudly for help,
e6 a neighbor ran to the well,e7 and learning what had happened said:
e8 ”Hark ye, old fellow, why, in striving to pry into what
is in heaven,e9 do you not manage to see what is on earth?
e10 ”

5

日本語テキスト を単語に分割し 内容語をとる
j0 天文学 天文学
j0 者 者...
j1 出かけ 出かける
j1 行っ 行くj2 晩 晩j2 彼 彼...
j2 井戸 井戸j2 落ち 落ちる
j3 彼 彼...
j3 上げ 上げる
j4 声 声j4 聞きつけ 聞きつける
j4 近所 近所...
j5 起き 起きる
j5 知る 知る
j5 事 事...
j6 注意 注意
j6 払い 払う6

英語テキスト を辞書引きする
e0 astronomer 者 天文学 astronomer
e1 go_out_at_night 戸出 夜 夜歩き
e1 observe マーク 意見 監視 観ずる 観る ...
e1 stars 星屑 星辰 天涯孤独 到達 不可能 ...
....
e2 fixed あてがう こわばる 一定 確固たる...
e2 sky お天気 たる ひばり スカイ ...
e3 fell すさまじい たくましい ぴりっと ...
...
e4 lamented 哀悼 故人 死者 惜し む ...
e4 bewailed bewail 哀 号 号泣 愁傷 ...
e4 sores sore しゃくにさわる ただれる ...
...
e6 neighbor 近く 近所 近付ける 近傍 ....
e6 ran くつ下 ぶつける バス 引く ...
e6 well い いい す たんまり ...
e7 learning 憶 憶える 科学 会釈 ...
...
e8 striving 合 辛苦 戦 張 張りあい ...
e8 pry こじあける せんさく てこ ...
...
e9 see お目もじ ご覧 しばしば ...
...
7

文同士の対応をみつける
天文学者
The Astronomer
ある天文学者は、夜になるとしょっちゅう、星を観測しに郊外へと出かけて行った。
AN ASTRONOMER used to go out at night to observe thestars.
ある晩、彼は、星に気を取られていて、誤って深い井戸に落ちてしまった。
One evening, as he wandered through the suburbs with hiswhole attention fixed on the sky,
he fell accidentally into a deep well.
彼は、打ち身や切り傷をつくって、悲鳴を上げた。
While he lamented and bewailed his sores and bruises,
その声を聞きつけて、近所の人が井戸へと飛んできた。
and cried loudly for help,a neighbor ran to the well,
そして何が起きたのかを知ると、こんな事を言った。
and learning what had happened said:「天国を覗くことばかりに、うつつを抜かしてないで、少しは足下に注意を払いなさいな」”Hark ye, old fellow, why, in striving to pry into what is inheaven,do you not manage to see what is on earth?
”8どういう文同士の対応をみつけるか可能な対応例はたくさんあるそのうちで最適なものを見つけたい

j0
e0
j1
e1
j2 e2, e3
j3
e4
j4 e5,e6
j5
e7
j6 e8,e9,e10

j0
e0,e1
j1,j2 e2, e3
j3
e4
j4 e5,e6,e7
j5,j6 e8,e9,e10

9最適性の定義
arg

X

max

文対応例 ∈ 可能な文対応集合 各文対応

SIM(各文対応)• いくつもの文対応例があるが，そのうち，上式を満すものをとる• このとき，SIM は，ある文対応例における，各文対応の類似度である．
• よって，上式における和は，ある文対応例のスコア
として，• 各文対応の類似度の和を採用している．
要するに，類似度最大となるような文対応例を求める

10

数式表現
i-m=4-3=1

i=0

i=1







i-m+1
i
i=2



i=3

i=4



i=4

m=3

まず，複数文を表現するために，i が 日文i と 日文i+1 の間にあるとすると
日 (i − m, i) = 日i−m+1日i−m+2...日i英 (j − n, j) = 英j−n+1英j−n+2...英j
は，日i 以前の m 単語と，英j 以前の n 単語である．そうすると J を日本語文数，E を日本語文数として，

max

J
X

E
X

i
X

j
X

i=0 j=0 m=0 n=0SIM(日 (i − m, i), 英 (j − n, j))となるような類似度の中で，ちゃんと対応の整合性がとれているようなものをとる．

11

再帰式による最大スコアの計算
今計算したいものは，S(i, j) である．
S(i, j) とは，日本語文が i 文，英語文が j 文並べられたときの最適スコアである．
i-m=4-3=1

i=0

i=1







i-m+1
i
i=2



i=3

i=4



i=4

m=3





 

j-n=1

j=3
n=2

このとき，S(i − m, j − n) が既に求まっていると仮定す
る．つまり，日本語の i − m 文までと，英語の j − n 文
までは，対応済みとする．上例だと，「 日1日2日3日4 」と「英1英2英3 」のスコアを求めるとき，m = 3, n = 2 のときには，日1 と 英1 のスコアは計算済とする．すると

S(i, j) = S(i−m, j −n)+SIM(日 (i−m, i)+ 英 (j −n, j))
により S(i, j) が求まる．
12

つまり

S(日1日2日3日4 ，英1英2英3)= S(日1 ，英1) + SIM(日2日3日4, 英2英3)(1)である．これは，m と n が与えられている場合であるが，m と n については，固定されていないので，全ての m と n を考える必要がある．ただし ，あまり多くす
ると計算量が多くなるので，たとえば，(n, m) ∈ {(1, 0), (1, 1), (1, 2), (1, 3), (0, 1), (2, 1), (3, 1), (2, 2)}とする．そのとき，S(i, j) = max
S(i−m, j−n)+SIM(日 (i−m, i), 英 (j−n, j))m,nである．また，S(0, 0) = 0
なので，帰納的に最適スコアを定義できる．

13

S(i, j) の計算法
テーブル S を用意して，それを小さい方から埋めていく
日1(a, b), 日2(c), 日3(d)英1(a, b), 英2(c, d)について，1 対 1，1 対 2，2 対 1 の対応を許すときに，どのような文対応があるかをみる．a,b,c,d は単語とする．
類似度は2|J ∩ E|
SIM(J, E) =|J| + |E|により計算する．ただし，J,E は日英における単語集合．

14

テーブル Sj

               
2
S(1,2)

1

path1

S(3,2)

path5

path6

path4

  c,dS(2,2)         S(1,1)



path2

S(2,1)

a,b
path3
0

S(0,0)=0

0

 

 

1

a,b

c

15

2


d

3

i

テーブル S の埋め方
• まず，S(0, 0) = 0 とする
次に，i, j の小さい方から S(i, j) を埋めていく．このとき，1 対 1，1 対 2，2 対 1 の文対応のみを許すので，図のパスのように，斜め方向に進む対応のみが許される．
したがって，
i = 1 のときには，

path1 SIM(日 1, 英 12) = SIM({a, b}, {a, b, c, d}) =
2×2
4
=
2+4
6 = 0.67
path2 SIM(日 1, 英 1) = SIM({a, b}, {a, b}) = 2×2
2+2 = 1
よりS(1, 1) = S(0, 0) + SIM(日 1, 英 1) = 1
S(1, 2) = S(0, 0) + SIM(日 1, 英 12) = 0.67

16i = 2 のときには，
path3 SIM(日 12, 英 1) = SIM({a, b, c}, {a, b}) = 2×2
3+2 =4
5 = 0.82
path4 SIM(日 2, 英 2) = SIM({c}, {c, d}) = 2×1
=
1+2
3 =
0.67

path1 から S(2,2) に移るためには，真横に移動しないといけないが，これは，日本語文は消費されるが，英語文は消費されないので，1 対 0 の対応となる．この対応は許されていない．よって，
S(2, 1) = S(0, 0) + SIM(日 12, 英 1) = 0.8
S(2, 2) = S(1, 1) + SIM(日 2, 英 2) = 1 + 0.67 = 1.67

17

i = 3 のときには，
path5 SIM(日 23, 英 2) = SIM({c, d}, {c, d}) = 2×2
2+2 = 12=
path6 SIM(日 3, 英 2) = SIM({d}, {c, d}) = 2×1
1+2
3 =
0.67

よって，path5 を通ったときにはS(3, 2) = S(1, 1) + SIM(日 23, 英 2) = 1 + 1 = 2
path6 を通ったときにはS(3, 2) = S(2, 1) + SIM(日 3, 英 2) = 0.8 + 0.67 = 1.47
これらの最大値をとって，

S(3, 2) = 2

18

S(0, 0) から path2 と path5 を通って S(3, 2) に至るパスが最適解である．そのときの対応は，
S(3, 2) = S(1, 1) + SIM(日 23, 英 2)
= S(0, 0) + SIM(日 1, 英 1) + SIM(日 23, 英 2)
= 0+1+1=2
より，「 日 1 と英 1 」「日 23 と英 2 」が対応している．
j               

S(2,2)

2
S(1,2)



1
path4
path5
0.67

  

c,d
1

path1

S(3,2)

path6
0.67

         S(1,1)

0.67



path2

S(2,1)

1

a,b
0

path3
0.8

S(0,0)=0

0

 

 

1

a,b

c

19

2


d

3

i

文対応のまとめ日本語文数を J，英語文数を E とするとS(J, E)は最大スコアによる文対応のスコアとなる
このとき，各文対応を a1, a2, ..., aN とするとS(J, E) =N
X
i=1

SIM(ai)

ただし ，ai は，前述の path にあたると考えてよく，
SIM(ai) は，対応 ai を構成する日本語文と英語文の類似
度である．
このとき，
S(J, E)AVSIM =
N
は，各対応 ai の類似度 SIM の平均値である．

20

対訳コーパスの自動構築
新聞記事のように，必ずしも直訳されていない対訳テ
キスト T1, T2, ... があるとする．
各 Ti に つ い て ，文 対 応 を 求 め る と ，そ れ に よ り
AVSIM(Ti) が求まる．
AVSIM(Ti) が大きい Ti は良く似た文対応からなると考えられる．
したがって，この値の大きいテキストをとることにより，対訳の度合が高いテキストを取ることができる．
また，良い対応のテキストに含まれる文は，良い文対応だと考えられるので，
文対応のスコア = SIM × AVSIM
は，テキストの類似度までを考慮した文対応スコアである．
この文対応スコアが大きいものから対訳コーパスに採
用する．

21

対訳コーパスについてのまとめ• 現状で利用可能な対訳コーパスとして，NICT で公開しているものを紹介した．
• 対訳コーパスは機械翻訳以外にも使えることを示した．
• 対訳テキストから対訳コーパスを自動作成する方法
を示した．

22

翻訳モデルと翻訳エンジン
内山将夫@NICT
mutiyama@nict.go.jp

1これまでのまとめ• MT の性能評価• 言語モデル• 単語対応のモデル化• 対訳コーパスの作成
これからの目次• 翻訳モデルと翻訳エンジンの関係• 句 (フレーズ ) に基づく翻訳モデル• 句表 (フレーズテーブル ) の作成• 対数線形モデルとデコーダー• 誤り率最小化訓練 (MERT, minimum error rate training)2翻訳モデルと翻訳エンジンの関係• 翻訳エンジンというのは，入力文 f を受け取り，それを翻訳して，出力文 ê とするものである．
• そのときには，何らかの探索アルゴ リズムを利用して，最適スコアの出力文 ê を得る．
• そのスコアの付け方 g を翻訳モデルというê = arg max
g(e, f )e– ê は出力文– arg maxe は最適解の探索を示す– g(e, f ) が翻訳モデル• 翻訳エンジンは，翻訳モデルに従って，最適な翻訳を得るためのものである.

3

探索アルゴリズムと翻訳モデルの密接な関係
1. 出力候補の数はとても多い．
入力 f = f1f2...fm が，それぞれ，3 単語の対訳単語をもつとすると，それだけで，3m の組み合わせがある．さ
らに順番が入れかわるので，m!3m の組み合わせがある．
これは，単語が 1 対 1 に翻訳されるとした場合でもであ
る．
m 1 3
5
7
10
m!3m 3 162 29160 1 千万 2000 億のように単語数 m に応じて，すぐに大きくなる．
→ 全部を列挙することは不可能

4

探索アルゴリズムと翻訳モデルの密接な関係
2. 探索は翻訳モデルにガイド される
少しずつ出力文をつくっていき，その都度，翻訳モデル
により割当てられるスコアの小さい候補を消していく
e1

e3
e2

e4

e6
e5

e7

e9

e8

e10

e12

e11

良い翻訳モデルならば良いスコアを与えることができるので，いらない候補を早く消すことができる．また，スコアの計算方法と探索法とには，密接な関係がある．
→ 実際上スコアの計算法は，探索方法により決まる
ただし，たとえば，混合整数計画法により，スコアを定義することも可能なので，そのうちに，探索法は，MTの研究の枠外になるかもしれない．
5

統計的翻訳モデルの歴史概観
1. 単語単位の翻訳モデル (1980 年代後半〜1990 年代)
2. 句単位の翻訳モデル (1990 年代後半〜)
3. 構造に基づく翻訳モデル (2000 年代半ば〜)
2 や 3 の始まりは，1 に少し遅れた時期だが，研究が盛んになったのは，それぞれ，2000 年〜，2005 年〜くらいである．現在は，構造に基づく翻訳モデルに研究の主流は移ってきている．
しかし ，句単位の翻訳は，簡単でかつ効率的で，構造に基づく翻訳の基礎となるものなので，ここでは，句単位の翻訳モデルを紹介する．

6

14. 句単位の翻訳モデルの概要
内山将夫@NICT
mutiyama@nict.go.jp

1句単位の翻訳 (Phrase-based SMT)
• ここでいう句 (フレーズ ) とは，任意の連続する単語列のことであり，名詞句や動詞句などの言語学的な単位とは無関係である．
• 句単位の翻訳は– 入力文を句に分割する– 各句を翻訳する– 翻訳した句を並べかえる
ことによりできる2句単位の英日翻訳の例%"&

preferred embodiments ofthe present invention "!$# will be described  

hereinbelow

with reference tto theaccompanying drawings• 英語の文を句にわける(e.g., will be described)• 各句を翻訳する(e.g., について説明する)• 句を並べ替える

3句単位の翻訳に必要なもの
1. 句の翻訳表 (フレーズテーブル )英句 1 和句 1
英句 2 和句 2...
2. 翻訳候補へのスコア付けの方法
まず，1 について説明する．

4

15. フレーズテーブルの作り方
内山将夫@NICT
mutiyama@nict.go.jp

1フレーズテーブルの作成手順
1. 初期単語アライン メント
2. 単語アライン メントの修正
3. 単語単位の翻訳確率の推定
4. フレーズ対応の抽出
5. フレーズへのスコアの付与
結果
英語句 ||| 日本語句 ||| スコア 1 スコア 2 ...
これらの句のスコアを上手く組み合わせて文全体のスコアを得る．

2

初期単語アラインメント
GIZA++ というフリーソフトウェアを利用することが多い．これを，たとえば，日英の方向に，• IBM Model-1 (紹介済)• HMM Model• IBM Model-3• IBM Model-4を順番に適用していくことにより，日英の各文対応について，1 対 n の単語対応を得ることができる．
英日にもすることにより，両方向に，1 対 n の単語対応を得る．
=========================
単語アライン メントは未解決の問題だが，ある程度まではできるので，とりあえず，そこまでを前提にして，次に進んでいる．

3日英単語アラインメント の例
when

the

fluid

pressurecylinder

31

is

used

,

fluid

is

gradually

applied

.

*

流体

*

圧

*

シリンダ

*

３１
の
場合

*
*

は

*

流体

*

が
徐々に

*

排出

*

さ

*

れる

*

こと

*
*

と
なる

*

。

4

日英単語アラインメント の例
this

relationmustbemaintained

even

at

least

100,000

sheets.

*、関係

passing

*

そして
上記

after

*
*
*

を

*

少なくとも
１０万

*

枚

*

通

*
*

紙

*

し
て

*

も

*
*

維持

*

し
なけれ

*

ば

*

なら

*

ない

*
*

。

5

日英単語アラインメント の例
first
まず
、

,

a

description

will

be

given

of

the

structureofthewheels

2

.

*
*
*

車輪

*

２

*

の

*

構造
について

*

説明

*

する

*
*

。

6

英日単語アラインメント の例
流体

圧

シリンダ

３１

when

の

場合

は

pressurecylinder
31

が

徐々に

排出

さ

れる

こと

と

*

the
fluid

流体

*
*
*
*
*

is

*

used

*

,
fluid

*

is

*

gradually*

applied

*

.

7

なる

英日単語アラインメント の例
まず

first
,

、

車輪

２

の

構造

について

説明

する

。

*
*

a
description

*

will

*

be

*

given

*

of

*

the

*

structure

*

of

*

the
wheels
2

*
*
*

.

*

8

日英英日アラインメント の合成• アライン メントの積集合 = I→ 精度の高い単語対応• アライン メントの積集合 = U→ カバー率の高い単語対応
I を出発点として U 中のアラインメントを加えていく．

9日英と英日の合成の例
when

the

fluid

pressurecylinder

31

is

used

,

fluid

is

gradually

applied

.

I

流体

I

圧

I

シリンダ

I

３１
の
場合
は

I
U

U
I

流体

I

が
徐々に

I

排出

U

U
U

さ

U

れる

U
U

こと

U

と

U

なる

I

。

10

日英と英日の合成の例
this

relationmustbemaintained

even

at

least

U

I

100,000

sheets.

U、関係

passing

U

そして
上記

after

I
I
U

を
少なくとも

I

１０万

U

枚

U

通

U

U
U

紙

U

し
て

U

も

I

U

I

維持

U

し
なけれ

U

ば

U

なら

I

ない

U

U
I

。

11

日英と英日の合成の例
first
まず
、

,

a

description

will

be

given

of

the

structure

of

the

.

I
I

２

U

の

U

U
I

構造

U

について
する

2

I

車輪

説明

wheels

I

U

I

U
U

U

U

U
I

。

12

合成手順
#
# アライン メント候補 = {(e_i, f_j)} は e_i + fj が小さいものから並# んでいる．そうすることにより，文頭のものから優先して対応付けてい# くことができる．
#
日英英日アライン メントの合成 ()隣接点集合 = ((-1,0),(0,-1),(1,0),(0,1),(-1,-1),(-1,1),(1,-1),(1,1))
アライン メント候補 = 積集合 I(日英アライン メント，英日アライン メント )隣接する 1 対 1 の点を追加する ()その他の点を加える ()アライン メント候補を返す

end
隣接する 1 対 1 の点 N を追加する ()while truefor (j, e) ∈ アライン メント候補
for (j0, e0) ∈ 隣接点 (j,e) ∩ 和集合 (日英，英日)
if(j0 も e0 もアライン メント候補で使われていない)(j0, e0) をアライン メント候補に追加する (そうしても 1 対 1 が壊れない)
end
end
end
アライン メント候補に追加がなければ終了する
end
end
#
# なるべく多くの点を加えたいが，日英共に使われているのは加えない#
その他の点 O を加える ()for (j,e) ∈ 和集合 (日英，英日)
if (j か e のど ちらかがアライン メント候補で使われていない)(j,e) をアライン メント候補に含める
end
end
end

13

合成の例
(I=積集合，N=隣接点，O=その他の追加, U=削除され
た点)
when

the

fluid

pressurecylinder

31

is

used

,

fluid

is

gradually

applied

.

I

流体

I

圧

I

シリンダ

I

３１
の
場合
は

I
N

O
I

流体

I

が
徐々に

I

排出

U

N
O

さ

U

れる

O
O

こと

O

と

O

なる

I

。

14

合成の例
this

relationmustbemaintained

even

at

least

O

I

100,000

sheets.

O、関係

passing

O

そして
上記

after

I
I
O

を
少なくとも

I

１０万

U

枚

U

通

N

O
O

紙

U

し
て

O

も

I

O

I

維持

O

し
なけれ

O

ば

O

なら

I

ない

O

U
I

。

15

合成の例
first
まず
、

,

a

description

will

be

given

of

the

structure

of

the

.

I
I

２

O

の

N

U
I

構造

U

について
する

2

I

車輪

説明

wheels

I

O

I

N
O

O

O

O
I

。

16

単語単位の翻訳確率• これまでに，日英，英日の 1 対 n および m 対 1 の単語対応を組み合わせて m 対 n の単語対応を得る方法を示した．
• これから，それを利用して，フレーズを抽出する方法を示す．
• その前に，ここで得た m 対 n の対応から単語単位の辞書を作る方法を示す．

17

単語単位の辞書
アライメントe1 e2 e3 e4
j1 *
*
j2
j3
*
j4
*
から，(j1,e1), (j1,e3), (j3, e2), (j4,e4) の単語対応がとれ
るので，これから，j → e と e → j 方向の辞書がつくれる．更に，#(j, e)P (j|e) = P0
j 0 #(j , e)#(j, e)P (e|j) = P
0e0 #(j, e )により，単語単位の翻訳確率が求まる．(スムージングをしても良い)18単語単位の辞書：頻度 日本語単語 英語単語
2230457 、 the
1811473 、 ,1804260 。 .
1802874 の of
1767572 の the704450 に to668066 は the
584253 が is543500 は is527825 に in
480009 する the448118 を is376711 と and376195 、 a
365107 図 fig.
345039 を of
287703 ） )285186 （ (281659 信号 signal
272811 を to245721 データ data
230038 回路 circuit
224630 で in
209459 で ,202160 に on
198721 １ 1196317 から from193708 この the
177043 に shown
175086 し the
166888 、 and
164284 た the
154881 は a

146977 さ to146509 ２ 2143482 を for
142192 し to140494 出力 output
139684 制御 control
135600 が are
130609 は are
128437 この this
126068 実施 embodiment
124007 ３ 3117825 する to112598 よう as111611 た a
110575 ステップ step109286 ４ 4106286 および and105113 を are
101722 で by
101291 及び and100440 示す shown
98899 が of
98684 が can
97290 示す in
96570 ５ 595364 １０ 1095330 電圧 voltage
93903 する be
93619 入力 input
92337 さ in
89141 形成 formed

1987623 する a
87410 において in
85936 １ first
85471 その the
84919 として as
84888 第 first
84615 に with
84356 メモリ memory82459 ６ 682098 値 value
81423 に ,79752 情報 information
79287 １２ 1279126 １１ 1179048 の for
78406 例 embodiment78238 に at
78233 こと can
77678 接続 connected
77671 、 an
77513 部 portion
75575 画像 image
75000 ／ /73687 に into
72920 上記 the72590 層 layer
72466 第 second
72399 ７ 772231 膜 film

単語単位の辞書：P (日 | 英) でソート
ｅｍｕ emu
ＳＣＬＫ sclk1+ .sub.+ウェル -well
ＬＲＤ lrd
ＬＡＴ lat.sub.
ＭＲＳＯＵＴ mrsout
０ ０ ０ ０ ０ ０ ０
０ 00000000
ＷＤＲ wdr
ＣＢＳ cbs.sub.
ＰｘＲ pxr
ＭＢＴ mbt
ＭＢＱ mbq
ＢＲＥ bre６８５ 685. 38q
ｒａｍａｒｅａ ramareaｋＤａ kdaＳｄｗ s.sub.dw
ＲＨＩＴ rhit
ＣＳ cs.sub.
ｄｓｐｌｓ dspls
ＺＯＤＬ zodl
ＧＣＦ gcf
７０３０ 7030
ｐｒｅｔｒｎ pretrn
ｄｑｍｘ dqmx
２ 2.sup.
ｗｒｅｑ wreq
ＲＷＣ rwc
ＳＧＰ sgp
３０８０ 3080
排気 exhaling

カテプシン cathepsin
ＷＣＢＲＢ wcbrb
Ｖｐｋ vpk
Ｖｆｖ vfv
ＴＲＢＬ trbl
ＰＤＲＨＩＴ pdrhit
Ｃｔｓ c.sub.ts
４０８０ 4080
試験 under-testｒｏｍａｒｅａ romarea
ＲＭＩＳ rmis
ＰＧ pg.sub.
ＣＴＲＬＲ ctrlr
３１１ 3.sub.11
３０９０ 3090
２０４１ 204.sub.1
１００７０ 10070
セ ル フ プ リ チャー
ジ self-precharge
ｗａｉｔｉｄ waitid
ＺＭＲ zmrＶｐａｓｓ vpass
ＯＰＲＨ oprh
ＬＩＯｉ lioi
１９１６ 1916
日 date-indicatingｒｂｌｊ rblj
ＺＣＯ zcoＷＳＥＬ wsel.sub.
ＶＴＴＡＯ vttao
ＲＳＲａｖ rsr.sub.av
ＰＤＲＴＰｉ pdrtpi
Ｎｓａ nsa.sub.
Ｉａｂ i.sub.ab

20

Ｃｄｘ cd.sub.x
× .times..sigma..sub.i3
ｉｎｏｄｅ inode
ＳＥＮＰｎ senpn
ＳＤＢｎ sdbn
ＰＦＡｉ pfai
ＭＯＰＬＳ mopls
Ｋ Ｆ Ｌ Ｅ Ａ Ｋ Ｍ
Ｘ kfleakmx
ＣＡＤ cad7
９８０ 980.degree.
８５１０ 8510
８３１ 83.sub.1
１０ ta.sub.10
偏り one-sidedness
微動 micromotion
ｑ se.sub.1-q
ｍｅｎｔ mentｅ Ｅ Ｃ Ｏ Ｎ Ｏ Ｍ
Ｙ eeconomy
ＴＲＲＱ trrq
ＲＳＤＦ rsdf
ＲＰＲＧ rprg
ＱＨＮ qhn
ＩＲＱ irq9
ＨＮＭＯＳ hnmos
ＧＬｊ glj
ＥＡＶ eav
ＤＷＤＥ dwde
Ｂｊｂ bjb
ＢＲＩａ bria
５０２２ 5022
３１２２ 3122

単語単位の辞書：P (英 | 日) でソート
オーデ イオ audio
ｐ ｃ ｈ Ｍ Ｏ Ｓ Ｆ Ｅ
Ｔ pch-mosfet
ＩＩＤＲ iidr@ @ｃｏａｒｓｅ coarse
ｉｒｏｍ irom
Ｖｃｃｐ vccp
ＧＤＩ gdi
ＭＳＫｉ mski
ＣＫＭ ckm
ＮＰＲ nprＳＰＬ spl
ＲＨＩＴ rhit
ＮＯＸ .sigma.nox
ＺＭＣＨＧ zmchg
ＳＴＸ stx
ＲＩＴ rit
ＧＢＵＦＲ gbufr
ｅｘｔＺＲＡＳ extzras
ＭＮＰ mnp
コースター coasterＳｕｐ s.sub.up
９１００ 9100
ｅｘｔＺＣＡＳ extzcas
ＳＨＬ shlＩｎｚ in.sub.z
Ｉｍｓ i.sub.ms
ＢＬｒ blr
フォーマツタ formaterｄｉｇｅｓｔ digest
Ｒ Ｘ Ｔ ｐ ｕ ｌ ｓ
ｅ rxtpulse
ＤＲａ dra
ＷＢＬｎ wbln
ＳＰＸ spx
ＳＥＬＦＯＳＣ selfosc
ＦＭＴ fmt
ＣＡＳＩ casi
ＰＲＥＤ pred
ＤＴＧ dtg
Ｃｏｐｙ copy
ＣＡａ caaｔＰＧＲ tpgr
ｄｑｍｘ dqmx
ＸＳＵ xsu
Ｖｒｃ vrc
ＶｃｏｍＨ vcomh
Ｓｌｕ slu
ＤＢＢａ dbba
ｍｐｇｍ mpgm
ｆＡ fa
ＸＢＬＡ xbla
ＲＥＭＥ reme
ＭＢＷ mbw
Ｃｌｔ clt
ＣＯＣ coc
ＣＬＥ cleＲＷＬＥ rwle
ＲＢＬｎ rbln
ＮＢＣ nbc
ＢＴＧ btg

21

ＢＧＭＭ bgmm
８２，８２ 82
スレッシュ thresholdｑｃ qc
ｏａｍ oamｍ ｅ ｔ ａ ｐ ｈ ｏｒ metaphor
ＴＨｉｄｌ th.sub.idl
ＳＰＫＵ spku
ＲＭＢ rmb
ＲＦＩＣ rfic
ＥＸＴＣＬＫ extclk
ＢＬｈ blh
４０９０ 4090
ｎＭＩＳ nmis
ｌｕｎｃｈｅｒ luncherａ ｕ ｔ ｏ ｍ ａ ｔ ｏｎ automaton
Ｖｈｉｇｈ vhigh
ＳＬＩＦ slif
ＧＷＤ gwd
ＧＦＭ gfm
ＥＡＤ eadＤｉｎＬＢｎ dinlbn
ＣＷＬ cwl
ＣＴＲＬＲ ctrlr
ＢＳＢ bsb
１，５５５ 1,555
ｗａｉｔｉｄ waitid
ｖｂａｔ vbat
ｆｕｐ f.sub.up
ＸＳＤ xsd
ＶＺ vz
ＳＡＮＧ sang
ＭＩＳＦＥＴＱｈ q.sub.h単語単位の辞書：対数尤度比でソート
。 .
の of
、 ,
、 the
の the
図 fig.
信号 signal） )（ (データ dataに toが is
回路 circuit
と and
は is
１ 1
から fromに in
出力 output
制御 control
２ 2
３ 3
を is
４ 4
電圧 voltage
実施 embodiment
１０ 10
ステップ step
５ 5
入力 input
メモリ memory
情報 information
１２ 12
６ 6

１１ 11
値 value
この thisは the
層 layer
発明 invention
７ 7／ /画像 image
膜 film８ 8
方向 direction
２０ 20
１４ 14
に on
および andする the１３ 13
処理 processing
アドレス address
位置 position、 a
形成 formed
及び andで in
ゲート gate
９ 9
１６ 16
接続 connected

22

第 firstよう as
電流 current
電極 electrode
２１ 21
１５ 15
本 present
動作 operation
２２ 22
部 portion
基板 substrate
半導体 semiconductor
として as
図 figs.
３０ 30
示す shown
トランジスタ transistor
例 embodimentに shown
第 second
レベル level
端子 terminal
装置 apparatus
装置 deviceを of状態 state
記録 recording
１ firstない notP (∗| 流体) と P (∗|fluid)# P(*|流体)
流体 fluid 0.84868421
流体 hydraulic 0.01946272
流体 gas 0.01151316
流体 fluids 0.01096491
流体 flow 0.01041667
流体 liquid 0.00849781
流体 liquid-pressure 0.00603070
流体 hydrodynamic 0.00575658
流体 working 0.00301535
流体 piston 0.00274123# P(*|fluid)
fluid 流体 0.45072063
fluid 液 0.23875382
fluid 油 0.10642015
fluid 液体 0.02576794
fluid ブレーキフルード 0.01892561
fluid 流動 0.01368467
fluid 油圧 0.00873490
fluid 流 0.00844373
fluid 作動 0.00698792
fluid 連 0.00684234
23

フレーズ対応の抽出
これまでに
e1 e2 e3 e4
j1 *
j2
*
j3
*
j4
* *
のような単語対応を得る方法を述べた．次は，ここから句対応を得る方法を述べる．
基本方針
単語対応に整合するような，なるべく多くの句対応を得る．

24

整合的な句の例
e1

e2

e3

e4

j1

j2

j3

j4

青はＯＫ．赤はダ メ．
日本語の句 J と英語の句 E について，j ∈ J の対応先
を e(j) とすると，e(j) ∈ E でないといけない．
同様に e ∈ E の対応先を j(e) とすると，j(e) ∈ J である．
つまり，対応の相手は，日本語句 J 内の単語と英語句 E
内の単語に限られる．

25

句対応の例：fluid を含む句の例( 流体 ||| ( fluid ||| 0.166667 0.0307503 1 0.623726 2.718( 流体 圧 ) ||| ( fluid pressure ) ||| 0.5 0.000742744 1 0.200361 2.718( 流体 圧 ||| ( fluid pressure ||| 0.5 0.010301 1 0.266855 2.718( 流体 圧 源 ) ||| ( fluid pressure source ) ||| 1 0.000104349 1 0.159524 2.718( 流体 圧 源 ) １７ ||| ( fluid pressure source ) 17 ||| 1 9.465e-05 1 0.132599 2.718( 流体 圧 源 ||| ( fluid pressure source ||| 1 0.00144721 1 0.212466 2.718) の 送 液 ||| ) of fluid ||| 1 2.88816e-05 1 0.0150938 2.718) の 送 液 が ||| ) of fluid has ||| 1 6.6955e-06 1 0.000451654 2.718) の 送 液 が あっ た ||| ) of fluid has taken ||| 1 2.55555e-09 1 7.43761e-07 2.718、 ３ は 液 圧制 御 装置 ||| , a fluid pressure control apparatus 3 ||| 1 2.28706e-07 1 0.000292281 2.7、 ３ は 加工 液 ||| , 3 a dielectric fluid ||| 1 3.63074e-05 1 3.96712e-06 2.718、 ３ は 加工 液 、 ||| , 3 a dielectric fluid , and ||| 1 1.47644e-05 1 5.67333e-08 2.718、 ３８ は 加工 液 ||| , 38 is working fluid ||| 1 0.0088037 1 0.000662696 2.718、 ３８ は 加工 液 供給 ||| , 38 is working fluid supplying ||| 1 0.0062226 1 4.34916e-05 2.718、 ３８ は 加工 液 供給 手段 ||| , 38 is working fluid supplying means ||| 1 0.00427184 1 3.16053e-05 2、 ４１ ｄ 、 流体 ||| , 41d , fluid ||| 1 0.0345864 1 0.000467132 2.718、 ４１ ｄ 、 流体 貯留 ||| , 41d , fluid storing ||| 1 0.00048108 1 8.14764e-05 2.718、 ４１ ｄ 、 流体 貯留 タンク ||| , 41d , fluid storing tank ||| 1 0.000284362 1 7.14906e-05 2.718、 ６ および 流体 ||| and 6 and a fluid ||| 1 0.00410477 1 0.00964129 2.718、 ６ および 流体 測 温 ||| and 6 and a fluid temperature measuring ||| 1 7.86306e-06 1 0.000721089 2.7、 ６１

は 伝 熱 流体 ||| , 61 ’ a heat-transfer fluid ||| 1 0.00216443 1 0.000518098 2.718、 ６１ は 伝 熱 流体 ||| , 61 is a heat-transfer fluid ||| 1 0.0185343 1 0.00119982 2.718、 ７７ は 加工 液 ||| , 77 is a working fluid ||| 1 0.00864883 1 0.00028376 2.718、 ７７ は 加工 液 ノズル ||| , 77 is a working fluid nozzle ||| 1 0.00764329 1 0.000210182 2.718、 ７８ は 加工 液 ||| , and 78 is a working fluid ||| 1 0.00521192 1 1.09199e-05 2.718、 Ｐ は 流体 ||| , p denotes fluid ||| 1 0.122825 1 0.000660778 2.718、 Ｑ は 流体 の 流量 ||| , q denotes flow rate of fluid ||| 1 0.0145985 1 2.77106e-05 2.718、 および 、 第 ２ 液 ||| and a second fluid ||| 0.333333 9.53798e-05 1 0.00106579 2.718、 および 、 第 ２ 液 圧 ||| and a second fluid pressure ||| 0.5 3.19513e-05 1 0.00045599 2.718、 この 液 ||| , and this fluid ||| 1 0.0557024 0.166667 0.000360561 2.718、 この 液 ||| , the fluid ||| 0.0285714 0.0047175 0.166667 0.014136 2.718、 この 液 ||| , this fluid ||| 1 0.0934985 0.333333 0.00959799 2.718、 この 液 ||| 8 , and this fluid ||| 1 0.0557024 0.166667 8.11983e-08 2.718、 この 液 圧 ||| , and this fluid pressure ||| 1 0.0186597 0.2 0.000154263 2.718、 この 液 圧 ||| , the fluid pressure ||| 0.25 0.00158031 0.2 0.00604794 2.718、 この 液 圧 ||| , this fluid pressure ||| 1 0.031321 0.4 0.00410641 2.718、 この 液 圧 ||| 8 , and this fluid pressure ||| 1 0.0186597 0.2 3.47399e-08 2.718、 この 液 圧 は ||| , and this fluid pressure is ||| 1 0.00536829 0.333333 4.16064e-05 2.718、 この 液 圧 は ||| , the fluid pressure is ||| 0.5 0.000454647 0.333333 0.0016312 2.718、 この 液 圧 は ||| 8 , and this fluid pressure is ||| 1 0.00536829 0.333333 9.36976e-09 2.718、 この 液 圧 を ||| , this fluid pressure is ||| 1 0.00774038 1 0.000828222 2.718、 この 作動 液 ||| , the hydraulic fluid ||| 0.125 0.000293068 1 0.000462624 2.718、 この 磁性 流体 ||| , the magnetic fluid ||| 0.333333 0.00118769 0.5 0.0798598 2.718、 この 磁性 流体 ||| the magnetic fluid ||| 0.0769231 0.000586521 0.5 0.239424 2.718、 この 磁性 流体 ７３ ||| , the magnetic fluid 73 ||| 1 0.00108018 1 0.0687977 2.718、 この 流体 ||| , each fluid ||| 1 0.00229816 1 0.000525922 2.718
26

句対応の例：自動車 を含む句の例、 「 自動車 ||| , ‘‘ automobile ||| 1 0.142122 1 0.0659882 2.718、 「 自動車 電話 ||| , ‘‘ automobile telephone ||| 1 0.0746708 1 0.0524542 2.718、 「 自動車 電話 」 ||| , ‘‘ automobile telephone ’’ ||| 1 0.0258531 1 0.0386858 2.718、 １０２ は 自動車 用 ||| , 102 is a vehicle ||| 1 0.000161113 1 0.00350135 2.718、 １０２ は 自動車 用 エンジン ||| , 102 is a vehicle engine ||| 1 9.82163e-05 1 0.0031887 2.718、 ３ は 自動車 ||| , 3 a mobile ||| 1 0.000371807 1 0.000168593 2.718、 ３ は 自動車 電話 ||| , 3 a mobile telephone ||| 1 0.000195348 1 0.000134015 2.718、 ３ は 自動車 電話 局 ||| , 3 a mobile telephone office ||| 1 7.2785e-05 1 3.45847e-06 2.718、 ３ は 自動車 電話 局 、 ||| , 3 a mobile telephone office , ||| 1 4.96815e-05 1 1.31658e-06 2.718、 ７ は 自動車 ||| , 7 a mobile ||| 1 0.000370597 1 0.000217899 2.718、 ７ は 自動車 電話機 ||| , 7 a mobile telephone equipment ||| 1 5.71506e-05 1 4.29458e-07 2.718、 ７ は 自動車 電話機 、 ||| , 7 a mobile telephone equipment , ||| 1 3.90098e-05 1 1.63488e-07 2.718、 ＥＣ セル ６ を通じて 自動車 ||| vehicle through the ec cell 6 ||| 1 0.00011244 1 0.0167565 2.718、 ＯＡ 機器 、 自動車 ||| , business machines , automobiles ||| 1 3.50735e-05 1 2.53658e-07 2.718、 ＯＡ 機器 、 自動車 、 ||| , business machines , automobiles and ||| 1 4.58492e-06 1 9.529e-09 2.718、 ＯＡ 機器 、 自動車 、 精密 ||| , business machines , automobiles and precision ||| 1 3.50085e-07 1 2、 この よう な 電気 自動車 ||| , such an electric vehicle ||| 0.5 1.71207e-05 1 3.34838e-05 2.718、 この よう な 電気 自動車 の ||| , such an electric vehicle ||| 0.5 4.51596e-06 1 3.34838e-05 2.718、 この ハイブリッド 自動車 ||| , in the hybrid vehicle ||| 1 0.000761246 0.5 0.00269411 2.718、 この ハイブリッド 自動車 ||| , in this hybrid vehicle ||| 1 0.0064154 0.5 0.00182924 2.718、 この ハイブリッド 自動車 ５００ ||| , in the hybrid vehicle 500 ||| 1 0.00071914 1 0.0022104 2.718、 この ハイブリッド 自動車 ５００ において ||| , in the hybrid vehicle 500 , ||| 1 2.0926e-05 1 0.0008415、 この ハイブリッド 自動車 ６００ ||| , in this hybrid vehicle 600 ||| 1 0.00591218 1 0.00136645 2.718、 この ハイブリッド 自動車 ６００ において ||| , in this hybrid vehicle 600 , ||| 1 0.000172036 1 0.00052、 しかも 自動車 ||| the automotive ||| 0.1 0.000244648 1 0.0106571 2.718、 たとえば 自動車 用 ||| , for example , an automobile ||| 0.4 0.000664619 1 0.000540882 2.718、 たとえば 自動車 用 エンジン ||| , for example , an automobile engine ||| 1 0.000405159 1 0.000492584、 コードレス 電話 、 自動車 ||| , cordless telephones , car ||| 1 0.0338496 1 0.000443696 2.718、 コードレス 電話 、 自動車 電話 ||| , cordless telephones , car telephones ||| 1 0.0157655 1 1.50196e-、 ディーゼルエンジン 自動車 等 ||| diesel engine automobiles and the like ||| 1 0.0151152 1 3.01743e-05、 ディーゼルエンジン 自動車 等 に ||| on diesel engine automobiles and the like ||| 1 0.00642812 1 2.249、 デ ィジタル 自動車 電話 ||| a digital cellular ||| 0.2 2.39509e-05 1 0.000163602 2.718、 ディジタル 自動車 電話 システム ||| a digital cellular system ||| 1 9.71561e-06 1 0.000148973 2.718、 デ イジタル 自動車 ||| the digital cellular ||| 1 5.80871e-05 1 0.00122759 2.718、 デイジタル 自動車 電話 ||| the digital cellular telephone ||| 1 3.05191e-05 1 0.000975814 2.718、 デイジタル 自動車 電話 ５０ ||| the digital cellular telephone 50 ||| 1 2.83228e-05 1 0.000844553 2.7、 デイジタル 自動車 電話 ５０ において ||| the digital cellular telephone 50 , ||| 1 8.24154e-07 1 0.000、 ハイブリッド 自動車 ||| a hybrid powered automobile ||| 0.5 0.0354085 0.333333 8.32655e-05 2.718、 ハイブリッド 自動車 ||| the hybrid car ||| 0.166667 0.0441317 0.333333 0.0427639 2.718、 ハイブリッド 自動車 ||| the hybrid vehicle ||| 0.0263158 0.0102417 0.333333 0.0694053 2.718、 ハイブリッド 自動車 ５００ ||| the hybrid vehicle 500 ||| 1 0.00967523 1 0.056944 2.718、 ハイブリッド 自動車 ５００ の ||| of the hybrid vehicle 500 ||| 1 0.00706622 1 0.0220125 2.718、 ハイブリッド 自動車 ５００ の ヨー 方向 ||| yawing directions of the hybrid vehicle 500 ||| 1 0.001016、 ハイブリッド 自動車 の ||| the hybrid car ||| 0.166667 0.0116407 1 0.0427639 2.718、 ファクシミリ 、 自動車 ||| , facsimiles , automotive vehicles ||| 1 0.0560437 1 1.15431e-06 2.718、 プラスチック 廃棄 物 、 自動車 ||| , plastic wastes , and automobile ||| 1 0.00690582 1 1.86092e-05 2.
27

現行の句対応抽出の問題点• 発見的な方法に基づいているため，改良がむずかしい発見的の意味：抜き出された句対応が良い句対応か
ど うかの評価が，機械翻訳実験による性能の変化でしか測定できない．確率的なモデルがない．確率的なモデルがあれば，最尤となる句対応を選べば，そのモデルの観点からは最良の句対応が得られる．

• しかし，「 こういう句対応が良いのでは」といういく
つかのモデルは，この発見的な方法と同等か少し性能が落ちる．

28

句の良さの評価
句単位に翻訳していく方法では，なるべく良い句対応を使った翻訳文を得たいので，そのためのスコアを定義する．一つの句対応について次の 5 つのスコアが良く使われる．

• 句翻訳確率 φ(f |e)• 句翻訳確率 φ(e|f )• 単語確率より lex(f |e)• 単語確率より lex(e|f )• 句ペナルティ exp(1) (固定値)29

句翻訳確率 φ(f |e)φ(f |e) = P

count(f , e)00 count(f , e)fcount(f , e) = 句f と eが対応した回数
X

f

0

0

count(f , e) = 句eが出現した回数

φ(f |e) は，句 e が出現したとき，それが f に翻訳される確率と考えられる．φ(e|f ) も同様である．

30

単語確率より lex(f |e)Pw (f |e, a)lex(f |e) = maxaPw (f |e, a) =Ew (fi|e, a) =

n
Y
i=1

Ew (fi|e, a)1Xw(fi|ej ){j|(i, j) ∈ a} (i,j)∈a

count(fi, ej )w(fi|ej ) = 単語対応の確率 = P0
f 0 count(f , ej )Ew (fi|e, a) = w(fi|ej ) の ejに関する平均値
Pw (f |e, a) = Ew (fi|e, a) の積．fiの条件付き独立を仮定
lex(f |e) = Pw (f |e, a) が最大の a に関する確率を採用

31

句ペナルティ
exp(1) に固定．スコアとしては，対数を利用するので，log(exp(1)) = 1 となる．
翻訳に使われた句の log(句ペナルティ) の和は，翻訳に使われた句の数である．
実際の翻訳のスコアには，この句ペナルティ(翻訳に使われた句の数) に，ある重み λ を掛けたものを利用する．
この λ は自動推定する．
もし，λ > 0 なら，句の数が多いほど 翻訳候補のスコアは良くなる．
λ < 0 なら，句の数が少ないほど 良い．
通常は λ < 0 で，少ない方が良い．これは同じ単語数からなる文であれば，使われた句の数が少ない (句の長さは長い) 方が良いことになる．

32

フレーズ抽出まとめ
発見的手続きを使うことにより，日英のフレーズ対応を得て，そこに各種のスコアを付けることができるこ
とをみた．

33

問題 (15 分)
自動作成したフレーズテーブルには，さまざ まな誤りが含まれる．そのようなフレーズテーブルの中から正しそうなフレーズのみを自動抽出するには，ど うした
ら良いか．

34

回答例 1f f 以外eabe 以外 cda = eと f の対応数
b = eの出現数 − ac = f の出現数 − ad = 句の対応の総数 − a − b − cとすると ac À db のとき，e と f は良い対応と考えられる．これは，e と f の独立性の検定をして，独立性の低いものが良いということなので，その検定結果により，独立性の低い順に句対応をソートして，上位のみを利
用する．

35

回答例 2• パラレルコーパスを 2 つに分ける．
• それぞれのコーパスから 1 つずつフレーズテーブル
を作る• 両方のフレーズテーブルに含まれるようなフレーズのみを採用する
これらの回答例の得失得 ある程度は信頼性の高いフレーズテーブルができる
失 カバレッジが低くなる→ 得が大きいか，失が大きいかは実験してみないと分からない．
今のところ，翻訳の性能を下げずに，ノイズ除去ができるらしいということが分かっている．

36

16. 対数線形モデルの導入
内山将夫@NICT
mutiyama@nict.go.jp

1

翻訳候補へのスコア付け
入力文を f
翻訳候補を ee のスコアを Sf (e) とする．
翻訳システム (デコーダー) はê = arg max
Sf (e)eなる ê を出力する．
arg max の部分は，デコーダーが最大スコアであるような Sf (e) を探す部分である．
以下では，スコア付けの方法について述べる．

2

確率に基づくスコア付けê = arg max
P (e|f )e
つまり，入力 f に対して，最大確率となる ê を出力するのが基本である．その確率の定式化として

1. ベイズの定理に基づく方法
2. 対数線形モデルに基づく方法の 2 通りがある．
2 は 1 の一般化であり，現状では，多くの SMT システムがこの方法を利用している．まず，1 から説明する．

3

ベイズの定理に基づく方法ê = arg max
P (e|f )e= arg max
P (f |e)P (e)eつまり P (e|f ) のかわりに P (f |e)P (e) を計算する．ここで• P (e) = 言語モデルによる e の確率．つまり，生成された e のつくりの良さを確率で表現したもの• P (f |e) = e を条件としたときの f の確率．f の翻訳としての良さを確率で表現したもの
これについては，「 初歩の確率」のときに少し言及してある．

4

ベイズの定理と現実との乖離
ベイズの定理の式自体は，正しい式である．しかし，現
実には，P (·) の推定に様々な誤りが含まれるため，ベイズの定理に基づく方法は，現実には最適な方法ではない．
P (·) の推定における誤りには，以下のものがある．

• モデルの誤り• パラメタ推定の誤り
モデルの誤りとは，対象の確率モデルを作るときに，そのモデル自体に誤りがあるため，たとえそのモデルに従って完全なパラメタ推定ができたとしても，対象を正確に表現できないことを言う．実際には，言語を正確に確率モデルとして表現したものは存在しないので，全てのモデルには，程度の大小があったとしても，モデルの誤りがある．
パラメタ推定の誤りとは，与えられたモデルに従って，与えられたデータからモデルのパラメタを推定したときに，データの性質やパラメタ推定法等により，パラ
メタ推定が上手くいかないことである．パラメタ推定の誤りも必ず存在する．

5

ベイズの定理に基づく方法でできないこと
1. 翻訳モデルと言語モデルの重みを変えることができない．しかしP (f |e)λ1 P (e)λ2のように重み付けをすることにより，翻訳精度が高くなることがわかっている．

2. 色々な 情報を 入れ ることが で きな い ．たとえば ，P (f |e) だけでなく，P (e|f ) を追加して，
P (f |e)λ1 P (e)λ2 P (e|f )λ3のようにしたい．
上記のようなことをするためには，対数線形モデルが便利である．

6

ベイズの定理から対数線形モデルに
P (e|f ) =P (f |e)P (e)P (f |e)P (e)=P00
P (f )
e0 P (f |e )P (e )P (f |e)P (e) = exp(log P (f |e) + log P (e))= exp(λ1 log P (f |e) + λ2 log P (e))= exp(λ1h1(f , e) + λ2h2(f , e))= exp(2Xi=1

λihi(f , e))

ただし，

λ1 = 1
λ2 = 1h1(f , e) = log P (f |e)h2(f , e) = log P (e)よって，

exp(P2i=1 λihi(f , e))
P (e|f ) = P
P2
0
0
exp(
e
i=1 λi hi (f , e ))7

一般化
M 個の関数 hi(e, f )M 個の重み λi についてê = arg max
P (e|f )eexp(PM
i=1 λi hi (f , e))= arg maxe P 0 exp(PM λ h (f , e0 ))ei=1 i i= arg max
e

M
X

i=1

λihi(f , e)(1)

ようするに，各関数 hi(e, f ) の重み付きの和をもってスコアとする．
この関数を素性という．
対数線形モデルを利用することにより，様々な素性をス
コアとして考慮できる．この素性は良く考えて決める．
たとえば ，フレーズテーブルのスコアが素性のスコアとなる．
重みは，後述の手法により，自動的に決める．

8

17. 句に基づく統計的機械翻訳 (SMT) における素性
内山将夫@NICT
mutiyama@nict.go.jp

1

句に基づく統計的機械翻訳 (SMT) における素性• 句単位の翻訳の例• 句単位の翻訳を構成する基本要素• 句単位の翻訳の素性

2

句単位の英日翻訳の例%"&

preferred embodiments ofthe present invention "!$# will be described  

hereinbelow

with reference tto theaccompanying drawings• 英語の文を句にわける(e.g., will be described)• 各句を翻訳する(e.g., について説明する)• 句を並べ替える

3句単位の翻訳の基本要素• 英語の文 e を句にわける
e = e1e2 . . . el
• 各句 ei を日本語の句 ni に翻訳する
n = n1n2 . . . nl
• ni を並べかえる．

4

句単位の翻訳のための素性
原言語を f ，対象言語を e としたとき，ê = arg maxeXiλihi(e, f )なる ê を探したい．そのために，e と f の組をスコア付けするために，素性 hi(e, f ) を利用する．
素性の例• 言語モデル• 句単位の翻訳モデル• 句を構成する単語に基づく翻訳モデル• 単語ペナルティ• 句ペナルティ• 語順ペナルティ
これらの素性の値は，e, f より hi(e, f ) として計算される．各素性の重みは，自動推定する (後述)．

5

言語モデルh(e, f ) = log P (e)= log P (e1, e2, . . . , el )Y
= log P (ei|ei−2, ei−1)i3-gram 言語モデルにより対象言語 e の生成確率の対数を素性とする．これが大きい翻訳文 e は，対象言語としてのつくりが良いと考えられる．
ところで，3-gram 言語モデルは，前の 2 単語しか見ていないので，とても貧弱なモデルに見えるが，これを越えるモデル
はあまりない．良い言語モデルを作ることができれば，機械翻訳に与えるインパクトは大きい．

6

単語ペナルティと句ペナルティ
単語ペナルティh(e, f ) = e 中の単語数
句ペナルティ

h(e, f ) = e 中の句数
これらの重みが正のときには，単語や句がたくさんある e が優先される．負のときには，単語や句は少ない方が良い．
単語ペナルティや句ペナルティは，適切な長さの訳文を出力するために有用である．

7

句単位の翻訳モデル
h(e, f ) = log P (e|f )Y= log P (e|f )X= log P (e|f )これは f → e の翻訳モデルだが，逆方向も同様に，

h(e, f ) =X

log P (f |e)

ただし，

count(f , e)00 count(f , e)fcount(f , e) = 句f と句eが対応している回数
P (f |e) = P

P (f |e) の問題点
count(f , e) が小さいときに値が信頼できない→ スムージング

8(1)

単語に基づく句対応の重み (双方向)h(e, f ) =X

log lex(f |e)(2)

Pw (f |e, a)lex(f |e) = maxaPw (f |e, a) =

n
Y
i=1

Ew (fi|e, a)

1X
Ew (fi|e, a) =w(fi|ej ){j|(i, j) ∈ a} (i,j)∈a
count(fi, ej )0
f 0 count(f , ej )w(fi|ej ) = 単語対応の確率 = P

Ew (fi|e, a) = w(fi|ej ) の ejに関する平均値
Pw (f |e, a) = Ew (fi|e, a) の積．fiの条件付き独立を仮定
lex(f |e) = Pw (f |e, a) が最大の a に関する確率を採用

9語順
語順については，今，盛んに研究されている．単純なものとしては，原言語の語順と異なるものにペナルティを与えるというものがある．
MT output

input
ai+1

bi+1

ai

bi

のとき，

|bi − ai+1 + 1| = |f iに対応するeiの最後の単語位置− f i+1に対応すei+1の最初の単語位置 + 1|
として，連続するフレーズが連続するときのペナルティを 0 とし ，そうでないときに，離れ具合に応じてペナ
ルティをかける．

10

まとめ• 対数線形モデルを利用することにより，様々な素性をスコア付けに利用できる• 各素性は，それぞれ別個に改良できる
特に，• 言語モデルの改良• 翻訳モデルの改良– カバー率の高い句表をつくる– 良いスコア付けをする• 語順の制約が重要である．

11

18. デコーダ概要
内山将夫@NICT
mutiyama@nict.go.jp

1

デコーダの役割ê = arg maxeXiλihi(e, f )における ê の探索．
f を部分的に訳していって，いくつもの仮説を作り，そこから最適なものを得る．

f:

e:

2

デコーダの基本要素
仮説 (部分翻訳) を生成し ，不要なものを消し ，良いものを残す．

• 仮説の生成 (部分翻訳の生成)e:• 仮説の枝刈り (不要な仮説を消す)• 最も良い仮説の探索

3

Multi-Stack Beam-Searchf = f1f2f3 . . . fnとすると，これまでに翻訳された f の単語数に応じて n
個のスタックをつくる．
......

1

2

3

4

n

3 番目のスタックには，f の単語を３つ訳した結果の部
分翻訳を示す仮説が積まれる．たとえば，
f = f1f 2f3f 4f 5f6
では，f2, f4, f5 を翻訳した部分に相当する仮説が積まれる．

4

初期仮説の積み方
初期仮説 (カバー 0) から，最初の１つのフレーズ翻訳によりカバーされる f の側の単語数に応じて仮説をスタッ
クに分配する．
Start
0

this
a

a pen
this is

1

2

3

4

たとえば，
「 this is a pen . 」を翻訳するときに，フレーズの候補として• 「 this 」→「これ 」
「ここ」．
．
．
• 「 this is 」→「これ は」「それ を」．
．
．
• 「 a 」→「し た」「で は」．
．
．
• 「 a pen 」→「 、 ペン 」．
．
．
などがある．このとき，• 「 this 」と「 a 」は，カバー 1 のスタックに載り• 「 this is 」と「 a pen 」は，カバー 2 のスタックに載る
その他，全てのフレーズについて，そのフレーズがカバーする単語数に応じて，スタックに分配する．
5

カバー 1 のスタックからの仮説の展開
カバー 1 のスタック中の各仮説について，その仮説に後続可能なフレーズを翻訳して，その結果としてカバー
した単語数に相当するスタックに載せる．
Start
0

this
a

a pen
this is

1

2

3

4

たとえば，
「 this 」のあとに•「 is 」を翻訳すると，その結果はカバー 2 のスタックに•「 a 」を翻訳すると，その結果はカバー 2 のスタックに• 「 a pen 」を翻訳すると，カバー 3 のスタックに積まれる．その結果として，それぞれ，「 this is 」
「 this a 」「 this a pen 」とその訳が積まれている．また，「 a 」のあとに• 「 this 」を翻訳すると，カバー 2 のスタックに• 「 is 」を翻訳すると，カバー 2 のスタックに• 「 this is 」を翻訳すると，カバー 3 のスタックに積まれる．その結果として，それぞれ，「 a this 」「 a is 」「 a this is 」とその訳が積まれている．
6

カバー 2,3,4...i と進む
カバー i のスタックにおいて，入力文から，次の未翻訳のフレーズを翻訳し，そのフレーズを，カバー i のスタ
ック中の部分翻訳に追加した結果の翻訳を，その翻訳がカバーする単語数に対応するスタックに積む．

i

i+1

i+2

i+3

以上を 1 ≤ i ≤ n まで繰り返すと，スタック n を処理したときには，f1, f2, . . . , fn の全ての単語が翻訳されている．

7

枝刈りの必要性
1 単語は 1 単語にしか訳されないとしても，これまでの方法では，• 最初のスタックに n 単語
• 次のスタックに n − 1 単語...となって，n! の仮説ができる．フレーズを考えるともっと多くなる．
→ 仮説の枝刈りをしないといけない．

8

スタックに積む仮説：翻訳オプション• 仮説のそれぞれは，それぞれが 1 つの F のフレーズ
f をもつ• このフレーズに対応する E のフレーズ e ももつ• 翻訳オプションは，以下の 4 つの要素を持つ– f の f 中での開始位置– f の f 中での終了位置– e– フレーズを翻訳するときのコスト=−

X

λifi(e, f )フレーズテーブルにあるフレーズスコアの重み付
きの和 × − 1
翻訳オプションは，f 中の全てのフレーズについて，あらかじめ作っておく．

9

仮説の構成物• 翻訳オプション• 1 つ前の仮説へのリンク．(これを辿っていけば ，どのフレーズがどのフレーズに訳されたかがわかるた
め，翻訳文を生成できる)• これまでにカバーされた f の単語の位置 (重複して同一の単語を訳すことを防ぐため)• 2 つ前までの e の単語．(3-gram 言語モデルの計算に必要)• これまでのコストの和• 予測コスト
コスト最小の仮説を探す．

10

仮説の枝刈り (Beam Search)* '<$; -. ' () */10325476$78:9 =?>@1,   !" f #$&% ' (*) $ +,
これまでのコストX= フレーズの翻訳コスト+ 翻訳された e の言語モデルからのコスト+ 語順のコスト

翻訳された e の言語モデルからのコスト= −X

log P (ei|ei−2, ei−1)11予測全体コスト = 既翻訳のコスト + 未翻訳のコスト  

  

既翻訳部分のコスト = 正確なコスト
X= フレーズの翻訳コスト+ 翻訳文の言語モデルコスト+ 語順のコスト
未翻訳部分のコスト = 予測コスト
X= フレーズの翻訳コスト
X+ フレーズ内言語モデルコスト
予測コストにおいては，未翻訳のフレーズの翻訳コストの和と未翻訳のフレーズのフレーズ内言語モデルのコストの和を利用する．
フレーズの翻訳コストは，フレーズテーブルにリストされているスコアの和に −1 を掛けたものである．
フレーズ内言語モデルコストは，e = e1e2...en についての言語モデルによる確率の対数に −1 を掛けたものである．
フレーズ内言語モデルコストは，フレーズ間の繋ぎ 目をまたいだ確率の計算はしない．

予測コスト の計算
f1

f2

f3

f4

f5

1

1

1

1

1

3

3
2

最小コストパスを通ることにより，翻訳コストを計算する
各フレーズのコストは，そのフレーズに対応する，複数の翻訳の中から最小のコストのものを選ぶ．
したがって，予測コストは，最小のコストとなる．

13

DP を利用した最小コスト パスの計算法
(4)
f5

1

3

f4

(3)

f3

(2)

f2

(1)

f1

1

f1

1

(4)

2

1

1

()

2*3456%798

3

f2

f3

f4

f5

  "!$#%
&"'(*),+%-".0/1%!

14

実行例
• 入力: this is a pen .
• 出力: これ は 、 ペン で ある 。

15

翻訳オプション
this
is
a
pen
.

ここ , その, て この, この, 上記, ...
さ れ て , に , も, れる, の は , に は , ...
で は 、, （ , し た, Ａ, ａ , ...
筆, ペン の, ＰＥＮ, 入力 ペン , ｐｅｎ , ペン で , ...
なる 。, さ れる 。, ） 。, し て いる 。, れる 。, ...

this is を , すなわち, は その, それ を , これ が , この こと は , ...
is aが ある, が 、, と は 、, は その, が , の は 、, を 、
a pen
pen .

、 ペン , ａ ｐｅｎ ．, た ペン , と 、 ペン , の ペン , ...
ペン で ある 。

this is a が , この こと が , この こと は 、, これ が , これ が 、, ...
is a pen
φa pen .
φthis is a pen
φis a pen .
φthis is a pen . φ[入力フレーズ ;ID]
翻訳フレーズ <ID>, pC=対数フレーズ翻訳確率, c=コスト[this;10]
ここ <1341>, pC=-1.35766, c=-2.1591
その<1648>, pC=-1.04392, c=-1.67822て この<1845>, pC=-1.27158, c=-2.15583
この<1364>, pC=-0.416247, c=-1.06726
上記<2943>, pC=-1.61984, c=-2.27863の この<2235>, pC=-1.53633, c=-2.30776
これ <1394>, pC=-0.817653, c=-1.53584
本<3271>, pC=-0.766849, c=-1.37588
これら <1402>, pC=-1.6298, c=-2.3598
以上<2691>, pC=-1.69762, c=-2.21865
これ に <1396>, pC=-1.50672, c=-2.11998に この<2110>, pC=-1.63886, c=-2.28144
で <239>, pC=-2.04413, c=-2.26692
は <2315>, pC=-1.93096, c=-2.11451
で この<1944>, pC=-1.7142, c=-2.32927
この よう<1373>, pC=-1.35286, c=-2.27915
以上 の<2692>, pC=-1.91313, c=-2.27875
それ <1659>, pC=-1.46538, c=-2.1846
該<2747>, pC=-1.52524, c=-2.26044
当該<3184>, pC=-1.59398, c=-2.34628[is;5]
16

さ れ て <3421>, pC=-2.11081, c=-2.02628に <299>, pC=-1.48134, c=-1.66314
も<344>, pC=-1.47625, c=-1.85074
れる<400>, pC=-1.29528, c=-1.88471の は <2251>, pC=-1.41678, c=-2.04515に は <2133>, pC=-1.43534, c=-1.75688と は <2002>, pC=-1.72335, c=-2.04814
が <1325>, pC=-0.470061, c=-0.647842の が <2234>, pC=-1.40044, c=-2.0277
が ある<1328>, pC=-1.52732, c=-1.96323
れ <2527>, pC=-1.38216, c=-1.94951の<2208>, pC=-1.76538, c=-1.90982
を <417>, pC=-0.577587, c=-0.729719） を <873>, pC=-1.77558, c=-1.93028） が <847>, pC=-1.68848, c=-1.89245） は <870>, pC=-1.77264, c=-2.02156
さ れる<154>, pC=-1.8255, c=-2.03365
で は <1951>, pC=-1.51902, c=-1.78469
さ れ <3419>, pC=-1.86897, c=-2.05372
は <2315>, pC=-0.542636, c=-0.726186[a;3]
で は 、<1952>, pC=-1.99372, c=-1.94916（ <747>, pC=-1.50532, c=-1.732
し た<1473>, pC=-1.4491, c=-1.74456
Ａ<1049>, pC=-0.853386, c=-1.32077
ａ <1121>, pC=-1.09356, c=-1.55888に は 、<2134>, pC=-1.73294, c=-1.75383、<8>, pC=-0.684518, c=-0.886027
は <2315>, pC=-0.824683, c=-1.00823
は 、<2316>, pC=-1.20584, c=-1.38524
れ た<2531>, pC=-1.49016, c=-1.97397
た<1666>, pC=-0.745912, c=-1.23491
で 、<1899>, pC=-1.57655, c=-1.89724
な <2033>, pC=-1.18053, c=-1.66961
する<174>, pC=-1.01081, c=-1.39731
さ れ た<1431>, pC=-1.85698, c=-1.80738て 、<1786>, pC=-1.21214, c=-1.82842
で は <1951>, pC=-1.64188, c=-1.90755
ある<96>, pC=-1.07434, c=-1.72888に は <2133>, pC=-1.46608, c=-1.78763
で ある<241>, pC=-1.53484, c=-1.77665[pen;7]
筆<572>, pC=-1.09842, c=-1.91969
ペン の<4625>, pC=-1.00945, c=-1.76537
ＰＥＮ<4601>, pC=-1.16262, c=-1.98389

17入力 ペン <4635>, pC=-1.60213, c=-2.38855
ｐｅｎ <4603>, pC=-1.41516, c=-2.23643
ペン で <570>, pC=-1.23726, c=-2.03232
ペン で ある<4623>, pC=-1.60909, c=-2.33354
ペン 筆跡<4628>, pC=-1.47485, c=-2.45062て ペン <4607>, pC=-0.999509, c=-2.1773
ペン に <4624>, pC=-1.4014, c=-2.30551
で ペン <4609>, pC=-1.37715, c=-2.31839
ペン 入力<4627>, pC=-1.76514, c=-2.49763に ペン <4611>, pC=-1.3145, c=-2.23882の ペン <566>, pC=-1.04526, c=-1.9127
入力<4634>, pC=-2.10195, c=-2.58898
ペン ２ の<4620>, pC=-1.61217, c=-2.45588
スタイラス<4614>, pC=-1.67264, c=-2.49391
タッチ<4615>, pC=-1.79274, c=-2.58717
タッチ ペン <4616>, pC=-1.72678, c=-2.5611
ペン <569>, pC=-0.267554, c=-1.04067[.;1]
なる 。<294>, pC=-1.10377, c=-1.88984
さ れる 。<155>, pC=-1.40193, c=-1.30851） 。<33>, pC=-1.47075, c=-1.6819
し て いる 。<167>, pC=-1.67653, c=-1.44244
れる 。<401>, pC=-0.996328, c=-1.63918
さ れ て いる 。<150>, pC=-1.91711, c=-1.17936
ある 。<97>, pC=-0.907851, c=-1.72634
する 。<175>, pC=-1.14859, c=-1.62012て いる 。<208>, pC=-0.942884, c=-1.23263。<10>, pC=-0.24766, c=-0.713159
もの で ある 。<349>, pC=-1.90485, c=-1.65041
なっ て いる 。<291>, pC=-1.63915, c=-1.49152と なる 。<275>, pC=-1.72258, c=-1.72477
れ て いる 。<392>, pC=-1.52524, c=-1.34756
よう に なっ て いる 。<368>, pC=-2.508, c=-1.76419に なっ て いる 。<309>, pC=-2.13272, c=-1.64248に なる 。<310>, pC=-1.61102, c=-1.75654と なっ て いる 。<274>, pC=-2.35949, c=-1.75109
られ て いる 。<382>, pC=-2.07856, c=-1.88984
で ある 。<242>, pC=-1.23406, c=-1.14991[this is;9]を <417>, pC=-1.54862, c=-1.70076
すなわち<1528>, pC=-1.73591, c=-2.31995
は その<2385>, pC=-1.71699, c=-2.20306
それ を <4688>, pC=-1.64736, c=-2.29564
これ が <4642>, pC=-0.911397, c=-1.62708
この こと は <4666>, pC=-1.43752, c=-2.30474

18

は これ <2383>, pC=-1.71766, c=-2.34747
ここ で は <1345>, pC=-1.89881, c=-2.25273
が <1325>, pC=-1.50635, c=-1.68413という の は <4691>, pC=-1.93868, c=-2.18854
それ は <4687>, pC=-1.37946, c=-2.20885
が この<3376>, pC=-1.57157, c=-2.13519
が これ <4657>, pC=-1.5425, c=-2.23305
が これ に <4658>, pC=-1.73319, c=-2.17005
が これ は <4659>, pC=-1.57178, c=-2.24404
は <2315>, pC=-1.45277, c=-1.63632
以上 が <4652>, pC=-1.71494, c=-2.34458
これ を <1401>, pC=-0.962022, c=-1.51385て これ を <4690>, pC=-1.80236, c=-2.40022
これ は <1399>, pC=-0.652242, c=-1.35359[is a;4]が ある<1328>, pC=-1.67738, c=-2.1133
が 、<1326>, pC=-1.28772, c=-1.62281と は 、<2003>, pC=-1.77381, c=-1.85223
は その<2385>, pC=-1.62439, c=-2.11046
が <1325>, pC=-0.863859, c=-1.04164の は 、<2252>, pC=-1.68919, c=-2.00883
を 、<2587>, pC=-1.52488, c=-1.88536
は <2315>, pC=-0.660629, c=-0.84418
を <417>, pC=-1.0029, c=-1.15503） は <870>, pC=-1.94566, c=-2.19457） は 、<871>, pC=-1.88151, c=-1.8389の<2208>, pC=-1.9946, c=-2.13903に は 、<2134>, pC=-1.76211, c=-1.783
で は <1951>, pC=-1.89019, c=-2.15586に は <2133>, pC=-1.62461, c=-1.94616
で は 、<1952>, pC=-2.01248, c=-1.96793と は <2002>, pC=-1.87138, c=-2.19618
は 、 この<2324>, pC=-1.91441, c=-2.1825
は 、<2316>, pC=-0.796328, c=-0.975726に <299>, pC=-1.64566, c=-1.82745[a pen;2]、 ペン <562>, pC=-0.753549, c=-1.62573
ａ ｐｅｎ ．<563>, pC=-2.12552, c=-3.23558
た ペン <564>, pC=-0.932183, c=-2.08682と 、 ペン <565>, pC=-1.4245, c=-2.38424の ペン <566>, pC=-0.944163, c=-1.8116
は 、 ペン <567>, pC=-1.31232, c=-2.19307
は ペン <568>, pC=-1.16434, c=-2.07313
ペン <569>, pC=-0.44751, c=-1.22063
ペン で <570>, pC=-1.223, c=-2.01806

19握り<571>, pC=-1.77062, c=-2.59188
筆<572>, pC=-1.377, c=-2.19827
例えば ペン 入力<573>, pC=-1.84151, c=-3.13061[pen .;6]
ペン で ある 。<4599>, pC=-0.68607, c=-1.08455[this is a;8]が <1325>, pC=-1.70286, c=-1.88064
この こと が <4640>, pC=-1.41113, c=-2.60653
この こと は 、<4641>, pC=-1.55813, c=-2.26904
これ が <4642>, pC=-1.07722, c=-1.7929
これ が 、<4643>, pC=-1.31737, c=-1.97721
これ で は 、<4644>, pC=-1.62747, c=-1.9997
これ に <1396>, pC=-1.88038, c=-2.49364
これ は <1399>, pC=-0.923228, c=-1.62458
これ は 、<4645>, pC=-1.03133, c=-1.43306
これ は 、 いわゆる<4646>, pC=-1.85256, c=-2.76921
これ は ，<4647>, pC=-1.81499, c=-2.83232
以上 が <4652>, pC=-1.67579, c=-2.30544
これ は また 、<4649>, pC=-1.71063, c=-2.51877
これら が <4650>, pC=-1.64068, c=-2.54958
すなわち<1528>, pC=-1.87628, c=-2.46032
ただし 、 これ は <4651>, pC=-1.78216, c=-2.85429の<2208>, pC=-2.20365, c=-2.34808
は <2315>, pC=-1.79407, c=-1.97762
は 、<2316>, pC=-1.87083, c=-2.05023
も<344>, pC=-1.92003, c=-2.29452[is a pen;0][a pen .;0][this is a pen;0][is a pen .;0][this is a pen .;0]20

予測コスト の計算
4. |3 pen |
2a |1 is |
0 this |+-------+------+-----+-------+---0 this | 1 is | 2 a | 3 pen | 4 .
computing future cost from 0 to 0
can get to 1 with cost -2.1591
can get to 1 with cost -1.67822
can get to 1 with cost -1.06726=> cheapest way: -1.06726
computing future cost from 0 to 1
can get to 1 with cost -2.1591
can get to 1 with cost -1.67822
can get to 1 with cost -1.06726
can get to 2 with cost -1.70076
can get to 2 with cost -1.62708
can get to 2 with cost -1.51385
can get to 2 with cost -1.35359=> cheapest way: -1.35359
computing future cost from 0 to 2
can get to 1 with cost -2.1591

this
この

this is
これ は

can get to 1 with cost -1.67822
can get to 1 with cost -1.06726
can get to 2 with cost -1.70076
can get to 2 with cost -1.62708
can get to 2 with cost -1.51385
can get to 2 with cost -1.35359
can get to 3 with cost -1.88064
can get to 3 with cost -1.7929
can get to 3 with cost -1.62458
can get to 3 with cost -1.43306

this is a
これ は 、=> cheapest way: -1.43306
computing future cost from 0 to 3
can get to 1 with cost -2.1591
can get to 1 with cost -1.67822
can get to 1 with cost -1.06726
can get to 2 with cost -1.70076
can get to 2 with cost -1.62708
can get to 2 with cost -1.51385
can get to 2 with cost -1.35359
can get to 3 with cost -1.88064
can get to 3 with cost -1.7929
21

can get to 3 with cost -1.62458
can get to 3 with cost -1.43306
can get to 4 with cost -2.97932
can get to 4 with cost -2.57422
can get to 4 with cost -2.47373=> cheapest way: -2.47373
computing future cost from 0 to 4
can get to 1 with cost -2.1591
can get to 1 with cost -1.67822
can get to 1 with cost -1.06726
can get to 2 with cost -1.70076
can get to 2 with cost -1.62708
can get to 2 with cost -1.51385
can get to 2 with cost -1.35359
can get to 3 with cost -1.88064
can get to 3 with cost -1.7929
can get to 3 with cost -1.62458
can get to 3 with cost -1.43306
can get to 4 with cost -2.97932
can get to 4 with cost -2.57422
can get to 4 with cost -2.47373
can get to 5 with cost -2.51762=> cheapest way: -2.51762
computing future cost from 1 to 1
can get to 1 with cost -2.02628
can get to 1 with cost -1.66314
can get to 1 with cost -0.647842=> cheapest way: -0.647842
computing future cost from 1 to 2
can get to 1 with cost -2.02628
can get to 1 with cost -1.66314
can get to 1 with cost -0.647842
can get to 2 with cost -2.1133
can get to 2 with cost -1.62281
can get to 2 with cost -1.04164
can get to 2 with cost -0.84418=> cheapest way: -0.84418-1.43306 -1.04067
this is a + pen
これ は 、+ ペン-1.43306 -1.08455
this is a + pen .
これ は 、+ ペン で ある 。

is
が

is a
は

computing future cost from 1 to 3
can get to 1 with cost -2.02628
can get to 1 with cost -1.66314
can get to 1 with cost -0.647842
can get to 2 with cost -2.1133
can get to 2 with cost -1.62281
can get to 2 with cost -1.04164
can get to 2 with cost -0.84418
can get to 3 with cost -2.27357
can get to 3 with cost -1.86847-0.84418 -1.04067
is a + pen

22

=> cheapest way: -1.86847
computing future cost from 1 to 4
can get to 1 with cost -2.02628
can get to 1 with cost -1.66314
can get to 1 with cost -0.647842
can get to 2 with cost -2.1133
can get to 2 with cost -1.62281
can get to 2 with cost -1.04164
can get to 2 with cost -0.84418
can get to 3 with cost -2.27357
can get to 3 with cost -1.86847
can get to 4 with cost -1.92873=> cheapest way: -1.92873
computing future cost from 2 to 2
can get to 1 with cost -1.94916
can get to 1 with cost -1.732
can get to 1 with cost -1.32077
can get to 1 with cost -0.886027=> cheapest way: -0.886027
computing future cost from 2 to 3
can get to 1 with cost -1.94916
can get to 1 with cost -1.732
can get to 1 with cost -1.32077
can get to 1 with cost -0.886027
can get to 2 with cost -1.62573
can get to 2 with cost -1.22063=> cheapest way: -1.22063
computing future cost from 2 to 4
can get to 1 with cost -1.94916
can get to 1 with cost -1.732
can get to 1 with cost -1.32077
can get to 1 with cost -0.886027
can get to 2 with cost -1.62573
can get to 2 with cost -1.22063
can get to 3 with cost -1.97058
can get to 3 with cost -1.93378=> cheapest way: -1.93378

は

+ ペン

-0.84418 -1.08455
is a + pen .
は+ ペン で ある 。

a
、

a pen
ペン

(微妙に数値が違う)
一つ前のフレーズを考慮して対象言語の言語モデルのコストを計算していると思われる．

-0.886027 -1.08455
a + pen .
、 + ペン で ある 。

computing future cost from 3 to 3
can get to 1 with cost -1.91969
can get to 1 with cost -1.76537
can get to 1 with cost -1.04067=> cheapest way: -1.04067
computing future cost from 3 to 4

pen
ペン

can get to 1 with cost -1.91969
can get to 1 with cost -1.76537
can get to 1 with cost -1.04067
can get to 2 with cost -1.08455

pen .

23

=> cheapest way: -1.08455
computing future cost from 4 to 4
can get to 1 with cost -1.88984
can get to 1 with cost -1.30851
can get to 1 with cost -1.17936
can get to 1 with cost -0.713159

ペン で ある 。

.
。

=> cheapest way: -0.713159
future costs from 0 to 0 is -1.06726
future costs from 0 to 1 is -1.35359
future costs from 0 to 2 is -1.43306
future costs from 0 to 3 is -2.47373
future costs from 0 to 4 is -2.51762
future costs from 1 to 1 is -0.647842
future costs from 1 to 2 is -0.84418
future costs from 1 to 3 is -1.86847
future costs from 1 to 4 is -1.92873
future costs from 2 to 2 is -0.886027
future costs from 2 to 3 is -1.22063
future costs from 2 to 4 is -1.93378
future costs from 3 to 3 is -1.04067
future costs from 3 to 4 is -1.08455
future costs from 4 to 4 is -0.713159

24

仮説の探索0[] -+- 1[this=>ここ ] --- 174[is=>さ れ て] ...
+- 2[this=>その]+- ...
+- 21[is=>されて]+- ....
+- 162[this is a=>これ は 、] +- 17508[pen .=>ペン で ある 。]+- ...
...
creating hypothesis 1 from 0base score 0translation cost -1.35766
distortion cost 0
language model cost for ’ ここ ’ -0.492322
word penalty 0.361996
score -1.48798 + futureCost -1.92873 = -3.41672
new best estimate for this stackmerged hypothesis on stack 1, now size 1
creating hypothesis 2 from 0base score 0translation cost -1.04392
distortion cost 0
language model cost for ’ その’ -0.522497
word penalty 0.361996
score -1.20443 + futureCost -1.92873 = -3.13316
new best estimate for this stackmerged hypothesis on stack 1, now size 2....
creating hypothesis 162 from 0base score 0<======================

translation cost -1.03133
distortion cost 0
language model cost for ’ これ ’ -0.437817
language model cost for ’ は ’ -0.219777
language model cost for ’ 、’ -0.0623787
word penalty 1.08599
score -0.665315 + futureCost -1.08455 = -1.74987
new best estimate for this stack
better path, overwriting exisiting hypothesis 156
creating hypothesis 163 from 0base score 0translation cost -1.85256
distortion cost 025

language model cost for ’ これ ’ -0.437817
language model cost for ’ は ’ -0.219777
language model cost for ’ 、’ -0.0623787
language model cost for ’ いわゆる’ -0.876915
word penalty 1.44798
score -2.00147 + futureCost -1.08455 = -3.08602
merged hypothesis on stack 3, now size 8.....
creating hypothesis 174 from 1base score -1.48798
translation cost -2.11081
distortion cost 0
language model cost for ’ さ’ -1.18326
language model cost for ’ れ ’ -0.155323
language model cost for ’ て’ -0.0927082
word penalty 1.08599
score -3.9441 + futureCost -1.93378 = -5.87788
merged hypothesis on stack 2, now size 45
creating hypothesis 175 from 1base score -1.48798
translation cost -1.48134
distortion cost 0
language model cost for ’ に ’ -0.46083
word penalty 0.361996
score -3.06816 + futureCost -1.93378 = -5.00194
merged hypothesis on stack 2, now size 46
creating hypothesis 176 from 1base score -1.48798
translation cost -1.47625
distortion cost 0
language model cost for ’ も’ -1.18326
word penalty 0.361996
score -3.7855 + futureCost -1.93378 = -5.71929
merged hypothesis on stack 2, now size 47
creating hypothesis 177 from 1base score -1.48798
translation cost -1.29528
distortion cost 0
language model cost for ’ れる’ -1.18326
word penalty 0.361996
score -3.60453 + futureCost -1.93378 = -5.53832
merged hypothesis on stack 2, now size 48
.....

26

creating hypothesis 17508 from 162 <============
base score -0.665315
translation cost -0.68607
distortion cost 0
language model cost for ’ ペン ’ -1.06335
language model cost for ’ で ’ -0.412911
language model cost for ’ ある’ -0.29139
language model cost for ’。’ -0.0360304
adding word 
 -5.05187e-07
word penalty 1.44798
score -1.70708 + futureCost 0 = -1.70708
new best estimate for this stack
better path, overwriting exisiting hypothesis 17467
creating hypothesis 17509 from 157
base score -1.33158
translation cost -1.09842
distortion cost 0
language model cost for ’ 筆’ -1.18326
word penalty 0.361996
score -3.25127 + futureCost -0.713159 = -3.96443
better path, overwriting exisiting hypothesis 10164
creating hypothesis 17510 from 157
base score -1.33158
translation cost -1.00945
distortion cost 0
language model cost for ’ ペン ’ -1.18326
language model cost for ’ の’ -0.426796
word penalty 0.723992
score -3.2271 + futureCost -0.713159 = -3.94026
worse than existing path, discarding....
best hypothesis now 0
best hypothesis now 2
best hypothesis now 18[ 17508 => 162 ][ 162 => 0 ]BEST: これ は 、 |0.514112|0|2| ペン で ある 。 |0.35283|3|4| -1.70708

27

まとめ
• フレーズベースの SMT のデコーダの基本動作は簡単
である• デコーダの研究は，これからである．

28

19. 最小誤り率訓練
内山将夫@NICT
mutiyama@nict.go.jp

1

SMT の構成要素ê = arg maxeXiλihi(e, f )• 探索： arg maxe なる ê の探索• モデリング： 良い素性 hi(e, f ) の設計• パラメタ調整：λi の学習
最小誤り率訓練 (MERT, Minimum Error Rate Training)は，パラメタ調整に利用される．

2

パラメタ調整の枠組• 訓練データ： hi(e, f ) を獲得する• 開発データ： λi を獲得する• テストデータ： 翻訳性能を測定する

3

パラメタ調整の原則• 翻訳性能を最大化するパラメタが欲しい
翻訳性能を BLEU で測定するとすると，BLEU を最大化するようなパラメタが欲しい．
開発データにおける入力文をF = {f1, f2, ...}
参照用の翻訳文をR = {r1, r2, ...}
F を機械翻訳した結果をE = {e1, e2, ...}としたとき，λ̂ = arg max BLEU(R, E)
λなるパラメタ λ̂ が欲しい．

4

最適化としての λ̂ の探索
1. λm = 適当な初期値, Ci = φ
2. for fi ∈ F(a) Ci0 = {ei,s| スコア P λmhm(e, fi) が大きい n 翻訳文 }(b) Ci = Ci ∪ Ci0. (これまでの翻訳候補に加えて，今の λ を利用して得られた翻訳候補を追加する)
3. λ を更新する(a) 今の λ を利用して，拡張された Ci の中から一番ス
P
コアが高い ei = arg maxe lambdamhm(e, fi) なる
ei を得ることにより，fi に対する，今のパラメタでの翻訳文とする．
(b) E = {ei| 上記で選ばれた翻訳文 } を利用して，λ に対応する BLEU(E, R; λ) を得る．
(c) これにより，λ → BLEU(E, R; λ) の関係が計算できるので，λ を少しずつ変えながら，現在の翻訳
文集合 Ci から，なるべく BLEU が大きくなるように，ei を選択できるような λ を探す
4. goto 2 or exit

5

多変量最適化の方法• Simplex 法，Powell 法等のノンパラメトリック法 (関数勾配が不要な方法)
cf. Numerical Recipes in C
• 対数線形モデルに特有な方法

6対数線形モデルに特有な方法• ある方向 d について，1 次元最適化をする• 上記を，たくさんの方向に繰り返して，少しずつ解を改善して，最適解を求める．
1 次元最適化を高速化する．

7

最小誤り率訓練
BLEU 最大化の代りに，より簡単な，誤り個数最小化の問題を考える．これを，あとで，BLEU 最大化に拡張する

8誤り個数 E(rs1, es1) の定義
SX
s sE(r1, e1) =E(rs, es)s=1

参照文のリスト = {r1, r2, ..., rS }翻訳文のリスト = {e1, e2, ..., eS }






1 (rs 6= es) 0 (rs = es )E(rs, es) = 

この E(rs, es) が，文が完全に一致するときに 0 で，そうでないときに 1 となっているので，翻訳文の評価として
は，ずいぶんと簡略化されている．

9

誤り個数を最小化するパラメタ λ̂
S
X
M
ˆ
M
E(r
,
e(f
;
λ
λ1 = arg min
s
s
1 ))
M
λ1

s=1

M
X
M
λmhm(e, fs)
es = e(fs; λ1 ) = arg max
e∈Cs m=1

Cs = n 個の翻訳候補
λm = 素性 m の重み
hm(e, fs) = 素性 m の値
fs = 入力文

10

誤り個数の性質
SX
s s
E(r1, e1) =E(rs, es)s=1

• E(rs, es) の和が全体の値となる• したがって，個々の誤り E(rs, es) と λM
1 の関係がわかれば，それを加算すれば，全体の誤りと λM
1 の関係
がわかる．
さて，一次元の最適化では，ある方向 d に向けての最適化をする．その方向を M 次元ベクトル dM
1 により表現する．すると，ある定数ベクトル g1M を利用することにより，素性ベクトル λM
1 は
M
M
λM
1 = g1 + γd1と表現できる．
M
したがって，λM
1 を，ある与えられた方向 d1 に最適化
するとは，E(rs1, es1) が最小となるような，g1M と γ を求めることである．
ここで，

es = e(fs; λM1 ) = arg max

M
Xe∈Cs m=1λmhm(e, fs)

により，候補 Cs から es を選んで，それにより，E(rs, es)
Mが決まる．この es が，λM
1 ，つまり，g1 と γ により異なる．
したがって，es と g1M ，γ の関係が知りたい．
11

es と g1M ，γ の関係
素性値のベクトルを hM
1 = {h1 (e, f ), ...} とする．すると，翻訳文集合 Cs 中の候補を ei とすると，そのスコア
si は，

si =

M
X

λmhm(ei, fs)

m=1
M
= λM
·
h
1
1
M
= (g1M + γdM
)
·
h
1
1
M
M
= (g1M · hM
1 + γd1 · h1 )= (bi + γai)
ただし，bi = g1M · hM1M
ai = dM
·
h
1
1

(1)

である．つまり，スコア si は，ある定数 ai と bi から定められる直線 ai + γbi の上にある．すなわち，ei のスコア
si は，γ を変えると変わる．

12

γ の変化による es = arg maxei si の変化
Score

S3

S

b

b3

a3

S2

b2

a2

a1

• (−∞, γ1] のときは スコア S1 が最大なので文 e1 が選ばれる．
• (−γ1, γ2] のときは，e2 が選ばれる• (−γ2, ∞] のときは，e3 が選ばれる
初期値 = E(γ = −∞) = E(r, e1)
左から右に動いていって，
γ1 になったら ∆E = E(r, e2) − E(r, e1)γ2 になったら ∆E = E(r, e3) − E(r, e2)のように，γ の変化と，その時点での ∆E を記録する．
すると，ある参照文 r について，γ を動かしていったときに，どの時点で，誤りの個数が変化するかがわかる．
13

各入力文についての結果を統合する• 入力文 1
γ11 → ∆E11
γ21 → ∆E21...
• 入力文 2
γ12 → ∆E12
γ22 → ∆E22...
これらをみんなあわせると
γ1 → ∆E1
γ2 → ∆E2...
のように，どの γ において，どの程度，誤りの個数が変化したかがわかる．
これより，γ = −∞ のときの誤り個数に対して，γ1, γ2,... と γ を変えていったときの誤りの個数の変化がわかるので，そのときの最小誤りのところの γ を利用する．
この γ を利用すると，一次元方向での最小化が達成できる．そのため，この結果を利用することにより，多次元の最適化ができる．

14

BLEU への拡張
log pnBLEU = BP (·) exp(
)
n=1 N
N
X

(2)

BP (·) = 長さの短い文へのペナルティ
N = 4
pn = ngram 精度PP
MT 訳 MT 訳の ngram 共有 ngram 数=PP
MT 訳 MT 訳の ngram ngram 数
拡張へのポイントは，BLEU においては，pn のような部
分が，共有する ngram の各文に対する総和として表されることである．したがって，誤りの場合と同様に γ が変化するたびに，共有する ngram の総和が変化するので，そのたびに，共有する ngram の総和等から pn 等を計算
すれば，γ が変化するたびの BLEU の変化がわかる．
したがって，単純な誤り個数の場合と同様に，BLEU が最大となる γ がわかる．

15

MERT の繰り返し回数と BLEU の関係
0.27’class/itr-mert.txt’
0.26

0.25

BLEU

0.24

0.23

0.22

0.21

0.2

0.19

0.18
0

2

4

6

8
Iteration

10

12

14

16

BLEU の変化が大きいことがわかる．パラメタ値の調整
は，質の良い翻訳を達成するために，必要不可欠である．

16

繰り返し回数と訳文の変化 1
Input: thus , the left input data of node nd15
is obtained .
Reference: こ れ に よ り 、 ノ ー ド Ｎ Ｄ １
５ の 左 入力 データ が 得 られ た こと に なる 。
itr1: したがって 、 左 入力 データ が ノード Ｎ
Ｄ １５ が 得 られる 。
itr2: 以 上 の よ う に し て 構 成 さ れ て い
る が さ れ て い る ノ ー ド Ｎ Ｄ １ ５ の よ
う に し て 得 ら れ た ま ま に 放 置 し て い
る と さ れ て い
る の が 、 、 、 、の デ ー タ の デ ー タ の よ う に し て 、 入
力 さ れ て いる よう に さ れ て いる 。
itr3: こ の よ う に し て 、 ノ ー ド Ｎ Ｄ １
５ の 左 入 力 デ ー タ が 得 ら れ る よ う に なって いる よう に なっ て いる 。
itr4: これ に より 、 ノード ＮＤ １５ の 左 入
力 データ が 得 られる 。

17

繰り返し回数と訳文の変化 2
Input: the system arrangement shown in fig. 1
will be described in more detail below .
Reference: 図 １ の シ ス テ ム 構 成 に つ い て 更に 詳細 に 説明 する 。
itr1: この 構成 に 詳しく 説明 する 。
itr2: よ り 以 上 の よ う に 構 成 さ れ て い
る の は 、 図 １ の 第 １ の 図 に 示
す よう に し た 場 合 に つ い て 説 明 し た よ
う に 構成 さ れ て いる さ れ て いる システ
ム の 詳 細 な 説 明 さ れ る よ う に なっ て い
る の 下方 に 位置 し て 説明 する よう に 構
成 さ れ て いる よう に さ れ て いる 。
itr3: 図 １ に 示 す よ う に 構 成 さ れ て 、システム の より 詳細 に 説明 する 以下 の よ
う に なっ て いる 。
itr4: 図 １ に 示す よう に 構成 さ れ 、 システ
ム の 更に 詳細 に 説明 する 。
itr5: 図 １ に 示 す シ ス テ ム 構 成 の 詳 し く 説
明 する 。
itr6: 図 １ に 示 す 構 成 の シ ス テ ム 詳 し く 説
明 する 。
itr7: 図 １ に 示 す シ ス テ ム 構 成 の 更 に 詳
細 に 説明 する 。
18

まとめ
• BLEU が最大化するようにパラメタを調整することにより，評価値に沿ったパラメタを獲得できる
これより，適正な評価を与えることが重要であることがわかる．

• 自動的に適正な評価を与えることができれば，その評価を最大化するようにパラメタを調整することにより，良いシステムを作成することができる．

19

20. まとめ内山将夫@NICT
mutiyama@nict.go.jp

1

まとめ
まとめは課題とします• 講義の内容をまとめたり• Web 上で利用可能な機械翻訳システムの性能をレポートしたり• その他，講義と関係のあることをレポートしたりして下さい．

2

今後の研究課題• コーパス• モデル /アルゴ リズム/ソフトウェア
• 評価

3

コーパス
対訳コーパスが必要だが，大規模な対訳コーパスは少ない
対訳コーパスを収集する効率的な方法が必要である．
既に Web 等にあるものを収集することもできるが，その場合には，著作権を侵害しないようしないといけない．
対訳コーパスがない言語対については，最初から作らないといけない．そのときに，たとえば ，標準的な日本語文を何文か用意しておいて，その文に対してさえ，対訳文を用意すれば ，どんな言語対についても，コー
パスベースの機械翻訳ができるようになれば ，すばら
しい．

4

モデル /アルゴリズム/ソフト ウェア
モデルは，現在は，何らかの形で構文を利用するものが主流である．けれど も，単純なフレーズベースのものと比べて，特に性能が良いことが示されてはいない．
単語対応をとるソフトウェアとして GIZA++ が広く使われているが，もうメンテナンスされていないし ，性
能も最高性能とはいえない．軽く速く動く単語対応をとるソフトウェアが欲しい．

5

評価
良い翻訳文とは何かが良くわかっていない．
翻訳文の評価は，人手によるものが最も信頼できると思われるが，人手による評価はコストも時間もかかる．
簡単で，かつ，良い自動評価ができれば ，機械翻訳の研究は，本質的に発展すると思われる．

6

結論
コーパスベースの機械翻訳は，まだ始まったばかりであり，これからもっと研究を進める必要がある．

7