淘宝直播全屏页重排算法实践

推荐系统-电商直播 多目标排序算法探秘 在电商网站中,用户的主要行为是在商品上的行为,直播的内容行为数据比较稀疏,因此商品行为应与直播行为结合来优化直播推荐。多目标学习,直播推荐的效能类指标和满意度指标很多,包括用户看到直播间的点击率,进入直播间的停留时长,转化率,关注率,留言率等。减少偏差,position bias 与 selection bias 会影响模型的准确性,增强马太效应,损害腰部、尾部主播的利益。 阅读详情

本文旨在分享正负反馈序列建模与多目标优化在淘宝直播排序上的实践经验。

背景介绍

直播带货是“内容+电商”这种新商业模式最火热的应用之一,传统互联网电商如PDD、JD等均已上线直播带货平台,众多内容赛道玩家如抖快也加大直播电商的投入。淘宝直播作为直播带货领域的先行者,近几年一直保持高速增长,据集团2021财报显示,淘宝直播年GMV已超过5000亿元,同比增长超90%,是集团营收的重要组成部分,同时打造出了薇娅、李佳琦等一众IP明星,形成了平台、商家、达人共赢的良好局面。

淘宝直播相比于其他内容形式,如短视频、图文等,最大的特点是实时互动,商家和达人在直播间实时进行商品展示、开展营销活动,与用户互动中完成宝贝种草、圈粉、收割变现。如何将这种实时的内容高效率地分发给相应的受众就是我们直播推荐算法团队要解决的问题,淘宝直播分发的主要场景有淘宝首页宫格的频道页、首页猜你喜欢直播feeds流等一跳场景,以及承接一跳点击进入直播间的二跳场景全屏页。全屏页提供了一个沉浸式的信息流展示形式,其承担着对用户一跳refer(引导用户进直播间的一跳点击主播)兴趣点的深度挖掘与扩展,以及对用户隐/显式正负反馈的实时感知和决策。针对前者,精排模型做了相当多的工作,保证了refer的相关性和推荐的准度,考虑到精排模型体量已经很重的情况下,如果对用户和主播实时行为建模再放到精排中就显得很臃肿,因此针对用户的正负行为反馈以及直播间实时状态的感知决策自然就落在重排阶段。

本文旨在分享正负反馈序列建模与多目标优化在淘宝直播排序上的实践经验,主要主要分为以下几个部分:第一部分描述了直播二跳场景重排序面临的一些问题以及期望达到的一些效果;第二部分基于实际的业务问题进行建模,核心优化点主要包括政府反馈序列建模和多目标优化;第三部分是模型在线上取得的真实实验效果;最后总结了算法要点,并指出下一步需要解决的重要问题。

问题描述

全屏页重排主要是解决用户和主播实时行为反馈建模的问题,在精排保证个性化和推荐准确度的基础上,能快速感知端上行为,解决用户下滑过程中对感兴趣主播和不感兴趣主播实时挖掘和决策的问题。目前全屏页推荐的请求特点是每次端上请求多个结果 ,正常情况下只会展示一个,每次滑动会重新发起请求,因此在这里我们使用point-wise而非List-wise的模型结构来优化效率,同时我们还期待重排模型能达到以下几点要求:

  • 实时感知:模型能实时感知用户侧的实时观看互动行为和主播侧直播间实时粉丝互动成交状态;
  • 正负反馈:根据用户实时的正负反馈信号决定推荐的结果,改善用户体验;
  • 多目标:提升停留时长、点赞、关注、分享、评论等内容分发指标的同时,兼顾宝贝点击、购买等电商成交指标,突出“内容+电商”的场景特色。

根据上述几点要求,我们设计了一套基于实时正负反馈的多目标轻量级重排模型,接下来将详细阐述模型的设计思路和结构。

重排模型

整个模型的核心结构如图1所示,主要由embedding层、主播与用户兴趣表达层、多目标学习层组成。其中输入层所用到的用户和主播侧特征主要为实时特征,用户实时正负反馈的兴趣表达采用序列残差学习的方式,上层多目标学习层使用类MMOE的算法框架。下面将分别对各模块做进一步描述。

图1 多目标实时正负反馈模型

▐ 实时特征

  • 用户侧

