AIRec个性化推荐召回模型调参实战

阿里云开发者
English
简介:本文是《AIRec个性化推荐召回模型调参实战(电商、内容社区为例)》的视频分享精华总结,主要由阿里巴巴的产品专家栀露向大家分享AIRec个性化推荐召回模型以及针对这些召回模型在电商和内容行业下进行的实战调参演示。

一、典型推荐场景

(一)场景概念的引入

场景,它是智能推荐里面设定的一个概念。场景不论是在上传数据的表上,还是在控制台上都会有相关的概念,场景可以理解为,是一个用户流量的入口,一个流量入口代表一定的访问心智。比如,一个用户他进入到了一个大促的页面,他的心智就是去看一看当前有没有感兴趣的商品、有购买欲望的商品在参与大促活动,如果有就去下单,而如果是非大促时期,正常的打开APP进入一个页面,浏览最近是否有新鲜好玩的商品,这时候会带着不同的心智,这里就是在用户流量入口上做了区分。

 title=

用户流量入口一旦确定之后,一个页面要打造的用户访问逻辑,实现目标基本确定,也就意味着从用户的流量入口到用户的访问逻辑,决定了我们在这个页面的选品逻辑。选品逻辑是我们能够直观体验到的,包括投放上的一些策略,到最终我们会把它绑定到一系列的算法逻辑上,那也就意味着一个场景它代表了唯一的选品逻辑和唯一的算法逻辑的结合。

如果有多个推荐场景,但其中多个推荐场景本质是一套算法策略,这个时候我们可以把它合并为一个场景;但如果存在差异,就可以把它拆分成不同的场景。

(二)新建推荐场景的过程

在不采用云服务的条件下,新建一个场景,一般的做法是首先圈选物品,从数据库中圈选出当前场景需要哪些物品用作推荐,接下来要做链路打通,比如平台里所有的用户的行为数据,分析出我们给用户做推荐的时候,如何能够让这样一个新场景页面它能够尽量避免从零起步做训练和预测,而是进行一些数据的复用。

 title=

整体过程中,首先是数据对接,然后做数据验证,如果是基于自建的模式,还需要准备特征工程,包括去组装召回排序的链路,以及业务编排上所涉及的策略,如此相对来说它的时间线会拉得很长,包括想要去设置一套推荐系统,还要考虑离线近线和在线的这样的链路设计。

(三)快速搭建个性化推荐页面

我们通过使用智能推荐产品,可以快速搭建个性化推荐页面。从对接服务开始,完成数据对接,接口调试之后,将自动拉起行业定制算法模板,启动各种计算逻辑,包括表回流逻辑任务等。服务拉起后,就可以快速定制场景、发布场景。

在落地上线之后,需要做场景定制与业务调优,主要通过两种方法,第一种是通过算法的维度来解决业务上适配的问题。第二种是通过运营策略的维度去解决这个问题,比如说去定制一些选品的规则,投放的规则,比如在扶持策略上做倾斜,以及根据物品的推荐时效性去做整体策略的调整。

场景的调优的路径,也就是在我们优先完成服务后,再单独对场景作算法、运营策略的定制和优化。

二、经典算法模型简介

(一)协同过滤

算法逻辑

智能推荐应用的协同过滤为 itemCF,算法逻辑为,根据输入的平台行为数据,结合点击与否的判断,产出一个类似PPT中的表格,计算出每个item之间的打分表,点了ID等于1的item之后,点ID为2的概率值,这个概率值代表了这两个item之间相似程度。

 title=

运作方式

首先要先找到左边的item,找左边item时需要结合实时的用户行为,比如说采集到用户点击口红商品,命中唯一的口红商品ID。在下一刷时,知晓用户对当前口红感兴趣的状态下,去推荐更类似的一些口红,容易得到更多的点击,随后进一步转化为订单数据,按照图中的打分情况,ID为2的 item推荐给这个用户,这就是整个协同过滤,从用户产生行为到调取这一张我们计算出来的表格,最终给用户补充到召回链路的这样的一个过程。

优化算子

父类目和子类目的收敛优化:相比于啤酒尿不湿的item关联,它能够帮助学习到本质上确实比较相似的物品,因为他们同属于一个父类目或子类目。逻辑即,将优先看,如果说这两个比如说这里面的1和2,它两个是同属于一个父类目或者同属于一个子类目的时候,可认为它的相似度是比较高的,可以在链路里面让它出现的概率更大一些。

