推荐系统:推荐系统架构设计

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


 

1.1 推荐系统简介

学习目标

  • 了解推荐系统概念及产生背景
  • 记忆推荐系统工作原理及作用
  • 了解推荐系统与web项目区别

1 推荐系统概念及产生背景

个性化推荐(推荐系统)经历了多年的发展,已经成为互联网产品的标配,也是AI成功落地的分支之一,在电商(淘宝/京东)、资讯(今日头条/微博)、音乐(网易云音乐/QQ音乐)、短视频(抖音/快手)等热门应用中,推荐系统都是核心组件之一。

  • 什么是推荐系统

    没有明确需求的用户访问了我们的服务, 且服务的物品对用户构成了信息过载, 系统通过一定的规则对物品进行排序,并将排在前面的物品展示给用户,这样的系统就是推荐系统

  • 信息过载 & 用户需求不明确

    • 分类⽬录(1990s):覆盖少量热门⽹站。典型应用:Hao123 Yahoo
    • 搜索引擎(2000s):通过搜索词明确需求。典型应用:Google Baidu
    • 推荐系统(2010s):不需要⽤户提供明确的需求,通过分析⽤ 户的历史⾏为给⽤户的兴趣进⾏建模,从⽽主动给⽤户推荐能 够满⾜他们兴趣和需求的信息。
  • 推荐系统 V.S. 搜索引擎

      搜索 推荐
    行为方式 主动 被动
    意图 明确 模糊
    个性化
    流量分布 马太效应 长尾效应
    目标 快速满足 持续服务
    评估指标 简明 复杂

2 推荐系统的工作原理及作用

  • 推荐系统的工作原理

    • 社会化推荐 向朋友咨询, 社会化推荐, 让好友给自己推荐物品
    • 基于内容的推荐 打开搜索引擎, 输入自己喜欢的演员的名字, 然后看看返回结果中还有什么电影是自己没看过的
    • 基于流行度的推荐 查看票房排行榜,
    • 基于协同过滤的推荐 找到和自己历史兴趣相似的用户, 看看他们最近在看什么电影
  • 推荐系统的作用

    • 高效连接用户和物品
    • 提高用户停留时间和用户活跃程度
    • 有效的帮助产品实现其商业价值
  • 推荐系统的应用场景

3 推荐系统和Web项目的区别

  • 通过信息过滤实现目标提升 V.S. 稳定的信息流通系统
    • web项目: 处理复杂业务逻辑,处理高并发,为用户构建一个稳定的信息流通服务
    • 推荐系统: 追求指标增长, 留存率/阅读时间/GMV (Gross Merchandise Volume电商网站成交金额)/视频网站VV (Video View)
  • 确定 V.S. 不确定思维
    • web项目: 对结果有确定预期
    • 推荐系统: 结果是概率问题

 

1.2 推荐系统设计

学习目标

  • 了解推荐系统要素
  • 记忆推荐系统架构

1 推荐系统要素

  • UI 和 UE(前端界面)
  • 数据 (Lambda架构)
  • 业务知识
  • 算法

2 推荐系统架构

  • 推荐系统整体架构

大数据Lambda架构

  • Lambda架构是由实时大数据处理框架Storm的作者Nathan Marz提出的一个实时大数据处理框架。

  • Lambda架构的将离线计算和实时计算整合,设计出一个能满足实时大数据系统关键特性的架构,包括有:高容错、低延时和可扩展等。

  • 分层架构

    • 批处理层
      • 数据不可变, 可进行任何计算, 可水平扩展
      • 高延迟 几分钟~几小时(计算量和数据量不同)
      • 日志收集: Flume
      • 分布式存储: Hadoop
      • 分布式计算: Hadoop、Spark
      • 视图存储数据库
        • nosql(HBase/Cassandra)
        • Redis/memcache
        • MySQL
    • 实时处理层
      • 流式处理, 持续计算
      • 存储和分析某个窗口期内的数据(一段时间的热销排行,实时热搜等)
      • 实时数据收集 flume & kafka
      • 实时数据分析 spark streaming/storm/flink
    • 服务层
      • 支持随机读
      • 需要在非常短的时间内返回结果
      • 读取批处理层和实时处理层结果并对其归并
  • Lambda架构图

推荐算法架构

  • 召回阶段 (海选)
    • 召回决定了最终推荐结果的天花板
    • 常用算法:
      • 协同过滤
      • 基于内容
  • 排序阶段 (精选)
    • 召回决定了最终推荐结果的天花板, 排序逼近这个极限, 决定了最终的推荐效果
    • CTR预估 (点击率预估 使用LR算法) 估计用户是否会点击某个商品 需要用户的点击数据
  • 策略调整

  • 推荐系统的整体架构

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章