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 つ見つけて，日本語訳もつけましょう．
「foreignproducts (外国製品)」「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 (自由なアクセス)」「Internetaccess (インターネットアクセス)」

6

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

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

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

a = 137, b = 59, c = 284, d = 149520
もし，「効率」の存在が「efficiency」の存在に影響を与えないならば
ab∼(1)
a+c b+dのはずである．しかし，もし，「効率」と「efficiency」が良く共起するなら (あるいはあまり共起しないなら)

ab6=a+c b+d(2)のはずである．
1 式は両者が確率的に独立であり，2 式は両者が確率的に従属であることを示す．→ 独立性の検定を利用し，独立性が低いものを抽出する．
8

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

対数尤度比の例
単語
対訳a bcdLLR
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 =nX
i=1nX
i=1nX
i=1nX
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 (データ | 独立) =nX
i=1log 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
nnlog P (Ei = 1, Ki = 0| 独立)= log P (Ei = 1| 独立)P (Ki = 0| 独立)a + bb + d= lognn
残りの 2 つについても同様

12

P (データ | 従属) の計算
log P (データ | 従属) =nX
i=1log 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| 従属) = log
nblog P (Ei = 1, Ki = 0| 従属) = logn
残りの 2 つについても同様

13

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

14

回答例

LLR =+aba log a+bna+c + b log a+bnb+dn nn n
cdc log c+dna+c + d log c+dnb+dn nn 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