16
構成性に基づく 関係パタンの意味計算 高瀬翔 ,岡崎直観,乾健太郎 東北大学 言語処理学会第21回年次大会 1

NLP2015 構成性に基づく関係パタンの意味計算

Embed Size (px)

Citation preview

構成性に基づく関係パタンの意味計算

高瀬翔,岡崎直観,乾健太郎

東北大学

言語処理学会第21回年次大会

1

目標:関係パタンの意味の計算

• 関係抽出:エンティティ間の意味的関係の抽出– 応用:質問応答,含意関係認識,…

• 関係パタンの意味の計算が非常に重要– 関係パタン:エンティティ間を結ぶ統語パタン

• X increase the risk of Y,X prevent the growth of Y,…

– increase the risk of ≈ cause の計算

2

high-fat diet increases the risk of disease Cause(high-fat diet, disease)

Cephalexin reduce the risk of the bacteria Inhibit(Cephalexin, bacteria)

Pynchon is author of V. AuthorOf(Pynchon, V.)

従来の関係パタンの意味獲得手法

• 関係パタンの意味を表すベクトルをコーパスから得る– 例:ベクトル=共起する項の分布[Lin+ 01, Nakashole+ 12]

• 分布が似ている=似ている意味

3

Kafk

a

Am

erica

Pynchon

V.

… …

hig

h-f

at

die

t

dis

ease

sm

okin

g

cance

r … …

X write Y 24 13 … 0 0 ...

X is author of Y 22 10 … 0 0 ...

… … … … … … ...

X cause Y 0 0 … 23 68 …

X increase the risk of Y 0 0 … 32 57 …

AuthorOf

Cause

データスパースネス問題

4

ukWaC中での関係パタンの出現頻度と順位

出現頻度100回以上のパタン:30,650個

cause

increase the risk of

increase the danger of

reduce the growth of

prevent the growth of

大多数の関係パタン(主に複数の単語からなるパタン)は統計値が不十分=意味を得られない

出現頻度10回以上100回未満のパタン118,959個

suffer

解決策:構成要素から意味計算

• 単語の頻度は十分=単語の意味は獲得可能

• 複数単語からなる関係パタンは構成要素から意味計算を行う

– reduce the risk of ≈ decrease the danger of

– f(reduce, risk) ≈ f(decrease, danger)という計算が行えれば良い

5

関係パタンの意味を計算可能な単語の意味表現を学習する

単語の意味表現の学習(既存手法)Skip-gram(Negative Sampling)[Mikolov+ 13]

目的関数:単語wtから周辺語wt+jの予測確率を最大化

6

in

held

Paris

on

wt-2

France

,

wt-1

wt

wt+1

wt+2

vwt

uwt-2

uwt-1

uwt+1

uwt+2

J = logP(wt+ j |wt )-c£ j£c, j¹0

åt=1

T

å

P(wt+ j |wt ) =exp(vwt ×uwt+ j )

exp(vwt ×uwO )wO

å

P(wt+j|wt)はsoftmax関数を用いる

softmax関数の分母の計算は困難(数十万単語の内積とexp和)→Negative Samplingで近似

P(wt+ j |wt ) » logs (vwt ×uwt+ j )+ Ez~Pn (w)

i=1

k

å [logs (-vwt ×uz )]

文中の単語数

文脈の範囲

コーパス中の全単語の内積のexp和

σ:シグモイド関数 負例単語 z を k 回サンプリング

単語ベクトル 文脈ベクトル(学習後破棄)

加法構成性とその問題

• Skip-gramモデルで得た単語ベクトルは加法構成性を持つ– 加法構成性:単語ベクトルの足し引きで意味を計算[Mikolov+ 13]

• vking + vwoman - vman ≈ vqueen

• 問題:意味の変性(極性の変化など)を扱えない

7

reduce the risk of は risk のネガティブな極性が打ち消されている=reduce と risk の和ではないはず

Skip-gramモデルをukWaCで学習した結果

≠ reduce the risk of

本研究のアイデア

• 関係パタンを機能的な表現と内容的な表現に分ける– 内容的な表現:関係パタンのベースとなる意味を構成

• 機能的な表現以外の名詞,動詞,形容詞,副詞• ベクトルで表現

– 機能的な表現:内容的な表現の意味を変性(または継承)• 関係パタンに頻出の動詞(5種類以上に出現,697種)

– have, make, provide, give, reduce, cut, …

• 語の活性/不活性[Hashimoto+ 12]を含めた意味の変性を行列で表現

