Fork me on GitHub

网易严选首焦推荐算法实践

严选技术产品团队 稿

在电商场景,首焦的作用是瞬间传递商品以及会场信息,用最短时间促使买家产生浏览的想法,而算法的作用则是将提供给用户最感兴趣的广告素材,进而提升点击,转化等业务指标。作者在深度学习框架下,对严选首焦场景推荐能力多次优化,并复用至多个资源位,实现了算法资源中用户点击与转化的显著提升。本文将由浅入深,分享严选首焦个性化推荐积累到的经验和方法,供有需要的同学参考。

1. 背景介绍

资源位作为导购路径,一直以来的定位是 流量分发 ,给业务线匹配营收目标的流量。 首焦作为资源位中的首屏,聚焦用户进入严选主站的第一视线,不仅是核心资源,还能够积累用户的精准数据, 对流量分发起到至关重要的作用。

因此,本文会着重描述首焦资源位的算法迭代,如何在业务与迭代中一步步寻找到更优的流量分发效率。

1.1业务场景算法背景

基于目前框架,严选首焦个性化算法主要分为两块:

  • 兜底机制的 赛马模型 ,通过强化学习兼顾素材的探索与利用;
  • 利用T+1数据的 个性化模型 ,将用户兴趣捕捉并针对性推荐。

图 1 展示了首焦生态系统中各个组成部分之间的关系:

  1. 平台每天聚拢大量的数据,依靠推荐系统,将用户感兴趣的素材按得分依次展出,素材匹配合图模板及商品池(若有)返回得分最高者进行展示。
  2. 用户对推荐素材产生的点击、互动行为等多种形式的反馈,一方面用于推荐系统的模型训练,另一方面会被各BU的素材创作者感知,影响着创作者的积极性和创作内容的质量。

在这个生态系统中,推荐系统既影响 流量的分发效率及用户体验 ,又间接 反馈到素材创作者 ,对整个系统都起着举重若轻的作用。

图片

图1 首焦生态系统

1.2基于深度学习的推荐模型

推荐系统中的排序模型最常用的是 CTR预估模型 。传统的CTR预估模型以点击为目标,只预估被用户点击的概率,至于用户点击之后对内容是否满意,CTR 预估模型是无法感知的。

之前的业务指标对点击率的关注较大,而作为首焦头图主要也是沉淀用户心智的方式,转化只是辅助指标,这对于初期的业务指标来说,是足够的。

随着严选业务的更新,业务指标也不再局限于 CTR,转化与 uv 价值也需要并重,这时候就需要算法配合。在保证原始业务指标不变的情况下去提升其余指标,这里既可以走模型目标的迭代,如从单目标模型迁移至多目标模型等;也可以走数据的精细化,如position debias或强化数据链路等。这些方法都能够让用户体验变佳,产生更多后续行为,进而实现多业务指标的一同优化。

2. 首焦推荐模型的迭代演进之路

首焦场景模型从2021年中开始到现在,已经经历了多次的升级换代,期间不盲目专注于业界领先模型,而是依托业务需求与迭代中发现的问题,分步解决。

以下将要介绍的是实践过程中有代表性且效果有显著提升的方法,按时间顺序分为五个阶段,每一阶段都是上一阶段的良好迭代。

2.1 第一阶段:基于 DCN-mix 的单目标模型

在首焦场景下,BU制造出大量优质的素材,但用户只会在有限时间内注意到其感兴趣的素材,因此将感兴趣的素材推得越往前,用户可能就越能注意到,进而产生点击。

最自然的想法是如何感知用户更注重素材的哪些特质,进而提供更好的推荐?因此想到特征的自动交叉能够一定程度上满足此需求。

2.1.1 模型介绍

DCN-mix 模型[1]是 WDL 模型中对 wide 层的改造,通过引入 Cross network,实现特征的自动化交叉编码,解决传统 DNN 对于高阶特征的提取效率并不高的问题。

其中核心的 Cross Network 数学表达式如图 2 ,其中x_ix_{i+1} 分别代表 Cross Network 的第 ii+1 层的输出,Wb 分别为该层的参数与偏置项,x_0 为原始的输入。

从这里可以感知,当i=0 时,原始输入的交叉对象即为自己本身。更直接的说,此模型受残差网络(Residual Network)结构启发,每层的函数拟合的是 x_{i+1} - x_i 的残差,进而可以使网络“更深”而不至于“退化”,获得更高阶的特征。

图片

**图2 **The Deep & Cross Network

