Измеряет ли евклидово расстояние семантическое сходство? - PullRequest
0 голосов
/ 11 ноября 2018

Я хочу измерить сходство между предложениями. Могу ли я использовать sklearn и евклидово расстояние для измерения семантического сходства между предложениями. Я также читал о сходстве косинусов. Может ли кто-нибудь объяснить разницу между этими показателями и каков наилучший подход к использованию?

1 Ответ

0 голосов
/ 14 ноября 2018

Есть несколько вариантов для вычисления семантического сходства. Это зависит от того, чего вы хотите достичь и какие ресурсы вы хотите использовать.

Вы имеете в виду семантическое сходство, поскольку "лодка плывет по морю" похоже на "корабль плывет по озеру"?

Вложения слов, такие как word2vec, создают векторы для каждого слова. Векторы слов располагаются в векторном пространстве так, что «слова, которые имеют общий контекст в корпусе, расположены в непосредственной близости друг от друга в пространстве» ( Wikipedia ). .

Евклидово или косинусное расстояние может искажать расстояние между двумя векторами слов. Это часто рассматривается как семантическое сходство между словами. Чтобы измерить расстояние или сходство между предложениями, вы можете использовать расстояние для переносчиков слов, которое реализуется с помощью gensim . расстояние перемещения слов вычисляет расстояние от одного набора векторов слов (предложения) до другого, используя то, что называется расстоянием перемещения земли.

Другой способ вычислить сходство предложений - это doc2vec. См. Также: Как рассчитать сходство предложений с использованием модели gensim word2vec с python

...