关于word2vec most_similar()函数

时间:2016-01-19 00:59:56

标签: text-mining gensim word2vec

我正在使用下面的most_similar()方法来获取与给定单词类似的所有单词:

word,score= model.most_similar('apple',topn=sizeofdict)

AFAIK,它的作用是,计算给定单词和字典中所有其他单词之间的余弦相似度。当我检查单词和分数时,我可以看到列表中有负分的单词。这是什么意思?他们是与给定词有相反意义的词吗?

此外,如果它使用余弦相似性,它如何得到负值?两个文档的余弦相似度在0-1之间变化。

1 个答案:

答案 0 :(得分:2)

是的,它确实计算了给定单词和词汇表中所有其他单词之间的余弦相似度

不,负分并不意味着这两个词具有相反的含义。余弦相似性是训练word2vec模型中使用的成本函数的一部分。该模型正在减小相似单词的矢量之间的角度,因此相似的单词在高维空间中聚集在一起。通常,对于单词矢量,余弦相似度> 0.6表示它们的含义相似。

不,两个矢量之间的余弦相似度介于-1和1之间。[0,1]相似性意味着具有0到90度之间的角度的矢量。负相似性意味着90度和180度之间的角度。