2.推荐系统-业务基础及架构详解

推荐系统-业务基础及架构详解

1.亚马逊推荐业务理解

  • 业务层面:
    • 没有搜索行为的时候首页推荐
      • 图书热榜
      • 精选图书推荐等
    • 搜索行为的首页推荐
      • 将正在搜索的商品作为“为您推荐”第一个商品
      • 其他商品按照历史浏览记录推荐
      • 最近浏览商品的推荐
    • 商品的详情页推荐
      • 关联推荐
      • 浏览此商品的用户也浏览了那些商品
      • 购买了商品的用户也购买了那些商品
      • 用户显式反馈—用户打分
      • 用户标签—商品标签
    • 品类页面推荐
      • 热销商品推荐

2.推荐系统引入

  • 什么是推荐系统
    • 推荐系统是在用户没有明确需求的情况下或者用户面对信息过载的情况下,通过程序或自动化的工具实现商品或物品的推荐。
  • 为什么使用推荐?
    • 搜索引擎----共性推荐信息
    • 如果是个性化推荐
      • 收集用户正在浏览、点击、加购等用户动态属性数据进而进行推荐
  • 推荐系统用途和使用场景:
    • 每日推荐
    • 商品详情页推荐
    • 热门商品推荐
    • 购买用户也会购买推荐
    • 关联推荐等
  • 混合推荐
    • 缘由:某一个算法的结果可能不会被所有的用户认可,需要结合多个推荐算法得到的推荐结果进而通过对推荐算法加权输出推荐结果。

3.推荐方法简述

  • 基于内容推荐
    • 基于主题的推荐
    • 基于文本推荐
      • 分词
      • 提取文本主题
      • 进行主题相似度对比推荐
  • 协同过滤过滤算法
    • 基于记忆的协同过滤
      • UserBase Rec
      • ItemBase Rec
    • 基于模型的协同过滤
      • LFM模型
      • ALS模型(底层使用LFM)
  • 关联分析
    • 基于关联挖掘进行推荐
      • Apriori算法
      • FP-Growth算法
  • 基于用户的模型学习的推荐
    • 构建机器学习模型进行推荐

4.推荐系统项目实例

  • 推荐系统各种子系统概况
    • UI展示
    • 日志采集系统
    • 用户日志的分析系统
    • 推荐系统
  • 数据收集
    • 用户的动态行为数据
      • 浏览、点击、收藏、加购、购买、评价
    • 用户的静态属性数据
      • 性别、年龄、收入等
  • 构建推荐引擎
    • 将各种推荐算法组合为推荐引擎给出初始推荐结果(召回)
    • 对召回的商品进行过滤、排序、补足、推荐结果
  • 构建推荐引擎步骤:
    • 收集用户的行为数据和基于人口统计学的数据
    • 将物品和物品推荐结合过滤和排序实现推荐引擎构建
    • 推荐系统核心:
      • 召回
      • 排序
  • 推荐系统一些经验分享
  • 美团架构简单剖析
    • 通过从前端采集到的用户的展示日志、下单日志、点击日志日志文件,通过Session聚合label match将处理后的数据存储在HBASE中,从HBASE中进行特征抽取、特征预处理和模型训练,预测展示构成循环生态。

5.混合推荐系统

  • 并行
  • 整体
  • 流水线式
  • 只需要了解具有三种形式的混合推荐即可,在工业界场景中通常选择并行结构,通过推荐算法构建推荐引擎,得到初始推荐结果,在通过过滤、排序、补足等操作完成推荐系统架构设计。

6.推荐系统评测方法和指标

  • 推荐系统评测方法
    • offline评测-离线评测
    • 用户调查
    • online评测
      • ABTEST
      • 评测点击率或转化率
  • 推荐指标分析
    • 离线指标:预测准确率
    • 在线指标:点击率、转化率、覆盖率(长尾分布)
  • 推荐和用户画像衔接
    • 基于内容的推荐
  • 个性化推荐
    • 数据:借鉴用户的固有属性数据进行个性化推荐

7.冷启动问题和马太效应

  • 用户的冷启动
    • 新用户进入推荐系统
    • 通过注册信息,或热门商品强推或交互问答方式
  • 物品的冷启动
    • 新商品进入推荐系统
    • 基于内容的推荐(主题)
  • 推荐系统冷启动
    • 引入专家知识,构建物品相似度数据
  • 马太效应(哈利波特问题)
    • 热门商品的问题
    • 提高覆盖率

8.淘宝推荐架构详解

