単語のセマンティックな類似性の尺度を取得するにはどうすればよいですか?


20

単語の意味的類似性を把握する最良の方法は何ですか?Word2Vecは大丈夫ですが、理想的ではありません。

# Using the 840B word Common Crawl GloVe vectors with gensim:

# 'hot' is closer to 'cold' than 'warm'
In [7]: model.similarity('hot', 'cold')
Out[7]: 0.59720456121072973

In [8]: model.similarity('hot', 'warm')
Out[8]: 0.56784095376659627

# Cold is much closer to 'hot' than 'popular'
In [9]: model.similarity('hot', 'popular')
Out[9]: 0.33708479049537632

NLTKのWordnetメソッドはあきらめたようです:

In [25]: print wn.synset('hot.a.01').path_similarity(wn.synset('warm.a.01'))
None

他のオプションは何ですか?


1
word2vecが理想的でない理由を教えてください。Word2vecは、単語のセマンティックな類似性をキャプチャするように設計されていますが、なぜ理想的ではないのですか?
シャシャンクグプタ16

3
はい、それが私が質問で例を提供した理由です。繰り返しになりますが、「ホット」と「コールド」は反意語ですが、同義語にはるかに近い「ホット」と「ウォーム」よりも似ています(word2vecによる)。「ホット」は「ポピュラー」(たとえば「ホットアイテム」)を意味する場合もありますが、「ホット」と「コールド」は「ホット」と「ポピュラー」よりも互いに近くなっています。 (意味的には反対)は、同義語(意味的には同等)よりも類似している
Thomas Johnson

その後、より適切な埋め込み方法を使用する: 反意語同義語区別のWord組み込み環境に分配的語彙コントラストの統合
エムレ

回答:


11

Word2vecは、反意語と類義語に基づく類似性をキャプチャしません。2つの単語のコンテキストが類似している場合、Word2vecの類似性は高くなります。例えば、カリフォルニアの天気は_____でした。ブランクは、高温と低温の両方で満たされる可能性があるため、類似性は高くなります。この概念は、パラダイム関係と呼ばれます。

上位語、下位語、同義語、反意語などの関係をキャプチャすることに関心がある場合は、ワードネットベースの類似性尺度を使用する必要があります。ワードネットに基づく多くの類似性尺度があります。このリンクhttp://ws4jdemo.appspot.com/を確認できます


7

ではセマンティック類似性のためのテキスト分析ツール、彼らは2文間の類似性を見つけるためにアルゴリズムを開発しました。しかし、よく読んだ場合、マトリックス内の単語の類似性を見つけ、合計して文間の類似性を見つけます。そのため、単語の類似性をチェックするショットかもしれません。

また、中にSimLex-999:(本物の)類似性の推定では、セマンティックモデルを評価する、彼らは違いを説明する間associationsimilarity、おそらくあなたの観察の理由であるにも。たとえば、コーヒーとカップ。それらは類似していませんが、連想的です。したがって、類似性を考慮するだけで、異なる結果が得られます。著者は、それらを推定するためのさまざまなモデルを提案しています。


壊れたリンク、「意味的類似性のためのテキスト分析ツール」。
xtian

2

Word2vecは、ほとんどのシナリオに適した出発点です。それはありません CBOW法を用いた予測の方法により、キャプチャセマンティクスを。それは翻訳を可能にします(私がここにもう一度繰り返すことができる最も繰り返される例として)、V(キング)-V(クイーン)~~ V(男性)-V(女性)など。

それで問題は何ですか?問題は言葉の意味のあいまいさにあります。単語自体が2つの異なるコンテキストで2つの異なる意味を持つ場合は常に、単語ベクトルはどちらのコンテキストからも離れている傾向があります。Python〜Boa(両方のヘビ)およびPython-Java(両方のプログラミング言語)..

代替手段はありますか?

「同義語」の非常に特定の目的のために、Wordnetが理想的な場所になります。使用法と出現に基づく暗黙的な関係ではなく、2つの単語の明示的な関係をキャプチャします。

Wordnetはほとんどの場合辞書として作成されますが、word2vecは使用法によってマイニングされます。


0

文脈自由文法では、言葉の近さを判断することは本当に不可能だと思います。できることは、レキシコンベクトルを使用することです。2つのレキシコンの間で単語の値が近い場合、値は近いはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.