我正在研究推荐引擎,我阅读了这篇论文,该论文定义了 Google 新闻如何基于协同过滤为用户生成他们可能感兴趣的新闻项目的推荐。
他们提到的一种有趣的技术是 Minhashing。我经历了它的作用,但我很确定我的想法很模糊,而且很有可能我错了。以下是我可以从中得出的结论:-
- 收集一组所有新闻项目。
- 为用户定义哈希函数。此哈希函数返回该用户查看的新闻条目中第一个条目在所有新闻条目列表中的索引。
- 收集,说“n”个这样的值,并用这个值列表代表一个用户。
- 根据这些列表之间的相似度计数,我们可以将用户之间的相似度计算为共同项目的数量。这大大减少了比较的次数。
- 基于这些相似性度量,将用户分组到不同的集群中。
这正是我认为的可能。在第 2 步中,我们可能没有定义一个常量散列函数,而是改变散列函数,使其返回不同元素的索引。所以一个哈希函数可以返回用户列表中第一个元素的索引,另一个哈希函数可以返回用户列表中第二个元素的索引,依此类推。因此,满足minwise 独立排列条件的散列函数的性质,这听起来确实是一种可能的方法。
谁能确认我的想法是否正确?还是 Google 新闻推荐的 minhashing 部分以其他方式发挥作用?我对建议的内部实施不熟悉。非常感谢任何帮助。
谢谢!