Как я могу получить меру семантического сходства слов?


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

Методы Wordnet в NLTK, похоже, просто сдаются:

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

Какие есть другие варианты?


1
Можете ли вы сказать, почему word2vec не идеален? Word2vec предназначен для захвата семантического сходства слов, тогда почему он не идеален?
ШАШАНК ГУПТА

3
Да, именно поэтому я привел примеры в вопросе. Повторим еще раз: «горячий» и «холодный» являются антонимами, но они больше похожи (согласно word2vec), чем «горячие» и «теплые», которые намного ближе к синонимам. «Горячий» также может означать «популярный» (например, «горячий элемент»), но опять же «горячий» и «холодный» ближе друг к другу, чем «горячий» и «популярный». Так что word2vec не идеален, потому что он получает антонимы (которые являются семантическими противоположностями) как более сходные, чем синонимы (которые семантически эквивалентны)
Томас Джонсон

Ответы:


11

Word2vec не отражает сходство, основанное на антонимах и синонимах. Word2vec даст более высокое сходство, если два слова имеют одинаковый контекст. Например, погода в Калифорнии была _____. Бланк может быть заполнен как горячим, так и холодным, поэтому сходство будет выше. Эта концепция называется парадигматическими отношениями.

Если вы заинтересованы в фиксации отношений, таких как гиперонимы, гипонимы, синонимы, антоним, вам придется использовать любую меру сходства, основанную на Wordnet. Есть много мер сходства, основанных на Wordnet. Вы можете проверить эту ссылку http://ws4jdemo.appspot.com/


7

В инструментах анализа текста для семантического сходства они разработали алгоритм, чтобы найти сходство между двумя предложениями. Но если вы читаете внимательно, они находят сходство слова в матрице и суммируют вместе, чтобы выяснить сходство между предложениями. Таким образом, это может быть попытка проверить сходство слов.

Также в SimLex-999: Оценка семантических моделей с (Подлинной) оценкой сходства , они объясняют разницу между ними associationи, similarityвероятно, также являются причиной вашего наблюдения. Например, кофе и чашка. Они не похожи, но они ассоциативны. Так что просто рассмотрение сходства даст другой результат. Авторы предлагают различные модели для их оценки.


Неработающая ссылка, "Инструменты анализа текста для семантического сходства".
xtian

2

Word2vec является хорошей отправной точкой для большинства сценариев. Это делает захват семантику путем прогнозирования с использованием метода CBOW. Это позволяет переводы (как наиболее повторяющийся пример, который я могу привести здесь снова), V (Король) - V (Королева) ~~ V (мужчины) - V (женщины) и так далее.

Так в чем проблема? Проблема заключается в неоднозначности смысла слова. Всякий раз, когда само слово имеет два разных значения в двух разных контекстах, слово вектор будет иметь тенденцию быть действительно вне любого контекста. Python ~ Boa (оба змеи) и Python - Java (оба языка программирования).

Любая альтернатива?

Для очень конкретной цели «синонимы», если вы хотите, Wordnet будет идеальным местом. Он фиксирует явную связь двух слов, а не неявную связь, основанную на использовании и вхождениях.

Wordnet в основном создается как словарь, где word2vec добывается при использовании.


0

В грамматике без контекста, я думаю, что это действительно отчасти невозможно определить близость слов. То, что вы можете сделать, это использовать векторы лексикона, а затем, если слово близко к значениям между двумя лексиконами, значение должно быть близко.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.