人们相似度算法的建议

时间:2010-08-30 16:32:13

标签: java artificial-intelligence data-mining wolfram-mathematica

我想为我的“找到类似的人”算法获得一些建议:)。我有一个数据库,我存储以下实体:人,文章,关键字。因此,对于每个人,我都有一组关键字(通过人员提及的数量)的关键字。因此,我需要通过查看相关的关键字来获得类似的人,简单的解决方案是从一个人y获得x个关键字并找到所有共享相似关键字分数的人(不相等),但似乎这不是最好的方式。思考?

谢谢!

1 个答案:

答案 0 :(得分:6)

听起来您的情况足够接近正常的信息检索系统“相似性”查询,您可以使用相同的vector space model

对于每个人,计算每个关键字的出现次数。将每个关键字视为维度,将出现次数视为该维度中向量的大小。通常情况下,每个维度的处理方式相同,但如果您发现某些关键字是兼容性的更好预测因子,则可以按某个因素缩放该维度中的每个匹配项。

然后,不同人的矢量的点积给你一个他们有多相似的分数。或者,您可以输入自己的关键字并找到兴趣最接近的人。