1.摘要
来自小红书的研究者在多样化引荐中,从用户体会和体系运用的视角动身,提出了一种滑动频谱分化(SSD)的办法,该办法能够捕捉用户在阅览长项目序列时对多样性的感知。经过理论剖析、离线试验和在线 A/B 测试,验证了该办法的有效性。
2.背景
多样化的引荐(diversified recommendation)是引荐体系中一个重要的课题。从用户视角看,多样性(diversity)能够协助他们扩展和发现新的爱好,扎堆的内容则会令他们厌倦。从平台视角看,多样性能够协助体系探索用户的喜爱,防止越推越窄的状况,同时也能够让小众和长尾的内容得到曝光,促进发布生态。
小红书是一个具有2亿月活用户的社区产品,在APP首页,咱们以“发现Explore”来界说信息流引荐的场景,期望这个场景能够协助用户发现感爱好的内容,抑或是找到新的爱好。在“发现”这一方针的驱动下,多样化的引荐(diversified recommendation)显得尤为重要。从算法角度来看,咱们以为它由以下三个要素组成:质量(Quality)、多样性(Diversity)和公平性(Fairness)。
本文介绍的作业,也是小红书发表于KDD21的Sliding Spectrum Decomposition for Diversified Recommendation [1]一文,试图在信息流场景下研究多样性及其关联的问题。在信息流场景下,用户能够在Feed中进行继续的阅览,这会形成一个很长的阅览序列,另外受限于手机屏幕的巨细以及短时记忆的影响,“窗口巨细”也关乎阅览体会。
从第一性原理动身,咱们试图从用户视角来理解这个问题。想象自己作为一台阅览机器,刷信息流就像是在观测一个一维的时刻序列,每个时刻对应一篇Item。那怎么描绘序列中蕴含的多样性呢?无妨以经典时刻序列剖析中的价格波动为例,若定价由运营成本、季节要素和噪声三个独立的部分组成,如下图所示,那么分化的进程就是研究价格改变的要害。类比到引荐场景,假如咱们能将Item序列分化成几个独立的部分,或许就能得到较好的多样性衡量。
3.SSD
出于上面的启示,咱们将用户观测到的Feed序列,转换为下图所示的Tensor : 其间序列总长度为 ,用户阅览窗口巨细为 ,引荐的item序列为 ,滑动步长为1, 为Item在向量空间中的表明。 是一个三维的张量,直接研究它有些困难。咱们无妨先考虑最为简单的状况:w = T = 2,即两个item向量怎么分化成独立部分的问题。直观上,咱们能够以空间上的正交方向来界说独立,如下图所示
以 为底,咱们能够核算 与之重叠的部分以及正交的部分,正交的部分越大,意味着二者越独立,也就是多样性更好。只考虑2个Item,也就是在二维平面中,面积是一个很好的衡量,如下图所示, 与 围成的平行四边形面积更大,所以他们组合的多样性也就更好。扩展到更一般的状况,咱们能够用体积来核算一个窗口内Item的多样性。
至此咱们用体积界说了单一窗口的多样性,但多个窗口联合的体积是没有一个直观界说的,咱们需求推广“体积”的概念。详细而言,一个窗口是Tensor退化至二维矩阵Matrix的状况,其体积的原始界说是行列式的值,然而一般Tensor的行列式没有一个一致的界说。考虑Matrix行列式的等价核算办法,奇异值的乘积,这一概念是能够作为署理扩展到Tensor的,类似的分化办法也常见于时刻序列剖析中 [4]。所以咱们对Tensor做奇异值分化,将奇异值 的乘积,作为了Tensor的体积,即多个窗口联合的多样性。与每篇Item的质量结合,咱们即得到了如下的trade-off方针,其间 是候选调集, 是一个平衡系数。
在这儿咱们以EE的办法来组合Quality和Diversity,在实际运用中,Quality更多的是以精排模型打分为基础,是以曩昔经验来判断的Exploitation,多样性则是根据内容类似度的分数,在不考虑个性化的状况下,多样性能够理解为是一种Exploration。
与SSD最相近的作业是DPP。DPP本是物理中用于描绘粒子随机进程的概率框架,全程determinantal point process,根据体积来描绘粒子的分散程度(多样性)。回忆体积的物理意义,体积这一概念其实是无关乎次序的。在根据DPP的多样化引荐中,是贪心求解进程赋予了次序 [3],而SSD在Tensor结构中就引入了次序这一概念,当Tensor退化成Matrix时即可得到DPP的成果,因此SSD能够看做是DPP在序列引荐上的一种推广。另一方面,在Diversity与Quality的组合上,SSD和DPP也有显着的不同,DPP延续了体积的概念,将Quality作为向量的boost系数,即体积中的因子来融合,而SSD更引荐用EE的组合办法,咱们以为EE更契合用户的阅览诉求。除此之外,在窗口的处理上,DPP本身界说上不存在窗口的概念,因此在求解进程中会完全忽略掉窗口外的内容,这在长序列中是很不契合用户感知的,SSD经过Tensor的结构引入了体积的概念,虽然在原始界说上需求求解NP-hard的Tensor SVD,但咱们在[1]中给出了一种近似的贪心求解,终究的复杂度会优于根据DPP的作业。
4.CB2CF
在多样性界说中,咱们依靠于Item的向量表明来核算体积,向量之间两两之间的类似性需求能够契合用户关于多样性的感知,也需求考虑最开始咱们说到的公平性。有两种直观的思路来得到这些向量。一是content-based办法,即咱们结构一个根据图片和文字内容的监督使命,将监督模型的中间层成果作为向量表明。二是根据协同过滤办法,即咱们经过整体用户的交互历史,结构CF向量。 然而在实际运用中,单纯运用这两种办法都有一定的缺陷。Content-based的办法依靠于很多的先验知识,作用往往不如CF,而根据协同过滤的办法关于长尾爱好和新内容却十分不友好,在核算类似度上或许没那么公平。所以咱们规划了上图所示的Content-based to Collaborative Filter(CB2CF)办法,经过content信息预估协同过滤的成果。在输入上仅运用内容,这样即使关于新内容也能依靠模型的泛化才能得到较好的成果。在输出上依靠整体用户的协同标注,使得咱们能够在计算上学习用户感知的信号。
这儿咱们也与曩昔作业做一个简单的比照,CB2CF的思想源于微软19年发表在RecSys上的作业 [2]。[2]中引荐的练习办法是以CB向量直接猜测CF向量,终究以两个CF向量的差异作为loss。咱们则更引荐以间隔的办法先衡量CB向量转换后的成果,终究以likelihood的办法结构loss。
5.试验作用
在离线试验中,咱们比照了CF和CB2CF在长尾上的表现。在四个高区别度的类目下,咱们能够看到CB2CF有着较好的区别才能。
在线上试验中,咱们用SSD与SOTA的DPP模型做了A/B试验,在时长(Time)、互动(Engage)、ILAD(用户阅览Item之间的均匀间隔,即曝光多样性)、MRT(用户均匀阅览类目数,即消费多样性)上都取得了一定的收益。
6.参考文献
[1] Huang, Yanhua, et al. “Sliding Spectrum Decomposition for Diversified Recommendation.”Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining. 2021.
[2] Barkan, Oren, et al. “CB2CF: a neural multiview content-to-collaborative filtering model for completely cold item recommendations.”Proceedings of the 13th ACM Conference on Recommender Systems. 2019.
[3] Chen, Laming, Guoxin Zhang, and Eric Zhou. “Fast greedy map inference for determinantal point process to improve recommendation diversity.”Advances in Neural Information Processing Systems31 (2018).
[4] Broomhead, David S., and Gregory P. King. “Extracting qualitative dynamics from experimental data.”Physica D: Nonlinear Phenomena20.2-3 (1986): 217-236.