深度学习推荐系统实战
王喆
Roku 推荐系统架构负责人,前 hulu 高级研究员,《深度学习推荐系统》作者
33298 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 44 讲
深度学习推荐系统实战
15
15
1.0x
00:00/00:00
登录|注册

14 | 融会贯通:Sparrow RecSys中的电影相似推荐功能是如何实现的?

HTML+AJAX请求
排序层实现
召回层实现
候选物品库建立
Embedding向量存储
Spark MLlib进行Embedding训练
Spark数据处理
Embedding方法
推荐结果呈现给用户
模型排序
召回层
模型部署
特征存储
Embedding技术
特征工程
利用商业指标进行评估
指定Ground truth
人肉测试
前端部分
线上服务部分
数据和模型部分
菜品上桌
做菜技术
食材下锅
准备食材
线上推荐过程实现
推荐服务搭建
Embedding模型
特征工程
Embedding方法上的改进
品菜的阶段
做菜的过程
相似电影推荐的结果和初步分析
如何实现相似电影推荐功能?
清点技能库
推荐系统架构知识点
课后思考
小结
王喆
如何实现电影相似推荐功能?

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

你好,我是王喆。
课程进行到这里,推荐系统架构的大部分知识点,包括特征工程、Embedding 模型,到推荐服务的搭建,线上推荐过程的实现,我们都已经学习并且实践过了。如果你坚持跟着我一起学下来的话,可以说已经是“武功小成”了。
为了帮你巩固所学,今天,我就带你从头到尾地实现一个完整的推荐功能,相似电影推荐,来帮助你打通推荐系统的“任督二脉”。

“清点技能库”,看看我们已有的知识储备有哪些

在开始实现相似电影推荐功能之前,我想先带着你一起清点一下自己的技能库。我喜欢把推荐的过程比喻成做菜的过程,接下来,我就按照做菜的四个关键步骤,带你回顾一下前面学过的重点知识。
第一步,准备食材。 准备食材的过程就是我们准备推荐所需特征的过程。在特征工程篇中,我们不仅学会了怎么挑选“食材”,怎么处理“食材”,而且还实践了“备菜”的高级技能 Embedding 技术。具体来说就是,我们能够利用物品序列数据,通过 Item2vec 方法训练出 Embedding,也能够使用 Deep Walk 和 Node2vec 把图结构数据生成 Graph Embedding。
总的来说,因为 Embedding 技术的本质就是利用了物品之间的相关性,所以 Embedding 是做好“相似推荐”这盘菜的关键。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