swing:系统会考虑一些用户的pair,用户行为对整体计算item相似度过程中的重要程度增加了判断逻辑,比如说两个用户他们的行为,他们点击的点击序列里,发现没有什么太大的相似度,但相反如果两个用户虽然不相似,但是他们确实有那么两个物品是一起点击过的,就发现这两个物品它可能本身就是有比较大的这样的相似度。如果说一个用户对他的行为都是比较类似的,两个用户的比较像,在这个过程中他们两个共同点击共同命中的这些item,我可能在计算的时候就会给它降权,随便的这种方法,它其实是很大程度的利用了用户协同这样的一种能力去发现item之间的关联度。

(二)用户历史偏好召回

算法逻辑

我们刻画一个用户的偏好,主要是通过用户的发生的行为,比如从过去30天的行为,以及实时行为进行计算和分析,会发现在电商行业内影响我们消费决策的一些特征,例如商品的品牌,店铺标签以及商品类目。这些可能是影响消费行为比较重要的特征,所以去看这些重要特征,映射到用户的身上有什么样的偏好。那么根据用户历史的行为去分析当前的用户,他可能在现在或者在过去对哪些类目是有偏好,对哪些品牌是有偏好的,基于他实时的兴趣,我们也可以预测它未来可能对哪些品牌哪些内容是有偏好的,将这两者融合也就构成了我们大家可以常说的用户画像。

构成了用户画像之后,我们再结合画像去映射到item表上的这些特征,从而进行一个组合和展示。在电商行业里面,大家也可以看到在这条链路里面我们可以定制的也是它的关闭和启用的状态,以及我们最大召回的数量,包括说在我们内部的一个优先级,里面会涉及很多的特征,比如说类目、品牌、店铺和标签。

 title=

那么在选择这些特征的时候,我们一个方面要考虑在我们行业里,在我们的商业模式下,这些特征是不是用户主要消费决策的特征。

但另一个方面就是在这些特征的维护上,比如我们可能标签打得非常好,我可以把连衣裙的风格都打好,那标签对于我来说,我可以很大程度去利用它的优势,那我就可以把标签的优先级去往上调一调,这个就是我们可以结合这样的召回链路去做优化的一个策略和方式。

(三)向量召回

算法逻辑

向量召回embedding是特征维度较高的情况下,常用的算法。通过将多维度特征映射为向量的表达方式,进行向量距离的计算,产出相似度的打分。比如基于标题的向量召回,我们首先会将item的标题通过NLP的方式进行分析分词,得到一个个词向量之后,我们以word2vector的方式,计算出词向量之间的相似相关度,所以当有2个item我们想要分析他们是否相似时,就可以先找出item的向量表达,去比对向量之间的距离,距离越短也就意味着相似度越高。基于标签的向量召回也是相似的思路,基于用户行为序列,可以理解为在一次会话中,用户会产出一系列点击序列,这些点击序列就像一个兴趣流转的sectence,利用同样的思路,就像商品表达的连贯的一个标题 ,我们也可以通过类似的方式计算出item之间的相似度。

 title=

如果说大家不太清楚向量召回能够给我们的效果带来多大的提升的话,我们也可以进行一些平台化的实验,然后去通过查看实验报表的这样的一种形式,去看这一路召回是不是起到了比较重要的作用。

(四)新品算法策略

新品算法策略比较容易理解,就是我们新发布的这样的一些商品或者内容的推广的策略。在推广的过程中,首先我们要让整个系统去知道哪些商品,哪些内容是新品,这就要求对于我们字段上,比如说pub\_time、字段要进行实时更新,或者说是更加准确的更新。

在这个过程中,我们其实都知道新品它是一个冷启动的问题,在我们没有任何行为的条件,也不知道新品质量的条件下去做一个分发,有可能会打击到我们的效果数据,因为有一些新品它的质量并不是很好,我们去推荐出来了就会损失一些点击损失一些购买量。

 title=

