推荐系统

推荐系统

  • 给予人口统计推荐

  • 基于内容推荐

    • 电影相似度
  • 物品元数据

    • 电影格式:年代、片名、描述、类别、清洁、角色
  • 基于协同过滤的推荐

  • 推荐系统原则:

    • 在合适的场景,合适的时机,通过合适的渠道,把合适的内容推给合适的用户
  • 推荐系统的作用

    • 提升用户忠诚:让用户习惯
    • 提升用户粘性:让用户喜欢
    • 提升销售额:整体营销收入
    • 提升交叉销售:发现用户更多需求,满足其需求销售更多相关服务
    • 提升长尾销售:市场虽小,但数量众多
    • 提升毛利:商家业务目标
  • 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