CIKM论文解读 | 淘宝内容化推荐场景下对多场景全域表征的思考与应用

news2024/11/27 20:58:28

ac17ddfd6b9bb87f82d48d0bf1345c54.gif

我们结合逛逛推荐场景中的具体问题,从多场景全域表征的视角进行了一系列的探索与内容推荐场景的应用,从全域表征的范围、信息迁移方式以及模型框架的应用等维度展开我们的优化工作,取得了阶段性的优化经验和业务效果。

adb9cc6ca1787a37f2eef719911613d5.png

背景介绍

淘宝逛逛自2020年底上线以来,一直作为淘宝内容化推荐体系下内容社区营造和种草分享的重要阵地。与商品推荐的区别在于,为了打造"好看, 有趣, 真实, 好物"的价值理念,淘宝逛逛在产品形态和分发体系上呈现出不同维度的"多元"特点,具体体现在:

  1. 多展现形式: 双列内容信息流(视频+图文)、无refer沉浸式视频TAB、带refer上下滑全屏页(视频、图文)等

  2. 多内容主体: 视频、图文、挂载商品

  3. 多用户心智: 内容种草心智、商品导购心智

672a0add7dd4bcc008be075864598358.jpeg

图1. 淘宝逛逛多样化内容推荐场景

这样丰富多元的内容推荐场景在满足用户消费和创作者分享需求的同时,也为我们在复杂多样的推荐场景下进行算法建模带来了巨大挑战。一方面,模型建模需要适配每个场景的数据分布特点;另一方面,不能让各个场景成为"信息孤岛",需要从全域的角度思考如何利用好各场景的数据。因此,自淘宝逛逛上线初期,我们便确立了多场景全域表征这一项目计划,来应对我们面临的场景挑战。

多场景推荐问题是目前推荐系统普遍面临的挑战,涉及广告、营销、商品导购、内容化等多个领域。近三年内,业界许多算法团队都逐渐意识到多场景问题的重要性,并且从业务视角、数据分布、可行性分析等维度阐述与论证了多场景建模的重要性。我们在前期方案调研和数据分析时也得出与之类似的结论。更进一步地,在这些建模必要性的思考基础上,我们重点关注多场景全域表征在淘宝逛逛内容推荐场景下具有的优势:

  1. 提效优势: 相比于淘宝商品域丰富的行为数据,逛逛内容域的数据相对比较稀疏,而逛逛多场景的特点使得数据之间的建模更加割裂。在此背景下,通过多场景全域表征将有助于打通场景数据间的障碍,缓解内容推荐场景的数据稀疏问题,并由此带来业务效率的提升。

  2. 成本优势: 逛逛域内推荐场景较多,为每个场景单独设计和维护一套模型的人力成本和资源开销较大,而多场景全域表征的出发点就是希望能够以统一框架来承载多个场景,这对于成本的节省十分有意义。

  3. 迁移优势: 随着业务的深入发展,逛逛也在逐步新增或者接入一些新的场景,如视频TAB等。同时,除了效率指标,内容推荐场景还需要兼顾用户体验、内容生态、创作者成长等目标的优化。如何能够快速接入新场景,如何能将已有方案快速迁移到其他目标的优化上,考验着我们的方案设计能力。而多场景全域表征无疑在这一问题上具有先天优势。

因此,我们致力于探索一套高效、统一、可迁移的多场景全域表征框架来支持淘宝内容化推荐场景的业务需求,并寄希望于我们对该方向的思考和探索能在其他领域带来一些经验和启发。

9f7bbd259b6cb9367f11d88bde906cb3.png

问题和挑战

基于上述背景和业务诉求,多场景全域表征重点面临以下挑战:

  1. 广度上,如何扩大数据的利用范围

  2. 深度上,如何提升数据的利用率和信息迁移的精细效果

  3. 速度上,如何能让数据迁移快速适配多种场景和多种目标 

0a96abf991ddb3922e6033543e0c9354.png

技术迭代路线

  多场景全域表征的三维评估

我们侧重从以下三个维度来评估和思考多场景全域表征方案的能力:

  1. 全域表征的范围(逐步扩大数据使用范围): 内容域单场景有标签样本→内容域多场景有标签样本→内容域多场景全空间(有标签+无标签)样本→淘宝域多场景(商品+内容)全空间样本

  2. 信息迁移的方式(场景间信息共享和差异化迁移): 样本数据的共享→模型的差异化表征→结构的自适应精细化迁移

  3. 模型框架的扩展(扩展应用到新场景新目标的能力):  对多场景主任务的提效→模型框架在其他场景和任务上的可迁移应用

  方案选型与思考