在这个过程中我们可以提供基于策略的方案,上文提到我们在基于用户的历史偏好的时候,就已经计算出来了用户的一些兴趣标签,这时我们也可以利用到新品的算法策略里,比如我们可以基于用户的偏好类目去做扶持,偏好品牌去做扶持,以及我们基于标签去做扶持。除了有一些行业我们对新品的要求维度会更高一点,我不一定要求他是有个性化的,可能就要求他是要基于我们新品它发布之后整个的热度分进行排序,我就想发现一个最潜力的新品,然后也有可能是,我就要优先新发布的内容要先上,我们就去调整策略,比如第6个点的优先级去进行一个调整,其实我们如何去选择一个适配的算法模型,也是根据我们本质的业务诉求来的,比如像内容行业,尤其是我们需要激励创作的点上来看的话,我们对新品这块,不管是它的流量,它的口径都要给它开更大的一个口子,让新品能够更加有效的得到曝光。

(五)其他典型召回算法模型

除了前文提到的算法,我们也有一些其他的典型召回的算法和排序的算法,智能推荐标准版给大家归档了一些,比如说协同过滤、用户偏好召回、新品召回以及向量召回这样的一些召回链路,并且这些召回链路里面可以让大家进行一些参数的优化。如果大家有更高阶的需求,比如想要去使用高阶的算法模型,可能需要我们自己去处理数据,去进行一些特征工程处理,产出打分表,然后再注册到我们线上的模型一起组合使用,这个是产品高级版会提供的功能。

 title=

三、电商行业优化最佳实践

电商行业的优化最佳实践主要围绕三个维度

第一个是如何结合c端用户的刷新过程中,提供实时反馈的体验。

第二个就是在我们做这个模板,标准化的产品到嵌入到我们业务系统里面的个性化推荐,怎么去做好特征倾斜和效果的提升。

第三个就是个性化推荐,它其实属于一个流量的入口,我们如何让用户在流量的入口里面得到我们平台营销触达的价值的最大化,我们可能会有一些曝光过滤、点击过滤的策略可以来组合进行配置和使用。

 title=

(一)实时反馈体验提升

首先实时反馈怎么来理解?就是当我们的用户实时地发生一些行为的时候,我们给他下次的推荐结果中就进行了进一步的跟进和反馈。比如这里面给到大家的一张淘宝页面的截图,首先我们看到它曝光了很多商品,当然后面这两个商品露出不全,我们就认为它是无效曝光,曝光了4个商品之后,用户可能对张云雷代言的彩妆礼盒是比较感兴趣的,他就会点击到这个商品去查看详情,这就是一次点击行为,如果他更感兴趣,他可能还会把它去进行一个加购行为。

在这个过程中,我们会发现用户对化妆品和护肤相关的内容是比较感兴趣的,而且近期他加购行为表示有购买意图。我们可以首先采集到这一条点击的行为,实时的回传给推荐系统,另外我们希望在二刷三刷n刷的时候,也会结合它的兴趣做反馈,这个时候我们就可以使用刚刚在系统过滤算法中跟大家讲到,我们结合于类目的这样的一个收敛优化,比如我们基于商品的类目,当前的商品的类目是属于国产品牌的彩妆或者彩妆套装的类目。在这些类目下我们是可以优先召回出来,跟当前商品比较相似的去推荐给用户,这也就是我们在配置算法优先级的时候,可以把类目收敛的优先级给提高。

(二)特征倾斜与效果提升

比如右边我们给到的一些商品的特征,首先它是美妆套装,然后品牌是稚优泉,店铺是稚优泉天猫旗舰店,然后标签是明星联名礼盒,化妆品。可能有一些商城是强调店铺的概念的,有一些可能一家店会卖很多品牌,我们就需要先考虑店铺和品牌对于我们这个行业来说哪个是更重要的,我们会加上一些店铺和品牌的一个特征,另外我们认为消费决策上我们这个标签是很重要的,我们是可以去调整标签的优先级。

 title=

判断的逻辑就是我们认为消费决策或者兴趣决策,它的首要特征是什么?次要特征是什么?我们的维护是否是相对来说比较优质的,来调整这一路召回的一个优先级,去提升我们的推荐效果。

(三)营销触达策略应用

购买一件商品,尤其是女生在做购买决策的时候,可能会加购很多,过一段时间一直没有下单,但是如果重复地给她推荐出来的话,她会认为她还是很想买,就把它下单了。这其实是消费者的心理逻辑,就是在发生一个曝光点击收藏加购行为之后,不一定会很快的购买,可能在某个时间段意图被触达了之后,就下单,在这个过程中我们可以考虑在平台里去尝试使用一些营销触达的策略,去帮助用户去做消费决策。

 title=

