使用word2vec计算用户之间的相似度

时间:2015-05-07 08:01:12

标签: nlp recommendation-engine mahout-recommender word2vec

我最近了解了这个名为word2vec的工具。对于我目前的工作,我需要找出与给定用户类似的用户。单个用户具有与其相关联的实体,例如年龄,资格,教师/组织,已知语言和特定标签列表。如果我们将这些实体/列中的每一个一起视为用户的随机字块,我们是否可以相应地计算该用户的矢量值并使用这些值来推断用户之间的相似性? wiki训练矢量会帮助我们获得有意义的结果吗?还有其他方法吗?

1 个答案:

答案 0 :(得分:4)

您需要的是一种简单的无监督(或半监督)聚类算法。 word2vec及其预先训练过的向量可能不是很有用,因为机构等不太可能在其中。

此外,似乎"方面的数量"用户将其缩小,因此您可以简单地在向量表示上使用聚类算法,其中向量空间的每个维度都是这些方面之一(年龄,资格,组织等)。

如果您希望用户的相似性反映这些方面的相似性(而不是完全相等),那么像word2vec这样的连续空间模型会很有帮助。

例如,如果您想要资格认证" Python专家"被测量为接近" Scripting expert"的东西,然后去word2vec。但是,如果您正在寻找有限预定义数量方面的精确匹配,请选择简单的聚类算法。

P.S。关于此主题的更详细的问答应该在Cross Validated上。