目前业界已有较多的多场景建模的的优秀工作 ,篇幅原因无法一一列举,我们在前人的基础上学习和探索我们的优化方案以及和业务的适配能力。具体的,结合3.1节我们对多场景全域表征的三维评估,下表列举本文的设计方案和部分其他代表性工作的区别:

多场景方案

全域表征的范围

信息迁移的方式

模型框架的扩展

STAR

有标签样本

网络参数矩阵映射(偏隐式)

未验证

SAR-Net

有标签样本

类MMoE结构(偏隐式)

未验证

HMoE

有标签样本

类MMoE结构(偏隐式)

未验证

AdaSparse

有标签样本

动态权重网络(偏隐式)

未验证

逛逛多场景方案

有标签样本 + 无标签样本

结构的自适应精细化迁移(显式建模)

已验证

  迭代思路和进展

图2展示了我们一年多来在在淘宝逛逛多场景全域表征上的迭代思路和进展,截至目前,我们已经完成了前三阶段的方案设计和线上推全。本文将重点介绍我们在第三阶段的落地工作,第四阶段也将在未来的工作中展开。

6fd26b0410f78509b713704019fde45a.png

图2. 淘宝逛逛多场景全域表征迭代进程

我们已将第三阶段落地方案中的核心优化点提炼成论文,文章已被会议CIKM2022收录
论文标题: Scenario-Adaptive and Self-Supervised Model for Multi-Scenario Personalized Recommendation
论文地址: https://arxiv.org/abs/2208.11457

鉴于我所在的项目组目前主要负责淘宝逛逛推荐链路中召回阶段的优化, 因此先将整体的优化思路在淘宝逛逛所有场景的召回阶段进行模型全量并取得不错效果(实验评估详见“实验分析和线上效果”一节)。本文后续的介绍也主要聚焦在召回模型和召回任务上。我们相信本文提出的优化思路也同样适用于排序等其他链路以及商品推荐等其他推荐场域。

此外,召回作为推荐链路的第一阶段,与排序相比,面对的采样空间、打分方式、优化目标都有其独立的特点和挑战。我们在多场景模型的设计和落地上也进行了对应的适配和优化。我们在前期调研中也发现,目前业界针对多场景问题的建模和落地主要集中在排序模型上,因此们的方案也是目前业界最早在召回阶段进行多场景建模的工作之一

f574d97f2a7244a5653f0c61da448e79.jpeg

核心模型方案

接下来介绍我们的多场景全域表征模型: Scenario-Adaptive and Self-Supervised Model for Multi-Scenario Personalized Recommendation (简称SASS)。SASS模型聚焦3个核心优化点:

  1. 精细化迁移: 网络参数矩阵映射等隐式差异化建模→自适应门控网络的精细化迁移

  2. 全域样本扩展: 全域有标签样本集合→全域有标签和无标签样本集合

  3. 多场景召回模型: 单场景双塔结构→多场景双塔结构

  模型框架: 两阶段训练模式

2cda69c73a836daf5b1662d448a18e16.jpeg

图3. SASS模型框架

图3展示了SASS的模型框架,包含两个阶段:

阶段

任务类型

样本空间

作用

阶段一
预训练任务

场景对比的无监督任务

多场景无标签样本

a. 引入无标签数据,扩展全域样本使用空间
b. 场景和场景之间进行模式匹配和对齐,捕捉场景关系
c. 为第二阶段任务提供预训练embedding和初始化网络参数

阶段二
微调任务

双塔度量的有监督任务

多场景有标签样本

a. 与召回目标对齐,全场景样本和单场景样本的联合训练
b.  微调阶段模型服务线上多场景召回

由于双塔召回模型在user侧和item侧是独立建模并且结构类似,在建模上,除了底层的输入特征不同外,user侧和item侧采用完全相同的网络结构和loss形式。另外底层的embedding layer是全局共享的。为了描述的简洁,本文后续章节以user侧为例展开介绍,item侧结构不再赘述。

  精细化迁移: 多层场景自适应迁移表征网络

1d648a359cb084f1f379187ad59f3c03.jpeg

图4. Multi-Layer Scenario Adaptive Transfer Module (ML-SAT)

图4展示了整个多场景模型框架的核心表征网络Multi-Layer Scenario Adaptive Transfer Module (简称ML-SAT)。对来源于某个场景的样本,经过ML-SAT后,都将得到一个融合全域信息并且具有场景差异化的向量表达。接下来分别介绍其中的核心模块。

  • 全场景共享网络 & 单场景特有网络

