推荐算法实战(一)推荐系统简介

目录

一、推荐系统的意义

二、推荐系统的运行机制(粗略)

(一)两个角色

(二)若干步骤

三、推荐系统的架构

(一)功能架构

1、召回

2、粗排

3、精排

4、重排

(二)数据架构

1、数据类型

2、采用架构

3、Lambda技术精髓

4、架构组成

四、推广搜的相同点和差异点

(一)推广搜的相同点

(二)推荐和搜索的差异

(三)推搜和广告的差异


一、推荐系统的意义

一句话概括就是在信息过载的情况下,建立人与信息的高效链接。

二、推荐系统的运行机制(粗略)

(一)两个角色

1、用户User:推荐系统的服务对象。

2、物料Item:推荐系统要推荐的信息。比如内容推荐中,推荐视频、歌曲等;电商推荐中,推荐商品等。

(二)若干步骤

  1. 给物料标签。
  2. 将物料根据标签建立索引(比如倒排索引),不同标签键的值为相应标签下的物料。
  3. 推荐系统接收用户的推荐请求,根据用户的兴趣爱好在物料库中检索相应物料,这个过程叫做召回Retrieval。
  4. 推荐系统对用户可能感兴趣的物料进行排序,将次序最靠前的几个推荐给用户。
  5. 将用户对推荐物料的行为记录日志,反馈给推荐系统,丰富用户兴趣爱好信息和物料的质量信息。

三、推荐系统的架构

(一)功能架构

特点:功能架构中越靠前的面对的候选集越大,对速度要求越高,对精度要求稍松。

推荐系统的4个环节

1、召回

  • 主要目标:重点关注速度,要求快速地在百万级候选集中选出用户可能感兴趣的物料。
  • 面对候选集规模:百万级。
  • 采用模式:离线计算,在线缓存。①离线计算:针对百万级的候选集,采用离线批量计算的方式处理,将处理后的结果存储到数据库中,并建立好索引。②在线缓存:检索索引即可,时间开销较小。
  • 缺点:由于离线计算情况下缺少与用户的对接,因此缺失用户信息和物料信息的交叉,影响精度。
  • 多路召回:采用数量弥补质量的方式,使用多路召回弥补精度上的不足。每一路都是物料信息或用户信息中的某个侧面。比如一路返回时下最热点的内容,一路返回用户喜爱的标签等等。

2、粗排

  • 主要目标:精度和速度折中,处于召回和精排之间。
  • 面对候选集规模:万级。
  • 主流粗排采用模式:离线计算,在线缓存。

3、精排

  • 主要目标:提升精度。
  • 面对候选集规模:千级。
  • 重点:用户信息和物料信息进行充分的交叉。

4、重排

  • 主要目标:由于精排过后相似内容获得相似的得分,结果集中排列在相近的位置,容易导致用户的视觉疲劳,因此需要打散开来,使得一屏之内的推荐内容丰富多样。
  • 较小推荐系统的重排方法:采用几条启发性规则。

(二)数据架构

1、数据类型

  • 冷数据cold data:长期的、稳定的、可能过时的数据。
  • 热数据hot data:当下的、近期的、最新的数据。

2、采用架构

Lambda架构。

3、Lambda技术精髓

  • 处理方法:将数据请求分成冷数据请求和热数据请求。
  • 冷数据请求:离线层批量计算处理数据,近线层缓存并提供快速检索。
  • 热数据请求:在线层流式处理数据。
  • 综合处理:汇总冷数据和热数据两个子请求的结果,得到最终的结果。
Lambda架构示意
Lambda架构示意

4、架构组成

①离线层

  • 主要任务:批量计算处理数据。
  • 采用技术:Hadoop、Spark、Flink,多任务协同可用Airflow完成。

②近线层

  • 主要任务:存储离线层批量计算后的数据,也可处理和存储接近实时的数据,介于离线和在线之间。
  • 采用技术:kv数据库(key-value),比如Cassandra和Redis。

③在线层

  • 主要任务:对接用户行为数据流,不等数据落地,直接进行分析处理。
  • 采用技术:Storm和Flink流式处理,Redis等支持随机读写的数据库进行存储。

四、推广搜的相同点和差异点

(一)推广搜的相同点

1、功能架构:都采用召回后排序。

2、数据架构:都采用Lambda。

3、主要目标:提供用户需要的信息。

(二)推荐和搜索的差异

1、意图表达不同:搜索意图表达使用查询语句。

2、准确性不同:搜索对准确性要求更严。

3、依赖的最重要的特征不同:搜索依赖查询语句与物料信息的交叉,推荐依赖用户信息和物料信息的交叉。

(三)推搜和广告的差异

1、准确性要求不同:推搜要求相对准确,广告要求绝对准确性。

2、即时性不同:推搜目标完成的即时性较强,比如点击率等。广告的转化链条越长,延迟反馈问题越严重。

3、目标不同:推搜要求留住用户、产生流量,广告要求流量的变现。

  • 31
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值