好文推荐
圈子
网址导航
登录/注册
{{info.is_collect==1?info.collect_num:'收藏'}}
{{info.is_zan==1?info.zan_num:'点赞'}}
{{info.is_pinglun==1?info.collect_num:'评论'}}
复制下面链接分享给好友吧~
{{shorturl}}
复制链接
分享
推荐策略产品必备技能之推荐系统框架(中)
一颗西兰花
公众号:策略产品研究院
{{info.update_time}}
阅读 {{info.hit_num}}
只有了解了整体数据流,才能增强自己对复杂产品设计的把控能力。

本文来自微信公众号 “策略产品研究院”,作者:一颗西兰花,纷传经授权发布。


推荐系统中包含着许多模块,数据流是其中的一个重要模块。


在上篇文章里,作者阐述了推荐策略产品中的系统框架及模块演进;本篇文章里,作者总结了推荐系统框架中的数据流模块,让我们一起来看一下。


在本章节,我们来了解推荐系统框架的数据流。



01

概括



为什么要了解数据流?


对于一款非常复杂的产品,比如像推荐系统这块由多个模块组成的产品,只有了解了其数据流,才能知道这个系统是如何运作的。


对于产品经理自身而言,只有了解了整体数据流,才能增强自己对复杂产品设计的把控能力。



02

推荐系统数据流



1.背景Brief


要了解推荐系统的数据流,首先需要知道,对于一个推荐系统,主要的数据模块。可以将其抽象成3个模块:用户数据、物料数据、用户行为。


2. 推荐系统目标


对于一个推荐系统,它的目标是什么?通过两个case来了解。


1)Case 1:资讯场景


比如资讯场景业务目标是点击率。点击率的计算逻辑 = click / show。


那为了提升点击率,我们需要哪些数据实现目标?


静态数据:用户表、物料表。


用户行为数据:用户行为数据。


聚焦到用户行为数据,如何定义哪些是正样本、哪些是负样本。


微信截图_20221216144548.png


需要注意的是,在行为数据定义时候(样本定义时候),经常出现的几个show虚报的问题:


推荐结果即show。推荐结果即show的意思是,比如一个相关推荐场景,后台服务器一次给出的预测结果是10条数据,客户端只展现了4条。


为了图方便,客户的上报show的逻辑是将所有的返回推荐结果都上报为show。


加载即show。在信息流场景,往往需要预加载。但是很多预加载的item,实际上尚未被展示。


客户的埋点逻辑是加载即上报show,因此会导致show虚高。


信息流上下滑动。在信息流场景,还经常出现的一个问题是,用户经常上下刷动,所以同一物料会有多次曝光,建议上报时候做去重设置。


2)Case 2:小视频场景


比如小视频场景,建模目标是完播率,即视频的播放时长/视频的总时长。


3. 推荐系统如何实现业务目标


将推荐系统实现业务目标拆分成两条数据流来理解,在线数据流和离线数据流。


1)在线数据流


在线数据流是指一个请求进入到推荐系统到给出预估结果的流程,参考下述示例图。


接着进一步了解在线数据流。


用户来到APP,打开APP,这个时候前端会像服务器后端发送请求,接着服务器后端会像推荐系统(SaaS服务)发送请求。


推荐服务接受到这个请求,会先进行load balance,接着后端处理,在后端处理分为算法和规则,算法即召回和排序,规则即rerank。


根据2.2的描述,我们知道,对于一个推荐系统来说,都有其特定的目标,当我们完成目标确认后,比如提升点击率或者完播率。


接着就可以开始建模了。假设模型已经ready。来看一下推荐系统的在线流程~


微信截图_20221216144600.png


召回(Recall):召回的作用是从整个物料库中,通过某一种/多种策略,快速召回一小批物料,供后续模型打分使用。


排序(Rank):排序是将前一个阶段召回的物料进行模型排序。


重排(Rerank)


重排是什么?


重排是基于排序环节的打分结果,对上述结果再次进行排序。


为什么需要重排?


在上一个环节,排序做的事本质上是预测用户对物品该兴趣的概率,考虑的只是物品与用户之间的关系,但是忽略掉了物品之间的相关性。


如何理解呢?分享一个极端的case,小红最近酷爱刷电影剪辑类小视频,模型学习的话,很可能学出来最后给用户推荐的都是同一个publisher的10条item。


这样肯定是不行的,试想,如果你正在刷抖音,连续10条都给你推荐同一个博主的内容,这个体验能好吗?所以需要rerank。


重排环节一般会做什么?


重排阶段是个策略出没之地,就是集中了各种业务和技术策略。


比如为了更好的推荐体验,这里会加入去除重复、结果打散增加推荐结果的多样性、强插某种类型的推荐结果等等不同类型的策略。


2)离线


什么是离线数据流呢?模型训练以及模型的更新都是离线数据流完成的事。


离线模型的训练以及模型的更新,涉及到多个数据模块的配合,包括用户画像、物料画像、行为日志,离线数据流,我们下章节见~

#技巧
#经验
评论 /{{info.pinglun_num}}
点击登陆后评论
发布
{{ reply.content }}
回复 删除
回复 {{ reply2.content }}
{{ reply2.create_time }} 回复 删除
更多推荐
{{item.title}}
{{item.update_time+'\u00A0'+item.hit_num+'阅读'}}
友情链接
人人都是产品经理 iconfont 135编辑器 考古加 新鲜码
公众号
作者群
关于
免责声明
Copyright 2016-2021 All Rights Reserved 杭州领帜科技有限公司 浙ICP备2020035253号-3