如图4(a)所示,每条样本的特征通过共享的embedding layer并进行向量拼接后,会同时经过两个网络结构:

  1. 全场景共享网络ed1d545f9a08fe49049b4855b827f3d7.png(global shared network): 图中蓝色部分网络, 该部分结构为所有场景共享,所有场景的样本都将经过该网络进行训练。因此,全场景共享网络用于建模全域信息的表征结果。

    fa46ef499942c0919d0f07c0a4a0fbb3.png

  2. 单场景特有网络7666c2b11d62fc2a62227f962a859f45.png(scenario specific network):  图中灰色方框部分网络, 每个场景都有各自独立的网络参数,用于建模场景自身的差异化表达。训练和预估时,每条样本只会通过对应场景的特有网络进行表征和训练。

e974904a3dbc3bee9258863c29681b8c.png

  • 场景上下文Bias网络

为了保持训练的统一,我们对所有场景的特征体系进行了统一(共同的特征schema, 部分场景没有的特征用空值填充)。输入特征可以简单划分成两类:

  1. 场景普通特征c9592659b3923864866759922d396692.png: 如用户侧的profile特征、用户行为序列等

  2. 场景特有特征86091b68c345383e9d9009c2b1b1045d.png: 如scenario_id等能明确进行场景识别的特征,以及某些场景独有的特征(比如二跳场景中refer类特征)

场景特有特征对场景具有显著性区分,因此将此类特征12392daca5f804ef98edffdf9f506da7.png单独聚合后通过辅助网络(auxiliary network)进行建模:

bd82c4121a5288cc0dbb6c6b4a686a67.png

辅助网络输出11792932e86e0509a4c9b9e36092e9e2.png将作为场景偏置信息应用于全场景信息迁移(4.2.3节介绍)和最终的场景融合表征(“场景Bias融合模块”节介绍)。

  • 场景自适应门控单元

多场景建模存在这样的矛盾: 单场景数据符合场景自身分布但存在数据稀疏问题,多场景混合数据信息丰富但存在噪声。如何取长补短,在既不严重破坏原始场景的数据分布的情况下,能够从丰富的全域表征中精细化地获取有效的迁移信息, 成为了我们的方案设计的思考重点。因此,我们在全场景共享网络(global shared network)和单场景特有网络(scenario specific network)之间构建起信息迁移的桥梁,并设计场景自适应门控单元(scenario adaptive gate unit)来自适应并且精细化地控制全场景信息到单场景信息的信息迁移量以及迁移信息和原始信息的融合方式,门控结构如图4(b)所示。

b9ca66344bc4f873726c013db76575a2.png

场景自适应门控单元(scenario adaptive gate unit)内部主要包含两个门控结构: adaptive gate263a3bb7650d4ad697f1a85f9b237ec8.png和update gate3b385efcd16f2ef4e5eeb320780f45e9.png。具体地,d42707f19ecb18a43a0886bd34478802.png用来控制有多少信息量可以从全场景建模迁移到单场景上;5088ab6c78ba5eac1900e8fc6aa9101c.png控制了迁移过来的信息和本场景原始信息的融合方式。我们将此场景自适应门控单元并列堆叠多层,从而进行逐层级精细化的信息迁移和融合:

299c3c7cb66c7738110faa86bcf8a387.png

此外,在论文发表后,我们对该结构进行了更进一步的优化。核心思路是通过两个方向信息的随机1d6d1edf8ae51afc902482e3ff9b1870.pngd42fde82a1ddcf971956a25403355020.png操作来驱动信息发生定向流动。这样的结构设计一方面可以防止整个迁移结构失活,另一方面全场景侧信息的随机dropout也可以增大训练难度,避免全场景信息对单场景的过度主导。经优化后,新的场景自适应门控单元结构如图5所示。

7207bc696ec766870212eec308e34723.png

图5. 场景自适应门控单元(新版)

  • 场景Bias融合模块

如图4(c)所示,经过多层场景自适应门控单元(scenario adaptive gate unit)融合后的表征向量0d95b05bf93dd507ce2469a3e37d2195.png,与该场景的bias表征028364249daab59b8a5c34239f32722b.png进行上层融合,最终得到该条样本在对应场景的向量表达29fe1e50a42b6a5f0776ef36315adc96.png:

80ef8628fd0c640a49f08f6ee495e704.png

  全域样本扩展: 场景对比学习的无监督预训练

介绍完模型的核心表征网络ML-SAT,接下来介绍基于ML-SAT构建的第一阶段预训练任务。如“迭代思路和进展”章节所述,多场景全域表征下一阶段的规划发展是从有标签全域样本扩展到无标签全域样本。受对比学习在深度学习领域的应用启发,我们将对比学习训练范式和多场景问题下场景之间的关联建模进行了概念上的类比,如图6所示。

