推荐算法
什么样的产品适合推荐
1. 多样性(物品足够多,用户无法一一查看)
2. 口味重要(用户口味各异,物品长尾显著,靠热门排行榜推荐无法解决)
3. 纯粹性(单一物品相关属性不太复杂,利于精准推荐)
4. 大众产品(用户多,规模化,利于推荐)
5. 时效性较低(时效性过高则产品更新快,如新闻推荐,推荐数据需要不断更新)
6. 容易反馈(推荐引擎需要根据用户反馈结果不断学习和改进)
7. 条目增长比较稳定(条目增长过快,则新增数据量过大,调整压力增大)
算法比较
1. 基于内容的推荐: 用用户过去的浏览记录来推荐用户没有接触过的项。
2. 协同过滤:利用某兴趣相投、拥有共同经验之群体的喜好来推荐使用者感兴趣的资讯。主要有两种:一种是item-based的,就是计算item与item之间的关系,通过用户购买A后可能会购买与A相关的B、C、D;还有一种是user-based,计算用户之间的关系,用户A买的东西可能跟它相似的用户B也会买。
3. 基于规则推荐:比如关联规则,挖掘频繁项集
4. 基于效用推荐:是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大 程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可得性(Product Availability)等考虑到效用计算中。
推荐方法 | 优点 | 缺点 |
基于内容推荐 | 推荐结果直观,容易解释 不需要领域知识 | 稀疏问题;新用户问题; 复杂属性不好处理; 要有足够数据构造分类器 |
协同过滤推荐 | 新异兴趣发现、不需要领域知识; 随着时间推移性能提高; 推荐个性化、自动化程度高; 能处理复杂的非结构化对象 | 稀疏问题; 可扩展性问题; 新用户问题; 质量取决于历史数据集; 系统开始时推荐质量差; |
基于规则推荐 | 能发现新兴趣点; 不要领域知识 | 规则抽取难、耗时; 产品名同义性问题; 个性化程度低; |
基于效用推荐 | 无冷开始和稀疏问题; 对用户偏好变化敏感; 能考虑非产品特性 | 用户必须输入效用函数; 推荐是静态的,灵活性差; 属性重叠问题; |
基于知识推荐 | 能把用户需求映射到产品上; 能考虑非产品属性 | 知识难获得; 推荐是静态的 |