大家好,我是对白。
前两天刚好刷到KDD2022的一篇文章,是介绍快手在它们短视频上的一项推荐重排新算法,不仅在用户观看时长和视频播放量都有了较大提升外,用户观看视频的标签数也有了显著增长,这说明该算法同时兼具相关性和多样性两点。
为了测试其效果,我顺便下载了一下快手这款app,于是就出现了这篇文章的封面:左图是用户冷启动推给我的第一个短视频,一个穿着短裙的小姐姐,紧接着第二个短视频就是右图的另一位小姐姐,而后面的几个短视频也出现了电影、美食等其它方向,探索和利用(Exploit&Explore)做得都很不错,大家可以去快手上体验一下。
快手提出的这款新算法叫FDSB,是一款通用的重排序框架,利用用户物品的偏好得分与用户物品基于不同特征的相关性、多样性得分从而对推荐列表中的物品重排序。
实验结果来看,FDSB在用户观看时间和视频播放方面取得了显著的改进,这表明用户粘性得到了提高;其次,用户观看视频的标签数量增加也说明FDSB可以推荐更多样性的视频。
下面就带大家一起领略这个算法的奇妙之处~
论文标题:Feature-aware Diversified Re-ranking with Disentangled Representations for Relevant Recommendation
论文来源:快手&人大,KDD2022
本文由快手和人大发表于KDD2022上。在具体看论文模型细节之前,我们来看一下相关推荐的任务描述。由于要关注用户兴趣、相关性与推荐物品的多样性,我们可以自然而然地为相关推荐写出目标排序公式:
其中,用户偏好得分我们可以利用现有模型计算得到。困难在于后面两项:相关性和多样性。为模型中引入特征这一重要因素,我们将相关性和多样性定义为:
如上分析,可以将相关推荐的多样化再排序描述为一个基于物品embedding和特征的组合优化问题。由于这是一个NP-hard问题,采用贪心算法 ,将整体目标分解为单个物品目标:
要点一:如何处理物品特征冗余问题?
由于物品的特征信息可以从不同潜在方面描述该物品的特性,基于解耦的思想,我们可以将这些特征,根据所描述物品的不同方面分解为不同的表示。我们将称之为对应于物品不同方面的细粒度特征感知表示,后统称为分离表征。
为了学习分离表征,论文采用一种基于多头自注意力机制的方法DAE。具体地,以物品原始特征作为value,以物品embedding与特征的投影向量作为query和key来计算注意力分数,具体公式为:
这些分离表征反映了物品的部分特征,因此应该接近物品的整体embedding表示。具体地,采用MSE与InfoNCE两种alignment loss来提取从物品embedding到具体特征分离表示中的信息:
其中,。我们还记得,物品的分离表征可以从不同的潜在方面反映该物品的特性。而为了实现从解耦的不同潜在方面中能够捕获不同的语义特征,再引入orthogonalization loss:
我们知道物品的相关性和多样性本质上是相互矛盾的,即多样性更强时,相关性就更弱。然而我们的相关推荐既要保证所推荐的物品与触发物品之间的相关性,又要保证一定的多样性。因此当多样性表现得更强时,我们应该提高相关性的权重,反之亦然,从而实现二者的平衡。
要点二:在相关推荐中,应该如何实现物品之间的相关性与多样性的平衡?
为了在二者之间达成一个平衡,论文设计了一种相关性-多样性相关权重机制,我们为两个性质分别引入两个可学习的系数向量,即:
其中,为累计相关性。我们的目标是为用户选择个相关物品,具体地,采用Greedy Selection的方案对推荐列表中的物品进行再排序:
当选定第一个物品时,由于没有其他备选物品,所以不需考虑与备选物品间的多样性问题,这里只用计算单物品的相关性得分,即:
当已选物品数量大于1时,则需要计算相关性和多样性得分:
其中,多样性函数遵循MMR方法,即,减去所选物品和候选物品之间的最大相似度作为多样性得分。
模型的完整算法为:
模型的复杂度与普通MMR相当,其中时间复杂度为,空间复杂度为。
3.1 一个关于分离表征的案例解析
为了说明FDSB是如何将物品特征分解为不同方面的,论文的实验部分给出一个有趣的案例分析:随机抽取一段视频,将每个特征解耦得到的方面的注意力权重可视化,如下图。
从图中,我们可以看到,视频的特征根据语义的不同被分解为了不同方面,第一个方面侧重于抽象特征,如“动物”和“野生动物”;第二个方面捕捉了更加细粒度的信息,如“大熊猫”和“熊猫”;第三个方面则提取了一些不寻常的特征,如图中的“Metal Eater”为“吞金兽”,是熊猫的昵称。还有一个”pets“是视频中的多余标签,并没有被所有的方面捕捉到。
这个例子定性地说明了论文所提出的DAE模型在学习分离表征方面的有效性。
3.2 在线部署和A/B测试
为了进一步验证FDSB的有效性,该模型被部署在在线快手APP的”更多相关视频“功能上以验证整个工作流程。其中,采用视频标签作为特征。具体的工作流程如下图:
在快手的实际应用场景中从(1)观看时间,(2)视频播放和(3)观看的视频标签三个指标评估该框架的性能,前两个指标反映用户的满意度,第三个指标通常用于多样性。
具体的结果如开篇描述,FDSB不仅可以提升用户忠诚度,也可以推荐更多相关视频。
3.3 实验结果
与多个模型对比,可以看出FDSB的效果提升显著,在Recall与MRR分别提升了25.2%与18.3%。此外,在相关性的评估指标和多样性的评估指标中效果也不错。
论文提出了一种用于相关推荐的基于分离特征的再排序框架FDSB。模型具体包含两个部分:(1)用于实现特征分离的自注意力方法DAE;(2)一种用于平衡候选物品相关性与多样性的策略。模型具有一定的新颖性且效果不错,大家不妨可以参考一下它的核心思想与网络结构。
文末提出两个问题供大家思考:
除了文中所提的物品特征,是否有更好的辅助信息可以将触发物品与推荐多样性结合起来?
你认为基于特征感知的细粒度推荐在其他推荐场景中是否有应用前景?以及,是否有其他高效的基于特征的分离表征解耦方法?
我是对白,清华计算机硕士,BAT算法工程师。欢迎关注我的微信公众号: 对白的算法屋,日常分享编程经验和技术干货,帮助你少走弯路!还可以加我微信,领资源和进交流群。