从用户的视角看,推荐系统进行信息迁移的本质前提,是假设用户在不同场景下具有兴趣心智的相似性或者关联性。比如某个美妆爱好者在首猜点击了某款口红商品,也会对逛逛内口红评测内容感兴趣;某个用户在淘宝下单了一个运动滑板,那么也很可能会点击逛逛内滑板教学甚至飞盘等其他户外运动主题的视频...... 然而用户在不同场景下的行为模式显然是存在差异的。这种刻画同一用户在不同场景视角下的兴趣相似性或者相关性的推荐诉求,跟对比学习的建模思路不谋而合。因此,我们将用户在不同场景下的行为表现(不同场景下的行为特征数据)视作一种对比学习概念下的数据增强方式,并通过表征网络(在本文中即是ML-SAT网络)得到同一用户在两个不同场景的表征,然后用对比学习的度量loss进行两个向量表征上的对齐,从而实现场景和场景之间进行模式匹配和对齐。

9a9a8a8fdccb8894e9b55c9e742a0084.jpeg

图6. 对比学习范式在场景对比建模上的类比

具体地,假设用户访问了c8aec40863736d8476fffa47ae96a5b7.png个场景, 我们通过两两组合的形式得到该用户的bc54a89fba1e6229fcca640334128d58.png条场景pair对样本(如图7所示)。然后分场景抽取用户在对应场景下的样本特征,具体包括:

  1. 用户profile特征f3b9ccf37bd3ebe6c199f4cb6cec1d5f.png: 性别、年龄、职业等

  2. 用户在场景下交互特征6e3004e48b1b3a133d99d2d03633134d.png: 在对应场景下的行为序列以及在场景下的类目偏好、账号偏好等场景交叉统计特征

  3. 对应场景的属性特征8ea260f1da906002effe4c2b2f9b3a87.png,如scenario_id等

546e6d84deab8f8bbfef45f811671753.jpeg

图7. 场景对比学习样本拆分方式(场景数>2)

如图4(a)所示,获得用户在对应场景的特征后,通过“精细化迁移: 多层场景自适应迁移表征网络”章节介绍的235012c0ddf725cc4c121942d274be10.png表征网络,得到用户在对应场景的表征向量。最后通过对比学习loss进行任务训练。假设一个用户的场景样本pair对得到向量表征ebca3b213f5d4e4b6cb2e75d301e5bf4.png后,对应的loss如下所示:

ff1768a5b715296a6372bccc5a3924e6.png

则一个batch内(batch_size=4fbf16712e374012b7b0c977dfd3c15b.png)的训练loss为:

b0f6b7e033d91a763357ed45ef9f7043.png

item侧的建模思路和训练方式与user侧类似,在此不再赘述。需要强调的是,第一阶段的预训练任务刻画了场景之间的对比关系,并且整个任务是在无标签的样本集合上进行训练。通过这样的方式将全域样本的覆盖范围扩展到了无标签数据空间。

  多场景召回: 全域和单场景样本联合微调训练

a8295ecdf2ea9c62bd846e02e00223ef.jpeg

图8. SASS模型第二阶段微调任务和输出向量

第二阶段的微调任务是一个跟召回主任务对齐的双塔模型,如图8所示。其中第二阶段的核心网络模块与第一阶段保持一致并且会restore第一阶段模型的embedding layer和上层网络参数,从而实现两个阶段模型参数上的迁移。

微调任务的训练: 我们将用户有点击的内容作为正样本,然后在候选空间随机采样构造负样本,得到6787b4a30475c64af1b10053aa87d2a6.png的三元组形式。因此是一个有监督的预训练任务,具体操作跟传统双塔召回模型比较类似,此处不再展开,重点介绍训练方式。

单条样本的user侧特征和item侧特征经过ML-SAT表征网络后可以得到场景对应的表征向量,在此基础上采用pairwise loss进行训练:

26871452012ea11b570bff1820cce2ab.png

上述loss采用单场景自身样本,因此可以较好拟合场景自身分布。同时,我们抽取图user侧和item侧的ML-SAT网络中全场景共享网络(global shared network)最后一层输出,用来表征通过全域样本训练得到的表征结果 ,并将此输出作为辅助任务进行训练:

60ddfb3b2f2f85f88080b6faaab06e05.png

最终第二阶段的任务为单场景自身双塔召回任务和全域样本双塔召回任务的联合训练,训练loss表示为:

163efdff630246ca796483863b011638.png

  模型部署与在线预估

模型部署和预估则体现了我们规划的一个模型服务线上所有场景的目标。部署方式如图9所示。我们取第二阶段微调任务的模型,基于集团BE O2O检索架构进行线上部署,每个场景的数据将对应的单场景特有网络(scenario specific network)的输出用于线上预估(全场景共享网络的输出仅用于模型训练)。其中全量item侧候选集合通过item侧场景特有网络生成表征向量后进行索引构造;user侧向量在线预估后进行ANN检索返回top-k结果给后链路任务。

fea16b5020745fa4e287ba0e70ca3711.png