例如这里我们配置了曝光过滤的时间是3天,点击过滤的时间是1天,这意味着我们第一次看到这些商品,比如这4件商品里面对太阳帽和服装进行了曝光和点击,而其他就只有曝光。在一天之后它不一定是这样的排序,在我们的页面里面,它可能又出现了我之前点击过的一个商品,系统给了他一次重复曝光的机会,如果这一次用户又发生点击行为,系统还可以再给他一次重复曝光的机会。如果说这次重复曝光机会触发了用户的购买,也到了这样的一个曝光过滤的时间,系统就不会再推荐了。

如果系统给了一次重复推荐的机会,但是用户没有点击它,表示暂时用户对它已经没有了,系统也不会再对它进行一个二次推荐,理想的状态就是在我们重复推荐的过程中去促进用户消费的决策和下单,这个也是我们电商行业里面比较常见的一种策略。

像一些长视频、长内容,会涉及到我们的停留时长的优化的时候,我们也可能会使用到类似的策略。

四、内容行业最佳实践

(一)多地域/Feature划分页面搭建

如果内容社区里面,涉及到多个地域,或者多个feature的一个划分,它也可能涉及到一些用户的逻辑,比如有些用户我们需要对它做一些特殊的过滤,青少年模式,比如特殊的 VIP用户,就不给他展示某类标签。在这个过程中,我们如果选择以往的场景搭建的形式,可能会滋生出来很多个场景,上百上千个场景对于运维来说是非常难以去维护的。这个时候我们内部是有一套推荐功能叫在线属性过滤,大家可以利用地理位置的特征,细分品类的特征,给视频打上的特殊的标签的特征,去对它进行一些交集并集,最终拿到一个推荐过滤的结果,然后绑定在一个场景上,我们可以在这一个场景上去进行多个这样属性过滤的逻辑拼装,从而产出多个推荐的落地页面,这样去提升我们的运维效率,方便我们更快的进行调优。

 title=

(二)推荐内容时效性调整

时效性指的是在我们推荐的结果中,我们希望内容的时间分布大概是一个什么样的维度?比如我们的一些对时效要求很强的行业,尤其是新闻的行业,我们会希望推荐的内容如果它超过5天了,发布时间超过5天,就不再进行推荐了,在从它发布到它失效的过程中,我们也可能会发生一些上下架这样的操作。在这个过程中我们可以结合我们的时效性去设置物品过滤规则,并且在我们急需发布的内容,我们可以给它进行加权的操作,然后我也可以去进行上下架的调控来保证它在失效时间之内能够得到一个有效的分发。

 title=

(三)优质作者激励

最后一个点是优质作者的激励,尤其在新内容的扶持上,以新品来说,比如我会要求最近20天内发布的,最近7天发布的能够得到一个有效的推广,因为这也是内容社区的生命力之一,我们希望新发布的内容能够有效的得到曝光,首先可以去设置一个新品的口径,我们认为几天内发布的是新品,然后就是给它的流量,流量是从一个统计维度来说的,比如我们整个平台分发出去多少商品和分发出去多少内容,这些内容有多少是属于口径内的整体的流量分布,而不是具体到每一个用户的流量分布,以及刚刚提到的新品的分发策略是按照兴趣做分发,还是按照发布时间做分发,还是按照热度做分发,这个也是可以结合我们的业务需求去进行一定的策略调整的。

 title=

五、结语

以上就是这次跟大家分享的内容,如果大家对这个产品是比较感兴趣的,可以去试用我们首月首购100元的活动,试用完成之后,也可以提升配套标准版去解锁我们更高阶的召回模型的干预优化以及实验平台的功能。

感谢大家的阅读。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阅读 331

阿里巴巴官方技术号,关于阿里巴巴经济体的技术创新、实战经验、技术人的成长心得均呈现于此。

2.8k 声望
6.1k 粉丝
0 条评论
你知道吗?

阿里巴巴官方技术号,关于阿里巴巴经济体的技术创新、实战经验、技术人的成长心得均呈现于此。

2.8k 声望
6.1k 粉丝
宣传栏