模型基本结构分为串行与并行,如图3所示,但结构优异只与数据集有关, 就首焦场景而言,串行结构更为优势 。模型上线后,收益显著。

图片

**图3 **Visualization of DCN-V2

2.1.2 优化思路

前面提到,模型的更替不是主要目的,对于电商场景而言,部署的链路是: 离线实验→接口部署→测试→线上AB ,至少是需要三周的时间,其中AB至少需要两周才能验证有效性,而一旦由于任一截断没有线上线下对齐,都会导致实验重做。

从指标来说,不同于 CV 或 NLP ,推荐系统的离线指标的增益往往不能带来线上的增益,大多情况仍旧是波动甚至出现负向,这与线下线上数据有偏等特点有关。因此,如果以更新模型作为主要迭代方向,ROI 会非常低,符合业务去进行精细化调整模型与数据才是首重。

  • 兼顾转化

    光有点击是无法衡量短期价值的,因此提升 uv 价值则是业务在当时提出的需求。由于点击首焦后的落地页为活动会场,而用户在会场对具体商品的兴趣受限于线上框架是感知不到的,因此在初期,实现曝光-点击-转化的多目标模型不在考虑范围内,而是结合现有的框架,采用线上素材的实时销售额作为素材的转化权重平滑后与预估 ctr 相乘,最终作为排序得分。如公式1所示,其中平滑采用log形式,底数1.8是通过分析销售额分布,利用分位线得出,既保证ctr得分的主导,又不至于被销售额得分平滑后过度压缩,导致无法区别素材之间的价值。

    rankScore=pctr∗log_{1.8}realTimeSalesAmount
  • 此一举动简单却效果显著,在 ctr 指标上不仅比纯 ctr 模型相对提升 4% ,在uv价值上也显著提升 22.2%

  • sample weight 去提升样本权重

    感知用户在会场的活动实则是想感知用户对此素材是否真实感兴趣,如果不能直接感知用户在会场的活动,那么是否可以通过一定手段去侧面反映呢?答案是肯定的,用户在落地页的停留时长就可以很好地反映用户对此素材的感兴趣程度。通过分析停留时长的数据分布,进行一定平滑后做 sample weight ,最终在点击率获得 2.49% ,转化率获得 11.11% 的相对提升。

    sample weight 的思想很简单,在此不再赘述,唯一需要注意的是曝光未点击的样本与曝光点击但停留时长低于阈值的样本的权重应该一致,否则会导致过度拟合。

2.2 第二阶段:接入BST进行动态特征捕获

业务同学从感知出发,认为素材每一天的推送是比较固化的,即使有随机探索,但捕获不到用户的实时兴趣,意味着我们在沉淀用户心智上仍有一定的滞后性。而受限于当时的算法框架,还不足以支撑实时模型训练,因此从中找到权衡的方法: 通过对用户的实时点击序列建模,近似地捕获用户的实时兴趣变化。 而线上由于商品推荐的缘故早已支持实时特征的捕捉,因此复用此特征序列去构造用户兴趣表征成为首选。

2.2.1 BST建模行为序列

对于行为序列,工业界通用的做法是 Sum-pooling / Mean-pooling,一般来说效果都不错。唯一的问题是,模型对所有的 target item 打分的时候,用户的 Embedding 表示都是一样的,这样只是返回了用户特征表达,没有与 target 形成联系。

BST 全名 Behavior Sequence Transformer[2],是 Transformer 结构在推荐系统的经典应用,通过 Self-attention 结构捕获历史序列 item 与 target item 的关系。由于用户的历史行为序列不尽相同,这样在对所有target item进行打分时,模型表示用户的 Embedding 都是不一样的,结构如图4所示:

图片

**图4 **Behavior Sequence Transformer 模型结构

其中 positional feature 仅用简单的数字特征就可以很好的表达位置信息,这是由于在聚合行为序列时,本身已经含有一定的时序信息。离线实验与Sum-pooling比较,收益明显。

在首焦场景中,还有大量从未点击过首焦的用户,导致点击的用户id相对就比较稀疏,被模型强行记忆,进而过拟合。在利用BST构建行为序列后,尝试过用户id,BST,用户id+BST的三种对比实验,发现仅使用BST就获得了最好的效果,进而验证了上述的现象。

除此之外,此场景的目标为素材,而线上能拿到的实时行为是itemId,因此考虑到成本,要求工程同学构建实时的素材队列是不现实的,故而对实时行为映射出商品类目的id,同时聚合素材背后用户在会场点击商品的类目比例,这样序列与目标的Embedding就可以共享,达到所要的效果。