图9. SASS模型部署与在线预估

c3e556f7df89d3bfe3582537ccb59a3b.jpeg

实验分析和线上效果

  方法对比

我们在公开数据集和淘宝逛逛的生产数据集进行了效果的离线验证,对比了目前业界主流的多场景模型方案,评估效果如下表所示:

6be4cc137478b3686d5fa52610533a01.jpeg

  消融实验

同时对该模型进行了一系列的消融实验分析,重点分析解答以下几方面问题:

  1. 场景自适应gate相比其他迁移结构的效果?

  2. item侧向量分场景表征和单一向量表征的效果?

  3. 场景对比的预训练任务相比其他预训练任务的效果?

  4. scenario bias网络以及全域样本联合微调辅助任务等子结构对效果的影响?

0c15f7c7203e1fe691f6b749d2dffda0.jpeg

▐  线上效果

基于SASS模型的多场景全域表征召回模型目前已在淘宝逛逛的所有5个核心场景(视频双列流、视频全屏页、视频TAB、图文双列流、图文全屏页)完成了全量上线并在所有场景都取得不错收益,上线至今, 多场景全域表征召回模型一直作为各场景最主要的召回模型之一,从实际效果上实现了一个模型服务线上所有场景的目标。

7bbacd3f3f75a93ec169dd6e09c186a3.jpeg

模型的扩展与应用

回到“多场景全域表征的评估”章节对多场景全域表征的三个评估维度,从模型框架的迁移应用能力上看,我们期望多场景全域表征的模型框架不单能解决特定领域下特定目标的多场景建模问题,而是思考和探索这种多维度的信息迁移思路能够用于解决一大类"特征体系相似但数据分布存在差异"多领域分布的建模问题。因此,在完成多场景全域表征召回模型在主链路核心目标的推全和优化后,我们进一步的探索这一套框架在其他领域和目标上的扩展应用能力,思考是否能更深入的结合逛逛内容推荐的特点来解决其他业务问题。其中的核心思路是对"场景"的理解。接下来列举部分我们在逛逛场景下已经取得效果并且在持续探索的扩展应用。

  短视频消费时长优化

短视频消费时长是内容化推荐场景的核心优化目标之一。传统的优化思路包括在排序模型中将时长作为单独目标进行建模,或者建模视频完播、视频下滑等子任务来提升最终时长; 在样本层面也常采用loss加权、采样策略调整等方式来根据消费时长刻画视频样本的重要性。其中一个难点在于如何在优化时长的同时解决视频本身长度带来的bias问题, 过去一年许多其他方案都实践过通过时长分段和预测时长分位点的方式来消除视频长度偏置。

63544dca892a964f3ad6e220e7e579ef.png

图10. 多场景时长消偏和建模思路

我们结合多场景建模从另一个角度应对这个问题: 根据视频长度将样本划分为多个数据集合,将每个数据集视作一个场景(特征体系一致、信息重叠、分布不同),然后采用多场景全域表征框架进行建模。这样单个场景内视频时长偏置小,可以建模更细粒度的场景差异,同时由于是联合建模并且存在全域信息迁移,可以减弱由于数据划分造成的数据稀疏问题。此外,由于整个模型底层embedding是共享的,增加的参数量主要集中在上面的浅层网络,因此并不会带来太大的资源和性能开销。

  商品域和内容域跨域建模

淘宝逛逛作为淘宝核心的内容分发场景之一,承担着串联起用户消费端和内容供给端的商品种草心智和内容社区心智的重要使命。从技术视角看,本质是在商品域和内容域两个数据领域建立信息关联和刻画差异。因此,如何将丰富的商品域信息迁移到内容域,一直是我们的核心工作思路之一。问题的难点在于,相比域逛逛域内的内容的多场景迁移,商品域和内容域之间在数据覆盖(用户覆盖、供给覆盖)、用户心智(商品消费心智 vs. 内容消遣心智)、特征体系(商品特征体系 vs. 内容特征体系)方面均存在巨大差异。结合多场景全域表征模型思路,我们从多场景迁移的角度分两步进行淘宝商品域和逛逛内容域跨域建模:

  • 场景样本迁移

我们与淘宝首猜短视频团队合作,引入首猜短视频更偏导购心智的内容数据,并且通过逛逛可分发候选池过滤、逛逛推荐链路召回进粗排候选样本过滤等策略进行样本清洗和筛选。然后,我们将首猜短视频数据视作一个新的场景,引入到多场景全域表征模型中进行联合建模,来提升逛逛域内的表征效果。

  • 商品信息和内容信息表征迁移

