5 婚核忒贱囍桶

5.1混合推荐系统

  • 推荐系统20多年,仍没人给出精确定义
  • 推荐系统成为一个相对独立的方向,始于94年Grouplens研究组推出的Grouplens系统
  • 基于协同过滤,并对推荐问题建立一个形式化模型。
    • 该形式化模型引领了推荐系统的发展方向
    • 基于该形式化模型,推荐系统要解决两
      • 预测和推荐

  • 预测解决
    • 推断User对Item的喜好程度
  • 推荐
    • 根据预测环节的计算结果向用户推荐Item

  • 上一章几种主流的推荐
    • 推荐时利用的信息和采用的框架不同
  • 基于内容: 依赖Item的特征描述
  • 协同过滤: 利用User和Item的特定类型的信息转化生成推荐结果,
  • 社交网络: 根据User的相互影响关系推荐
  • 没一种方法利用数据所有信息
    • 构建混合推荐系统
  • 本章将
    • 特征处理、
    • 特征选择、
    • 常见的排序模型等
    • 介绍如何搭建混合推荐系统。

5.1.1混合推荐系统的意义

5.1.1.1海量数据推荐

  • 海量数据推荐系统中通常存在三部分:
    • 在线系统、
    • 近线系统
    • 离线系统。
  • 在线系统与用户直接交互,高性能高可用性的特性,
    • 通常利用缓存系统,处理热门请求的重复计算。
  • 近线系统接受在线系统的请求
    • 执行比较复杂的推荐算法
    • 缓存在线系统结果
    • 及时收集用户的反馈,快速调整推荐结果。
  • 离线系统利用海量的用户行为日志挖掘,
    • 高质量的推荐,
    • 运算周期长、资源消耗大

5 婚核忒贱囍桶

  • 面对海量的用户和物品,需要实时保证线上的用户请求得到可用结果。
  • 在线系统无法承担资源消耗大的算法,而离线系统实时推荐能力差
    因此,需要将在线系统一近线系统一离线系统组成混合系统来保证高质量的推荐

  • Net Flix后台推荐系统的架构(图5.1)
  • 三段式混合推荐系统

  • 离线系统是传统的个性化推荐系统的主体,
    • 定期利用大量历史操作日志批处理,
    • 进行特征构造及选取,最终建立模型并更新

  • 近线系统,将用户产生的事件,利用流式计算得到中间结果
    • 这些中间结果发给在线部分用于实时更新推荐模型,
    • 将中间结果存起来
    • 存在Memcached、 Cassandra、 MYSQL等可以快速查询的存储中作为备份
    • netflix流式计算通过Netflix.Manhattan框架实现,
      • 类似于Storm的实时流式计算框架。

  • 在线部分利用离线部分的主体模型并考虑近线部分的实时数据对
    模型增量更新,得到实时的推荐模型,根据用户的行为来对用户进行实时
    推荐

  • 近线和在线后面的推荐系统架构章节中进一步