今天跟大家分享一篇快手&人大发表在KDD2022上的多样性推荐论文,论文题目Feature-aware Diversified Re-ranking with Disentangled Representations for Relevant Recommendation,为了方便描述,这里简写为FDSB。 FDSB方法应用在快手APP场景内,并取得SOTA的性能。
论文链接: https://arxiv.org/abs/2206.05020
现有的推荐流程中,当用户点击短视频上的“喜欢”按钮时,系统会给用户推荐更多相似的短视频。但是如果应用一直给用户推荐跟喜欢视频非常相似的内容,也会造成用户的视觉疲劳以及增加信息茧房,因此需要平衡考虑相关性和多样性,在满足用户正向偏好的基础上,挖掘用户更多兴趣。本文实际上就是研究如何去平衡“相关推荐”中的相关性及多样性。
这里的“相关推荐”需要单独来解释一下,因为初读论文的时候确实这个词给我带来了一些困惑。论文里的”相关推荐“任务,我的理解是在推荐中增加了主动信息获取,从而对主推荐流中的推荐结果进行干预。例如:当用户看完一个短视频时,他往往会想要继续观看和这个短视频相关的拓展内容。然而,传统的推荐系统feed流难以提供这种深度的拓展功能。这是由于考虑到推荐系统多样性和兴趣试探的要求,很少会出现同一个主题或类目的短视频连续出现的情况。大家感兴趣可以去看下微信团队在WSDM2021上介绍相关推荐的文章。
论文题目: Real-time Relevant Recommendation Suggestion 论文: https://dl.acm.org/doi/pdf/10.1145/3437963.3441733
有了上面的概念我们再来看相关推荐和现有多样性推荐的区别,相关推荐是基于触发item和用户偏好进行的,而多样性推荐只考虑用户偏好。为了将触发item和多样性推荐结合,需要显式地建模细粒度的item特征以更好地表征item间的关系。例如,在图 1中被点赞的短视频带有一组语义标签 {sunset, train and sea},根据这些细粒度的语义标签(即特征)进行相关推荐将是非常有意义的。然而,现有的多样性推荐方法主要侧重于item的多样性,无法做到有效地捕捉特征级的多样性。此外,如果直接在现有方法中利用side information做特征维度的多样性推荐很可能拿不到很好的收益,因为大量的side information可能是冗余或者包含很多噪声的。
针对上述问题,我们设计了一个通用的重排框架(FDSB),以捕获相关推荐中的特征感知多样性。FDSB框架包含两个模块,即解耦注意力编码器(disentangled attention encoder)和自平衡多元重排器(self-balanced multi-aspect re-ranker)。解耦注意力编码模块使用多头注意力从丰富的item特征中学习分离表征,学习到的分离表征为item特征提供了一个更紧凑的表示。对于自平衡多元重排模块,主要是提出了一种能够自适应平衡相关性和多样性的重排机制。
一、问题定义及核心思想
论文中首先将相关推荐任务定义为一个多因子排序问题,将用户的偏好得分、候选集与触发 item 的相关性以及返回推荐 item 集合的多样性综合考虑,最终获得一个更均衡的排序结果。我们可以定义 表示完整的推荐候选集合, 表示触发item, 表示目标用户。这样,整个任务就可以 描述为一个从推荐候选集 中按照下面公式(1)来选取条件子集 的过程:
公式(1)中的第一项代表用户对候选集合的偏好得分,可以利用当前已有的模型得到这个分数,第二项和第三项是本文研究的重点,即trigger item和已选集合的相关 性以及在给定trigger item的条件下选出item集合的多样性。模型中对相关性和多样性的定义为:
从公式(2)来看,这里提出的方法相对于已有的相关性和多样性方法,主要的区别和创新在于除了item维度之外,引入特征维度,例如品牌、颜色等side information信息进行相关性和多样性的计算。也就是公式(2)中的 项和 项。这里其实在我自己工作的业务场景中也有过类似的实践并取得显著的收益,比如利用MMR或DPP进行多样性打散时如果使用跨域的item的id embedding做concat或者pooling相对于仅使用场景内输出的id embedding是会有提升的。
定义好了问题,之后就是如何去根据公式(1)去求解得到推荐结果了。从公式(1)中我们可以知道这是一个组合优化问题,即在给定约束下从集合 中获取子集 的过程,是一个NP-Hard问题。论文中将这个过程简化成了一个greedy的求解过程,具体的求解方法见公式(3):
这里 代表第 个step中选中的item,下面会详细介绍在第 个step如何选取item。先看下公式(3)中各个元素的含义:
1. 是用现有模型对item 的打分,这个分数可以精排的ctr分数,也可以是多目标打分之后的融合分数,主要是体现user对这个item的偏好打分;
2. 是item 和trigger item的相关性;
3. 是在给定 的条件下在向第 个step获得集合 中加入item 的多样性得分。
明确了公式中的三个主要因素的含义后,现在用一句话来描述这个选择过程就是,每一步在候选集合 中挑选一个没有被选 取的item,让这个item的用户偏好得分、与trigger的相关性得分以及加入到已选择集合后的多样性得分加权分值最大化。至于具体的 和 如何计算,我们继续往下看,这部分也是整篇论文最精髓的地方。
二、算法细节解耦注意力编码器(Disentangled Attention Encoder)
上面提到了论文的创新在于计算相关性和多样性时引入了特征维度的信息,但在推荐系统中,item通常具有大量丰富的side information特征 ,可以从不同维度来表征item,这些特征通常是相关的或冗余的。考虑到这个问题,论文中提出了一种解耦注意力编码器(DAE)来将这些特征进行解耦,学习item的分离表征 ,该模块是FDSB方法中进行相关性和多样性建模的基础。DAE 的整体架构如下图所示:
DAE使用了multi-head attention的结构进行建模,以item id的embedding和特征投影向量作为query和key,item的原始特征作为value来进行多头注意力计算。特征投影以及注意力的计算参见公式(4):
前面介绍了如何使用item id的embedding和side information信息获得item细粒度的表征 ,但这里并没有一个明确的监督信号,DAE是无法学到有用信息的。因此在论文中引入了一个先验信息,即学到的item表征应该更接近item id的embdding。基于这个想法,论文中设计了两个alignment loss用来对齐item id的embdding和特征分离表征这两部分信息,loss的定义如公式(5):
从公式(5)中,我们可以看出这里使用了MSE loss用来约束 和 的相近程度,用infoNCE loss 来使 和负样本 有最大的差异性。除了alignment loss之外,还要求分离表征能捕捉不同的语义特征,因此论文中又引入了一个orthogonalization loss,loss定义见公式(6):
其中 是温度参数, 是分离表征的维度。通过联合优化以上两部分,可以有效地将丰富的特征信息抽象成高层的特征表示。
自平衡多元重排器(Self-balanced Multi-aspect Re-Ranker)
我们知道推荐结果的多样性和相关性在一定程度上是相互矛盾的,对于FDSB方法,主要困难也在于相关性和多样性之间的平衡,因为这两个因素本质上是矛盾的:触发item如果和候选item相关性越高,则增加该item后整个选中item集合的多样性越少,反之亦然。这个问题其实在多样性实践中是比较常见的(例如MMR和DPP)。论文在FDSB方法中扩展了经典MMR框架,并设计一个自平衡多元重排器,能够自适应地调整多样性和相关性的权重。
分离表征自适应融合(Aspect-specific Adaptive Balance)
自适应多元重排器引入了两个可学习的系数向量 和 自适应的融合不同的分离表征, 和 是 维系数向量,分别用来表示多样性系数向量和相关性系数向量。具体的定义见公式 (7):
式(7)中的 是一个 维向量,代表触发item 和之前 个step选取的集合的累计相关性。向量 中的元素 根据公式(8)计算:
和 分别是已选集合和触发item根据公式(4)获得的分离表征。
贪心选择过程 (Greedy Selection)
我们来看下自平衡多元重排器是如何生成最终的结果的,这里采用了贪心的选择过程,在第1个选择step,因为当前的已选择集合中还没有任何item,因此当前step退化为单个item的相关性得分,计算方式如公式(9):
公式(9)中的第二项就是触发item 和候选集中item 的相关性分数,其中 是用 item id 特征计算的相关性得分, 为根据 维分离表征计算的相关性分数。当step大于 1 时,相关性得分和多样性得分是由之前已选择step共同决定的,其中使用上面提到的系数 和 来自适应调节多维分离表征。
在多样性得分公式中,采用了类似MMR中的计算方式,即减去所选物品和候选物品之间的最大相似度作为多样性得分。
算法时间复杂度为 ,其中 表示给用户推荐item的个数, 表示候选item的个数, 表示分离表征的维度。在实际生产环境中,表征相似性是通过向量内积来计算的,因此可以提前离线计算好,然后通过高效的向量化召回算法按照ID索引最相似的embeddings,这样可以将算法的时间复杂度降到 。算法整体流程如下:
三、实验效果数据集
论文的数据集是在快手推荐页场景内通过采样部分活跃用户,按照session维度进行聚合后获得的样本。最终数据集的统计数据如下:
数据集构建这里会有一个疑问(作者或者知道的小伙伴看到可以告知):因为这里相关推荐是根据触发item进行后续推荐列表的生成,
那么这里的session概念我理解是一次推荐产生的N个视频,这里的触发item在线dump特征应该也会一起落下来吧?
然后这里触发item是按照时间序的最后一个正向item吗?
论文里采用了6个评估指标,除了用来衡量准确性的Recall、MRR和F-score外,文中也定义了特征粒度的相关性评估指标MFHR,主要用来衡量触发item和推荐item集合的相关性,具体定义方式见公式(11):
为推荐item集合, 和 分别代表推荐item 和触发item 的特征集合。MFHR通过计算特征的平均命中率来衡量两个item间的相关性。为了衡量推荐item集合的特征感知多样性,论文里又引入了两个衡量指标FCR和ILAD:
FCR计算所有推荐item 跟触发item 的特征命中率。ILAD用来表示单个用户维度的推荐列表的曝光多样性。
离线实验结果
从离线实验结果可以看到,与多个多样性方法相比,FDSB在精确性、相关性和多样性的指标上都有比较大的提升。
线上部署和A/B测试
FDSB框架的部署工作流如上图,可以看到整个部署流程分为离线和在线两部分,我们现在按照如何运转整个流程的思路介绍框架的部署流程。
整个FDSB框架应用于重排阶段,在线输入是来自按精排打分作为初始排序的Top-N列表,根据输入列表以item id为key获取item的特征(包含id embedding和side information特征),之后的real-time rerank server分别顺序执行DAE模块获取特征的分离表征和自适应多元重排器贪心的或取最终的推荐列表;这里有个待确认的地方,在real-time rerank server中的触发item如何选取?
如果在上一刷结果中,用户有多个正向item,那么在贪心求解过程中,只能选取最后一个有正向行为的item作为触发item,但这样做对于用户的正向兴趣满足并不及时;如果在用户实时有正向行为的item作为触发item进行后续的相关推荐,则会打乱已有的推荐流,也会增加系统的请求量。在我们的推荐场景内,也有类似的方法,即我们根据user的实时正向行为,在当前视频后插入重新生成的一刷推荐结果,这一刷结果的生成方式就类似于本文的方法。不知论文中的机制是如何生效的?
在线A/B实验选取MMR作为baseline,为了和离线实验保持一致,这里只使用短视频的tag作为item侧的side information,使用(1)观看时长,(2)视频播放数,(3)观看视频总标签数,(4)相关性调查问卷四个指标来评估用户满意度和推荐多样性。从7天的A/B结果上看相比基线MMR方法各指标都有一定的提升。
四、总结
论文主要是针对相关推荐重排阶段提出了一个基于特征感知的多样性重排框架,并将其成功应用在了快手APP的相关推荐业务。FDSB框架包括:用于从大量item特征中学习分离表征的解耦注意力编码器,和平衡相关性和多样性的自适应多元排序器。
针对future work,论文中提到了两点:
使用一个“端到端”的ranking模型,同时建模多样性和相关性;
此外,我们还将考虑建模特征感知其他推荐任务或场景中的细粒度多样性。
总体来说,针对相关推荐目前确实公开能够获取的资料不多,本文针对该场景的多样性方法的motivation还是让人赞同的。论文中从算法复杂度和实现流程上相比于广泛采用的DPP、MMR改动并不大,因此也是一篇工程出发并能获取收益的文章。
本文来自: https://zhuanlan.zhihu.com/p/539431504 作者:papacai
Illustration b y Anzhelika Bashirova from icon s8
想要了解KDD 2022五位获奖者论文背后的故事吗?
欢迎大家预约由KDD五位获奖者与特邀飞行嘉宾、去年新星奖获得者胡侠老师,在北京时间9月8日(周四)上午9-11点带来的线上直播专场——KDD 2022群星闪耀·云际会!
-The End-
扫码观看!
本周上新!
“AI技术流”原创投稿计划
TechBeat是由将门创投建立的AI学习社区(www.techbeat.net)。社区上线330+期talk视频,900+篇技术干货文章,方向覆盖CV/NLP/ML/Robotis等;每月定期举办顶会及其他线上交流活动,不定期举办技术人线下聚会交流活动。我们正在努力成为AI人才喜爱的高质量、知识型交流平台,希望为AI人才打造更专业的服务和体验,加速并陪伴其成长。
投稿内容
// 最新技术解读/系统性知识分享 //
// 前沿资讯解说/心得经历讲述 //
投稿须知
稿件需要为原创文章,并标明作者信息。
我们会选择部分在深度技术解析及科研心得方向,对用户启发更大的文章,做原创性内容奖励
投稿方式
发送邮件到
chenhongyuan@thejiangmen.com
或添加工作人员微信(chemn493)投稿,沟通投稿详情;还可以关注“将门创投”公众号,后台回复“投稿”二字,获得投稿说明。
>> 投稿请添加工作人员微信!
关于我“门”
将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门技术社群以及将门创投基金。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:
bp@thejiangmen.com
点击右上角,把文章分享到朋友圈
⤵一键送你进入TechBeat快乐星球
热门跟贴