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

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

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

微信图片_20211206095843.jpg


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

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

微信图片_20211206095847.jpg


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

研究动机


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

微信图片_20211206095850.jpg


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

微信图片_20211206095853.jpg


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

方法介绍


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

该研究将用户观测到的 Feed 序列,转换为下图所示的 Tensor微信图片_20211206095925.jpg

微信图片_20211206095857.jpg


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

微信图片_20211206095900.jpg


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

微信图片_20211206095931.jpg


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

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

微信图片_20211206095936.jpg


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


实验结果


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

微信图片_20211206095941.jpg


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

微信图片_20211206095944.jpg


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

相关文章
|
27天前
|
编解码 人工智能 运维
南加大提出全新通用时间序列基础模型TimeDiT!基于扩散模型创新物理约束机制
 【10月更文挑战第10天】南加大提出TimeDiT模型,创新融合扩散模型与Transformer架构,针对真实世界时间序列数据的复杂性,如多分辨率、缺失值等问题,提供高效解决方案。该模型通过新颖的掩码机制和无微调编辑策略,实现多任务处理及物理知识集成,显著提升预测和异常检测的准确性和鲁棒性。
32 3
|
3月前
|
缓存 负载均衡 架构师
优化大型数据处理系统的性能:从设计到实施
在数据驱动的世界中,大型数据处理系统的性能对企业运营至关重要。本文将探讨如何通过优化设计、选择合适的技术栈以及实施高效的策略来提升数据处理系统的性能。我们将深入分析数据库设计优化、并发处理、数据缓存策略、和数据流管理等关键领域,提供实际案例和技术建议,以帮助开发人员和系统架构师构建高效、可扩展的数据处理系统。
|
4月前
|
机器学习/深度学习 搜索推荐 知识图谱
图神经网络加持,突破传统推荐系统局限!北大港大联合提出SelfGNN:有效降低信息过载与数据噪声影响
【7月更文挑战第22天】北大港大联手打造SelfGNN,一种结合图神经网络与自监督学习的推荐系统,专攻信息过载及数据噪声难题。SelfGNN通过短期图捕获实时用户兴趣,利用自增强学习提升模型鲁棒性,实现多时间尺度动态行为建模,大幅优化推荐准确度与时效性。经四大真实数据集测试,SelfGNN在准确性和抗噪能力上超越现有模型。尽管如此,高计算复杂度及对图构建质量的依赖仍是待克服挑战。[详细论文](https://arxiv.org/abs/2405.20878)。
79 5
|
6月前
|
数据采集 机器学习/深度学习 自然语言处理
数据更多更好还是质量更高更好?这项研究能帮你做出选择
【5月更文挑战第28天】研究探索了在机器学习中数据质量与规模的权衡,提出质量-数量权衡(QQT)概念和神经网络可扩展定律,考虑数据非同质性、效用衰减及多数据池交互。结果表明预训练时数据质量和规模同等重要,应根据情况权衡。但研究局限于模型预训练、特定类型模型和模拟数据验证。[[链接](https://arxiv.org/pdf/2404.07177.pdf)]
55 1
|
6月前
|
物联网 区块链 vr&ar
提升安卓应用性能的实用策略未来交织:新兴技术趋势与跨领域应用探索
【5月更文挑战第27天】 随着智能手机成为日常生活不可或缺的一部分,用户对移动应用的性能要求也日益提高。对于安卓开发者而言,优化应用性能是确保用户体验和市场竞争力的关键。本文将深入探讨提升安卓应用性能的有效策略,包括内存管理、UI渲染优化、多线程处理以及应用架构设计等关键技术点,并结合实际案例分析其实施过程与效果。通过这些策略,开发者可以显著减少应用卡顿、加快响应速度,并最终在激烈的市场竞争中占据有利地位。 【5月更文挑战第27天】 随着科技的迅猛发展,新兴技术如区块链、物联网(IoT)、虚拟现实(VR)等正逐渐渗透到社会的各个层面,重塑着商业模式、工作流程乃至日常生活。本文将深入探讨这些技
|
6月前
|
监控 测试技术 API
如何设计一款产品的质量模型
如何设计一款产品的质量模型
|
数据采集 机器学习/深度学习 存储
量化高频交易系统策略模型开发搭建
量化高频交易系统策略模型开发搭建
|
编译器
【系统架构】架构评估的质量属性——可修改性
【系统架构】架构评估的质量属性——可修改性
337 1
|
存储 机器学习/深度学习 传感器
神经形态处理和自搜索存储如何降低联邦机构的网络风险
神经形态处理和自搜索存储如何降低联邦机构的网络风险
【系统架构】架构评估的质量属性——可靠性
【系统架构】架构评估的质量属性——可靠性
175 0
下一篇
无影云桌面