大規模コーパスを用いた 分布類似度計算

超大規模ウェブコーパスを用いた
分布類似度計算
09/03/05
京都大学
柴田 知秀 黒橋 禎夫
背景
• 大規模コーパスを利用することにより言語処
理の精度が向上
– スペル訂正(100億語) [Lin and R.Curran 06]
– 言語モデルの機械翻訳での利用 (2兆語) [Brants
et al. 07]
• 分布類似度計算で大規模コーパスの利用
– 6,400万語 [Lin98]
– 20億語 [Curran04]
– 4,000万Webページ [相澤08]
• 本研究ではウェブ1億ページ(250億語)を利用
概要
• 大規模コーパスを利用することによって分布
類似度計算の精度が向上するか
– どれくらいの規模があれば十分か
• 曖昧性のある係り受けを除外することによる
効果
• 複合名詞の類似度計算
• どのコンテキストが有効か
目次
• 分布類似度
– コンテキスト抽出
– 分布類似度計算
• 実験
– 類似度尺度
– 曖昧性のある係り受けの除外
– 複合名詞の類似時計算
– どのコンテキストが有効か
目次
• 分布類似度
– コンテキスト抽出
– 分布類似度計算
• 実験
– 類似度尺度
– 曖昧性のある係り受けの除外
– 複合名詞の類似時計算
– どのコンテキストが有効か
分布類似度
• 意味の似た語は似たコンテキストで出現 [Firth57]
医師 医者
類義語
類似度
~の診察
8225
495
主治医
0.437
~に相談
4374 1359
ドクター
0.395
~の許可
1474
254
医者
0.382
~が増える
354
134
教員
0.374
~を志す
277
173
カウンセラー
0.368
0
25
獣医
0.350
~の不養生
0.382
「医師」の類義語
コンテキスト抽出
• 3つ組(w, r, w’)を抽出
– ある語wが他の語w’と関係rで出現している
– 関係rとして係り受け関係がもっともよい[Lin98],
[Curran04]
• 例: 医者が診察する → (医者, ガ, 診察)
– (r,w’)の組を語wの共起要素と呼ぶ
• rとして以下の格要素を考える
– ガ, ヲ, ニ, カラ, ト, ヘ, マデ, ヨリ, ノ
曖昧性のある係り受けを除外
• 格フレーム構築時に曖昧性のある係り受けを
除外[Kawahara and Kurohashi 01]
パンを焼いたけれども、…
?
パンを焼いた余熱を利用して、…
語wの単位
• 多くのシステムでは複合名詞の分布類似度
を扱っていない [Curran04]
– 人手によるシソーラスの25%は複合名詞
– 複合名詞の分布類似度を計算したが精度が低
下[Ingram and Curran07]
• 語wの単位として単名詞と複合名詞を考える
– 複合名詞は文節内で最長のもの
– 例: 携帯電話を購入した
• 単名詞: 電話
• 複合名詞: 携帯電話
分布類似度計算
• 以下の二つのfunctionに分解 [Curran04]
– Weight function
– Measure function
医師
医者
~の診察
8225 11.4
~に相談
~の許可
495
8.7
4374
8.1 1359
7.3
1474
5.3
254
3.5
~が増える
354
0
134
0.9
~を志す
277
5.9
173
6.3
Weight function (wgt)
FREQ
MI
f (w, c)
P( w, c)
log
P( w) P(c)
MI’
f ( w, c)
min( f ( w,*), f (*,c))
P( w, c)


f ( w, c)  1 min( f ( w,*), f (*,c))  1 P( w) P(c)
Bβ
1 if MI > β; otherwise 0
Measure function
COSINE
LIN98
 wgt(w ,*) wgt(w ,*)
 wgt(w ,*) *  wgt(w ,*)
wgt( w ,*)  wgt( w ,*)

 wgt(w ,*)  wgt(w ,*)
