有什么好的算法可以根据人们之前的选择来推荐他们可能喜欢的东西?(例如,亚马逊推广推荐书籍,并用于iRate电台或YAPE等服务中,您可以通过对项目进行评级来获得建议)
发布于 2009-04-27 19:16:03
简单明了(订单购物车):
根据一起订购的项目来保存交易列表。例如,当有人在亚马逊上购买便携式摄像机时,他们也同时购买了用于录制的媒体。
在确定给定产品页面上的“建议”内容时,请查看订购该产品的所有订单,计算同时购买的所有其他项目的数量,然后显示最常同时购买的前5个项目。
你可以从那里扩展它,不仅基于订单,还可以基于人们在网站上按顺序搜索的内容,等等。
在分级系统(即电影分级)方面的:
当你加上收视率时,这就变得更加困难了。您拥有的不是已购买商品的离散购物篮,而是商品评级的客户历史记录。
在这一点上,您看到的是数据挖掘,其复杂性是巨大的。
一个简单的算法,虽然离上面的不远,但它采用了不同的形式。获取客户的最高评级项目和最低评级项目,并找到具有类似最高评级和最低评级列表的其他客户。你想让他们与其他有相似极端喜好和厌恶的人配对--如果你只关注他们喜欢的东西,那么当你向他们提出他们讨厌的东西时,你会给他们带来糟糕的体验。在建议系统中,你总是希望在“不温不火”的体验中犯错误,而不是“仇恨”,因为一次不好的经历会让他们不能使用建议。
向客户推荐其他人最喜欢的商品。
发布于 2009-04-27 19:17:44
考虑一下黑客新闻上的"What is a Good Recommendation Algorithm?“及其discussion。
发布于 2009-04-27 19:22:26
没有一个明确的答案,也不太可能有一个标准的算法。
如何做到这一点在很大程度上取决于你想要关联的数据类型以及它是如何组织的。这取决于您如何在您的应用程序范围内定义“相关”。
通常,最简单的想法都能产生好的结果。在图书的情况下,如果您有一个数据库,每个图书条目都有几个属性(比如作者、日期、流派等)。您可以简单地选择推荐同一作者、相同体裁、相似书名和其他类似书籍的随机集合。
然而,你可以尝试更复杂的东西。记录需要这个“产品”的其他用户,并建议这些用户过去需要的其他“产品”(产品可以是任何东西,从一本书,到一首歌,或者任何你能想象到的东西)。大多数具有推荐功能的主要网站都会这样做(尽管它们可能会吸收大量信息,从产品属性到人口统计数据,以便最好地为客户服务)。
或者,您甚至可以求助于所谓的人工智能;可以构建神经网络,它可以吸收产品的所有这些属性,并尝试(基于之前的观察)将其与其他属性关联起来,并自我更新。
这些案例中的任何一种都可能对你有用。
我个人建议思考你希望算法如何工作,以及如何建议相关的“产品”。然后,您可以探索所有选项:从简单到复杂,并平衡您的需求。
https://stackoverflow.com/questions/794870
复制相似问题