推荐系统三十六式
刑无刀
“贝壳找房”资深算法专家,8 年推荐系统工程师
43607 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 40 讲
开篇词 (1讲)
原理篇 · 深度学习 (2讲)
原理篇 · 其他应用算法 (3讲)
推荐系统三十六式
15
15
1.0x
00:00/00:00
登录|注册

28 | 让你的推荐系统反应更快:实时推荐

总结
效率提升
算法实时化
流计算
实时数据
架构概览
实时推荐
为什么要实时
实时推荐系统

该思维导图由 AI 生成,仅供参考

更快,更高,更强,不只是奥林匹克运动所追求的,也是推荐系统从业者所追求的三个要素:捕捉兴趣要更快,指标要更高,系统要更健壮。
我今天就要说的就是这个“更快”。推荐系统是为了在用户和物品之间建立连接,手段是利用已有的用户物品之间的连接,然而任何事物都是有生命周期的,包括这里说的这个虚无的“连接”也是有的。

为什么要实时

一个连接从建立开始,其连接的强度就开始衰减,直到最后,可能用户不记得自己和那个物品曾经交汇过眼神。因此,推荐系统既然使用已有的连接去预测未来的连接,那么追求“更快”就成了理所当然的事情。
用户和物品之间产生的连接,不论轻如点击,还是重如购买,都有推荐的黄金时间。在这个黄金时间,捕捉到用户的兴趣并且给与响应,可能就更容易留住用户。
在业界,大家为了高大上,不会说“更快”的推荐系统,而是会说“实时”推荐系统。实际上,绝对的实时是不存在的,哪怕延迟级别在微秒的推荐,也是会有延迟的。但是为了顺应时代潮流,我还是会在后面的内容中说这是实时推荐,你就那么一听,知道就好。
关于到底什么是实时推荐,实际上有三个层次。
第一层,“给得及时”,也就是服务的实时响应。这个是最基本的要求,一旦一个推荐系统上线后,在互联网的场景下,没有让用户等个一天一夜的情况,基本上最慢的服务接口整个下来响应时间也超过秒级。达到第一层不能成为实时推荐,但是没达到就是不合格。
第二层,“用得及时”,就是特征的实时更新。例如用户刚刚购买了一个新的商品,这个行为事件,立即更新到用户历史行为中,参与到下一次协同过滤推荐结果的召回中。做到这个层次,已经有实时推荐的意思了,常见的效果就是在经过几轮交互之后,用户的首页推荐会有所变化。这一层次的操作影响范围只是当前用户。
第三层,“改得及时”,就是模型的实时更新。还是刚才这个例子,用户刚刚购买了一个新的商品,那需要实时地去更新这个商品和所有该用户购买的其他商品之间的相似度,因为这些商品对应的共同购买用户数增加了,商品相似度就是一种推荐模型,所以它的改变影响的是全局推荐。

实时推荐

好,下面就讲一下如何构建一个处在第三层次的实时推荐系统。

1. 架构概览

按照前面的分析,一个处在第三层次的实时推荐,需要满足三个条件:
数据实时进来
数据实时计算
结果实时更新
为此,下面给出一个基本的实时推荐框图。
整体介绍一下这个图,前端服务负责和用户之间直接交互,不论是采集用户行为数据,还是给出推荐服务返回结果。
用户行为数据经过实时的消息队列发布,然后由一个流计算平台消费这些实时数据,一方面清洗后直接入库,另一方面就是参与到实时推荐中,并将实时计算的结果更新到推荐数据库,供推荐服务实时使用。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了实时推荐系统的三个层次,包括服务的实时响应、特征的实时更新和模型的实时更新。文章提出了构建处在第三层次的实时推荐系统的架构概览,包括数据实时进来、数据实时计算和结果实时更新。此外,文章还介绍了实时数据的接入和流计算平台的选择,重点推荐了Storm作为流计算平台。通过简单的例子,阐述了如何用Storm实现流计算。另外,文章还掏出了实时推荐系统的构建和流计算平台的应用,对于想要了解实时推荐系统的读者具有很高的参考价值。文章还介绍了基于物品的协同过滤算法在实时推荐中的计算过程,以及提出了一些优化技巧,如剪枝、加窗、采样和缓存,以提高实时推荐的效率。最后,文章指出了实时推荐的三个层次,以及哪些推荐策略不适合放在实时推荐中。整体而言,本文详细介绍了实时推荐系统的构建和流计算平台的应用,对于想要了解实时推荐系统的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《推荐系统三十六式》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • 微微一笑
    基于长期兴趣的推荐不适合实时去更新?

    作者回复: 既然是长期兴趣,今天更新和下周更新,费力不少,变化不大。

    2018-05-07
    5
  • 帅帅
    对于到来的用户,我会用两种方式处理: 1、如果是回头客旧用户,直接去除PUSH的推荐列表返回; 2、如果是新用户,直接返回热榜兜底;同时流计算会异步的获取用户画像、召回、排序、更新REDIS缓存;那么这个新用户几秒钟之后刷新页面,就会展示个性化列表;
    2018-09-25
    1
    6
  • 林彦
    embedding的策略是不是不太适合实时推荐时更新? 大量不同数据的多聚类模型的中心或参数更新是不是不适合实时推荐?
    2018-05-11
    5
  • 丸子
    请问实时推荐这块有没有相应的代码可供参考呢,有的话去哪里找
    2019-02-18
    1
    1
  • 晨晓
    实时推荐需要的表设计挺重要的
    2020-03-29
  • 嘉文
    感觉邢大讲的主要是实时更新已有用户和已有物品之间的行为数据,及其模型 对于实时的新增用户和新增物品呢?
    2018-07-11
    1
  • 微微一笑
    请教一下还有哪些策略不适合实时推荐?
    2018-05-10
收起评论
大纲
固定大纲
为什么要实时
实时推荐
1. 架构概览
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部