简单的建议/推荐算法

时间:2009-12-04 21:18:30

标签: performance algorithm autosuggest

我正在寻找一种简单的建议算法来实现我的Web App。很像Netflix,亚马逊等......但更简单。我不需要博士团队努力获得更好的建议指标。

所以说我有:

  • User1喜欢Object1。
  • User2喜欢Object1和Object2。

我想向User1建议他们也可能喜欢Object2。

我显然可以想出一些天真的东西。我正在寻找经过审查并轻松实施的内容。

6 个答案:

答案 0 :(得分:11)

优秀的建议算法有很多简单而不那么简单的例子 Programming Collective Intelligence

Pearson correlation coefficient(一篇有点干燥的维基百科文章)可以给出相当不错的结果。以下是Python中的实现和TSQL中的另一个实现以及该算法的有趣解释。

答案 1 :(得分:11)

尝试使用Slope One算法,这是此类问题中最常用的算法之一。

here's t-sql中的示例实现

答案 2 :(得分:1)

您可能需要查看Association rule learningApriori algorithm。背后的基本思想是你创建规则,如“如果用户喜欢Object1,而不是用户喜欢Object2”,并检查他们描述(你)现实的程度。在您的具体示例中,此规则将具有2的支持(作为两个用户,如Object1)和50%的置信度(在2个案例中的1个中规则为真)。我自己实现了一个基本的概念证明(实际上是我在Hadoop上的第一步)并且它并不太难。

或者,你可能想看看Apache Mahout - Taste。我自己也没用过它。

答案 3 :(得分:1)

我会和K最近的邻居一起去。 wikipedia entry解释得很好,并且链接到参考实现。

答案 4 :(得分:0)

k-最近邻算法

答案 5 :(得分:0)

我创建了一个建议的文章算法,该算法使用关键字(而不是“产品购买”)来确定相关性。它需要一个关键字,并贯穿该关键字出现的所有其他文章,并根据哪些文章具有最匹配的关键字生成结果。

除了明显需要缓存此类信息外,他使用类似的方法有什么问题吗?