Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

小红书推荐技术团队作者

KDD 2021 | 小红书推荐多样性解决方案:SSD在质量、多样性之间获得较好权衡

来自小红书的研究者在多样化推荐中,从用户体验和系统应用的视角出发,提出了一种滑动频谱分解(SSD)的方法,该方法可以捕捉用户在浏览长项目序列时对多样性的感知。通过理论分析、离线实验和在线 A/B 测试,验证了该方法的有效性。


多样化推荐(diversified recommendation)是推荐系统中一个重要的课题。从用户视角分析,多样性可以帮助用户扩展和发现新的兴趣,但是繁多的内容则会令人厌倦。从平台视角分析,多样性可以帮助系统探索用户喜好,防止内容越推越窄的情况,同时也可以让小众和长尾的内容得到曝光,促进生态发展。


在一个大规模的推荐系统中,我们可以从三个角度来理解多样化的推荐结果,如上图所示。首先是推荐质量(quality),即推荐的结果需要匹配用户的兴趣,可能是用户历史交互过的,也可能是第二点,即多样性所考虑的,用户兴趣的扩展和发现。除此之外,我们还需要考虑公平性(fairness),无论是衡量质量还是多样性,都要兼顾小众兴趣和长尾内容。推荐质量使得我们可以对点击率、时长等行为建模,进而转换为一个分类 / 回归问题。推荐结果的多样性,一般由两两之间的相似性(similarity)得到,例如 DPP(Determinantal Point Process)。

本文介绍的工作,即小红书发表于 KDD21 的《Sliding Spectrum Decomposition for Diversified Recommendation》一文,将从用户体验和系统应用的视角,试图解决其中的两个问题:如何在质量和多样性之间获得一个较好的权衡(trade-off),以及如何公平地衡量相似性。


论文地址:https://arxiv.org/pdf/2107.05204.pdf

研究动机

小红书是国内最大的社交平台之一,拥有超过一亿的月度活跃用户。


小红书中的 item 展示为「笔记」的形式,上图是小红书的 Explore Feed 推荐的一个示意图。用户可以在双列中下滑浏览,同时可以点击感兴趣的笔记进入详情页查看更多内容,或者与博主进行互动。与固定列表的推荐不同,用户可以选择在 Feed 中进行持续的浏览,多样性的衡量需要考虑这种长序列的情况。另外受限于手机屏幕的大小,或者短时记忆的影响,研究者在建模多样性的同时也应该考虑「浏览窗口大小」。


从用户的视角来看,Feed 就像是他们观测到的一个一维时间序列,每个时刻为一篇笔记。在经典的时间序列分析中,如西瓜的单价,我们可以将其分解为经营成本、季节、噪声,如上图所示。类比到推荐场景,如果我们也能将笔记序列分解成几个正交的部分,或许就能得到一个较好的多样性衡量办法。

方法介绍

滑动频谱分解(Sliding Spectrum Decomposition,SSD

该研究将用户观测到的 Feed 序列,转换为下图所示的 Tensor


其中序列总长度为T,用户浏览窗口大小为w,推荐的 item 序列为,滑动步长为 1,为笔记在向量空间中的表示。是一个三维的张量,但是直接研究它有些困难。可以先考虑较为特殊的情况:w = T,即窗口大小等于序列总长度。此时仅需要考虑一个窗口内的笔记,那如何衡量他们的多样性呢?下图展示了一个简单的例子,可以看到,固定的情况下,相较可以提供更多的多样性。在二维平面情况下,面积是一个很好的度量,围成的平行四边形面积更大,于是他们组合的多样性也就更好。扩展到更一般的情况,我们可以用体积来计算一个窗口内笔记的多样性。


回到长序列问题上,我们需要处理的问题含有多个窗口。多个窗口联合的体积是没有一个直观定义的,SSD 对这种情况下的体积做了一个推广。具体而言,一个窗口内笔记的体积,可以用矩阵的奇异值乘积来表示,这里的矩阵即是 Tensor的一行,注意到奇异值分解在 Tensor 情况下是有定义的,于是我们对 Tensor奇异值分解,将分解得到的奇异值,作为了 Tensor的体积,即多个窗口联合的多样性。与每篇笔记的质量结合,即可得到如下的 trade-off 目标,其中 Z 是候选集合,是一个平衡系数。


基于内容与基于协同过滤的方法(CB2CF)

SSD 中,该研究依赖于笔记的向量表示来衡量多样性,向量两两之间的相似性需要符合用户对于多样性的感知。有两种直观的思路来得到这些向量。一是基于内容(content-based)的方法,即构造一个基于笔记图片和文字内容的监督任务,将监督模型的中间层结果作为向量表示。二是基于协同过滤方法,即通过全体用户的交互历史,构造 CF 向量。


然而在实际应用中,单纯使用这两种方法都有一定的缺陷。基于内容的方法依赖于大量的先验知识,而基于协同过滤的方法对长尾兴趣和新内容却非常不友好。于是该研究设计了上图所示的 CB2CF (Content-based to Collaborative Filter)方法,通过内容信息预估协同过滤的结果。在输入上仅使用内容,这样即使对于新内容也能依赖模型的泛化能力得到较好的结果。在输出上依赖全体用户的协同标注,使得研究者能够在统计上学习用户感知的信号。

实验结果

在离线实验中,研究者对比了 CF 和 CB2CF 在长尾上的表现。在四个高区分度的类目下,由实验结果可得 CB2CF 有着较好的区分能力。


在线上实验中,研究者用 SSD 与 SOTA 的 DPP 模型做了 A/B 实验,在时长(Time)、互动(Engage)、ILAD(用户浏览笔记之间的平均距离,即曝光多样性)、MRT(用户平均阅读类目数,即消费多样性)上都取得了一定的收益。


小红书目前有超过一亿的月度活跃用户,在算法和工程上都有着很多有趣并富有挑战的问题。除了推荐多样性外,我们还在召回、排序、强化学习图神经网络、CV、NLP 等多个方向进行着持续的探索和落地,职级、薪水 open,base 上海 / 北京,如有任何问题,请直接联系 yanhuahuang@xiaohongshu.com。
理论小红书推荐系统KDD
相关数据
感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

协同过滤技术

协同过滤(英语:Collaborative Filtering),简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。协同过滤又可分为评比(rating)或者群体过滤(social filtering)。其后成为电子商务当中很重要的一环,即根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个顾客其“可能喜欢的品项”,也就是借由社区的喜好提供个人化的信息、商品等的推荐服务。除了推荐之外,近年来也发展出数学运算让系统自动计算喜好的强弱进而去芜存菁使得过滤的内容更有依据,也许不是百分之百完全准确,但由于加入了强弱的评比让这个概念的应用更为广泛,除了电子商务之外尚有信息检索领域、网络个人影音柜、个人书架等的应用等。

SSD技术

一种计算机视觉模型。论文发表于 2015 年(Wei Liu et al.)

奇异值分解技术

类似于特征分解将矩阵分解成特征向量和特征值,奇异值分解(singular value decomposition, SVD)将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。通过分解矩阵,我们可以发现矩阵表示成数组元素时不明显的函数性质。而相比较特征分解,奇异值分解有着更为广泛的应用,这是因为每个实数矩阵都有一个奇异值分解,但未必都有特征分解。例如,非方阵型矩阵没有特征分解,这时只能使用奇异值分解。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~