A Unified Model for Word Sense Representation and...

32
A Unified Model for Word Sense Representation and Disambiguation (EMNLP2014より) 茨城大学工学部 佐々木稔

Transcript of A Unified Model for Word Sense Representation and...

Page 1: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

A Unified Model for Word Sense Representation and Disambiguation

(EMNLP2014より)

茨城大学工学部

佐々木稔

Page 2: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

単語のベクトル表現

• 単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

–ベクトルには意味、統語情報が含まれる

• 一般的な単語のベクトル表現方法 –単語につき、ひとつのベクトルが存在

• 多義語だと複数の語義がひとつにまとまる

• 多義語対応の研究 – クラスタリング、WSIによるベクトル生成手法

(Reisinger 2010)、(Huang 2012)

Page 3: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

クラスタリングによるベクトル生成の問題点

• クラスタ数の指定

• オフラインでのクラスタリング

–新語義、新語、新データに適応できない

• 辞書中の語義を見つけるのが難しい

– クラスタと語義の対応付け

Page 4: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

語義の表現と曖昧性解消の 統一モデル

• 知識ベースと巨大コーパスによる語義のベクトル表現と曖昧性解消モデル –語義ごとに分散表現ベクトルを作成

• WSDに有効な意味・統語情報を多く含む

–語義ベクトルを使ったWSD

• 知識ベースを使う利点 –語義数が分かる

–新語義発見に利用できる

–意味ベクトルと語義の対応付けができる

Page 5: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

語義ベクトルの初期化

• 各単語の語釈文を使って語義ベクトルを生成 – word2vecで得られた単語分散表現を使う

• 手順 – 対象単語の各語義から語釈文の内容語を抽出

• 内容語は対象単語以外の名詞、動詞、形容詞、副詞

– 対象単語と各内容語のコサイン類似度を計算 • 分散表現の単語ベクトルで類似度計算

– 閾値(0.0以上)を超える内容語を候補集合とする

– 候補の内容語に対し、分散表現の平均を計算

– 平均ベクトルを語義ベクトルとして出力

Page 6: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

語義ベクトルの生成

Wikipediaの 文書集合

名詞、動詞、形容詞、 副詞の単語集合

辞書の単語と 語釈文

各語義の語釈文中の 名詞、動詞、形容詞、副詞

単語の分散表現

見出し語

見出し語の 単語ベクトル

各単語の 単語ベクトル

類似度 δ 以上の 語釈文単語の 平均ベクトル 語義ベクトル

Page 7: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

all-words型語義曖昧性解消

• 入力文 S の単語列 (w1, w2, …, wn)

–各単語 wi に適切な語義 M(i) を割り当てる

• M(i) ∈ SenseWN(wi),

• SenseWN(wi) は単語 wi の WordNet 中の語義集合

–語義の組合せは 𝑆𝑒𝑛𝑠𝑒𝑊𝑁 𝑤𝑖𝑛𝑖=1

W1 W2 Wn ・・・

SenseWN(W1)1⇒M(1) SenseWN(W1)2

・・・ SenseWN(W1)h

SenseWN(W2)1

SenseWN(W2)2 ⇒M(2) ・・・

SenseWN(W2)k

SenseWN(Wn)1⇒M(n) SenseWN(Wn)2

・・・ SenseWN(Wn)l

Page 8: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

all-words型語義曖昧性解消

• 語義を求める順序

– L2R (Left to right) 左から右に語義を割当て

– S2C (simple to complex) 語義の少ない単語から多い単語の順番で語義を割当て

W1 (3) W2 (2) Wn (1) ・・・

W1 W2 Wn ・・・

M(1) M(2)

M(n)

M(2)

M(1)

Page 9: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

文脈ベクトルの作成

• 入力文 S の内容語を抽出

• 内容語の分散表現から平均ベクトルを計算

入力文

内容語集合

単語ベクトル 単語ベクトル 単語ベクトル

文脈ベクトル

Page 10: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

単語の処理順序の決定

• 文 S の内容語を処理する順序 L を求める