淘宝的视频内容有个重要特点: 很多内容会挂载商品,这为建立商品和内容关联提供了先天条件。针对商品和内容本身特征异构的难点,我们对原模型框架进行了进一步的升级,将用户特征和内容特征分成商品相关特征和内容相关特征,拆分开后单独建模。然后结合两种思路来实现跨域信息迁移: a. 商品和挂载商品进行多场景全域迁移表征,本质是商品自身相同体系的信息迁移,然后通过挂载关系关联内容,实现商品-商品-内容的关联;b. 同一个用户或者同一个内容,将它们的商品表征和内容表征通过对比学习辅助任务进行空间对齐,直接实现商品和内容的领域适应(domain adaption)。图10展示了内容侧的建模思路,用户侧结构与此类似。两种思路全部内嵌到多场景全域表征模型中进行端到端训练,从而实现商品域和内容域跨域建模。

f3dc5875423a5b01bada664b71385873.png

图11. 商品和内容表征迁移和对比度量

此外, 我们也在规划和实践更直接的利用淘宝商品数据进行跨域建模的方案,目前已经完成通过引入用户全网商品行为序列并和内容行为序列跨行为建模的方式进行序列特征维度的迁移。而直接引入商品样本存在商品样本太大、联合训练成本高的难点问题,目前也有规划的方案在实践中,这也是3.3节提到的我们针对多场景全域表征学习第四阶段的优化重点,限于篇幅原因,本文暂不进一步展开。


  • 内容冷启动问题

和商品不同,短视频内容投放存在时效性高、汰换速度快的特点。进一步的,淘宝内容推荐相比商品存在更加严重的冷启动问题和扩量的紧迫性,主要体现在:

  1. 样本更加稀疏: 淘宝内容的曝光量和渗透率,相比商品仍存在较大差距

  2. 创作者激励: 发布内容是否能快速起量将影响创作者的创作热情

  3. 时效性强: 类似节日这种相关的视频对分发和爆发的时效性要求更高

针对上述难点,我们将多场景全域表征模型应用到逛逛冷启助推链路,用于提升对新内容的推荐能力。具体地,我们将发布3天内的内容对应的样本单独抽出作为一个新场景,其他主场景不变,然后基于多场景全域表征模型进行训练实现老内容向新内容的信息迁移。线上采用此场景对应网络的输出进行召回。与只使用冷启链路的样本或者冷启+主链路样本直接混合训练的方式相比,多场景全域表征模型既实现了信息的共享和迁移,又缓解了模型被老内容主导的问题。

  互动多目标与账号成长

淘宝逛逛既是内容分发场,同时也是创作者进行人设打造和达人发展的成长营。因此需要分账号层级、分转化目标进行建模和分发,其中不可避免地涉及到对特定层级对应内容或者基于特定互动目标(点头像、关注等)进行优化。因此,我们扩展多场景全域表征模型在互动多目标与账号成长目标上重点进行了以下两项应用:

  • 优质账号内容成长扩量

根据逛逛创作者账号优质和潜力分层圈定优质且具有潜力的账号,将对应账号内容覆盖样本集合作为新场景,其他场景不变。然后基于多场景全域表征模型进行训练和线上召回,充分捕捉这批账号的分发特点。

  • 账号人设与点头像关注

我们进一步引申对"场景"的理解。前面叙述的场景主要是基于产品形式或者业务标准进行定义和划分。更进一步地,我们是否可以把"多场景"和"多目标"进行结合,将特定目标对应的样本集合视作一个新场景,在此基础上进行多场景全域表征建模,从而提升特定目标(比如点头像、关注等互动目标)。当然,这一类比过于宽泛,毕竟多场景和多目标仍存在一些建模上的本质区别,但这种多场景的迁移思路是可以借鉴的。因此,我们针对互动多目标中的点头像率优化这一问题,将样本量较大的点击完播等样本集合和点头像样本集合视作不同场景,并通过和多场景全域表征框架相似但有适配调整的模型来提升点头像率,其他互动目标也可依照此思路进行建模。

9c24c0d7f0ba37babb0dbab2e5829dc6.png

图12. 淘宝逛逛基于场景迁移的点头像模型方案

c1b37c893cd325558fbe2b0ec14fa32f.jpeg

总结与展望

我们结合逛逛推荐场景中的具体问题,从多场景全域表征的视角进行了一系列的探索与内容推荐场景的应用,从全域表征的范围、信息迁移方式以及模型框架的应用等维度展开我们的优化工作,取得了阶段性的优化经验和业务效果。然而,多场景全域表征是一个比较庞大的技术体系,而我们在工作中的具体实践也随着淘宝内容化推荐需求的扩展以及优化目标的深入,面临着更多的挑战。未来,我们的持续优化工作主要集中在以下方面:

  1. 纵向-技术深度的突破: 借助淘宝多样化的场景和丰富数据,不断提升多场景全域表征模型的基础能力。一方面,下一阶段重点从商品域和内容域的跨域表征方向探索,实现更大范围的全域表征;另一方面,继续强调信息迁移的精细化建模和可解释性,让模型建模和实际业务有跟紧密的联系。

  2. 横向-应用场景和应用目标的扩展: 通过基础模型的完善,以及在此框架基础上对实际业务问题的适配,让我们的方案能够更快速的完成未来新场景的接入和在其他互动等多目标问题上的扩展应用。

