【问题标题】:How does one write a recommended item system? [duplicate]如何编写推荐项目系统? [复制]
【发布时间】:2011-11-22 17:44:56
【问题描述】:

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

我一直对网站如何根据我“喜欢”的内容、关注的内容、赞成/反对的内容向我推荐文章和用户感兴趣。

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

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

更新:

我有一个关键字“斜坡一号”

【问题讨论】:

  • 我认为“奇异值分解”可能是一个相关的关键字。

标签: algorithm recommendation-engine


【解决方案1】:

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

最简单的方法是使用“喜欢这篇文章的人也喜欢...”的方法。如果您跟踪每个用户的文章评分,并跟踪谁喜欢哪些文章,那么您就有了推荐系统的基础。

例如,假设您正在查看文章 A。系统可以在其索引中查找每个喜欢文章 A 的用户。然后从该列表中,它可以创建每个喜欢文章的用户喜欢的所有文章的列表A 条。很有可能会有很大的重叠(即一些文章被多人点赞)。您的算法会跟踪每篇文章获得的点赞数,然后显示获得最多票数的前 N ​​个。

这个简单的系统在许多情况下都非常有效,但并不完美。您会发现异常受欢迎的文章占主导地位,即使它们与您正在查看的文章无关。有一些方法可以防止广受欢迎的文章占据主导地位。一种方法是使用浮点数作为文章的分数。不是将每个“喜欢”的分数加 1,而是添加 1 / sqrt(users_number_of_likes)。因此,喜欢 100 篇文章的用户只会给任何单个文章打分 1/10,但只喜欢 4 篇文章的用户会给每个文章打分 1/2。虽然这听起来不“公平”,但它确实会削弱非常受欢迎但不相关的项目的影响。

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

有很多方法可以做你想做的事。您选择哪一种取决于您的数据的性质、您是否在进行协同过滤、您希望花费多少时间来开发它以及您希望得到的结果有多好。

【讨论】:

    【解决方案2】:

    Netflix 斥资 100 万美元购买电影推荐系统(算法)

    http://www.netflixprize.com/

    你可以阅读here关于算法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 2011-09-12
      • 2012-12-19
      • 1970-01-01
      相关资源
      最近更新 更多