5

http://spark.apache.org/docs/latest/mllib-feature-extraction.html#word2vec

在word2vec的spark实现上,当迭代次数或数据分区数大于1时,由于某种原因,余弦相似度大于1。

据我所知,余弦相似度应始终约为 -1 < cos < 1。有人知道为什么吗?

4

1 回答 1

4

findSynonyms的方法中word2vec,它不计算余弦相似度v1・vi / |v1| |vi|,而是计算v1・vi / |vi|,其中v1是查询词vi的向量, 是候选词的向量。这就是为什么该值有时会超过 1。只是为了找到更接近的单词,不需要除以,|v1|因为它是常数。

于 2015-11-17T18:33:33.587 回答