基于上述改造,实验组的曝光点击率相对提升 3.24% ,曝光支付率提升 8.33% ,uv价值提升 7.69% ,效果明显。

2.3 第三阶段:position debias 的优化实践

图片

图5 首焦坑位与点击率的关系

位置偏差【position bias】是推荐系统中普遍存在的问题,如图 5 所示。它是指 target 在展示页面的排序位置,及其相对广告的位置等,这种位置会影响target本身的的点击率,而模型只会认为 target 的点击率是它本身的特征,从而带来预估偏差。也就是说,这种影响跟用户的真实兴趣无关,而是跟用户的注意力、用户对广告的情绪有关。用户更愿意点击排在前面的商品,而这些商品就越容易排在前面,这样就形成了一个正反馈循环,让推荐生态恶化,形成“强者愈强、弱者愈弱”的马太效应。

目前,业界的处理位置偏差的方式主要有以下几种:

  • 美团二跳页CTR预估 (2017)
    将位置信息作为特征输入[3]:
    • 在计算广告的历史CTR和历史CVR的时候,首先要计算出每个位置的历史平均点击率ctr_p,和历史平均下单率cvr_p,然后再计算 i 广告的每次点击和下单的时候,都根据这个item被展示的位置,计算为ctr_0/ctr_p及cvr_0/ctr_p。
    • 在产生训练样本的时候,把展示位置作为特征放在样本里面,并且在使用模型的时候,把展示位置特征统一置为0。
    • 缺点:训练与验证都依赖位置信息,但是在线上预测的时候,这个位置信息就没有了,特征线上线下不一致,效果不佳。
  • 华为 PAL(2019)
    单独建模 Position Bias,但预测时候还是只用 Ranking model[4]。
    将用户点击 item 的概率拆分两部分,用户看到该 item的概率看到该item后点击的概率 ,即:
    p(y=1∣x,pos)=p(y=seen∣x,pos)∗p(y=1∣x,pos,seen)

假设用户是否看到 item ,只与 item 的位置有关;用户看到 item 后,是否点击 item,只与 item 本身有关,与位置无关。那么上述式子可以简化为:

p(y=1∣x,pos)=p(y=seen∣pos)∗p(y=1∣x,seen)

损失函数为:

L(θ_ps,θ_{pCTR})=\cfrac{1}{N}\displaystyle\sum_{i=1}^nl(y_i,bCTR_i)= \displaystyle\sum_{i=1}^nl(y_i,ProbSeen_i∗pCTR_i)
  • 但最终没有选择华为这个模型,原因参考论坛评论整理如下:
    • PAL的设计和ESMM有异曲同工的地方,都是将事件拆解为两个概率事件的连乘,但是PAL的假设过强,事件的关联性没有ESMM的点击->购买这样的强关联;
    • 第一个假设:广告是否被用户看到只跟广告位置有关,这个假设在广告场景是不合适的。因为他跟广告、以及用户的属性都有关系(广告大图、小图等)。只能说,广告是否被用户看到,广告位置是其中一个因素,打个比方,一个显示页中有大量item,人的习惯可能更会关注头和尾,而快速划过中间的一些位置。因此可以对第一个模型更精细建模解决(论文中这个模型只用了position信息);
    • 第二个假设:用户看到广告后, 是否点击与广告位置无关。这个实际上可能是有关的。比如在一个页面,用户同时看到了位置1的广告和位置3的广告,但用户点击位置1的广告的概率更大。这其实还是position bias本身要解决的问题。
  • Youtube_net(2019)
    与华为PAL理念基本一致,将位置信息作为模块,通过一个shallow tower(可理解为比较轻量的模型)来预测位置偏置信息,输入的特征主要是一些和位置偏置相关的特征(位置特征和上下文特征)[5]。

    与PAL的区别:PAL是ctr模型与pos模型各自sigmoid之后相乘;Youtube_net是在sigmoid前,将shallow tower的输出结果加入进去。

    与PAL的相同之处:在预测阶段,都不考虑shallow tower的结果。

    最终选择实现了此模型,最终曝光点击率提升 5.06% ,曝光转化与uv价值都有不同程度的提升。

图片

图6 浅层网路表示位置偏差

2.4 第四阶段:考虑点击效率的多目标模型

