Какая лучшая функция WordNet для сходства между словами?

Я стремлюсь найти сходство между словами примерно для 10 000 слов. Я использую метод word.path_similarity(otherword) библиотеки wordnet, но результаты, которые я получаю для path_similarity, находятся в диапазоне 0-0,1, а не распределены по 0-1. Как возможно, что все сходства между 10 000 случайных слов оказываются в этом узком диапазоне?

Есть ли лучший способ использовать WordNet для поиска сходства между двумя словами?


person robinhood91    schedule 22.04.2015    source источник


Ответы (1)


Для контекста вот как это вычисляется:

  1. Определите длину кратчайшего пути между двумя синсетами/словами (включительно).

  2. Вернуть счет как 1/pathlen

Таким образом, оценка ‹,2 указывает на длину пути > 5 шагов. Включая два входных синсета, это означает, что между ними есть как минимум 4 синсета.

С учетом сказанного: вы жалуетесь, что «согласно этой метрике, два слова, выбранные наугад, довольно последовательно не связаны между собой! Что происходит?» Что ж, ваша метрика подобия говорит вам, что случайные слова, как правило, не имеют близкого родства. Это не должно быть таким уж удивительным. Почему вы для начала вычисляете сходство между случайными словами?

person David Marx    schedule 23.04.2015
comment
Я неправильно сформулировал вопрос, извините. Я стремлюсь найти сходство между названиями набора проектов. Просто мне было странно видеть, что более 80% названий заголовков привели к сходству 0,05-0,2. Я ожидал более широкого распространения, зная заранее, что делают эти проекты, и, следовательно, ожидал, что похожие проекты будут иметь похожие названия. Но видя, что все слова в заголовках были «случайными» в соответствии с этой метрикой, я запутался, является ли path_similarity WordNet той функцией, которую я ищу, чтобы определить, насколько два слова похожи семантически. - person robinhood91; 24.04.2015