• L2R

–内容語を左から右の出現順序で順位付け

• S2C

–各内容語の語義数 𝑆𝑒𝑛𝑠𝑒𝑊𝑁 𝑤𝑖 の少ない順で順位付け

Page 11: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

曖昧性解消処理

• 順序 L に従って単語 wi の語義を決定する –以下の単語はスキップする

• 内容語ではない

• 語義数が1( 𝑆𝑒𝑛𝑠𝑒𝑊𝑁 𝑤𝑖 = 1) しかない

–文脈ベクトルと wi の語義ベクトルの類似度計算 • コサイン類似度

–類似度が最大の語義を解消結果として返す

– 2番目の類似度との差が ε 以上の場合 • 文脈ベクトル中の単語ベクトルを語義ベクトルに置換

– 平均した単語ベクトルから wi の語義ベクトルに置き換え

Page 12: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

語義ベクトルの学習

• WSDの結果から、語義ベクトルを更新

–前後の単語と語義を共に予測する

• Skip-gramの目的関数を変更

– k は前後の単語数

– T は単語数

• 計算時間が長いので、階層的softmaxを使用

T

t

k

kj

tjttjt wwMpwwpT 1

||log1

Page 13: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

語義ベクトル更新時のskip-gram

• 単語の後に語義を付けて再学習

bank

sat sit1 on the of the lake lake1

Projection

input

Page 14: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

語義ベクトルの更新

Wikipedia語義付き文書集合

名詞、動詞、形容詞、 副詞、語義タグの集合

単語の分散表現

語義ベクトル

更新した 語義ベクトル

All-words WSD

Page 15: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

実験

• 単語の分散表現ベクトルの作成

–英語Wikipedia文書(2013年10月のダンプデータ)

– 300万記事、10億個のトークン

– word2vec で単語ベクトルを作成

• 辞書

– WordNet 1.7 (domain specific WSD)

– WordNet 2.1 (coarse grained WSD)

Page 16: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

実験のパラメータ

• 類似度の閾値 δ = 0

• 類似度の差 ε = 0.1

–各パラメータで実験結果の良かった値を使用

δ の値 名詞のみ All-Words

δ = - 0.10 79.8 74.3

δ = - 0.05 81.0 74.6

δ = 0.00 81.6 75.8

δ = 0.05 81.3 75.4

δ = 0.10 80.8 75.2

δ = 0.15 80.0 75.0

δ = 0.20 77.1 73.3

δ = 0.25 75.0 72.1

ε の値 名詞のみ All-Words

ε = 0.00 78.1 72.9

ε = 0.05 79.5 74.5

ε = 0.10 81.6 75.8

ε = 0.15 81.2 74.7

ε = 0.20 80.9 75.1

ε = 0.25 80.2 74.8

ε = 0.30 80.4 74.9

Page 17: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

語義ベクトルの評価

• 語釈文との類似度で得られた語義ベクトル

–各語義に近い意味の単語が得られた

単語と語義 類似度の高い3単語

bank banks, IDBI, CitiBank

bank1 river, slope, Sooes

bank2 mortgage, lending, loans

star stars, stellar, trek

star1 photosphere, radiation, gamma-rays

star2 someone, skilled, genuinely

plant plants, glavaticevo, herbaceous

plant1 factories, machinery, manufacturing

plant2 locomotion, organism, organisms

Page 18: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

Contextual Word Similarity

• データセット

– Stanford’s Contextual Word Similarity(Huang 2012)

• 2003単語のペアと人手による 0~10 の類似度

• 各単語には用例文があり、共起単語が分かる

• 2単語 w と w’ の類似度

– p(i|w,c) : 単語 w が文脈 c で語義 i となる確率

– d(vec,vec’) 2単語の単語ベクトルの類似度

M

i

N

j

ss jiwvecwvecdcwjpcwip

MNwwAvgSimC

1 1

,,|,|1

,

Page 19: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

各手法の順位相関係数の比較