相信大家在此小节会有一点疑问,在目前多目标技术较为成熟的情况下,为什么不直接一开始就采用多目标模型来提升转化。其实这里有两点原因:

  1. 资源位本身的目标还是优化CTR,再加上轮播机制的存在,能否第一时间抓住用户眼球,吸引用户进去浏览才是流量分发的效率核心。
  2. 在电商场景,多目标往往考虑转化相关,但在资源位,好的转化素材往往是落地页的属性带来的,而在这其中,抄底促销等会场属性会带来更多转化,模型在学习中会明显占优,而严选着重打造品牌心智,重转化的模型会致使促销素材堆积资源位头部, 不利于品牌心智的传播。

但优化CTR通常会面临一些问题,比如业务处于营销业绩的压力,会大量以【0元领】【1折起】等文案方式吸引用户点击,初期会获得显著的指标效果,但实际用户在进入会场后,没有产生什么浏览行为,这对用户的心智培育是极为不利的。

基于以上,除了与运营端沟通策略外,算法层面会考虑:

  • **素材侧:**获取点击素材背后落地页商品类目特征作为这个素材的表达(直接含义是用户在这个会场都浏览商品以及类目的偏好)
  • **用户侧:**用户在每个session通过首焦进入会场后的浏览商品长度(以下称session_len),作为第二个目标优化。基于以上,构建了一个关于点击与浏览长度的多目标模型,这是一个分类与回归问题的结合。模型方面选择了目前多目标框架中比较成熟的MMoE,MMoE的优势不再具体赘述,它可以给予不同任务不同的权重,具体细节可看[6]。

第一版实验中,各项指标都明显弱于原始ctr模型。后续分析会认为是回归任务与分类任务loss量级没有在同一量级上,导致优化失败。

第二版实验中,通过调参,梯度裁剪,DWA控制权重等各种方法,使得回归与分类任务梯度收敛尽量处于同一水平,这时候ctr指标相比对照组仍旧下降,但在会场的人均浏览商品个数出现明显正向收益。但资源位的特性不允许ctr下降幅度明显,仍然想寻求“既要又要”的最佳效果。

第三版实验中,考虑换了一种思路,将session_len回归任务转化为分类任务,具体实现思路是:统计历史N天内每个素材对应落地会场的人均点击商品个数,取百分位p值作为阈值,用户每条点击样本的session_len大于阈值则为1,反之为0。这样做的好处是:

  • 分类+回归问题转化为分类+分类问题,loss量级相近,且第二个分类问题是依赖点击的,可以构建ESMM式的依赖路径与损失函数,且不需要做复杂的权重调整实验。
  • 每个素材的阈值不尽相同,能够很好地区别爆品素材(一般用户进来只看这一个主推品,浏览个数较少)与促销素材(品偏好相对发散,浏览个数较多)的区别。

最终在第三版实验中,取得了ctr持平,会场的人均浏览商品个数出现明显正向收益,使得点击转化率上升,最终曝光转化率上升的良好效果。

不过可惜的是,后续由于业务需求,首焦还需要承担重点商品素材的流量投放,而单品素材落地路径直接到商详页,session_len在这此类素材下值为0,单品素材在排序中处于劣势,因此回退至ctr模型,并进行了阶段五的实验。

2.5 第五阶段:BST+target Attention的 重点商品扶持

这是最近的需求,在编写此部分时实验还在进行,但已有一定收益,因此也一并分享:

业务的需求背景不便透出,但目的是所扶持的重点商品需要在首焦获得更多的曝光流量。这从本质上来说与首焦模块的算法是相矛盾的,原因有三:

  • 单品素材只能覆盖一部分兴趣用户,因此在首焦的赛马机制中往往收益不佳,而这导致个性化模型见到的正样本数据也很少,那么个性化排序就更加往后。
  • 模块中,活动素材的转化归因来自背后对应的整个落地页,但单品素材的归因仅是此商品在此模块的流水。从转化机会来讲,活动素材获得流水的概率远比单品素材大,最终排序也会比单品素材靠前。
  • 扶持的商品大多以新品为主,重流量而不看短期收益,而模块以短期收益作为衡量,会对它认为“没有价值”的素材进行打压。

分析出以上问题,基本上也能发现这是一种另类的冷启动问题。既要保持模块uv价值无损,还得增加模块收益不明显的素材的曝光。

一开始的简单想法是给予单品素材针对性的流量保障,但这对模块价值一定是有损的,因为目前的算法体系正是因为其收益不好才减少了流量曝光,强行保障得不偿失。