推荐系统是一项重要的技术,本文以实现电影相似推荐功能为例,详细介绍了推荐系统的技术架构和实现步骤。作者通过比喻推荐过程为做菜的过程,分为准备食材、食材下锅、做菜技术和菜品上桌四个步骤,然后详细介绍了数据和模型部分、线上服务部分以及前端部分的实现方法。在数据和模型部分,作者介绍了Embedding的训练和存储方法;在线上服务部分,介绍了候选物品库的建立、召回层的实现和排序层的实现;在前端部分,介绍了采用HTML+AJAX请求的方式展示推荐结果。文章通过实例详细介绍了推荐系统的实现过程,对于想要了解推荐系统技术特点的读者具有很高的参考价值。此外,文章还提到了三种常用的评估方法:人肉测试、指定Ground truth和利用商业指标进行评估,以及对推荐结果进行评估的重要性。整体而言,本文内容丰富,深入浅出地介绍了推荐系统的技术架构和实现方法,对读者了解推荐系统技术具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深度学习推荐系统实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(16)

  • 最新
  • 精选
  • 金鹏
    在小视频行业,基于CTR或播放量的商业逻辑进行推荐策略的调整,在实际过程中往往会变成大量推荐低俗、擦边内容,短期各个指标会上涨,但从长远来看,其实是损害了整个商业收益。所以在短视频一般会以播放时长ts做为商业指标。

    作者回复: 非常好的insight。CTR对一些标题党、低俗预览图之类的确实有偏好。也可以在正样本的定义上下功夫,把真正播放超过一定时长的作为正样本,算是可以在CTR模型的框架上继续做改进。

    2020-11-05
    3
    33
  • InfoQ_ea311a6b3a82
    计算相似度的时候考虑电影的内容信息,如利用描述等生成内容Embedding,和之前训练得到的Embedding连接起来,再进行相似度的计算。

    作者回复: 非常好的解决方案。

    2020-11-04
    22
  • 那时刻
    我觉得除了热门电影头部推荐之外,还有用户对电影的评论,以及用户观影行为,比如很多人看电影是把热门电影轮流看一遍。

    作者回复: 是这样,这导致热门电影的个性化程度不高。所以一般使用tfidf等方法给训练样本一个权重之类的方法来降低热门电影的影响。

    2020-11-04
    18
  • 浣熊当家
    对于最后的问题的改进,之前老师讲Node2Vec的时候,提到了BFS倾向于结构性, DFS倾向于同质性,所以为了减轻热门电影的扎堆推荐,可以调整随意游走的概率,让他更倾向于同质性(DFS)吗?因为热门影片可能处于节点的中心位置这样的结构性, 然后同一种的影片(比如动画片,惊悚片,。。)属于同质性。 不知道我又没有理解对

    作者回复: 非常好的思路。像node2vec一样,更改热门影片的随机游走权重是一个可行的解决方法。如果有实践结果的话也欢迎进一步跟大家分享!

    2020-11-07
    4
    16
  • 浣熊当家
    对于玩具总动员那个例子,老师提到推荐结果类别不够精准, 不过我的想法是,对于一个物品的分类,有很多种方面,虽然我们的模型在电影类别方面不够精准, 但是他却反映了另一个方面,就是热门(或者经典)。这也是个很好的共性,比如有些人的兴趣就是看热门影片。 只要在最后在排序的时候,过滤掉用户已经看过,和推荐过n次依然没有看的(说明不感兴趣),这样的推荐应该很make sense。 就想2老师最后说的,评价系统好不好的终极标准是观看时间和点击率,而且我的直觉感觉推荐热门电影的点击率就会比其他的高。 所以我有个最后的问题,我们主管的测评评价电影的相似度的时候,往往由于思维局限,会忽略某些事物本质的关联,对模型尽量少的人工干预,会不会更科学

    作者回复: 你说的非常好,这也是我说的有时候要交给AB测试去决定是不是一个好的模型,而不要交给人的直觉。毕竟我们的spot check只是解决一些非常明显的错误,不能够保证效果一定好。

    2020-11-07
    2
    14
  • Alan
    答:热门电影的头部效应造成的,有一定影响因素!但我们要分析为何它们这些电影会成为热门呢?热门特性,可以大概的猜测几点:经典、新颖、价值高、文化核心、受众用户群、时间效应等等。所以就像老师召回层的多路召回策略又会衍生出几个问题:1、如何调整热门推荐与个性化推荐权重。2、随着时间效应消失,热门度对个体对用户群又是怎么影响的,又如何实现精准的推荐呢?3、推荐系统针对个人与用户群场景如何切换? 大致上可以 Embedding 方法上的改进建议:1、Attention机制的Embedding算法 2、类别标签TF-CR权重计算等 。 最后,具体问题具体分析,请结合业务改进推荐系统,又如其他同学提及的短视频推荐:停留时间、点击率、点赞数、点击转化率等作为热门评估指标。

    作者回复: 非常赞同你的分析和改进思路,推荐其他同学参考。

    2021-03-08
    11
  • Wiiki
    王老师,请教一下关于Embedding的问题。如果我有这样的一个需求,需要融合时序,位置空间,还有内容等信息到一个Embedding,通常针对这种情况都是怎么生成Embedding的?是不是说Embedding的出现,代表着传统手动,凭经验生成特征的方式已经没有应用场景了?谢谢~

    作者回复: 感觉位置空间这种类似context特征的不太好整合,Embedding可以整合物品侧或者用户侧的全部特征。具体的整合方法还是推荐参考阿里的EGES。算是一个比较经典的案例了。

    2020-11-05
    7
  • JustDoDT
    在推荐最终展示前在加一层简单的规则过滤,例如利用电影类别把非儿童的电影剔除掉。

    作者回复: 其实是很好的重排层的策略性方法,没问题。

    2020-11-04
    7
  • คิดถึง 
    老师好,如果我想更换MovieLens 20M Dataset数据集的话,重新训练的具体步骤大概是什么?

    作者回复: 直接替换项目中的相应数据集就可以了

    2021-08-26
    2
  • MutouMan
    可能也和电影的受众有关,当年皮克斯推出玩具总动员时,其中一个宣传策略就是成年人也可以看的动画片。所以玩具总动员和真实的谎言对成年人的吸引力可以认为是相似的。另一点动画片我们常常认为是儿童看的多,但是儿童看的多也不代表他们回去评价。更多的评价还是来自爸爸妈妈们。为了改进embedding,我觉得:1. 可以加入电影类型、风格等side information,让模型也考虑电影风格的影响;2. 是不是也可以加入时间戳,我看了100部电影,很大可能前十部和最后十部电影完全不同。或者采样的时候,随机游走的时候,边的权重可以相应调整。

    作者回复: 说的很好,所以有的时候潜在的数据pattern我们不一定都能解释的了,但是模型能够学到这些pattern

    2021-05-08
    2
收起评论
显示
设置
留言
16
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部