Neural Re-ranking in Multi-stage Recommender Systems: A Review

27 阅读6分钟

Neural Re-ranking in Multi-stage Recommender Systems: A Review

链接:arxiv.org/pdf/2202.06…
git: github.com/LibRerank-C…

介绍

重排序的核心技术是进行列表级建模。
基于排序目标是单目标(预测用户对推荐列表的兴趣-点击率)或者多目标(除了用户兴趣,还有多样性、公平性等)和监督信号(模型训练的label)是可观测信号(没有重排模块,直接把精排结果展示给用户,可观测信号是用户对原始精排结果的反馈信号)或反事实信号(基础假设是即便对于相同的一批推荐item,item排列顺序不同推荐效果也不同,模型对推荐结果可能的排列进行建模,由于多种排列均没有真实展示给用户,因此引入评估器,以评估不同排列下的效果。由于排列的Label信号是评估器估计出来的,这个信号叫反事实信号-或许”非事实信号“更合适。)两个维度对基于深度学习的重排序模型进行分类,两个维度正交构成4个象限,不同模型划分到四个象限中可构成下图。不同颜色表示不同的网络结构(图里分成了基于RNN、基于self-attention、基于RNN和self-attention结合和基于其他网络结构四种),不同形状表示不同建模目标(精度导向重排序、考虑多样性的重排序和考虑公平性的重排序)。 image.png

其中横坐标是观测信号,左边为可观测信号,右边为反事实信号;纵坐标是优化目标,下面是单目标,上面是多目标。从这个图中可以观察到三点结论:

  1. 大多数研究集中在使用可观测信号进行单目标学习优化,对多样性、公平性等目标的研究较少;
  2. 基于self-attention或attention/rnn结合的重排序模型成为重排序模块的流行算法。
  3. 第一象限表示的基于反事实信号的多目标重排模型研究较少,这是一个潜在的方向。

模型表示

基于神经网络的重排序模型通常会构建一个多变量(多个item)的打分函数来建模列表级上下文或推荐item之间的交叉信息,模型的输入是精排模型给出的完整的推荐列表。精排模型有时候也会用pairwise或者listwise的损失函数来建模推荐item之间的交叉信息,但其排序函数往往是单变量的,在一个时间点只考虑一个推荐item。 image.png 其中R是精排结果(包括n个item的推荐列表),Y是监督信号,排序函数O将输入R变成一个score列表(R中每个item对应一个score),L是损失函数。函数中的Y可以按照是否能直接从log中获取分为可观测信号(R被实际展示给用户,Y是用户对R的行为反馈,可以直接从log中获取)和反事实信号(相同推荐内容的不同排列顺序对应的Label信号需要通过一个评估器进行估计得到,不是直接从log中获取的用户真实的反馈label);损失函数L可以分为只表示精度的损失函数(单目标)和精度、多样性、公平性结合的损失函数(多目标)两种,两两组合对应上述四象限图。

基于观测信号的重排模型

基于观测信号的重排模型比较简单好理解,模型结构如下图的(a),首先对用户和item特征进行embeddding得到低维稠密向量,然后通过上下文listwise建模提取item间的交叉信息,并生成重排打分。因为模型的label取自真实的用户反馈行为,数据噪声比较小,容易训练,同时来自精排模型的原始推荐列表也给item之间相关性的估计提供了强有力的信号。按照模型结构划分,可以分为基于RNN的listwise模型(recurrent listwise modeling)、基于self-attention的listwise模型(attentive listwise modeling)、基于其他模型结构如多层感知器MLP的listwise模型(other network structures)、基于图神经网络GNN的listwse模型等等。 image.png

  1. 基于RNN的listwise建模。一种做法是将重排序建模成序列生成任务,基于当前的item,通过beam search选择下一个item,目标是使得生成的item列表符合用户的浏览习惯。指针网络(pointer network)也被用于生成下一个item,其具有attention机制,attend的目标是精排结果列表中的item。
  2. 基于self-attention的listwise建模。重排阶段可以用self-attention机制捕捉候选item集合中任意一对item的互信息,这类模型有PRM(个性化重排模型,arxiv.org/pdf/1904.06…)、PFRN(dl.acm.org/doi/10.1145…)和 RAISE(动态transformer encoder,ieeexplore.ieee.org/abstract/do…),PRM用了一个预训练的个性化embdedding来表征用户并提取用户和候选item之间的信息。相对于PRM中将预训练的用户embedding表示和候选item的embedding表示进行concat的做法,PFRN使用了用户的多种行为(如长时间预定行为和实时点击行为),最终的预测打分使用了用户的多种行为和候选item的信息。RAISE通过为每个用户使用不同的attention权重来提高重排中的个性化效果。
  3. 其他模型结构。List-CVAE(arxiv.org/abs/1803.01…)使用条件变分自编码器学习用户响应条件下的item联合分布,PivotCVAE(dl.acm.org/doi/abs/10.…)对List-CAVE进行优化提高了结果的多样性。

需要说明的是,基于观测型号的重排模型只是在用户反馈的基础上进行训练,实际上对于n个候选item,其排列方式共有n!种,基于观测型号的重排模型只考虑了其中给用户实际展示的一种排列方式,忽略了在其他n!-1中排列中有更好结果的可能。

基于反事实信号的重排模型

基于反事实信号的重排模型通常使用评估-生成的方式(类似于GAN里面的生成模型和判别模型),生成器生成不同的排列方式,评估器评估每种排列的效果优劣,整个过程如上图(b)所示。评估器有两个标准:1)顺序敏感-对推荐内容的不同排列,评估器在打分上有明显差异;2)普适性,可以适用于推荐内容所有排列方式的评估。

文章参考

zhuanlan.zhihu.com/p/631957517
zhuanlan.zhihu.com/p/521413622