如何编写推荐的项目系统?

时间:2011-11-22 17:44:57

标签: algorithm recommendation-engine

  

可能重复:
  Where can I learn about recommendation systems?

我总是对网站如何向我推荐文章和用户感兴趣,基于我“喜欢”,我关注的内容,我投票/投票的内容。

当我浏览某个项目时,它还可以推荐项目,“相关文章”,“喜欢这篇文章的人也喜欢......”

我需要一些文章和图片来教我如何实现这样一个系统。非常感谢。

更新

我有一个关键词“Slope one”

2 个答案:

答案 0 :(得分:3)

维基百科的文章Recommender system是一个很好的起点。此外,这篇Recommendation engine博客文章还有一些很好的信息和插图。

最简单的方法是使用"喜欢这篇文章的人也喜欢......"做法。如果你跟踪每个用户'文章评分,并跟踪谁喜欢哪些文章,然后你有推荐系统的基础。

例如,假设您正在查看文章A.系统可以在每个喜欢文章A的用户的索引中查找。从该列表中,它可以创建每个用户喜欢的所有文章的列表谁喜欢文章A.很可能会有重大的重叠(也就是说,有些文章被多人喜欢)。您的算法会记录每篇文章的喜欢次数,然后显示得票最多的前N个。

这个简单的系统在很多情况下都非常有效,但并不完美。您会发现特别受欢迎的文章占主导地位,即使它们与您正在查看的文章无关。有很多方法可以阻止这些极受欢迎的文章占据主导地位。一种方法是使用浮点数作为文章的分数。您可以添加1 / sqrt(users_number_of_likes),而不是为每个"和#34;的分数添加1。因此,喜欢100篇文章的用户只会1/10指向任何单篇文章,但只喜欢四篇文章的用户会给每个文章1/2一个点。虽然这听起来并不公平,但是#34;它确实倾向于削弱非常受欢迎但无关的物品的效果。

正如我所说,这是最简单的方法。如果您正在寻找"相关"文章,不是基于用户输入,那么您必须为每篇文章分配关键字,或者您需要某种方式来检查文章并提取相关的关键字。

有很多方法可以做你想做的事情。您选择哪一个取决于您的数据的性质,您是否正在进行协作过滤,您希望花多少时间开发它,以及您希望结果有多好。

答案 1 :(得分:3)

Netflix为电影推荐系统(算法)花费了1万美元的价格

http://www.netflixprize.com/

您可以阅读有关算法的here