用户侧实时特征主要是两个实时正负反馈序列,如右侧图2所示,用户实时观看的直播流以实时消息的形式发送到Flink节点中进行预处理,然后实时转储到igraph表中,最后通过HPF(High Pass Filter)选取正反馈序列positive seq;通过LPF(Low Pass Filter)过滤出负反馈序列negtive seq。两个序列作为后续进行正负兴趣表达学习的输入信号。

图2 实时正负反馈序列

  • 主播侧

主播侧实时特征主要包含一系列直播间实时统计信息,从手淘客户端采集如观看uv、点赞、关注、评论、分享、宝贝袋点击等实时消息,然后flink节点中进行数据聚合形成直播间统计特征,另外主播正在展示和讲解的topN商品信息(宝贝类目、品牌等)也会引入到模型的特征层中丰富主播表达。

▐ 正负反馈

  • 对比残差建模

目前针对用户兴趣建模的主流方式是对用户的正向行为序列进行信息的提取与匹配,如DIN, DSIN,DIEN等,在这里我们还引入了用户隐式负反馈的信号,目的是解决用户快速滑动且停留时间很短的情况下系统还是推类似主播的问题,通过正负反馈行为的建模,实时感知用户的喜恶,并及时干预接下来的推荐内容,有效提升用户体验。如图1中红色虚线框所示,正负反馈序列在与target主播进行attention提取出匹配信息后再做差,即: ,其中,MLP:多层感知机,即三层全连接层; TA: target attention[2],基于Transformer[1]改进而来的attention信息提取器,Transformer模型最早来源google的论文《 Attention is all you need 》,在NLP领域大放异彩,其self-attention机制不仅在语言建模上取得重大进步,在CV和搜推中的应用也逐渐扩大,其主要结构如图3所示,核心组件为multi-head self-attention,计算公式如下:

, 其中 Q是Query,K是Key,V是Value。

图3 Transformer主要结构

在Transformer的encoder部分的self-attention中Q、K、V均指输入序列本身,而target attention中query是指待打分的候选主播,key和value指用户的行为序列。

  • label-aware triplet loss

为了更好地学习正负序列之间的区分性,在这里引入metric learning的loss function来辅助优化序列学习。考虑到待打分的主播与正负序列表达构成一个triplet组,因此自然而然想到用triplet loss[3]的形式,triplet loss是度量学习中一种重要的loss function,如图4,其原理是通过anchor与postive尽可能靠近,anchor与negative尽可能远离的度量学习方式,使得object之间的embedding表达更具有区分性。

图4 标准triplet loss学习原理

标准的triplet loss公式为

,与标准triplet loss不同的是,我们的样本中正/负样本和每个样本对应的用户正负反馈序列已经确定,因此对于正样本我们可以采用标准triplet loss的形式,对于负样本则需要进行取反操作,因此在这里我们设计了一个label aware triplet loss来辅助优化序列学习(图5)。 即

,对于正样本 为1,对于负 样本 为-1。

图5 label-aware triplet loss

▐ 多目标

为了满足推荐场景不同业务指标的要求,多目标学习基本是很多推荐场景的标配,其整体框架如图6所示。

图6 多目标学习一般框架

直播场景中存在多个业务指标优化的诉求,内容指标主要有停留时长、点赞、评论、分享等互动指标,电商指标主要有宝贝的加购、购买、gmv等指标。如何平衡多个目标之间的相关和冲突是一个值得深入研究在课题,在这里我们采用了task-specific experts结合share experts的算法机制,有效缓解传统MMOE类算法框架的“跷跷板”问题,即图7中PLE多目标学习框架[4]。同时为了减少label的稀疏性,我们将点赞、分享、评论、关注等互动行为合并成一个label,即interact;把宝贝加购、购买、成交相关的行为合并成一个label,即buy,这样既较少了模型参数,也减少了稀疏目标优化的难度。

图7 PLE多目标学习框架

线上效果

在淘宝直播场景线上AB实验,整体收益如下:

  • 核心指标:人均时长+4% ;
  • 互动指标:人均点赞率+5.2%,人均评论率+4.0%,人均关注率+6%,人均分享率+5% ;
  • 成交指标:人均成交提升20%+

目前模型已全量发布,模型在整体时长、互动指标和成交均取得正向收益。