1
2
2
2
1
2
( w1 ,*)( w2 ,*)
( w1 ,*)
1
1
2
( w2 ,*)
JACCARD
( w1 ,*) ( w2 ,*)
( w1 ,*) ( w2 ,*)
SIMPSON
( w1 ,*)  ( w2 ,*)
min((w1 ,*),( w2 ,*))
2
JACCARD- 1/2 (JACCARD + SIMPSON)
SIMPSON
目次
• 分布類似度
– コンテキスト抽出
– 分布類似度計算
• 実験
– 類似度尺度
– 曖昧性のある係り受けの除外
– 複合名詞の類似時計算
– どのコンテキストが有効か
実験
• 日本語1億ページ[Shinzato et al. 08]
– 60億文をuniqした16億文(250億語)を利用
– 以下の5つのコーパスサイズ(文数)で実験
• 6.3M, 25M, 100M, 400M, 1.6G
• 形態素解析・構文解析: 150CPUで1週間
• 3つのコンテキストベクトルを作成 (1日弱)
– (i) 単名詞,
曖昧性のある係り受け あり
– (ii) 単名詞,
曖昧性のある係り受け なし
– (iii) 複合名詞, 曖昧性のある係り受け なし
評価セット [相澤08]
タスクI
×
○
エイズや肝炎などの病気
(A)
タスクII
タスクI
(B)
○
(C)
○
寄与
(D)
(A)とシソーラスのカテゴリが異
なり、Webでの頻度が同程度
×
○
プリンターや複写機などの消耗品
×
タスクII
×
サボテン
タスク I News: 685表現, Web: 25,740表現
タスクII News: 876表現, Web: 2,019表現
類似度尺度評価
• 閾値を0.01から0.4まで0.01刻みで動かしてFmeasureの最大値を求めた
尺度
Weight Measure
タスク I
News
Web
タスク II
News
Web
B-S
B-J
Bβ
Bβ
Simpson
Jaccard
0.985
0.981
0.973
0.945
0.807
0.743
0.876
0.805
B-SJ
Lin98
Bβ
MI
SJ
Lin98
0.988
0.985
0.975
0.949
0.817
0.748
0.878
0.805
Lin02
MI’
Cosine
0.984
0.955
0.758
0.818
0.982
0.971
0.752
0.862
Aizawa08
※ β=2とした
コーパスサイズと精度の関係
(タスクI: Web)
1
0.9
F値
0.8
B-S
0.7
B-J
0.6
B-SJ
0.5
Lin98
Lin02
0.4
6.3M
25M
100M
400M
コーパスサイズ (文数)
1.6G
曖昧性のある係り受けの有無 (Web)
1
0.9
F値
0.8
0.7
タスクI (曖昧性のある係り受けなし)
0.6
タスクI (曖昧性のある係り受けあり)
0.5
タスクII (曖昧性のある係り受けなし)
0.4
タスクII (曖昧性のある係り受けあり)
6.3M
25M
100M
400M
コーパスサイズ (文数)
1.6G
語の単位:単名詞と複合名詞 (Web)
F値
改善例:1
正解: ○ 神経衰弱
ゲーム
0.9× ゴルフコース 大学
正解:
0.8
0.7
タスクI (単名詞)
0.6
タスクI (複合名詞)
0.5
タスクII (単名詞)
タスクII (複合名詞)
0.4
6.3M
25M
100M
400M
コーパスサイズ (文数)
1.6G
コンテキストの有効性評価
格
タスク I
News
タスク II
Web
News
Web
-ガ
0.988
0.971
0.817
0.870
-ヲ
0.985
0.970
0.813
0.873
-ニ
0.987
0.971
0.810
0.871
- カラ
0.987
0.971
0.816
0.873
-ト
0.987
0.971
0.811
0.872
-ヘ
0.988
0.971
0.816
0.872
- マデ
0.988
0.971
0.817
0.872
- ヨリ
0.987
0.971
0.816
0.872
-ノ
0.982
0.966
0.762
0.867
全て
0.988
0.971
0.816
0.872
+デ
0.988
0.971
0.807
0.870
誤り分析
• タスクIは自動生成したデータなので、類義語
でないものを含む
~に注射
~の胎児
– 銀行や空港(などの場所)
‥
– 記憶や学習(などの脳機能)
~でドラッグ
• 多義語
~のホイール
– 豚 マウス
– ヘリウム ネオン
~の原子
~に変わる
‥
~を消灯
~が誘惑
• 形態素解析誤り
– もみすり → もみ(動詞)すり(動詞)
– つくばい → つく(動詞)ばい(名詞)
まとめ
• 超大規模コーパスを用いた分布類似度計算
– コーパスサイズを増やすことによって精度が向上す
ることを確認
– 実験で用いたコーパスサイズでほぼ十分
– 曖昧性のある係り受けを除外
– 複合名詞の分布類似度
• 今後の予定
–
–
–
–
曖昧性解消の導入
動詞の類似度計算
計算済み類似度データベースを公開予定
分布類似度を用いて構築した格フレームを公開予定