推荐系统
推荐系统
Alex推荐系统
给予人口统计推荐
基于内容推荐
- 电影相似度
物品元数据
- 电影格式:年代、片名、描述、类别、清洁、角色
基于协同过滤的推荐
推荐系统原则:
- 在合适的场景,合适的时机,通过合适的渠道,把合适的内容推给合适的用户
推荐系统的作用
- 提升用户忠诚:让用户习惯
- 提升用户粘性:让用户喜欢
- 提升销售额:整体营销收入
- 提升交叉销售:发现用户更多需求,满足其需求销售更多相关服务
- 提升长尾销售:市场虽小,但数量众多
- 提升毛利:商家业务目标
Rating Prediction (平分预测)
Top-N Recommendation (Top-N推荐)
推荐系统怎么样才算好?
- 交互设计要好
- 从数据角度:质量要很高,占30%
- 从领域知识的角度
- 从模型的角度
什么时候需要推荐系统?
- 系统过载?
- 足够反馈
- 搜索无法解决的
- 搜索引擎 vs 推荐系统
搜索 vs 推荐
- 能用关键词描述需求
- 不知道自己需要什么或者难以描述
- 互补
- 逛(移动端)
数据 显示反馈
- 红星、垃圾桶
- 问题
- 样本少
- 评分不靠谱
数据 隐式反馈:隐式数据收集
- 浏览
- 点击
- 购买
- 收藏
如何选择数据
- 与用户兴趣相关
- 覆盖度
- 反馈代价
推荐系统架构
推荐流程
- 召回: 帅选出用户感兴趣的物品
- 排序:对物品列表进行打分排序
- 规则:通常是过滤逻辑,比如排重,业务过滤
推荐系统架构层
- Offline层:对海量数据进行离线加工,例如MapReduce or Spark
- NearLine层:利用流式处理技术对实时尝试的数据做加,例如Strom or Spark Streaming
- Online层:负责在线计算,处理相对简单的运算逻辑,例如在线引擎 Webpy Server
- 补充
推荐系统
- 3个部分:
- offline
- mapreduce/spark/hive/mahout
- nearline
- storm(毫秒级)/spark(实时统计)/ Streaming(秒级)
- online
- webui/websesrver/nosql
- offline