Spectral Learning を用いた 語義曖昧性解消
description
Transcript of Spectral Learning を用いた 語義曖昧性解消
![Page 1: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/1.jpg)
Spectral Learning を用いた語義曖昧性解消
DMLA 談話会 2009-01-21小町守
![Page 2: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/2.jpg)
やりたいこと
• ラベル付きデータが少ない状況での語義曖昧性解消(半教師あり語義曖昧性解消)– The more data the better, though…–取り得るラベル(語義)は全て分かっている
設定• ラベルなしデータを用いたパターン(素
性)・インスタンスの適切な重み付け–ラベル見るのもアリ
2
![Page 3: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/3.jpg)
本日の内容
• これまでのおさらい• 半教師ありクラスタリングについて• 制約付きスペクトラル学習による語義曖
昧性解消実験
3
![Page 4: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/4.jpg)
4
背景 :kNN による語義曖昧性解消
シード = 語義を当てたいインスタンス距離 = 正則化ラプラシアンカーネル学習 = k-nearest neighbor (k=3)→△ 分離平面がきれいにならない→△SVM に負けている
シードシード
![Page 5: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/5.jpg)
前回までに試したこと
• 半教師あり学習の設定で WSD– SVM に(訓練データが少なくても)勝てない–→距離だけ学習して最後は SVM に任せたい
• pLSI を使ってインスタンス - パターンをクラスタリングし、隣接グラフの重みに使う–ラベルを見ていいならクラスタリングにラベル
を使ったほうがいい–というわけで pLSI 使うの止めました–→半教師ありクラスタリング
5
![Page 6: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/6.jpg)
半教師ありクラスタリング
• ラベルを 2 項間の制約として入れる( Wagstaff and Cardie 2000 )– Must-link 2 つのインスタンスが同じラベル
– Cannot-link 2 つのインスタンスは違うラベル
6
![Page 7: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/7.jpg)
K-means + 半教師ありクラスタリング
• 制約ベース : インスタンスが制約を満たすようクラスタリング– COP-kmeans (Wagstaff et al. ICML-2001)
• 距離ベース : 制約を考慮してインスタンス間の距離を再計算– CCL (Klein et al. 2002)– Must-link を持つインスタンス同士の距離を
0 、 cannot-link を∞とし、 Must-link に関係する距離を修正→最後は complete-link でクラスタリング
→△ 使えるクラスタリングに条件があるという問題
7
![Page 8: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/8.jpg)
スペクトラルクラスタリング
• クラスタ間の類似度が最小(クラスタ内の類似度が最大)になるようなグラフカット
8
![Page 9: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/9.jpg)
固有ベクトルとラプラシアンの関係
• グラフラプラシアン L = D – A (D は対角行列、ただし ) の 2 番目に小さい固有ベクトルがそうしたグラフカットの近似になっている
• 2 番目に小さい固有ベクトルを用いてデータを2 つに分割できる( Shi and Malik CVPR-1997 )
• K 個の固有ベクトルを使って複数クラスタに分割できる( Ng et al. NIPS-2002; Meila and Shi AISTAT-2001 )
→○K クラスの分類問題に利用できる
€
Dii = Aijj=1
n
∑
9
![Page 10: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/10.jpg)
スペクトラル学習のアルゴリズム
1. 類似度行列 A を作るCos 類似度、ユークリッド距離、 etc…
2. 対角行列 D を作る3. A を正規化する( =N )
D-1A, D-1/2AD-1/2, (A + dmaxI – D) / dmax ( dmax = A の行和の最大値)
4. N の k 個の最大固有ベクトルを計算し、列に順番に並べて行列 X を作る
5. X の各行を正規化する→ここから先がクラスタリングと分類で違う
€
Dii = Aijj=1
n
∑
10
![Page 11: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/11.jpg)
スペクトラルクラスタリング
6. 各インスタンスを X の各行にマップし k 個のクラスタに分割( K-means などを使う)
7. インスタンスのラベルはマップされた X の行に相当するラベル
11
![Page 12: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/12.jpg)
スペクトラル分類
6. 各インスタンスを X の各行にマップ7. 各行を訓練事例として教師あり学習
( SVM や kNN など)8. インスタンスのラベルはマップされた X
の行に相当するラベル
12
![Page 13: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/13.jpg)
クラスタリング ? 分類 ?
• WSD の設定で全部ラベルは分かっている→分類で解くのが自然 ?
13
![Page 14: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/14.jpg)
制約つきスペクトラルクラスタリング 1
• 類似度行列に制約を入れる( Kamvar et al. IJCAI-2003 )– Must-link のあるところは Aij = Aji = 1
– Cannot-link のあるところは Aij = Aji = 0
–残りは普通にスペクトラルクラスタリング
→○ 多クラスでも扱える→△ (数学的に)きれいではない→△? (制限)類似度尺度は 0-1 の範囲のみ
14
![Page 15: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/15.jpg)
制約つきスペクトラルクラスタリング 2
• Subspace trick ( De Bie et al. SSPR-2004 )–制約を書いた行列を用いることによって固有
ベクトルの探索空間を変化させる( DMLA 12月 17 日)
→○ (数学的に)きれい→△ ( 2 クラスの場合はよいが)多クラス
の場合 Cannot-link の書き方が自明ではない
€
v =
1 0 0
1 0 0
−1 0 0
0 1 0
0 1 0
0 0 In−5
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥
u =Yu
22
11
77
66
55
33
44
15
![Page 16: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/16.jpg)
スペクトラル学習による WSD
• Must-link 、 Cannot-link はラベル付きデータから生成できる–同じ語義なら Must-link 、違う語義なら
Cannot-link 、語義が分からないときは制約なし
• 複数ラベルを考慮したモデルがよい– Kamvar et al. の方法を試した
→2 クラスに限定すれば subspace trick も使えるが……
16
![Page 17: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/17.jpg)
制約つきスペクトラル学習
1. 類似度行列 A を作る2. 対角行列 D を作る3. 制約を満たすよう A を修正する
1. Must-link のあるところは Aij = Aji = 12. Cannot-link のあるところは Aij = Aji = 0
4. A を正規化する( =N )5. N の k 個の最大固有ベクトルを計算し、列
に順番に並べて行列 X を作る→以下同様
17
![Page 18: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/18.jpg)
(予想)
• スペクトラル学習はラベル付きデータが少ないときに有効
→SVM や kNN と比べてラベル付きデータが少ないところで勝ちたい
• いくつか分岐点がある–類似度尺度、クラスタリング(どのクラスタ
リング手法) or 分類(どの分類器)、正規化方法、制約の入れ方
→どれがよい ?
18
![Page 19: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/19.jpg)
実験設定
• データ : Senseval-3 English Lexical Sample– 57 単語、 1 語につき 100-200 文章の訓練データ–語義の数は平均して 6.47 個– 10%, 25%, 50%, 75%, 100% で実験
• 手法(スペクトラル学習)–類似度行列 A = PPT (ただし P は各行で正規化)– A の正規化 なし– K = 50 (てきとう)–分類器 libsvm-2.84.0 (線形カーネル)
19
![Page 20: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/20.jpg)
SVM, kNN(k=5) との比較
精度
データ量(利用できる訓練データに対する割合)20
![Page 21: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/21.jpg)
考察
• × 最頻出語義ベースライン以下• 結果を分析したところ、(全てではない
が)ほとんど最頻出語義を選択してしまっている
→類似度に正則化ラプラシアンカーネルを使うべき ?
• K の数は大きすぎると過学習するが、小さすぎると全く判別できない
21
![Page 22: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/22.jpg)
まとめ
• 制約付きスペクトラル学習を用いて語義曖昧性解消ができる。
• ただし、類似度行列、正規化方法、分類器、制約の入れ方など、設定するべきパラメータが多い。
• 特に類似度行列の選び方が意味ドリフトを防ぐために重要(みたい)。
22
![Page 23: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/23.jpg)
来週までに……
• 類似度行列を変えてみる• ( 2 クラス問題に限定して) subspace trick
を使ってみる–人工的な合成語を作れば無限にラベルつき
データを生成できる• (多クラス問題で Must-link のみに限定し
て) subspace trick を使ってみる• スペクトラルクラスタリングも試してみる
23
![Page 24: Spectral Learning を用いた 語義曖昧性解消](https://reader034.fdocuments.net/reader034/viewer/2022050908/56814666550346895db38824/html5/thumbnails/24.jpg)
コメント・アドバイスありましたら
• どうぞよろしくお願いします。
24