f02958b0ce58911bf90d1ac05abf13ef.jpeg

团队介绍

我们来自淘宝逛逛算法团队,逛逛是淘宝重要的内容化场景,团队优势有:

  1. 业务空间大、基础设施完善:场景海量反馈,在工程团队的支持下,算法工程师可以轻松上线大规模模型,分钟级更新,更加注重算法本身。

  2. 团队氛围好、研究与落地深度结合:团队不仅仅解决业务算法问题,还会紧跟学术领域进展。也欢迎有实习想法的同学加入,由资深师兄根据同学优势与兴趣定义好业务问题,辅导研究,给每位同学都有充分的成长空间。

人才需求:有机器学习、深度学习有一定理解,对内容分发和内容理解感兴趣,可以发邮件到邮箱mingyi.ff@alibaba-inc.com或者jinxin.hjx@alibaba-inc.com

¤ 拓展阅读 ¤

3DXR技术 | 终端技术 | 音视频技术

服务端技术 | 技术质量 | 数据算法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/474745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙混合打包。在现有安卓应用的基础上扩展鸿蒙的特性,以最快的速度布局鸿蒙生态!

鸿蒙混合打包 介绍 鸿蒙混合打包。在现有安卓应用的基础上扩展鸿蒙的特性,以最快的速度布局鸿蒙生态! 参考:京东APP鸿蒙版上架实践。本项目只是这篇文章的一个验证,让更多的兄弟们可以少走弯路。 我尽可能把每一步的改动作为一…

【HarmonyOS】【JS】Tabs如何设置区分TabBar和TabContent的分割线不显示

【关键字】 Tabs,分割线 【问题描述】 使用JS开发HarmonyOS应用时,使用Tabs组件,默认自带TabBar和TabContent的蓝色分割线,由于蓝色分割线样式不可设置,若不想要此蓝色分割线,如何去除蓝色分割线&#xf…

搭建外网minecraft服务器方案

很多minecraft服务器主都想自己搭建一个外网可以访问的minecraft服务器,在没有外网IP的情况下,一般都是使用Logmein Hamachi方案。这种方案有它的弊端,需要客户机安装Hamachi,十分不方便。另外,免费版只支持5人&#x…

C++三大特性—继承 “基类与派生类之间的类型转换与赋值转换”

理解基类与派生类之间的类型转换是理解C语言面向对象编程的关键所在 继承 通过继承联系在一起的类构成一种层次关系,层次关系的根部有一个基类,其他直接或间接从基类继承而来,称为派生类。    继承(inheritance)机制是面向对象程序设计使代…

Spring RabbitMQ 实现消息队列延迟

1.概述 要实现RabbitMQ的消息队列延迟功能,一般采用官方提供的 rabbitmq_delayed_message_exchange插件。但RabbitMQ版本必须是3.5.8以上才支持该插件,否则得用其死信队列功能。 2.安装RabbitMQ延迟插件 检查插件 使用rabbitmq-plugins list命令用于查看…

C++引用进阶篇:让你的程序更加高效、安全、简洁

文章目录 前言1. 引用和临时数据🍑 什么样的临时数据会放到寄存器中🍑 关于常量表达式🍑 引用也不能指代临时数据🍑 引用作为函数参数 2. 为const引用创建临时变量3. const引用与转换类型🍑 引用类型的函数形参请尽可能…

SPFA 算法:实现原理及其应用

文章目录 一、前言二、SPFA 算法1、SPFA算法的基本流程2、代码详解 三、SPFA 算法已死 ? 一、前言 SPFA算法,全称为Shortest Path Faster Algorithm,是求解单源最短路径问题的一种常用算法,它可以处理有向图或者无向图&#xff0…

PySide2 QWebEngine与Web js交互

文章目录 单向交互双向传值案例 单向交互 QWebEngineView加载web页面&#xff0c;web页面中点击按钮&#xff0c;执行js代码&#xff0c;js的返回值传给QWebEnginePage&#xff0c;使用python进行保存结果。 单向&#xff0c;js向python(PySide2)端传输数据。 前端实现 <…

前端web3入门脚本三:一键完成与dex的交互,羊毛党必备

