2009-12-04 143 views
19

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

所以说我有:

  • 用户1喜欢Object1。
  • User2喜欢Object1和Object2。

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

我明显可以想出一些天真的东西。我正在寻找审查和轻松实施的东西。

回答

1

你可能想看看Association rule learningApriori algorithm。背后的基本思想是,你创建的规则就像“如果用户像Object1,而不是用户喜欢Object2”,并检查他们描述(你)的实际情况。在具体的例子中,这条规则将有一个支持2(像Object1这样的两个用户),并且有50%的可信度(这在2个案例中有1个是正确的)。我刚刚实现了一个基本的概念验证(实际上是我在Hadoop上的第一步),并不难做到。您也可以看看Apache Mahout - Taste。尽管我自己并没有使用过它。

11

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

here's在T-SQL

+1

+1链接到源代码。这是40行Python中的Slope One(以及详细解释):http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/ – 2009-12-05 16:17:39

1

一个样本实现我将与K最近邻居去。 wikipedia entry很好地解释了它,并且链接到参考实现。

0

k近邻算法

0

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

除了明显需要缓存这些信息之外,他还有什么地方使用类似方法有问题吗?