text-mining – 关于word2vec most_similar()函数

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

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

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

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

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

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

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

点赞