总结&展望

以上是我们对淘宝直播全屏页重排的一个阶段性思考和总结,在淘宝直播这样一个实时互动的场景,实时行为的感知和决策是一个需要长期思考和优化的重点问题,目前随着我们对这个问题不断深入探索,不仅取得了线上效果的提升,也沉淀出了符合直播业务特点的技术思路。

在实时特征上,构建 了用户正负反馈和直播间的实时感知链路;在行为序列建模上,正负反馈序列的对比残差学习实时感知用户喜恶,即时决策推荐结果,提升用户体验;在多目标学习上,引入PLE算法在互动指标上也取得效率的平衡。

大模型优化——重排序模型 重排序是信息检索系统中的一个重要步骤,它发挥着优化检索结果的关键作用。在初始检索阶段,系统根据某种标准(如相似度)返回一组文档。然而,由于初始排序可能并不总是能够准确反映文档与查询的真实相关性,因此需要进行重排序来提升检索结果的质量。不同的重排序方法使用检索模型进行二次检索:一种常见的重排序方法是使用检索模型进行二次检索。在初始检索后,通过利用更复杂的模型,例如基于嵌入的检索模型,可以再次检索相关文档。这有助于更精确地捕捉文档与查询之间的语义关系。 阅读详情

相关推荐

FastGPT部署和接入使用重排模型bge-reranker

BGE-reranker模型是北京智源人工智能研究院(BAAI)推出的一种重排序模型,主要用于优化信息检索系统的性能。该模型在2023年12月推出,是BGE(BAAI General Embedding)系列模型中的一个重要组成部分。BGE-reranker的核心作用是对初步检索出的Top-K文档进行再次排序,以提高检索结果的相关性和精度,这是一种典型的两阶段检索策略。

洛阳泰山的博客 4775

LLM Rerank重排序模型介绍及选型建议

Rerank(重排序)是信息检索流程中的第二阶段,旨在对初步召回的候选文档进行细粒度排序,以提升结果与查询的相关性。其核心是通过语义理解模型对文档与查询的匹配度进行深度评估,超越传统关键词匹配或向量相似度的限制。

学亮编程手记 7826

Vue3多级路由缓存失效的深度解析与实战解决方案

本文深度解析了Vue3项目中多级路由下keep-alive缓存失效的根本原因,并提供了三种实战解决方案:通过路由扁平化根治问题、利用状态管理精细模拟缓存效果,以及借助keep-alive-vue3插件快速修复。文章旨在帮助开发者彻底理解Vue Router与keep-alive的协作机制,从而根据项目情况选择最佳策略,有效解决页面状态丢失的难题。

weixin_29015801的博客 286

将重排模型构建成可以API调用的服务

将重排模型构建成API服务

zhych0828的博客 941

数字图像处理基础实验(二):直方图均衡化

