当下热门应用:京淘,微博,网易云音乐,QQ音乐,抖音,快手,Bilibili
什么是推荐系统
利用一定规则,将排序后的物品或数据,展示给需求模糊的用户。
搜索 vs 推荐
搜索 | 推荐 | |
---|---|---|
行为方式 | 主动 | 被动 |
意图 | 明确 | 模糊 |
个性化 | 弱 | 强 |
流量分析 | 马太效应 | 长尾效应 |
目标 | 快速满足 | 持续服务 |
评估指标 | 简明 | 复杂 |
马太效应:强者愈强、弱者愈弱的现象。
长尾效应:大部分数据集中在曲线的中间部分,而尾巴部分虽然数据较少,但累加起来却可以形成一个可观的总体。
推荐系统的作用
- 高效连接用户和物品,发现长尾物品
- 留住用户和内容生产者,实现商业目标
推荐系统的工作原理
- 社会化推荐(亲友推荐)
- 基于内容的推荐(用户偏好)
- 基于热度的推荐
- 基于协同过滤的推荐(偏好相似的其他用户推荐)
推荐系统 vs Web项目
推荐系统 | Web项目 | |
---|---|---|
目标 | 追求指标增长 | 明确的用户需求 |
结果 | 不确定 | 确定 |
推荐系统架构图
Lambda系统架构
Lambda架构提供了一个结合实时数据和Hadoop预先计算的数据环境和混合平台,提供一个实时的数据视图。
- 预处理层:
- 高延迟
- 日志收集 Flume
- 分布式存储 Hadoop hdfs
- 分布式计算 Hadoop MapReduce & spark
- 视图数据库 nosql & Redis & MySQL
- 实时处理层:
- 实时数据收集 flume & kafka
- 实时数据分析 spark streaming & storm & flink
- 服务层:
- 迅速返回结果
- 归并预处理层和实时处理层的数据
离线计算(预处理)和实时计算(实时处理)共同作用,提供服务
推荐算法架构
召回阶段
确定结果的边界。
常用算法:
- 协同过滤
- 基于内容
- 基于隐语义
排序阶段
排序逼近边界,得到结果。
CTR预估(点击率预估,使用LR算法):预测用户点击商品,需要用户的点击数据得到结果。
评论区