8.1千人一面

  • 场景:在用户比较少,商品多样性化的场景下使用千人一面算法

  • 实施:

    • ItemCF

      • 将用户正在浏览的商品,通过商品之间的相似度计算,得到推荐结果
    • 关联推荐

      • 将用户已经购买的商品数据中,通过支持度和置信度计算推荐结果

8.2千人十面

  • 场景:在用户·变化较多的时候使用千人十面

  • 实施:

    • 基于人口统计学(基于内容)

      • 用户的标签信息进行相似度对比
    • 根据用户行为数据推荐

      • 基于搜索词的推荐

      • 基于浏览记录推荐

        • 猜你喜欢页面中出现的浏览商品
      • 基于购买记录推荐

    • 喜好度评分推荐

      • 购买5>加购4>收藏3>点击2>浏览1

      • 构建用户喜欢商品的向量

        • 通过sql筛选拿出数据—用户的行为向量(A,B,C,D,E)

        • 通过余弦相似度进行对比,从而选择TopN

9.Netflix个性化推荐系统

  • online
    • 用户—UI Client----Event And Data Distribution-------nearline、offline
    • 算法接口/服务—推荐结果
  • nearline
    • 拿到用户正在浏览的商品信息
    • 和其他商品信息组成曼哈顿距离度量相似度
    • 选择相似度较高的商品存储到存储介质中
    • Redis、Mongdb等
  • offline
    • 通过HDFS存储
    • 通过Hive或Pig分析数据,形成特征向量
    • 结合已有的离线数据构建Model模型,同时进行一些离线计算(业务指标的统计)
    • 将Model给到online为了达到用户的实时推荐,离线训练好模型,实时拿到用户正在浏览商品数据,通过模型进行预测

10.58同城推荐系统架构设计与实现

  • 线下子系统
    • 通过各种数据源获取数据存储在HDFS中
    • 线下挖掘模块
    • 线下数据服务或接口将线下挖掘的结果给到Redis或Mem中
  • 线上子系统
    • USER------Browers UI------埋点-------埋点统计分析
    • User–线上分发服务平台-----将用户随机进行分流20%、80%分流----推荐之服务(推荐引擎)—推荐结果存储(Redis、mem中)
  • 效果评估子系统
    • 推荐服务调用
    • 浏览器上报
    • 实时效果分析

11.58转转推荐案例实践

  • 关于推荐业务
    • 首页推荐----基于内容推荐
    • 宝贝详情页推荐----看了又看、、关联推荐
    • 附近推荐
    • 搜索关键词的推荐
    • 召回推荐
  • 如何构建用户画像和物品画像
    • 统计类标签
    • 规则类标签
      • 近7日活跃用户(登录系统次数>10中度活跃)
    • 挖掘类标签
      • 通过机器学习算法预测标签
  • 分类预测推荐
  • 协同过滤推荐

12.58到家推荐案例实践

  • 参考58转转思路

13.京东推荐系统架构详解

  • 推荐场景:
    • 基于行为数据召回
    • 搜索词召回、用户画像召回、推荐算法召回
    • 过滤:基于业务规则规律、已购买商品过滤等
    • 推荐商品
    • 特征向量:将用户特征+商品特征+用户和商品的交叉特征共同形成特征库
    • 排序:根据机器学习算法进行Ctr预估(点击率预估)

14.推荐系统架构设计详解

  • 推荐系统架构设计
    • 1.用户浏览、点击、收藏、访问、架构、下单等行为,通过大数据日志采集平台采集,采集后的数据形成用户动态行为数据
    • 2.针对用户注册的时候收集到的数据为用户的静态属性数据*(基于人口统计学信息)
    • 3.通过大数据的处理技术将用户动态属性数据结合静态属性数据,构建特征向量(用户画像、物品画像)
    • 4.通过特征向量构建不同推荐引擎,如UserCF、ItemCF、关联规则等
    • 5.通过不同的推荐引擎得到不同的推荐结果,对结果进行合并,形成召回商品
    • (召回:100万-----10万------实时计算:Top100(排序))
    • 6.通过召回的商品数据进行过滤、去重、补足、排序等
    • 7.排序需要根据机器学习算法,如随机森林算法给出排序结果,对原有推荐位置进行排序

15.总结

  • 对推荐系统业务场景熟悉
  • 能够对设计的推荐系统架构有一定认识
  • 能够在推荐架构的基础上能够利用后面讲到的算法完成推荐系统构建
  • 后续的学习过程中,主要点集中在UserCF、ItemCF、ALS(基于模型协同过滤)、关联规则等

你可能感兴趣的:(2.推荐系统-业务基础及架构详解)