一、实验内容及原理 1、计算灰度图像的归一化直方图 具体内容:利用 OpenCV 对图像像素进行操作,计算归一化直方图.并在 窗口中以图形的方式显示出来 步骤: (1)初始化一个256大小的数组,存放图像中每级灰度值的像素点的个数 (2)遍历整张图像 (3)归一化数组 2、灰度图像直方图均衡处理 具体内容:通过计算归一化直方图,设计算法实现直方图均衡化处理。 步骤: (1)读取该像素点的灰度值 (...

lyd1995的博客 4528

Tina Linux WiFi驱动移植避坑指南:以RTL8733bs为例,详解设备树、Kconfig与固件依赖

本文详细解析了在Tina Linux上移植RTL8733bs WiFi驱动的关键步骤与常见问题,涵盖设备树配置、内核依赖、固件加载及启动时序等核心环节。通过实战案例和排查清单,帮助开发者规避SDIO控制器配置、电源管理、GPIO极性等典型陷阱,确保驱动稳定运行。

weixin_29164185的博客 265

RAG 04:重排序(Re-ranking)技术探讨

重排序(Re-ranking)技术在检索增强生成(Retrieval Augmented Generation,RAG)全流程中起着至关重要的作用。在最原始的 RAG 方法中,可能会检索到大量的上下文,但并非所有上下文都与问题相关。

DEVELOPERAA的博客 1万+

Windows 11安装realtek audio control

Windows 11安装realtek audio control,解决无法链接RPC问题

m0_46144825的博客 8万+

为什么 RAG 一定需要 Rerank?

尽管 Rerank 模型的运行速度较慢,但其在准确性上的优势使其在许多场景中不可或缺。通过两阶段检索系统,我们可以在第一阶段快速筛选出候选文档,然后在第二阶段通过 Rerank 模型进行精细排序,从而在保证效率的同时,显著提升检索结果的质量。这种策略在处理复杂的问答任务和生成任务时尤为重要,因为它能够确保最终返回的文档不仅数量适中,而且相关性更高。

python12345_的博客 945

Unity3d移动端性能优化

以下条目主要针对移动端,大部分也适合PC端 一、Profiler的使用 1.性能优化应贯穿项目开发的全过程,如需求(性能能不能达到要求)、设计、开发、测试等。不能开发结束才优化性能。 2.官方推荐的优化工具是【Window】->【Profiler】 3.确认瓶颈是CPU-bound(Gfx.WaitForCommands)还是CPU-bound(Gfx.WaitForPresent) 4.内存分析使用Memory Profiler 二、内存优作 5.减少内存收集的影...

zouxin_88的专栏 3062

【YOLOv8科研级优化】基于YOLOv9的GELAN模块重构C2f结构,实现精度与效率的同步提升

打开确保模型解析器能识别GELANBlock模块。通过将YOLOv9的GELAN模块集成到YOLOv8的C2f模块中,我们实现了一个“强特征表达+高效计算”的目标检测模型。这个改进不仅在工程上能提升复杂场景下的检测效果,更在科研上提供了“多分支特征融合”的创新思路——这种思路可以延伸到其他检测网络(如Faster R-CNN、SSD)的改进中,帮你在论文中打造独特的研究点。

know_F0727的博客 204

【机器学习&深度学习】向量模型与重排序模型:RAG 的双引擎解析

向量模型 是“广撒网”,帮你找潜在相关文档。 重排序模型 是“精挑细选”,帮你从候选里挑出最相关的。

qq_62223405的博客 2181

【S32K3 MCAL配置】-1.1-GPIO配置及其应用-DIO之高低电平输出-点亮LED灯(基于MCAL)

【S32K3 MCAL配置】-1.1-GPIO配置及其应用-点亮LED灯(基于MCAL)

「汽车电子助手」的博客 1937

【AI大模型】搜索结果太乱?5种重排序模型让你的搜索系统准确率提升40%,看到就是赚到!!

重排序模型作为信息检索领域的关键技术组件,能够有效解决这一问题。该技术通过对初步检索结果进行精确的相关性重新评估和排序,可显著提升搜索结果质量。根据实际部署经验,在企业级搜索系统中应用重排序模型可将搜索相关性指标提升高达40%,同时大幅改善用户满意度。本文将系统性地分析重排序模型的技术原理,深入探讨从传统学习排序方法到基于Transformer架构的前沿解决方案。

2401_85327249的博客 1176

OpenCV 直线的表示与 LineIterator 编程

其中,LineIterator 是 OpenCV 中用于处理直线的一个功能强大的类。然后,我们定义了直线的起点和终点,这里起点是 (50, 50),终点是 (250, 250)。接下来,我们使用 LineIterator 类创建了一个迭代器 line_iterator,用于遍历直线上的像素。在循环中,我们将直线上的像素设置为白色,即将像素的值设置为 255。通过使用 LineIterator,您可以轻松地迭代直线上的像素,并进行相应的处理。它可以帮助我们获取直线上的所有像素,并进行相应的处理。

DevSavantX的博客 504

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

排序

问题背景 说起排序,对排序的认知还停留在召回阶段召回的item经过粗排过滤,剩下较少的item在精排中打分,按epcm或者其他策略挑选出最终要曝光的item。重排是一种考虑到推荐items之间关系和影响的排序模式,常规的推荐系统仅仅考虑<user, item>对的角度,并不会考虑items间作为一个list进行推荐之后的互相影响。 举个例子,排序模型往往都是point-wise的,一个DNN加丰富的user/item/上下文特征预估点击率,在召回的100个item候选集中...

mudan97的博客 749

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

超强指南!推荐算法架构——重排

猜你喜欢 0、快手推荐系统精排模型实践 1、【免费下载】2022年8月份热门报告 2、【实践】小红书推荐中台实践 3、微信视频号实时推荐技术架构分享 4、对比学习在宽狩推荐系统中的应用实践 5、微博推荐算法实践与机器学习平台演进 6、腾讯PCG推荐系统应用实践7、强化学习算法在京东广告序列推荐场景的应用8、飞猪信息流内容推荐探索9、淘宝首页猜你喜欢推荐建模实践10、美团大脑系列之商品知识图谱的构建...

m0_37586850的博客 1428

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

RAG 重排模型:别让第一轮召回决定答案命运

RAG 重排模型负责在候选集中重新排序,避免第一轮召回分数直接决定答案。topK、超时、fallback、trace 和评估指标都要设计好。召回负责捞鱼,重排负责挑鱼。两步都稳,答案才不容易跑偏。

2401_87746054的博客 1083

BGE向量和重排模型架构和训练细节

官方提供了挖掘难负样本的脚本,是从query召回的top2-100中随机抽取,正样本是top1。构造好数据集后,就可以继续做特定任务上的微调了。也可以使用llama_index微调,可以参考我的。

qq_43814415的博客 1万+

重排序模型(Reranker)完全指南

核心定义重排序模型(Reranker)是一种专门用于改善信息检索和排名质量的模型。它接收一个查询和一组候选文档,对每个文档计算与查询的相关性分数,然后按相关性从高到低重新排序。在RAG(检索增强生成)系统中,重排序模型扮演"质量过滤器"的角色,位于初始检索和最终生成阶段之间。为什么叫"重排序"?使用向量相似度或关键词搜索快速找到相关文档重排序模型对这些候选文档进行精细排序。

weixin_69334636的博客 1242

【免费下载】 BAAI bge-reranker-large模型简介:基本概念与特点

随着信息检索技术的发展,如何从海量数据中快速准确地找到相关信息成为一项重要任务。BAAI bge-reranker-large模型作为一款先进的文本重排模型,旨在提升检索系统的准确性和效果。本文将详细介绍BAAI bge-reranker-large模型的基本概念、主要特点及其在信息检索领域的应用价值。 ## 模型的背景 BAAI bge-reranker-large模型是在BAAI公司开发的...

gitblog_02132的博客 1816

推荐系统技术演进趋势:从召回到排序再到重排

这里参考张俊林老师的文章链接 架构介绍 推荐系统架构介绍 召回:缩小可选集 粗排:有时候因为每个用户召回环节返回的物品数量还是太多,怕排序环节速度跟不上,所以可以在召回和精排之间加入一个粗排环节,通过少量用户和物品特征,简单模型,来对召回的结果进行粗略的排序,在保证一定精准的前提下,进一步减少往后传送的物品数量,粗排往往是可选的,可用可不同,跟场景有关。 精排:使用你能想到的任何特征,可以上你能承受速度极限的复杂模型,尽量精准地对物品进行个性化排序。 重排:传统地看,这里往往会上各种技术及业...

sixgold的博客 2442

Advanced RAG 04:重排序(Re-ranking)技术探讨

本文介绍了两种主要的 Re-ranking 方法,并演示了如何将其融入到 RAG 系统中,提高系统性能。分别是:(1) 使用 Re-ranking 模型直接对检索到的文档和 query 之间的相关性进行评分和排序。作者介绍了一些可用的开源和商业 Re-ranking 模型;(2) 利用大语言模型(LLM)对文档和 query 进行深入理解,通过对相关性程度进行排序来实现 Re-ranking 。文中介绍了 RankGPT 这种基于 LLM 的 Re-ranking 方法。

Baihai_IDP的博客 2827

【推荐算法】PRM重排模型:Personalized Re-ranking for Recommendation

阿里巴巴提出的推荐系统的个性化重排模型PRM论文解读解读(personalized re-ranking model)。

长相忆兮长相忆的专栏 1035
上一篇: 微服务容错组件Hystrix设计分析
下一篇: 「MySQL」自定义数据库连接池和开源数据库连接池的使用
JavaMonsterr
博客等级 码龄4年 211粉丝 481原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值