...

語の並びを考慮した意味類似度手法の提案

by user

on
Category: Documents
7

views

Report

Comments

Transcript

語の並びを考慮した意味類似度手法の提案
DEIM Forum 2015 A2-6
語の並びを考慮した意味類似度手法の提案
小中 史人†
三浦 孝夫†
† 法政大学 理工学部創生科学科 184–8584 東京都小金井市梶野町 3-7-2
E-mail: †[email protected], ††[email protected]
あらまし
本研究では語義・語順を捉えるためにいくつかの距離概念を導入し,コロケーションの考慮が可能な,文
の意味類似性(STS)に基づく類似度手法を提案する.そのために,距離概念に意味類似度を適用する.これにより,
意味距離を定義する.語義・語順・コロケーション(連語)の考慮を確認するために,30 個の名詞のペアを用いて実
験を行う.
キーワード
テキストマイニング,情報検索,STS
1. 前 書 き
インターネット上に点在する文書には,様々な種類が存在し
それぞれが特徴的な構造・構成を取ることが多い.その例の
であっても,計算機による処理としてはこれまで有効な解法が
知られておらず,学習コーパスなどを前提とした機械学習的な
処理や,文法構造や辞書などの既存知識の活用が提案されてい
る程度である [3].
1つとして Blog や Twitter といった Social Network Service
文字列とは平坦な文字の並びであり,これを何らかの構造 (語
(SNS)がある.SNS の特徴として,短文が多いこと,出現単語
句や形態素,あるいはその構造)に変換することで背後の意味
の重複が少ないこと,文法の無視,
「www」や「BBA」,
「(笑)」
を決定する.しかし,これをどの粒度で実施するかは自明では
といった特殊な語用が挙げられる.
なく計算量も大きい.不可欠な背景知識も,学習コーパス,辞
大量の文書データに対して情報検索を行うための手法は広く
研究されている.特に,現在の文書検索における主流なモデル
書,意味ネットワークなど多様にわたり,経験的な方法に頼ら
ざるを得ない.
として Bag-Of-Words 法に代表されるベクトル空間モデルがあ
文の意味類似性 (Semantic Texutual Similarity, STS) によっ
る.このモデルは単語の意味情報をベクトルによって表現して
て,文書検索に新たな機能を導入することができる.実際,文
いる.これは「似た文脈に出現する語は意味が近い」という仮
の意味を直接扱うことから,語やその分布により文脈を間接的
説である Distributional Semantic Model(DSM) に基づく [1].
に推定するのではなく,構成する語句の意味や関連性,あるい
しかし,SNS 文書は一般に短文であり,語の並びが重要な働
は文法を考慮することで,文全体の意味を明らかにすることが
きをする.また出現する語が低頻度であることから,このアプ
期待される.
ローチは SNS に必ずしも適切に作用しない.DSM では語同
STS を考える際には コロケーション (Collocation) も考慮
士の関係を正確に解釈することもできないといった特徴を持
する必要がある.コロケーションは熟語または連語を示す慣用
つ.例えば,”I hope to marry her.”と”I hope to divorce her.”
句である(注 1). 例えば "His lecture came across well." と
という文章では DSM に従うと,反意語の関係にある”marry”
"His lecture resonated well." は語数が異なるが,come
と”divorce”を類似語として捉えるため,ベクトル間の類似度は
across と resonate は類似した表現であるため,同じ意味を示
常に高くなる.
している.このため,文の意味類似性を判別する上でコロケー
本稿では,文の意味類似性を論じるため,いくつかの距離
概念を導入し,これに基づく類似性を定義する.具体的には,
ションの考慮が必要である.文の意味は長さや語数に依存し
ない.
ユークリッド距離とレーベンシュタイン距離に語の意味類似度
文法は自然言語を特徴づける要素であり,文の意味は文法
を適用することで,コロケーション(連語),語順,語義の考
による解釈によって決定される.実際,"His lecture came
慮が可能な文の類似度を定義する.2 章では意味的類似性につ
across well." と"His across well came lecture." では,
いて,3 章で具体的な提案手法を述べる.4 章で実験・考察を
後者が文法規則を無視しており少なくとも同じ意味を有してい
行い,5 章で結論とする.
るとは言えない.
2. 意味的類似性
2. 1 文の意味類似性
2. 2 WordNet
WordNet は英語の意味辞書である.本来,機械可読な辞書と
して開発され,1985 年より,プリンストン大学の認知科学研究所
自然言語で使用される語は多様な意図で使用されており,ど
の意味を表すかを特定することは自明ではない.語義曖昧性解
消 (Word Sense Disambiguation, WSD) は文章中で文脈に整
合する語の意味を特定する機能をいう [2]. 人間にとっては自明
(注 1):熟語とは,複数の語からなる慣用的な表現であり,
「目玉を食う」等のよ
うに(「目玉」や「食う」とは別の)独立した固有の意味を有する.連語は,複
数の単語からなる生起しやすいまとまった形の表現であり,”somethink like
that” のように,習慣として生じやすい表記をいう.
によって心理学者である同大学教授の George A. Miller の主導
のもとで運営されている (http://wordnet.princeton.edu/).
3. 意味類似文の距離
2005 年現在,WordNet のデータベースには約 115,000 の syn-
本章では,文章の意味類似性を論じるため,いくつかの類似
set に分類された約 15 万語を収録している.全体では 203,000
性概念を導入する.各類似度は 0∼1 の値を持ち,1 に近いほど
の単語と意味の組み合わせがある.WordNet では名詞,動詞,
類似,0 に近いほど相違する.
形容詞,副詞を文法上の扱いが異なることから,区別して収蔵
している.
synset は同義の単語あるいはコロケーションをグループにま
とめたものである.ほとんどの synset は他の synset の上位語,
下位語,反意語といった意味的な関係が番号によって示されて
いる (Wikipedia).
WordNet において名詞と動詞は is-a の関係で定義される階
層構造にまとめられている.図 1 はその一部を示している.
提案手法を述べるために,以下の 2 つの例文を用いる.
(S1 )”In former times, serfs were a class of people
who had to work on a particular person’s land and
could not leave without that person’s permission.”
(S2 )”A slave is someone who is the property of
another person and has to work for that person.”
3. 1 拡張ユークリッド類似度
ベクトルで表された文書の距離を定義する.語数 (見出し語
数) n の文書を,n 次元ベクトル空間上で表す.2つの文書ベク
トル p = (p1 , p2 , · · · , pn ),q = (q1 , q2 , · · · , qn ) は,通常 TF
や TF*IDF などの値を要素とする.p,q に対するユークリッ
ド距離(距離関数 d)は,以下の式で定義される.
v
u n
u∑
d(p, q) = t (qi − pi )2
i=1
一方,本稿では文章間の類似度を定義する.任意の語 wi ,
w̄i に対して,語類似度 Sim(wi , w̄i ) が定義されているとする.
図 1 WordNet の階層構造
S1 ,S2 が共に k 個の語から構成され,第 i 番目の語をそれぞれ
wi , w̄i とすると,S1 , S2 の拡張ユークリッド類似度を次のよう
WordNet は語同士の類似性判定にも用いられる.類似性の
に定義する.
√∑
k
判定のため Path が提案されている [4].語 W1 から語 W2 の類
似度を P ath(W1 , W2 ) と定義する.P ath(W1 , W2 ) は
P ath(W1 , W2 ) =
1
path length(W1 , W2 )
と表される.path length(W1 , W2 ) は語 W1 から語 W2 に最
SimEU (Ŝ1 , Ŝ2 ) =
i=1
Sim(wi , w̄i )2
k
なお,この類似度は [0.0..1.0] の実数値を取り,距離とは異な
り 1 に近いほど類似する.
短経路で至るまでの経路長である.図 1 における synset 間を
3. 2 語の対応付け
結ぶ結ぶ経路において,例えば図 1 で teacher と boy の類似度は,
拡張ユークリッド類似性を用いて任意の文の類似度を算出す
teacher−educator−professional−adult−person−male−boy よ
るには,語数が等しい必要がある.このため,n-gram(n=1,..,4)
り経路長は 6 であるため,その Path 値は 1/6 となる.
を用いて文の形式的な語数を統一する.語数 s の文 S を n-gram
2. 3 関 連 研 究
に分割すると,s ないし s/4 個の n-gram を生成することがで
椿ら [1] は文の構成最適化と分解による単語表現学習モデル
きる.文 S1 , S2 が表現可能な n-gram 数のうち同数となる値
と,カーネル和を用いた文の意味的類似度計算手法を提案する.
を算出する (アルゴリズム 1).各文を n-gram を用いて表現可
この研究は単語ベクトル空間と文の構成性に基づいた意味的ア
能な語数を算出する.即ち S1 , S2 を同じ数 k 個 の n-gram に
プローチの基礎的なモデルである.
分割し,拡張ユークリッド類似度を算出する.k を求めるアル
Li ら [5] は語順に着目し,これと語の意味類似度を組み合わ
ゴリズムでは,分割可能な値の範囲を求め,共通値それぞれで
せる手法を提案する.これにより,出現位置に関係なく文同士
(複数の)から最良の分割を選択する.共通する表現可能な語
で出現する共通語(類似語含む)を特徴として抽出する.
数が存在しない場合は,2 文間の類似度は 0 とする.
Islam ら [6] は単語間の文字列に着目し,その類似度と単語の
意味類似度を組み合わせる手法を提案する.これにより,辞書
アルゴリズム 1 Calculate k = I1 ∩ I2
に依存した手法では不可能なスペルミスの考慮が可能となる.
(1) S1 > 0 ∧ S2 > 0
Feng ら [7] は文をエンハンスした上で意味類似度を算出し,
(2) k > 0 ∨ k = ∅
これと語順類似度を組み合わせる手法を提案する.これにより,
(3) I1 = ⌈ S41 ⌉ ∼ ⌈ S11 ⌉
短文の短さに起因する特徴不足を解消する.これらの手法では
(4) I2 = ⌈ S42 ⌉ ∼ ⌈ S12 ⌉
コロケーションを考慮していない.
| ∅) k = (I1 ∩ I2 )
(5) if(I1 ∩ I2 =
3. 3 拡張レーベンシュタイン類似度
(6) else error
本稿では語の出現順,類似語の重複といった出現語の特徴を
n-gram が辞書に登録されているコロケーションと合致し
考慮するために,レーベンシュタイン距離を語に対して拡張す
た場合は,その n-gram を 1 語として解釈する.S1 では in
る.長さ m,n の 2 つの文字列 x,y に対して,レーベンシュ
time,work on が WordNet に合致する.そのため,S1 は以下
タイン距離は以下の式で定義される.
のように書き換えられる.
(S1 )”In times former, serfs were a class of people
who had to work on a particular person’s land and
could not leave without that person’s permission.”
Mi,0 = i(0 <
=i<
= m), M0,j = j(0 <
=j<
= n)



 Mi−1,j−1 + δ(xi , yj )
Mi,j = min
Mi,j−1 + 1


 M
+1
i−1,j
2 つの n-gram w,w̄ の意味類似度は,Path を用いて次のよ
うに定義する.
ここで δ(xi , yj ) は以下の式で定義される.
{
δ(xi , yj ) =
Sim(w, w̄) = max P ath(ai , bj )
i,j
n-gram w,w̄ それぞれに生じる語 ai ,bi の類似度 P ath(ai , bi )
0
(xi = yj )
1
(xi =
| yj )
拡張レーベンシュタイン類似度を次のように定義する.
を求め、類似性が最大になるものを採用する.この類似度は
[0.0..1.0] の実数値を取る.距離とは異なり 1 に近いほど類似
する.
2 つの文は語数が異なるため,n-gram を用いて表現可能な
Mi,0 = i(0 <
=i<
= m), M0,j = j(0 <
=j<
= n)



 Mi−1,j−1 + (1 − P ath(wi , w̄j ))
Mi,j = min
語数をそれぞれ算出する.各文の語数はそれぞれ S1 = 24,
S2 = 18 であるので,
24
24
I1 =
∼
= 6 ∼ 24
4
1
18
18
I2 =
∼
= 6 ∼ 18
4
1
k = {6 ∼ 24} ∩ {6 ∼ 18} = 6 ∼ 18
ここで k = 6 の場合を考える.この場合,2 つの文を n-gram
を用いて 6 語に統一する.n-gram を用いて k 語で文を表現可
能であることが保証されている.k = 6 より n = ⌈ 24
⌉=4で
6
Mi,j−1 + (1 − P ath(wi , w̄j ))


 M
i−1,j + (1 − P ath(wi , w̄j ))
SimLS (S1 , S2 ) = 1 −
拡張レーベンシュタイン類似度は再帰的に計算することで出現
語を網羅する.なお,この類似度は [0.0..1.0] の実数値を取り,
距離とは異なり 1 に近いほど類似する.
例題で,名詞について拡張レーベンシュタイン類似度を適用
する.表 1 において,5 行 5 列目の people と person の交わる
マスの値は,



 2.5 + (1 − P ath(people, person))
あるため,最長 4-gram を用いた S1 を表現する組み合わせを
全て得る.S2 にも同様の処理を行う.全ての組み合わせの中か
Mpeople,person = min
ら,類似性が最大になるものを採用する.この処理を全ての k
の値に適用し,最大の類似性を示す値を拡張ユークリッド類似
度の値とする.S1′ が S1 の,S2′ が S2 の統一結果である.w[i]
は文中における第 i 語であることを表す.n-gram 内の語は順序
情報を持つ.
(S1′ )”w[1]:In times former serfs were, w[2]:a class
Mm,n
max(m, n)
2.73 + (1 − P ath(people, person))


 3.33 + (1 − P ath(people, person))
より,3.4 となる.次に 6 行 5 列目の person と person の交差
するマスを考える.その値は



 3.33 + (1 − P ath(person, person))
Mperson,person = min
of people, w[3]:who had to work on, w[4]:a parti-
3.4 + (1 − P ath(person, person))


 3.4 + (1 − P ath(person, person))
cular person’s land, w[5]:and could not leave, w[6]:
より,3.33 となる.これを Mpermission,person に達するまで繰
without that person’s permission”
り返す.その結果,SimLSn = 1 −
(S2′ )”w[1]:A
slave is, w[2]:someone who is, w[3]:
the property of, w[4]:another person and, w[5]:has
to work, w[6]:for that person”
4. 実
5.17
8
= 0.35 となる.
験
実験環境と評価方法を述べ,実験により得られた結果を示す.
4. 1 実 験 環 境
各文の第 1 語 w1 , w̄1 では P ath(serf, slave) の類似度 0.25
が最大となるため,Sim(w1 , w̄1 ) = 0.25 となる.同様にして,
他の語の類似度を算出する.その後,拡張ユークリッド類似度
を算出すると 0.25 となる.
本実験では,テストコーパスとして, Rubenstein [8] による,
65 個の名詞のペアのうち,30 個を用いる.これらのペアは
Li [5] によって人手によるスコアづけが行われ,スコアが均一
になるように選択された.この 30 個の名詞のペアは数多くの
論文で用いられている [5] [6] [7] [9] [10] [11].
4. 3 考
slave property person person
察
表 2,3 に基づき,結果の考察を行う.表 3 より,ペア co-
0
1
2
3
4
time
1
0.89
1.78
2.7
3.62
ast&shore は人手によるスコアでは 6 位,ペア coast&forest は
serf
2
1.64
1.82
2.58
3.38
22 位となっているが,提案手法ではそれぞれ 19 位,7 位となっ
class
3
2.5
2.5
2.73
3.49
ている.coast および shore, coast および forest の定義文を表
people
4
3.35
3.33
3.4
3.63
person
5
3.85
4.24
3.33
3.33
land
6
4.65
4.52
4.25
4.25
person
7
5.15
5.43
4.25
4.25
permission 8
6.08
6.03
5.17
5.17
表1
4 に示す.
coast および shore の定義文は,
(文中の)語数が大きく異な
る.語数統一後の定義文を表 5 に示す.shore より,コロケー
ションの考慮が確認できる.実際に Path を用いて類似度を算出
すると,P ath(coast, shore) = 0.5, P ath(area, land) = 0.08,
拡張レーベンシュタイン類似度
P ath(sea, ship) = 0.08 となる.第 1,3,5,6,7 語は類似度 0 で
本実験では各名詞を the Collins Cobuild dictionary (注 2) の
第一用法に置き換え,それを対象に,TreeTagger
(注 3)
により,
ある.
coast および forest の定義文はほぼ同じ語数を有している.語
数統一後の定義文を表 5 に示す.実際に Path を用いて類似度を
予め形態素処理したものを用いる.
本実験では拡張ユークリッド類似度への重みを 0.5,名詞に
対する拡張レーベンシュタイン類似度への重みを 0.3,動詞に
対する拡張レーベンシュタイン類似度への重みを 0.2 とする.
算出すると,P ath(area, area) = 1, P ath(land, tree) = 0.17
となる.第 1,4 語の類似度は 0 である.
area と land, sea と ship よりも,land と tree は類似して
いると Path は判断した.このため,coast&shore は下位に,
重みは予め予備実験より得るものを用いる.
Sim(S1 , S2 ) = 0.5 × SimEU (Ŝ1 , Ŝ2 )
+0.3 × SimLSn (S1 , S2 )
+0.2 × SimLSv (S1 , S2 )
coast&forest は上位にランクづけされた.
5. 結
論
本稿では,語義・語順を捉えるためにユークリッド距離とレー
ベンシュタイン距離をそれぞれ拡張し,コロケーションの考慮
評価は Li [5] の人手によるスコアをランキング化し,それに
対する適合率で行う.比較手法には Islam [6],Feng [7] の結果を
用いる.
が可能な,STS に基づく類似度手法を提案した.これにより,
文の意味類似度を定義した.実験では名詞のペアの第一用法定
義文に対して意味類似度を算出し,ランク付けを行った.文の
4. 2 実 験 結 果
意味は語数に依存しないと予想し,語数に依存する手法よりも
表 2 に実験によって得られた適合率を,表 3 に実際の実験結
果を示す.Islam [6] の手法には上位 1-10 件で優位性を示し,か
つ平均においても 0.08 の優位性を示しているが,Feng [7] の手
法には平均において僅かに 0.01 劣っていることがわかる.
件数
提案手法 Islam et al.
Feng et al.
1
1
0
1
5
0.8
0.6
0.8
10
0.6
0.8
0.6
15
0.6
0.8
0.67
20
0.7
0.85
0.75
25
0.88
0.96
0.88
30
1
1
1
平均
0.8
0.72
0.81
表2
適 合
率
表 3 を見ると,比較手法では正解で 21 位以下のペアが上位
10 件に含まれていない.提案手法では正解で 21 位以下のペア
coast&forest が上位 10 件に含まれている.
(注 2):http://www.collinsdictionary.com/dictionary/
english-cobuild-learners
(注 3):http://www.cis.uni-muenchen.de/˜schmid/tools/TreeTagger/
概ね良い結果を得ることができた.だが,正解では下位のペア
が提案手法では上位に,上位のペアが下位にランクづけされる
ケースがあった.結果として,提案手法は平均適合率 0.8 を得
た.また,上位 1-10 件において提案手法は Islam [6] より優位
性を示し,平均適合率では 0.08 の優位性を得た.
文
献
[1] 椿真史, Kevin Duh, 新保仁, 松本裕治. 文の意味構成に伴う高
次元空間の最適化と単語表現学習. 言語処理学会第 20 回年次大
会 発表論文集, pp.1015-1018, Mar 2014.
[2] Navigli, R. (2009). Word sense disambiguation: A survey.
ACM Computing Surveys (CSUR), 41(2), 10.
[3] 奥村学:自然言語処理の基礎, コロナ社, 2010
[4] Pedersen, T., Patwardhan, S., and Michelizzi, J. (2004,
May). WordNet:: Similarity: measuring the relatedness of
concepts. In Demonstration Papers at HLT-NAACL 2004
(pp. 38-41). Association for Computational Linguistics.
[5] Li, Y., McLean, D., Bandar, Z. A., O’shea, J. D., and
Crockett, K. (2006). Sentence similarity based on semantic
nets and corpus statistics. Knowledge and Data Engineering, IEEE Transactions on, 18(8), 1138-1150.
[6] Islam, A., and Inkpen, D. (2008). Semantic text similarity using corpus-based word similarity and string similarity. ACM Transactions on Knowledge Discovery from Data
(TKDD), 2(2), 10.
[7] Feng, J., Zhou, Y. M., and Martin, T. (2008). Sentence similarity based on relevance. In Proceedings of IPMU (Vol.
8, p. 833).
順位
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
正解
midday&noon
cock&rooster
cemetery&graveyard
gem&jewel
forest&woodland
coast&shore
implement&tool
boy&lad
automobile&car
cushion&pillow
grin&smile
serf&slave
cord&string
autograph&signature
journey&voyage
magician&wizard
furnace&stove
hill&mound
oracle&sage
hill&woodland
glass&tumbler
coast&forest
magician&oracle
boy&rooster
forest&graveyard
boy&sage
cord&smile
asylum&fruit
bird&woodland
autograph&shore
提案手法
midday&noon
cock&rooster
serf&slave
forest&woodland
gem&jewel
cemetery&graveyard
coast&forest
boy&rooster
journey&voyage
automobile&car
hill&woodland
boy&lad
magician&oracle
grin&smile
magician&wizard
boy&sage
autograph&signature
forest&graveyard
coast&shore
cord&string
implement&tool
autograph&shore
glass&tumbler
asylum&fruit
furnace&stove
cushion&pillow
oracle&sage
bird&woodland
hill&mound
cord&smile
Islam et al.
cock&rooster
midday&noon
gem&jewel
boy&lad
automobile&car
implement&tool
cemetery&graveyard
cord&string
coast&shore
serf&slave
journey&voyage
magician&wizard
forest&graveyard
grin&smile
furnace&stove
cushion&pillow
hill&woodland
glass&tumbler
coast&forest
forest&woodland
magician&oracle
autograph&signature
boy&rooster
boy&sage
hill&mound
bird&woodland
autograph&shore
oracle&sage
asylum&fruit
cord&smile
Feng et al.
midday&noon
cock&rooster
cemetery&graveyard
gem&jewel
boy&lad
cord&string
serf&slave
automobile&car
grin&smile
boy&rooster
boy&sage
magician&wizard
journey&voyage
asylum&fruit
magician&oracle
coast&shore
autograph&signature
cushion&pillow
furnace&stove
autograph&shore
glass&tumbler
forest&woodland
implement&tool
forest&graveyard
hill&woodland
oracle&sage
hill&mound
bird&woodland
cord&smile
coast&forest
表3 実験結果
coast
shore
coast
forest
coast および shore
The coast is an area of land that is next to the sea.
The shores or the shore of a sea, lake, or wide river is the land along the edge of it.
Someone who is on shore is on the land rather than on a ship.
coast および forest
The coast is an area of land that is next to the sea.
A forest is a large area where trees grow close together.
表4 定
語
coast
shore
coast
forest
1
the
1
the,shore,or,the
2
coast
2
shore,of,a,sea
1
the
1
a,forest,is
3
is
3
lake,or,wide,river
義
文
定義文
coast および shore
4
5
an,area
of,land
4
5
is,the,land,along the,edge,of,it
coast および forest
2
coast,is,an,area
2
a,large,area
表 5 統一後の定義文
[8] Rubenstein, H., and Goodenough, J. B. (1965). Contextual correlates of synonymy. Communications of the ACM,
8(10), 627-633.
[9] Ho, C., Murad, M. A. A., Kadir, R. A., and Doraisamy, S. C.
(2010, August). Word sense disambiguation-based sentence
similarity. In Proceedings of the 23rd International Conference on Computational Linguistics: Posters (pp. 418-426).
Association for Computational Linguistics.
[10] O’Shea, J., Bandar, Z., Crockett, K., and McLean, D.
(2008). A comparative study of two short text semantic
similarity measures. In Agent and Multi-Agent Systems:
Technologies and Applications (pp. 172-181). Springer Berlin Heidelberg.
[11] O’Shea, J., Bandar, Z., Crockett, K., and McLean, D.
(2008). Pilot short text semantic similarity benchmark data
set: Full listing and description. Computing.
6
that,is
6
someone,who,is on,shore
3
of,land,that,is
3
where,trees
7
next,to
7
is on,the,land,rather
8
the,sea
8
than,on,a,ship
4
next,to,the,sea
4
grow,close,together
Fly UP