• 既存手法との順位相関係数の比較 – ‘S’ は単語を1ベクトル、’M’ は語義を1ベクトル

• 紹介論文の手法が最も相関が高い

モデル 順位相関係数×100

(Collobert & Weston 2008) の言語モデル 57.0

(Huang 2012) - S ※人手で類似度付与 58.6

(Huang 2012) - M AvgSim 62.8

(Huang 2012) - M AvgSimC 65.7

(Chen 2014) – S ※今回の紹介論文 64.2

(Chen 2014) –M AvgSim 66.2

(Chen 2014) –M AvgSimC 68.9

Page 20: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

特定分野でのWSD

• 訓練データ

– Wikipedia(先ほどの実験と同じデータ)

• テストデータ

– (Koeling et al. 2005) の実験データ

– Reutersコーパスのスポーツと金融分野を抜粋

– 41単語(平均6.7語義、2~13語義)

–各単語に対し、約100用例あり、語義を識別

Page 21: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

特定分野WSD実験の結果

• 紹介論文の再現率が最も高い

• 短文、WordNetにない文脈でも類似度計算可能

• ラベルなしデータと辞書定義文でも高い再現率

アルゴリズム スポーツ分野 金融分野

ランダムに語義を付与 19.5 19.6

再頻出語義を付与 19.6 37.1

K-NN 30.3 43.4

Static PageRank (Agirre et al. 2009) 20.1 39.6

Personalized PageRank (Agirre et at. 2009) 35.6 46.9

Degree (Navigli and Lapata, 2010) 42.0 47.8

紹介論文の手法 57.3 60.6

Page 22: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

Coarse-Grained All-words WSD

• Semeval-2007 coarse-grained all-words WSD – WordNetよりも粗い意味区分

–訓練データは Wikipedia を使用

• 対象単語 –名詞のみ(1,108単語)

–全単語(2,269単語)

• このタスクで最大のF値を出すシステムと比較 –教師なし

–教師あり

Page 23: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

粗い語義のWSD実験の結果

• F値により手法を比較

アルゴリズム タイプ 名詞のみ 全単語

ランダムに語義を付与 教師なし 63.5 62.7

再頻出語義を付与 半教師 77.4 78.9

SUSSX-FR (Koeling and McCathy, 2007) 半教師 81.1 77.0

NUS-PT (Chan et al. 2007) 教師あり 82.3 82.5

SSI (Navigli and Velardi, 2010) 半教師 84.1 83.2

Degree (Navigli and Lapata, 2010) 半教師 85.5 81.7

紹介論文の手法(L2R) 教師なし 79.2 73.9

紹介論文の手法(S2C) 教師なし 81.6 75.8

紹介論文の手法(L2R) 半教師 82.5 79.6

紹介論文の手法(S2C) 半教師 85.3 82.6

Page 24: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

粗い語義のWSD実験の結果

• F値により手法を比較

• 紹介論文の「半教師」

–語義が決まらない場合のback-off strategy としてMFSを使う

アルゴリズム タイプ 名詞のみ 全単語

紹介論文の手法(L2R) 教師なし 79.2 73.9

紹介論文の手法(S2C) 教師なし 81.6 75.8

紹介論文の手法(L2R) 半教師 82.5 79.6

紹介論文の手法(S2C) 半教師 85.3 82.6

Page 25: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

日本語Wikipediaデータから 分散表現の作成

• 日本語Wikipediaの文書 – 2015年10月2日時点でのダンプデータ

– mecab で単語に分割 • 名詞、動詞、形容詞を使用

• 動詞などの活用はすべて見出し語に変換

• 単語列のファイルに変換

• 単語の分散表現ベクトルを作成 – word2vec を使用

• ベクトルの次元数は200、残りはデフォルト設定

– 単語ファイルの先頭から2.14GB分を使用

Page 26: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

S2CによるAll-words WSD

• テスト文 – 「でも短期的には、あの巨大組織が民営化するわけだから市場の混乱は避けられないだろう。」

