好文推荐
圈子
网址导航
登录/注册
{{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}}
审视多路召回,冗余过滤。同一个场景可能会筛选出多路召回,各路召回尽量不要冗余。

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


在推荐系统中,召回是从物料库中获取一小部分物料,这一小部分物料会在后续的环节被模型用来打分排序。


本文作者围绕推荐系统的召回进行了策略和场景两个维度的分析,希望对你有帮助。


本文主要覆盖以下2个topic:


召回


召回策略与场景


如果你对本文有兴趣,就继续往下看吧~



01

召回



本模块主要回答以下几个问题:


召回是什么?


为什么需要召回?


工业界大家都是怎么做召回的?


1.1 召回是什么


在推荐系统中,召回是从物料库中,获取一小部分物料,这一小部分物料会在后续的环节被模型用来进行打分排序。


1.2 为什么需要召回


在真实的生产中,往往有数以亿计的item,如果直接用模型对这些item进行打分,完全不现实。所以需要召回环节。


召回环节主要数以亿计的数据中,检索出百级别的候选物品。


1.3 工业界大家都是怎么做召回的?


看几个行业case。


微信截图_20221216135443.png


(微信看一看)


微信截图_20221216135458.png


(爱奇艺段视频)


微信截图_20221216135516.png


(蜻蜓FM)


总结一下:多路召回是当前推荐系统的主流架构。


KNOW-WHY环节,为什么大家都要用多路召回这种架构呢?


这样的设计主要有如下考虑:


考虑用户层面:用户兴趣的多元化,用户需求与场景的多元化。例如:新闻需求,重大要闻,相关内容沉浸阅读等等。


考虑系统层面:增强系统的鲁棒性;部分召回失效,其余召回队列兜底不会导致整个召回层失效;排序层失效,召回队列兜底不会导致整个推荐系统失效。


系统多样性内容分发:图文、视频、小视频;精准、试探、时效一定比例。


召回目标的多元化,例如:相关性,沉浸时长,时效性,特色内容等等。


可解释性推荐一部分召回是有明确推荐理由的:很好的解决产品性数据的引入。



02

召回策略与场景



本模块主要回答如下几个问题:


策略与场景的关系?


如何设置场景的策略?


2.1 策略与场景的关系


先说结论:策略是强场景相关的~!


如何validate上述结论?


用户逛首页:这个时候,用户暂时没有明确的购物意图,就是想来看看,有什么什么物品能够吸引自己的兴趣。


所以这个时候的召回策略,偏兴趣试探。


用户逛详情页:比如你这个时候就想买一只奶茶色的口红,你在某只口红的详情页研究了3分钟,并且下单了,这个时候给你推荐的,肯定还是奶茶色的口红。


毕竟对女人来说,一只口红是买,两只口红也是买。


2.2 如何设置场景的策略?


是否有一些可以遵循的标准步骤/思考模式可以复用?


2.2.1 第一步:看数据


原则:任何策略都需要数据的支持。


use-case:


场景:


运营同学、算法同学、还有你,大家在一起讨论是否要增加一路召回,这路召回的具体逻辑是按照用户兴趣topic进行召回。


思考逻辑:


按照兴趣topic召回具体实现逻辑梳理:即用户画像有兴趣topic字段,比如我西蓝花,我的用户画像兴趣topic字段有健身,那么可以用这一路进行召回。


数据现状梳理:经过review用户画像数据,发现99%的用户,都没有兴趣topic字段。


那这样的话,就算上了这一路召回,也没有多大价值。


如果思考到这里就结束了,那我觉得还是不够,我们还需要思考,如何获得用户的兴趣topic字段。


这就需要从产品设计上进行考虑~比如小红书的引导


微信截图_20221216135532.png


2.2.2 第二步:看场景


原则:


推荐策略最本质的功能是参与构建使得用户沉浸其中的场景


用户带着不同的动机进入不同的场景,在用户的浏览链路中,各个场景应该满足或者引导用户的需求。


具体到召回与场景,不同的场景需要不同的召回通道,或者不同的场景对同一个召回通道有所偏重。


举例,app推荐首页,更侧重用户兴趣试探,展示内容比较发散,使得用户能够找到自己感兴趣的主题。


用户点击推荐页进入详情页,用户的兴趣进一步明确,在该页推荐的内容应该比较收敛。


因此,结合业务需求,推荐页可能需要各种不同类型的召回通道,从召回上保证多样性。


详情页可能不需要那么多召回通道,同时召回上保证相关性。


use-case:


场景:美团买菜,商品详情页,用户点击“加入购物车”,底部会弹出“买了又买”模块。


策略:在该场景,买了又买模块是当前场景,给用户推荐其加购商品同一类的商品。


比如用户加购冰淇淋,则推荐冰淇淋;用户买零食,则推荐零食;用户买水果,则推荐水果。


一点延伸思考,美团买菜的这个产品设计,目标是什么?


先和大家分享一个群里的故事,群里有个朋友提问:”想请教下对于用户冷启动,这些方法怎么能比较靠靠谱滴落地呢?user、item的embedding没有行为数据情况还有什么方法可以得到吗?”


我的回答分为两层:


第一,建议你梳理并讲解一下你们的业务背景;


第二,你们做这个冷启动,业务目标是什么?是提升转化率还是点击率?


明白为什么我讲这个故事了吗?产品设计与目标永远都是结伴而行,不可分割。


如果看到一个推荐场景,我们不能条件反射地去思考,这个场景的目标是什么?背后站着的产品设计者(creator)是如何构建他所期望让用户沉浸其中的场景?


也就是KNOW WHY 和KNOW HOW。那我们就应该强制自己这样思考。


回到美团买菜这个case本身。


KNOW-WHY。该场景目标是什么?让用户购买更多的商品,提升的是GMV。


KNOW-HOW。creator如何构建这个该场景?用户在详情页,加购某一商品,这个时候用户的兴趣意图是非常明确的。


比如用户买钟薛高的冰淇淋,那么用户的意图可以分为:


第一,用户希望买冰淇淋;


第二,用户希望买钟薛高的冰淇淋。


那么这个时候可以给用户推荐符合这两种条件的冰淇淋。


一点题外话:总会看到有人讨论推荐产品经理的价值,在推荐这整个系统中,主导的是算法,那策略产品的价值是什么。


我的理解是,策略产品很大一部分价值就是在挖掘场景,构建场景。像用户加购商品后的买了又买模块,就是一个非常好的场景。


微信截图_20221216135545.png


美团买菜这个场景的构建是蛮好的~既然有好的case,就必须说一个我觉得很差的case,没有对比哪能知道孰好孰坏。


微信截图_20221216135557.png


这是7fresh的一个加购页面,给我推荐了油麦菜和鲈鱼。我是7fresh的忠实用户,消费频率高,一周3-4次的购买行为。


主要集中在:零食、饮料、化妆品、护肤品等模块。我从来不做饭不做菜,所以我真的没有理解为什么要推荐这个。


2.2.3 第三步:多路召回,冗余过滤


原则:审视多路召回,冗余过滤。同一个场景可能会筛选出多路召回,各路召回尽量不要冗余。


如果两路召回拉取的帖子属性非常相近,那么这两路召回冗余性较大,其中一路召回可以去掉。


use-case:这个暂时没有use-case,主要考虑是如果两路召回,其分别召回的内容差不多,效用不大,还新增了需要去重,不划算。


最后,如果你觉得本篇文章对你有帮助~记得收藏并且关注我哦~

#经验
#干货
评论 /{{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