【问题标题】:Using word2vec to calculate similarity between users使用 word2vec 计算用户之间的相似度
【发布时间】:2015-05-07 08:01:11
【问题描述】:
我最近知道了这个名为 word2vec 的工具。对于我目前的工作,我需要找出与给定用户相似的用户。单个用户具有与其相关联的实体,例如年龄、资格、机构/组织、已知语言和某些标签列表。如果我们将这些实体/列中的每一个视为用户的随机词块,我们是否可以相应地计算该用户的向量值并使用这些值来推断用户之间的相似性? wiki 训练向量会帮助我们获得有意义的结果吗?还有其他方法吗?
【问题讨论】:
标签:
nlp
recommendation-engine
mahout-recommender
word2vec
【解决方案1】:
您需要的是一种简单的无监督(或半监督)聚类算法。带有预训练向量的 word2vec 可能不是很有帮助,因为机构等不太可能在其中。
此外,用户的“方面”数量似乎很少,因此您可以简单地在向量表示上使用聚类算法,其中向量空间的每个维度都是这些方面之一(年龄、资格、组织、等等)。
如果您希望用户的相似性反映这些方面的相似性(而不是完全相等),像 word2vec 这样的连续空间模型会很有帮助。
例如,如果您希望将“Python 专家”资格衡量为接近“脚本专家”,那么请选择 word2vec。但是,如果您要在有限的预定义数量的方面中寻找精确匹配,请使用简单的聚类算法。
附:关于这个话题的更详细的问答应该在Cross Validated。