淘系技术|生成式重排在内容推荐中的应用实践
本系列文章包含每平每屋过去一年在召回、排序和冷启动等模块中的一些探索和实践经验,本文为该专题的第四篇。
第一篇指路: 淘系技术 | 冷启动系统优化与内容潜力预估实践
第二篇指路: 淘系技术|GNN 在轻应用内容推荐中的召回实践
第三篇指路:淘系技术|基于特征全埋点的精排ODL实践总结
第四篇指路: 淘系技术 | Gradient Normalization 在多任务学习中的优化实践
问题背景
每平每屋频道是每平每屋业务在淘宝建立用户家居、生活方式心智场的主要阵地。在频道中,内容主要以场景搭配为主,内容内挂载了多个商品锚点,点击商品锚点可以跳转到商品的详情页。
频道中的内容具有多样的空间和风格属性,空间包含客厅,餐厅,卧室,书房等,风格属性包含日式,北欧,欧式,中式等。这些多样化的内容承载着不同用户在不同时刻买和逛的需求。
多样性和相关性的平衡是推荐系统中长期存在的问题之一。以点击率/转化率等效率目标进行优化的算法虽然能够做到用户-内容的精准匹配,但其point-wise最优的排序策略容易导致相似的内容聚集扎堆出现。对用户而言看到的内容越来越单一和同质化,信息茧房不断加重,探索型用户诉求也无法得到有效满足,最终导致用户疲劳甚至流失。对内容而言,系统流量逐渐被头部高热内容占据,长尾内容无法得到有效曝光,创作者的积极性也会受到打击,长期来看不利于整个系统的生态建设。
推荐结果的多样性的依赖于系统中各模块的协同,在淘宝每平每屋频道推荐系统中,我们在召回模块使用了MIND多兴趣向量召回[1]和基于淘宝商品行为的跨域向量召回[2]以及召回类目数量控制等方法提升了召回结果的多样性,在排序模块中我们引入了用户超长周期的历史行为[3]以及窗口打散,MMR[4]和DPP[5]等重排方法显著提升了推荐结果多样性和浏览深度,Visual EE[6] 和Impression Discounting[7] 等方法则在系统链路和机制策略的层面提升了系统的多样性。
本文将介绍每平每屋频道在推荐链路末端的重排序环节使用生成式重排技术进行优化的方案和实验分析。前期我们使用基于DPP的多样性重排方法在浏览深度,人均点击量和曝光内容的多样性等指标上均获得了一定的收益,但我们认为这类方法在对最终展现给用户的内容间的相互影响和列表整体的收益进行建模上仍存在不足,体现在:
- 内容与用户兴趣相关性的度量依赖point-wise的rank score,没有考虑到内容之间的相互作用
- MMR/DPP等基于贪婪策略选择的方法难以获得获得全局最优解,如第一坑位选择rank分数最高的内容并不一定能保证整个列表的收益最大化
- 相关性与多样性的平衡依赖超参数的控制,难以满足不同用户对多样性的诉求,以点击不同空间内容的信息熵来评估用户兴趣的发散程度,可以看到下图呈现出多峰分布的状态,说明用户对多样性的诉求程度是不同的
相关工作
带着上述问题,我们调研了一些具备上下文感知能力的个性化重排方法。
DLCM[8]和PRM[9]分别使用GRU和Transformer结构对候选列表中内容的特征进行提取从而得到每个内容在考虑了上下文相互影响和列表整体信息的预估分,按预估分对候选列表中的内容进行重排序。这类方法虽然简洁高效,但重排序后的列表每个内容的上下文已经发生了改变,即内容参与打分时的上下文与最终内容展现时的上下文并不一致。
miRNN[10]和Seq2slate[11]分别使用RNN和PointerNetwork通过对列表中已选中内容对当前内容的影响进行建模来逐个生成展现列表中的内容。这类方法能够确保打分时的上下文和最终展现给用户时候内容的上下文一致,但在生成每个内容时无法考虑到后续内容对该内容的影响,即对上下文信息的建模并不充分。
EG-Rerank[12]和GRN[13]提出将将重排拆解成由序列生成和序列评估组成的两阶段任务,来实现保持打分上下文与展现上下文一致以及充分建模内容上下文信息从而实现列表整体收益最大化的目标。下面介绍我们在每平每屋频道中应用生成式重排的方案。
技术方案
▐ 序列生成
在序列生成环节,出于整体系统链路性能的考虑,我们采用了若干不同的启发式策略并行产生兼顾效率目标与多样性目标的候选列表。
▐ MMR
MMR是一种启发式的多样性算法,其在产生推荐列表每个位置内容时会同时考虑当前内容的相关性和当前内容与前序已选内容中最相似的内容的相似度。
为候选内容集合,为已选中内容集合,为内容i的相关性分,为内容i和内容j的相似度分,为平衡因子,越小生成的列表多样性越高,我们使用不同的超参数产生了若干组候选列表。
▐ DPP
基于DPP的多样性算法通过计算核矩阵的行列式找到候选内容集合中相关性和多样性最大的子集。相比于MMR每次只考虑当前内容与前序已选内容中最相似的内容的相似度,DPP会综合考虑所有已选内容的相互影响。
为候选内容集合,为已选中内容集合,为内容i的相关性分,为内容i和内容j的相似度分,为平衡相关性与多样性的因子,越大生成的列表多样性越高。我们使用多组不同超参数生成了具有不同多样性程度的候选列表。
基于DPP的多样性重排打散是我们在线上全量部署的方法,通过复用线上已有的重排打散方法可以确保在序列评估模型不差的情况下取得和线上base相近的效果。
▐ beam search
MMR和DPP均为greedy search策略,每一步选当前状态下目标效用函数最大的内容加入候选列表中,直到候选列表长度满足要求。贪心策略的每一步都采取的是局部最优策略,并不能保证产生是全局最优解。例如第一坑位选择效率分最高的内容并不一定能保证整个列表的收益最大化。
exhaustive search策略相比greedy search能够确保产生全局最优的策略,假设从m个候选内容中挑选n个组成最终的候选列表,那么一共有种组合方式。假设从50个内容选择10个内容返回,那么则约有种组合,庞大的计算量对于线上的推荐系统来说是不可接受的。
beam search则是exhaustive search和greedy search之间的一种折中解法,能够以较低的计算代价产生接近全局最优的策略。设定超参数k为beam size,那么在序列生成的每一步我们都会有k个序列,在已选中的k个序列的基础上再加入新的内容,得到m个候选序列,根据序列价值从高到底选择这m个序列中的k个作为下一步的已选中序列,不断迭代直到列表中所有位置都被填充完毕,此时序列价值最高的k个将作为最终的结果。
序列价值由列表中内容的相关度和相似度共同衡量,考虑到序列中不同位置的内容对序列的影响程度不同[14] ,使用每个位置被浏览到的概率与内容价值进行加权来计算最终的序列价值:
为第i个位置内容的相关度分,位置i内容的相似度分,为平衡因子。
为第i个位置被浏览到的概率,具体地:,,为从位置跳转到下一个位置的概率,该概率使用真实的曝光日志数据进行计算近似得到。
衡量了位置i内容与前序k个位置内容的局部相似度,我们实验了以下几种不同的方法,最终采取了k=3的间隔相似度进行计算。
序列评估
在序列评估环节,需要对序列生成阶段产生的若干组候选序列进行统一的价值评估,价值评估方法需要满足:
- 上下文感知,充分考虑列表中内容的相互影响
- 能够对列表的整体收益进行评估
我们利用线上真实的曝光点击数据训练了一个带有上下文感知结构的打分模型。对于列表中每个位置的内容,模型能够考虑前后其他位置内容对其的影响并给出其预估价值。最终以列表中所有位置内容的预估价值之和作为列表的整体预估价值。
▐ 上下文感知的评估模型
上下文感知的评估模型的整体结构示意图如上,每个模块的功能如下:
-
Input
模型的输入包括用户侧特征和一个长度为n的候选列表,列表内第i个位置对应的内容特征为。内容侧特征由内容的属性特征,历史曝光点击特征以及上游的精排模型效率分等构成。 -
Context-Aware Encoder
对于序列内第i个位置的内容,使用context-aware encoder获得其在列表内前后内容相互影响下的表示向量,context-aware encoder 可以是任意具有上下文感知能力的结构,如LSTM,Self Attention等。
-
Shared Task Net
Shared Task Net以用户侧特征,内容特征以及内容经过context-aware encoder得到表示向量作为输入,根据具体的任务目标可以使用不同的模型结构,我们对线上精排模型使用的MMoE结构进行了简化作为Shared Task Net,不同位置的内容共享相同的网络参数。
-
Output
模型最终会输出列表内每个内容的效率分和。训练阶段以线上真实的曝光点击数据作为label采用交叉熵损失函数进行参数优化。
▐ 序列整体价值评估
序列的整体价值表示为:
最终选取SequenceValue最高的列表展现给用户。
实验结果分析
▐ 序列生成方法对比
使用列表整体PV和IPV衡量不同的序列生成方法的效果,raw方法为按照原始rank score排序得到的列表。
IPV指标可以通过提升浏览深度和点击率来优化,代表了推荐列表的整体收益。在一些情形下,虽然PCTR提高了,但整体的IPV指标确是下降的,这一般是由于浏览深度下降的幅度超过了点击率提升的幅度。信息流推荐场景中,提高分发内容的多样性通常可以间接地提升浏览深度。
方法 | PV | IPV | 分发比例 |
---|---|---|---|
raw | - | - | 18.65% |
DPP | +4.33% | +1.06% | 23.16% |
MMR | +9.72% | -15.18% | 12.06% |
beam search | +4.28% | -2.45% | 46.12% |
引入多样性后,列表的浏览深度均有提高。基于DPP方法生成的列表在PV和IPV指标上相比其他几种具有最好的效果表现,这也说明DPP确实是一种不错的多样性重排方法。MMR虽然在PV指标上显著高于其他,但整体IPV具有较大的下降,主要是整体的PCTR降低导致,通过调整生成MMR序列的超参数降低多样性程度可以缓解。beam search方法具有与DPP相近的PV和IPV收益,并且具有接近一半的分发占比,说明了相比于greedy search具有更广泛的解搜索能力,未来可以对beam search的价值评估策略做进一步优化提升效果。
注意到按原始rank score排序的列表仍然具有18.65%的分发比例,这说明在序列评估模型的视角下并不是所有时候都需要引入多样性,生成式重排具有一定的自适应平衡相关性和多样性的能力。
▐ 上下文感知模型对比
使用pv auc评估模型对返回列表中内容的排序能力,对比的基准为使用线上精排模型的排序分计算得到的结果。这里分别对比了单向LSTM,双向LSTM以及Multihead Self Attention(MSA)等结构。
模型 | pv auc improvement |
---|---|
精排模型rank score | - |
单向LSTM | +2.3 pt |
双向LSTM | +3.0 pt |
MSA without position embedding | +3.8 pt |
MSA with position embedding | +4.1 pt |
带有上下文感知能力的重排模型对topN列表进行打分重排后,离线pv auc相比于使用精排模型的排序分有明显的提升。
使用双向LSTM相比于单向LSTM能够同时捕获到每个位置内容的前后序内容的相互影响,对于pv auc的提高有一定帮助。
MSA使用多头自注意力机制能够从多个不同子空间中捕获到内容之间更细粒度的交互关系,并且我们认为在每平每屋频道的双列feeds流中,LSTM的顺序依赖假设不一定符合用户真实的浏览习惯。
考虑到MSA中完全忽略了内容的位置关系,我们在其中加入了position embedding,相比于不含position embedding的MSA离线pv auc有进一步的提升。
需要注意的是,这里的pv auc能够一定程度上衡量序列评估模型的排序能力,但其并不能真实反应模型线上排序能力的提升。因为如果按照重排模型打分的结果对列表重新排序那么打分时的上下文和最终展现给用户时候内容的上下文就不一致了,这也是我们采用生成式重排方案的原因之一。
▐ 不同坑位的点击率对比
从坑位点击率的变化情况上可以看到首坑的点击率是下跌的,这印证了我们在问题背景中提到的关于DPP使用贪心策略选取内容并不一定能保证整个列表的收益最大化的分析。生成式重排以整个列表的收益最大化为目标,虽然牺牲了首坑点击率,但却提高了整体推荐列表的效果。第4,5,6坑位的点击率提升幅度低于其他坑位,我们认为模型在一定程度上感知到了将用户感兴趣的内容有间隔地展示给用户可以在吸引用户点击的同时引导其浏览更多的内容,从而从整体上产生更多的点击数量。
▐ 在线A/B实验
在线实验对比的baseline为线上已全量的DPP重排打散方案(DPP在当时的AB实验中相比于窗口打散在点击效率和浏览深度等指标上均取得了不错的收益:pctr +1.12%,浏览深度 +2.33%,人均点击+3.51%,ipv_pctr +0.25%)
我们统计了线上7天AB实验的效率指标和多样性指标:
- 点击效率
效率指标 | pctr | 浏览深度 | 人均点击(ipv) | ipv_pctr | pctcvr |
---|---|---|---|---|---|
相对变化 | +2.17% | +0.25% | +2.43% | -0.31% | +1.86% |
- 多样性
多样性指标 | 每次请求曝光不同空间内容数 | 每次请求曝光不同风格内容数 | 每次请求曝光不同作者内容数 | 每次请求点击不同空间内容数 | 每次请求点击不同风格内容数 | 每次请求点击不同作者内容数 |
---|---|---|---|---|---|---|
相对变化 | -0.49% | -0.89% | -0.40% | +1.60% | +1.42% | +1.74% |
生成式重排在浏览深度不降的情况下能够显著提高点击效率类指标,虽然曝光内容的多样性存在略微的下降情况,但是用户点击内容的多样性有了较大的增长。一方面受益于生成式重排在序列生成阶段能够产生多组具备不同多样性程度的候选列表,提升了优质候选列表的覆盖率,另一方面在序列评估阶段具备上下文感知能力的重排模型能够对整个列表的收益进行更准确的评估从而筛选出整体收益最大的列表展示给用户。这些能力是基于DPP的多样性重排方法所不具备的。
总结
我们利用生成式重排技术对推荐列表的整体收益进行了直接建模,相比于传统的重排方法消除了打分上下文与展示上下文不一致的问题并考虑了内容的上下文影响。生成式重排包含序列生成和序列评估两个阶段,序列生成使用不同的启发式策略并行产生若干组可能的最优列表,序列评估使用上下文感知的深度模型对列表收益进行评估并选出最优。相比于基于DPP的多样性重排方法,生成式重排在显著提升CTR,IPV等效率指标和用户点击内容的多样性。
生成式重排是一种能够平衡相关性与多样性并对整体列表收益进行准确高效精准建模的解法,未来我们将对方案做进一步的迭代优化。在序列生成环节,目前我们以列表的多样性间接优化浏览深度,可以考虑直接对用户的下拉浏览行为进行建模。另外,基于贪心搜索的启发式策略对最优解的覆盖程度有限,引入生成模型并以评估模型来指导学习可以进一步提高生成序列的质量。在序列评估环节,评估模型的训练样本空间是线上真实的曝光点击样本,而推理空间则是在更大的序列生成结果集中,引入一定的探索机制有助于缓解样本选择偏差[15]。除此之外,在评估模型中加入用户的历史曝光和点击序列特征,捕获其在上一刷或最近访问中的行为也有助于提升评估模型的预测精度。
参考资料
[1] Li C, Liu Z, Wu M, et al. Multi-interest network with dynamic routing for recommendation at Tmall[C]//Proceedings of the 28th ACM International Conference on Information and Knowledge Management. 2019: 2615-2623.
[2] Man T, Shen H, Jin X, et al. Cross-Domain Recommendation: An Embedding and Mapping Approach[C]//IJCAI. 2017, 17: 2464-2470.
[3] 超长用户行为建模在躺平家居内容推荐中的应用实践
[4] Carbonell J, Goldstein J. The use of MMR, diversity-based reranking for reordering documents and producing summaries[C]//Proceedings of the 21st annual international ACM SIGIR conference on Research and development in information retrieval. 1998: 335-336.
[5] Chen L, Zhang G, Zhou H. Fast greedy map inference for de3erminantal point process to improve recommendation diversity[C]//Proceedings of the 32nd International Conference on Neural Information Processing Systems. 2018: 5627-5638.
[6] Visual4Rec: 图像信息在躺平推荐算法中的应用
[7] Lee P, Lakshmanan L V S, Tiwari M, et al. Modeling impression discounting in large-scale recommender systems[C]//Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. 2014: 1837-1846.
[8] Ai Q, Bi K, Guo J, et al. Learning a deep listwise context model for ranking refinement[C]//The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. 2018: 135-144.
[9] Pei C, Zhang Y, Zhang Y, et al. Personalized re-ranking for recommendation[C]//Proceedings of the 13th ACM Conference on Recommender Systems. 2019: 3-11.
[10] Zhuang T, Ou W, Wang Z. Globally optimized mutual influence aware ranking in e-commerce search[J]. arXiv preprint arXiv:1805.08524, 2018.
[11] Bello I, Kulkarni S, Jain S, et al. Seq2slate: Re-ranking and slate optimization with rnns[J]. arXiv preprint arXiv:1810.02019, 2018.
[12] Huzhang G, Pang Z J, Gao Y, et al. Validation Set Evaluation can be Wrong: An Evaluator-Generator Approach for Maximizing Online Performance of Ranking in E-commerce[J]. arXiv e-prints, 2020: arXiv: 2003.11941.
[13] Feng Y, Hu B, Gong Y, et al. GRN: Generative Rerank Network for Context-wise Recommendation[J]. arXiv preprint arXiv:2104.00860, 2021.
[14] 下一代重排系统在手淘信息流推荐中的实践
[15] AGCR:Actor, Generator, Critic-based Slate Ranking Model for E-commerce 基于探索、生成和评估框架的电商重排序模型
团队介绍
大淘宝技术-淘宝智能团队
淘宝智能团队是一支数据和算法一体的团队,服务于淘宝、天猫、聚划算、闲鱼和每平每屋等业务线的二十余个业务场景,提供线上零售、内容社区、3D智能设计和端上智能等数据和算法服务。我们通过机器学习、强化学习、数据挖掘、机器视觉、NLP、运筹学、3D算法、搜索和推荐算法,为千万商家寻找商机,为平台运营提供智能化方案,为用户提高使用体验,为设计师提供自动搭配和布局,从而促进平台和生态的供给繁荣和用户增长,不断拓展商业边界。
这是一支快速成长中的学习型团队。在创造业务价值的同时,我们不断输出学术成果,在KDD、ICCV、Management Science等国际会议和杂志上发表数篇学术论文。团队学习氛围浓厚,每年组织上百场技术分享交流,互相学习和启发。真诚邀请海内外相关方向的优秀人才加入我们,在这里成长并贡献才智。
如果您有兴趣可将简历发至weichen.swc@alibaba-inc.com,期待您的加入!
作者 | 阅谦
编辑| 橙子君