Мне интересно, почему функция подобия имеет результаты, которые отличаются от функции Similarity_by_word при использовании векторов Fasttext.Например, Similar_by_word распознает, что «Ужин» и «Ужин» тесно связаны с косинусным сходством 0,79, но когда я запускаю функцию подобия, он возвращает результат -2, означающий, что они противоположны.Мой код для инициализации модели и запуска функций приведен ниже:
# intialize crawl .vec file
crawl_model = KeyedVectors.load_word2vec_format('crawl/'+os.listdir('crawl')[0])
find_similar_to='dinner'
for similar_word in crawl_model.similar_by_word(find_similar_to,topn=3):
print("Word: {0}, Similarity: {1:.2f}".format(
similar_word[0].encode('utf-8'), similar_word[1]
))
# results
#Word: Dinner, Similarity: 0.79
#Word: supper, Similarity: 0.79
#Word: dinners, Similarity: 0.75
print(crawl_model.wv.similarity('supper', 'dinner'))
#result
#-2.0