• 内容語を抽出し、文脈ベクトルを作成 – 「短期 的 巨大 組織 民営 化 する わけ 市場 混乱 避ける られる」

• 各単語の語義数が少ない順にWSDを行う

• 準備不足のため、多少ズルしてます – テストデータ中の内容語のみ語義ベクトルを計算

– 「する」「的」の単語IDを事前に決定

Page 27: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

実験結果(1) 内容語 語義数 1語義単語 2語義単語 3語義単語

短期 1 32217-0-0-0 32217-0-0-0 32217-0-0-0

的 6

巨大 1 12414-0-0-0 12414-0-0-0 12414-0-0-0

組織 2 30009-0-0-1 30009-0-0-1

民営 1 50053-0-0-0 50053-0-0-0 50053-0-0-0

化 3 6546-0-0-1

する 8

わけ 2 55933-0-0-2 55933-0-0-2

市場 3 21128-0-0-3

混乱 1 18531-0-0-0 18531-0-0-0 18531-0-0-0

避ける 1 53348-0-0-0 53348-0-0-0 53348-0-0-0

られる 1 53984-0-0-0 53984-0-0-0 53984-0-0-0

Page 28: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

実験結果(2) 内容語 語義数 6語義単語 8語義単語 判定

短期 1 32217-0-0-0 32217-0-0-0 ○

的 6 34959-0-0-4 34959-0-0-4 34959-0-0-5

巨大 1 12414-0-0-0 12414-0-0-0 ○

組織 2 30009-0-0-1 30009-0-0-1 ○

民営 1 50053-0-0-0 50053-0-0-0 ○

化 3 6546-0-0-1 6546-0-0-1 ○

する 8 27236-0-0-8 27236-0-0-1

わけ 2 55933-0-0-2 55933-0-0-2 ○

市場 3 21128-0-0-3 21128-0-0-3 ○

混乱 1 18531-0-0-0 18531-0-0-0 ○

避ける 1 53348-0-0-0 53348-0-0-0 ○

られる 1 53984-0-0-0 53984-0-0-0 ○

Page 29: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

All-words WSD実験の考察

• 多義語の正解率66% –日本語でも処理が可能

–語釈文のみを使用し、訓練データは不使用

• 語義の数が大きいと識別が難しい

• 語釈文の内容語がすべて閾値未満の類似度 –閾値 0.0 でも、「短期」は0ベクトル

• 1語義では、語義ベクトルを使わない方が良さそう

–短い語釈文では、語義ベクトル計算ができない可能性がある

Page 30: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

Semeval2010日本語タスクで実験

• 対象単語 – 「2843 意味」、「21128 市場」、「35881 電話」

• テストデータ50用例 – 対象単語以外の単語ベクトルの平均ベクトル

– 語義ベクトルとのコサイン類似度を計算

– 最も高い類似度を持つ語義に決定

• 語義は学習データに出現するものだけ使用 – 2843-1-0-0~2843-3-0-0, 21128-1-0-0, 35881-1-0-0 は対象外

– 訓練データの用例は使用せず

Page 31: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

実験結果

• 結果に大きな変化が見られた

–語釈文に違いが大きいと効果が大きい

– 「電話」は内容語の違いが少ない

– 「意味」は、誤りの特徴を分析中

単語 ProjectNextNLPベースラインシステムの正解率(%)

分散表現を利用したWSDの正解率(%)

意味 44 46

市場 56 84

電話 78 44

Page 32: A Unified Model for Word Sense Representation and ...nlp.dse.ibaraki.ac.jp/~shinnou/ProjectNextNLP/... · 単語のベクトル表現 •単語のベクトル化 –巨大コーパスの周辺共起語からベクトルを作成

まとめ

• WSRとWSDを解く統一モデルの提案

– word2vecと辞書の語釈文を使用

• (定性的ですが)質の高い語義ベクトルを獲得

–類似単語の相関も高い

• 特定分野のWSDでも高い再現率

• 粗い語義のWSDでも他手法に匹敵するF値

• 日本語データでもAll-words WSD実験を実施