Spark word2vec示例说明以及如何获得字符串之间的相似性

时间:2017-06-05 09:53:42

标签: java apache-spark word2vec cosine-similarity

我按照Spark文档页面中的示例使用word2vec link。它有效,但我不太明白它想要计算什么。

输出矢量是输出字符串表示吗?

如果是,我试图计算它们之间的余弦相似度,但我得到负值,因为向量不是正数。

Spark word2vec可以创建只有正数的向量吗?

如何使用Spark word2vec计算字符串列表之间的相似性?

1 个答案:

答案 0 :(得分:1)

  

输出向量(通过使用数据集上的变换)是提供给模型的文档(可能是句子或句子)的表示。本质上,此输出是给定文档中每个单词的所有向量表示的组合(很可能是简单的向量和)。

     

您可以使用findSynonyms来获得与给定单词最相似的“num”个单词数。 findSynonyms仅基于余弦相似度。      目前我正在使用它来生成我用作另一个模型的输入的特征向量。

     

为了计算两个字符串之间的相似性,作为某种类型的否。你需要实现findSynonyms方法的一些变化。当前实现生成一个对应于输入字符串的cosVec,然后尝试找到最接近这个vec的单词Vecs。

     

我不确定这部分是否只能创建正向量,是否完全需要/(有意义)只生成正向量。