• 関係パタンの意味計算にRecursive Neural Network(RNN)• Skip-gramモデルにRNNを統合,単語の意味ベクトルと意味の変成作用(行列)を同時に学習する– 意味の変成作用とベクトルを教師なしで学習

8

help having a major impact onhaveがmajorとimpactの意味を基本的に継承し,さらにそれをhelpが継承

reduce the risk ofreduceがriskの意味を変性し,全体の意味はinhibitに近くなる

提案手法(RNNとSkip-gramの統合)

9

… demand help having a major impact on price …1

2( + )= v

加法構成性でベクトルを計算

= tanh(Whavev) = v 'RNNで関係パタンのベクトルを計算

Skip-gramモデルと同様に周辺単語を予測できるよう誤差逆伝播でパラメータ更新

• 関係パタンの構成要素から意味を計算可能• 機能的な表現による意味の変性をモデル化

= tanh(Whelpv ')

関係パタン

機能的な表現の行列(意味の変性を扱う)

関連研究

• 単語を行列とベクトルの両方で表現しRNNで句や文の意味計算[Socher+ 12]

– 単語の意味をベクトルで,意味の変性を行列で表す

– 教師あり学習なのでOpen domainな関係抽出に対処できない

• 係り受け関係毎に行列[Muraoka+ 14]や重みベクトル[Hashimoto+ 14]を学習– 単語毎の意味の変性を扱うことができない

• haveは継承,reduceやdecreaseは変性などが扱えない

• 加法構成性の学習[Pennington+ 14]

– 意味の変性を扱うことができない

10

実験(学習)設定

• コーパス:ukWaC

– .ukドメインのWebページ

– 約20億単語

• 語彙:出現頻度10回以上の単語,関係パタン– 前置詞,冠詞,数詞などは除く

– 関係パタン:動詞 or 動詞 + 名詞句 + 前置詞• cause, take part in, increase the risk of, …

• 複数単語からなる関係パタンはReverb[Fader+ 11]で抽出

• 評価データに出現するものは除く(学習しない)

• ベクトル,行列の次元:50次元,50 * 50次元

11

評価手法

• 評価の目的:複数単語からなる関係パタンの意味を計算可能か?• データ:関係パタン間に含意関係を付与したデータ[Zeichner+ 12]

– 含意関係のペアを(擬似的に)同義のペアとする– 関係パタンのペア数:5,409ペア

• 関係パタンをReverbの形式にすることで評価対象が予稿より増加

• 評価手法:関係パタン間のコサイン類似度でソートし,PR曲線を描く– 含意関係にあるペアが類似度上位になっているか?

12

パタン1 パタン2 関係パタンのベクトル間のコサイン類似度

含意関係(正例/負例)

inhibit prevent the growth of 0.7167 含意(正例)

be the part of be an essential part of 0.7166 非含意(負例)

await wait 0.7165 含意(正例)

……

結果

13

• 構成要素から意味を計算する必要有り• 行列で意味を変性する手法 > ベクトル和

手法 AUC

提案手法(行列でベクトルを変性) 0.570

Skip-gramでの単語ベクトルの和 0.568

関係パタンを1単語としてSkip-gram

でベクトルを学習0.557

関係パタンのt-SNEでの可視化

• 加法構成性と提案手法について可視化

• 提案手法では意味の変性が扱えている– reduce, decrease, cut

14

加法構成性 提案手法

学習結果の行列を可視化

• haveは対角要素が強め– 内容語の意味ベクトルをスルー(have access to, have an impact on)– make, takeも同様の傾向が見られた(make change in, take care of)

• bringの行列は対角要素以外にも強い成分が出てくる– bringの意味を行列に追加(bring an end to, bring a wealth of)

• reduceの行列では対角成分の筋が消えている– 内容語の意味を変性させる(reduce the risk of)

15

まとめと今後の課題

• まとめ– 関係パタンを構成要素から意味計算する手法の提案

• 意味の変性を行列で表しRNNで計算• Skip-gramモデルにRNNを統合し行列とベクトルを同時に学習• 未知の関係パタンについて意味を計算できる事を示した

– 意味の変性を扱うことで加法構成性よりも性能が向上することを示した

• 今後の課題– 機能的な表現,内容的な表現の区別を含めた学習

• [Socher+ 12]のように各単語に行列とベクトル両方持たせる?

– 関係パタンとして表す表現の計算もモデル化• 一語にマップできる(すべき)表現,そうでない表現の計算

– increase the risk of ≈ cause(increase the risk ofは関係パタン)– increase the population ofは関係パタン?

16