后面经仔细分析,发现还是从用户行为序列作为切入点最有效,因为如果能捕捉到用户更局部的短期兴趣,那么这些单品会因品类相似被匹配上,进而曝光给这部分用户。但同理其余的素材也被捕捉,流量分发效率进一步提高。因此即使单品收益不佳,但从模块全局的角度,收益仍旧是无损甚至是正向的。

在第二阶段,基于BST, 使用 Transformer 来学习用户行为序列中每个 item 的更深层的表征,这拥有一定收益,但这部分收益更多是来自于用稠密特征表达了用户特征,取代了之前稀疏的用户id构建的用户特征。但实际上,点击的item与目标item之间不同的相似性似乎没有很好地被表达出来 ,这就需要一定的方式进行激活。因此,在 Transformer 的基础上,叠加 DIN[7] 模型进行target Attention。离线测试下,分别测试了单独DIN,单独BST以及两者叠加的方式,最终确定后者的离线收益明显,模块上点击率与uv价值都有2个点的相对增幅,保证了模块的价值无损;重点商品的曝光pv流量不仅在模块对比中有 18% 的相对增幅, 而且在全站下,商详访问uv在实验前后环比也有 16% 的增益。

值得一提的是,在2020年,美团发表的一篇文章中就已经证实了 Transformer + target Attention的有效性[8],而在2022阿里最新的顶会论文[9]上, 虽然重心是在行为序列的构建,但从模型图中也可以发现其仍旧是将行为序列输送进 Multi-head Self-Attention(Transformer的核心) + target Attention。意味着这是如今行为序列建模普遍流传开的一种组合方式。图7-8展现了这两家的模型结构图。

图片图7 美团Transformer行为序列建模

图片

图8 TGIN模型

3.小结

  • 在首焦推荐模型的迭代的第一阶段,对点击样本进行时长sample_weight, 并接入实时转化数据对线上得分做加权,有效地提升了点击与转化指标,该方法实现简单,且效果明显,但后续迭代空间不大。
  • 在首焦推荐模型的迭代的第二阶段,引入BST对行为序列建模,第一次构造商品与素材之间的联系,并替代了用户id的表达。最终对点击与转化指标有更进一步的提升,同时由于舍弃了user_id训练Embedding,训练速度得到明显提升。
  • 在首焦推荐模型的迭代的第三阶段,通过position debias, 缓解了推荐生态系统中的马太效应,明显提升了点击率,同时模型更好感知素材本身的潜力(而不是素材+位置),对用户的转化也有一定的提升。
  • 在首焦推荐模型的迭代的第四阶段,考虑到用户体验,在点击模型的基础上建模了以落地页浏览商品个数作为第二个目标,构建多目标模型,并经过多次尝试,最终实现正向收益,但由于业务的变化,最终没有上线,但其中的经验可以复用到其它场景。
  • 在首焦推荐模型的迭代的第五阶段,根据业务的需求,利用BST与 target attention的叠加效果,再次实现关键指标的提升的同时,扶持了重点单品素材的流量,为严选品牌心智的沉淀提供一定支撑。

上述算法迭代并验证有效性后逐步迁移至严选其它的算法资源位,从今年来看,接入算法的资源位年同比数据喜人,侧面也印证了迭代效果的非偶然性与显著性。

参考文献

[1] Wang, R., Shivanna, R., Cheng, D., Jain, S., Lin, D., Hong, L., & Chi, E. (2022). DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems.

[2] Chen, Q., Zhao, H., Li, W., Huang, P., & Ou, W. (2022). Behavior Sequence Transformer for E-commerce Recommendation in Alibaba.

[3] https://tech.meituan.com/2017/05/05/mt-dsp.html

[4] (2022). Retrieved 27 July 2022, from https://www.researchgate.net/publication/335771749_PAL_a_position-bias_aware_learning_framework_for_CTR_prediction_in_live_recommender_systems

[5] Zhao Z, Hong L, Wei L, et al. Recommending what video to watch next: a multitask ranking system. RecSys. 2019: 43-51.

[6]Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts | Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. (2022). Retrieved 15 August 2022, from https://dl.acm.org/doi/10.1145/3219819.3220007

[7]Zhou G, Zhu X, Song C, et al. Deep interest network for click-through rate prediction. SIGKDD 2018: 1059-1068.

[8]https://tech.meituan.com/2020/04/16/transformer-in-meituan.html

[9]Jiang, W., Jiao, Y., Wang, Q., Liang, C., Guo, L., & Zhang, Y. et al. (2022). Triangle Graph Interest Network for Click-through Rate Prediction.

本文由作者授权严选技术团队发布


本文地址:https://www.6aiq.com/article/1660708979106
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出