©作者 | 小红书推荐技术团队

来源 | 机器之心专栏

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

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

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

本文介绍的工作,即小红书发表于 KDD 2021 的《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。

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

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

  1. 小红书推荐大数据在阿里云上的实践

    简介: 本篇内容主要分三个部分,在第一部分讲一下实时计算在推荐业务中的使用场景.第二部分讲一下小红书是怎么使用Flink的一些新的功能.第三部分主要是讲一些OLAP的实时分析的场景,以及和阿里云MC- ...

  2. 【实践】小红书推荐中台实践

    猜你喜欢 0.[免费下载]2022年1月份热门报告盘点&下载1.微信视频号实时推荐技术架构分享2.从零开始搭建创业公司后台技术栈3.全民K歌推荐系统算法.架构及后台实现4.微博推荐算法实践与机 ...

  3. (13)工业界推荐系统-小红书推荐场景及内部实践【用户行为序列建模】

    (1)工业界推荐系统-小红书推荐场景及内部实践[业务指标.链路.ItemCF] (2)工业界推荐系统-小红书推荐场景及内部实践[UserCF.离线特征处理] (3)工业界推荐系统-小红书推荐场景及内部 ...

  4. 小红书推荐机制和淘宝有什么区别?小红书跟淘宝有什么关系

    说到小红书大家都知道是一个内容分享平台,这几年成长起来的一个电商平台.但是同样是电商平台,那不禁就有人要问了,小红书推荐机制和淘宝有什么区别,又有何相似之处呢?今天就来和大家分享一下这个问题,一起来探 ...

  5. 【报告分享】2021小红书食饮品牌研究报告-艺恩(附下载)

    摘要:摘要:充分了解消费者会搜索哪些关键词,基于这些关键词做工作,让消费者尽可能多的搜索到和自己品牌相关的正向结果,来影响他们做决策;利用系统的推荐规则,尽可能的把自己相关的内容展示给消费者,引起他们 ...

  6. 【报告分享】2021小红书品牌投放产品介绍-小红书(附下载)

     如需查看完整报告和报告下载或了解更多,公众号:行业报告智库 摘要:各行各业在2020年影响下销量都受到了不同的下滑,促进品牌商家营销渠道的深度开发,随着各大品牌的加码,各类社交平台也逐渐的被广大用户 ...

  7. 【报告分享】2021小红书投放运营指南书-小红书(附下载)

     如需查看完整报告和报告下载或了解更多,公众号:行业报告智库 摘要:如果说是产品种草的话,一定要给人一种真实试用后产出的内容,再加上客观表达,围绕产品特点及个人风格进行描述,分享真实感受,不要夸大使用 ...

  8. 【报告分享】2021小红书美护趋势品牌报告-小红书聚美丽(附下载)

    摘要:新锐美护品牌开始为小红书配备独立而完整的电商团队来运营,包括达人种草.博主直播.效果广告投放.品牌旗舰店运营.参与官方活动等, 团队可为单平台的GMV增长负责.曾经,品牌商只能选择在电商平台完成 ...

  9. 【报告分享】2021小红书电商直播趋势报告-千瓜数据(附下载)

    摘要:春节期间,小红书带货直播场次占整体直播的 25% 左右,相比2020年9月,带货直播场次占比 几何式上升 . 来源:千瓜数据 如需查看完整报告和报告下载或了解更多,微信公众号:行业报告智库

最新文章

  1. mysql的优化之table_open_cache 篇_mysql性能优化之table_open_cache
  2. 你应该避免的8种常见SQL错误用法!
  3. micropython 模块_MicroPython添加Module(一)
  4. 国产期刊崛起!上海大学、郑州大学主办期刊IF超15,2021版SCI期刊影响因子出炉...
  5. mongodb学习(六)索引
  6. 8086CPU写汇编的规则
  7. TFS命令tf:undo(强制签入签出文件)
  8. html5画安卓机器人,HTML5用户笔画形状检测机器人
  9. pandas 链接数据库
  10. 虚拟机安装python3_python3pip在虚拟机中全局安装
  11. RLE压缩及优化--图片压缩
  12. 无法定位程序输入点 InitializeCriticalSectionEx 于动态链接库 Kernel32.dll 上 问题解决方法
  13. HDU 3790最短路径问题 [最短路最小花费]
  14. if函数多个条件怎么用c语言,条件函数怎么用(if函数多个条件怎么用)
  15. Android 反编译修改包名、重新签名、更换app名称
  16. win10计算机历史记录,教你win10如何查看电脑开机历史记录
  17. 5. 等可能概型(古典概型)
  18. [转] Delaunay三角剖分理论知识
  19. Android 音乐播放器的开发教程(六)service的运用及音乐列表点击播放 ----- 小达
  20. 设置开机自动启动chrome浏览器

热门文章

  1. 带防夹功能的升降器原理_全系标配行车自动落锁功能,全新凯美瑞表现分析
  2. dart和python混编,Flutter与iOS混编(一)
  3. 虚拟机硬盘启动计算机后黑屏,高手亲自教告诉你win7虚拟机启动后黑屏的操作方案...
  4. 修改tomcat的临时文件夹_tomcat 临时文件夹被移除的问题
  5. php中控车牌识别push协议,车牌识别一体机的RS485小接口——实现透明传输!
  6. Linux远程传输文件免密码
  7. 【转】Python操作MongoDB数据库
  8. 原生Js_使用setInterval() 方法实现图片轮播功能
  9. OSS网页上传和断点续传(终结篇)
  10. java报告(一)编程打印一个三角形的乘法口诀表