前言 该脚本用途&#xff1a;一键可以完成与dex的所有交互&#xff0c;包括2次swap&#xff0c;添加/移除流动性&#xff0c;以及farm和提取LP。一次运行可以有6条交易记录。 无论是个人单刷还是羊毛党批量地址刷交互都完美适配。当然反女巫方案不在这次文章的讨论范围内。 一、…

javascript中find(), filter(), some(), every(), map()等方法介绍

1、find() find() 用于找出第一个符合条件的数组成员。它的参数是一个回调函数&#xff0c;所有数组成员依次执行该回调函数&#xff0c;直到找出第一个返回值为true的成员&#xff0c;然后返回该成员。如果没有符合条件的成员&#xff0c;则返回undefined。 find()方法的回调…

利用Matab进行覆盖计算----战术计算

在 contour函数中添加如下代码 %------- 计算畅通区面积和占比例 --------% Spi*maxrange*maxrange/1e6; S0 nnz(isInRange)*reslons*reslats/1e6;isnn ~isnan(cdata); cdata0 cdata(isnn); S1numel(cdata0)*reslons*reslats/1e6;AS1/S0; % 畅通区所占比例; fprintf("…

CLion开发工具 | 06 - 使用CLion开发STM32(无需Cmake)

专栏介绍 文章目录 专栏介绍一、准备工作1. 工具准备2. 裸机工程准备二、使用CLion打开工程三、基于CLion写代码1. LED blink代码2. printf重定位代码四、编译工程1. 编译配置2. 选择编译目标3. 编译五、烧录1. OpenOCD基础知识(了解)2. 设置CLion路径3. 新建CLion配置文件4.…

面试总结,4年经验

小伙伴你好&#xff0c;我是田哥。 本文内容是一位星球朋友昨天面试遇到的问题&#xff0c;我把核心的问题整理出来了。 1&#xff1a;Java 层面的锁有用过吗&#xff1f;除了分布式锁以外 是的&#xff0c;Java中提供了多种锁机制来保证并发访问数据的安全性和一致性。常见的J…

分析GC日志解读

目录 GC分类 GC日志分类 GC日志结构剖析 透过日志看垃圾收集器 透过日志看GC原因 GC日志分析工具 GC分类 针对HotSpot VM的实现&#xff0c;它里面的GC按照回收区域又分为两大种类型&#xff1a;一种是部分收集&#xff08;Partial GC&#xff09;&#xff0c;一种是整堆…

VPN 虚拟专用网络隧道

1 什么是VPN VPN(全称&#xff1a;Virtual Private Network)虚拟专用网络&#xff0c;是依靠ISP和其他的NSP&#xff0c;在公共网络中建立专用的数据通信的网络技术&#xff0c;可以为企业之间或者个人与企业之间提供安全的数据传输隧道服务。在VPN中任意两点之间的链接并没有…

从零开始学习Linux运维,成为IT领域翘楚(二)

文章目录 &#x1f525;Linux系统目录结构&#x1f525;Linux用户和用户组&#x1f525;Linux用户管理 &#x1f525;Linux系统目录结构 文件系统组织结构 ⭐ /lib 系统开机所需要最基本的动态链接共享库&#xff0c;其作用类似于Windows里的DLL文件。 几乎所有的应用程序都需…

PACS系统源码,大型医院PACS源码集成三维重建

PACS系统为医院提供包括放射、超声、核医学、病理、内窥镜、心电图室在内的所有影像检查数字化的一体化解决方案。 它涵盖了传统PACS和RIS系统的所有功能&#xff0c;以构建全数字化影像科为目标&#xff0c;致力于实现对医院所有影像数据的统一管理、影像检查工作流的自动化&a…

POJ3704 括号匹配问题 递归方法

目录 题目 算法 完整代码 题目 参考 递归: https://blog.csdn.net/qq_45272251/article/details/103257953 利用了递归, 但思路稍复杂了 循环: https://blog.csdn.net/weixin_50340097/article/details/114579805 (看起来是递归其实是循环. 每次递归其实是循环内一次迭…

牛客网Python入门103题练习|【07--循环语句(2)】

⭐NP55 2的次方数 描述 在Python中&#xff0c; * 代表乘法运算&#xff0c; ** 代表次方运算。 请创建一个空列表my_list&#xff0c;使用for循环、range()函数和append()函数令列表my_list包含底数2的 [1, 10] 次方&#xff0c;再使用一个 for 循环将这些次方数都打印出来…

【Linux问题合集001】Linux中如何将用户添加到sudo组中的步骤

看教程的前提我的linux当前用户是zhou&#xff0c;看以下步骤时将zhou看做你的liunx当前用户就行了&#xff1a; 一、 以root用户登录到系统。 在Linux系统中&#xff0c;root用户是具有完全系统管理权限的超级用户。要以root用户身份登录到系统&#xff0c;您可>以使用以下…