一、整体概述
2024年得物算法团队基于交易搜索的场景特点与数据现状,围绕“多场景建模”开展了一系列工作,取得了较大幅度的在线业务指标提升;同时我们利用碎片时间将积累的技术经验形成相应的论文,成功被搜索推荐/数据挖掘领域顶级会议WWW'2025(CCF-A)、DASFAA'2025(CCF-B)录用。三篇文章具体信息如下:
(1)WWW'2025(industry track长文):Disentangling Scenario-wise Interest Network for Multi-scenario Recommendation. (录用率仅为:22.4% (63/281))
(2)DASFAA'2025(research track长文oral):Towards Scenario-adaptive User Behavior Modeling for Multi-scenario Recommendation. (录用率仅为:20.7% (137 / 662))
(3)DASFAA'2025(industry track长文oral):When Multi-scenario Meets Multi-attribute: Scenario and Attribute-aware Recommendation with Contrastive Learning. (录用率为:41.7% (15 / 36))
下面详细介绍下这三项工作的具体内容。
二、背景介绍
近年来,线上购物平台在用户日常生活中扮演着越来越重要的角色。为了满足用户多样化的购物需求,当前大多电商App往往会集成多种购物场景(首页瀑布流、详情页、订单页等等),为不同用户提供量身定制的购物服务。随之而来,多场景学习(Multi-scenario Learning,MSL)在电商平台的搜索推荐系统中也取得了蓬勃发展。下面我们从得物App整体和得物App搜索两个角度出发,深入分析不同场景的特性。
得物App整体多场景
以得物App整体为例,图1展示了其几种常见场景:
(1)首页瀑布流:用户一访问应用就能在首页上看到推荐的商品。该场景根据用户的历史行为偏好展示吸引用户的多种类型的商品。
(2)购物车页面或订单页面:该场景在用户将某些特定商品加入购物车或购买后向其推荐商品,推荐的商品更多取决于用户过去的购买记录。
图1. 得物App整体多场景示例图
显然这些典型场景彼此之间的差异很大。不同场景下用户的行为和兴趣(例如,用户对特定品牌、价格或类别的偏好)也存在很大差异。具体来说,首页瀑布流上的用户兴趣比购物车页面或订单页面更加发散,因为后两个场景中展示的商品更多受到用户历史加购和下单行为的限制。比如首页上的人往往有多样化的兴趣(用户喜欢浏览更多类别和品牌的商品,它们的价格选择范围更广);相反,用户在订单页里可能会表现出更具体和集中的偏好。如果用户最近在订单页面购买了一部新手机,他可能接下来会更关注手机壳和耳机等电子设备。用户行为也会受到他们所购买过的商品引导。
得物App搜索多场景
以得物App搜索为例,我们从用户搜索流量来源角度出发进行场景划分,图2展示了其对应的场景。
图2. 得物App搜索多场景示例图
通过对不同Query来源的用户数据进行分析后我们发现用户在不同来源下的价格、类目和品牌偏好存在较为显著的差异。因此我们考虑将不同Query来源作为场景化信息,并在CTR预估任务中引入多场景学习做精细化建模。
主要问题
我们可以归纳出得物搜索多场景建模需要解决的两个主要问题:
(1)用户行为兴趣(价格、类目、品牌等偏好)在不同场景下的差异如何进行有效刻画?
(2)在搜索推荐领域用户行为序列建模通常是对用户兴趣表达最为有效的手段,我们该如何将场景化信息优雅地融入到行为序列建模当中以实现最有效的多场景兴趣建模?
三、整体优化思路
SACN:针对问题(1),我们考虑既然用户在不同场景下对价格、类目和品牌等商品属性存在显式的偏好差异,而以往的用户行为序列建模通用做法也引入了商品多属性作为side info来丰富用户的兴趣表达,那么我们能否将多场景的先验信息和多属性序列建模进行深入结合,达到解决问题的目的?基于此,我们提出在多场景建模下引入多属性信息去刻画用户在特定场景下的多粒度画像偏好,同时更好辅助刻画不同场景下的用户兴趣差异。我们在DASFAA'2025(industry track)提出了Scenario and Attribute-aware Contrastive Network(SACN),它首次将多场景建模和用户行为序列多属性建模结合,构造两种不同粒度的用户兴趣偏好提取组件,即Item-level Preference Extracting (IPE)和Attribute-level Preference Extracting (APE),并结合对比学习对用户在不同目标场景(target scenario)下的兴趣进行区分。
SACN虽然对问题(1)进行了一定程度优化,但它和其他工业界通用的多场景建模方法(PEPNet、SAR-Net等)类似,仅仅考虑了目标场景(target scenario)信息。而没有对用户的历史行为来源于哪个场景做区分,即它们均未对问题(2)进行过深入讨论和优化。从我们过往的用户行为序列建模迭代经验中得到启发,我们遵循如下两个优化思路,考虑在行为序列中引入丰富的场景化信息。
-
思路1:把用户每一次历史行为所属场景来源作为和商品属性类似的side info加入到序列中;
-
思路2:参考序列建模SIM的方式,把用户的历史行为按照所属场景来源进行分组,对用户兴趣进行更精确表达;
SAINet:SAINet沿着思路1展开优化。我们在DASFAA'2025(research track)中提出Scenario-adaptive Interest Network(SAINet),SAINet首先堆叠了多个由Scenario-aware Interest Extracting (SIE) 和Scenario Tailoring Module (STM) 组成的Scenario-adaptive Block。SIE 自适应地将场景上下文(类似于行为序列中每一个商品的属性信息方式)融入到用户行为序列,以更精确地捕捉用户的兴趣差异。通过堆叠的方式实现深度网络,增强了模型对场景间差异建模的能力。
DSWIN:DSWIN沿着思路2展开优化。受序列建模SIM方法的启发(即按照类目过滤筛选与目标商品类目相关的历史序列),我们按照场景对用户行为序列进行划分,更有效地提取与目标场景相关的兴趣偏好。DSWIN提出了Global Interest Aggregation(GIA)和Local Interest Resolution(LIR)模块分别建模用户全局的兴趣偏好和用户场景内的兴趣偏好。最后引入Interest Disentangling Module将场景的兴趣差异进行显式解分离。
四、相关工作
传统方法通常使用场景特定的数据为每个场景训练单独的模型。然而,这种孤立的模型训练方法通常需要更复杂的计算和维护成本。此外,单独的模型无法捕捉场景之间的相互关系。目前,最先进的模型通常使用所有场景的合并数据训练统一模型,以学习场景之间的共性和特定特征。目前有两种主流的多场景建模方法:
Scenario-specific network structures
Scenario-specific network structures受到多任务学习 (MTL)的启发。这些方法针对每个场景应用特定网络,并输出多个场景特定CTR分数,即把每个场景当作一个任务建模,然后沿用多任务建模思路构造模型。MoE提出根据共享底部输入选择子专家。MMoE通过在所有任务之间共享子网络来调整MoE结构,同时训练轻量级门控网络以优化每个任务。然而,MMoE 存在跷跷板现象(即某一任务的效果提升通常会导致其他任务的效果下降)。为了解决这个问题,PLE明确提出共享专家和任务特定专家,并采用渐进式路由机制逐步提取和分离更深层的语义知识,从而在一般设置中提高跨任务联合表示学习和信息传递的效率。HMoE利用MMoE隐式识别场景之间的差别和共同点。然而,由于多场景数据集很复杂,HMoE很难明确捕获共享和特定信息。考虑到这一点,SAML引入了场景感知Embedding模块来学习全局和场景特定视角下的特征表征,并提出了一个交互单元来学习场景之间的相似性。AESM2提出了一种新颖的专家网络结构,通过计算 KL散度自动选择最合适的共享和特定专家网络。
然而Scenario-specific network structures在模型底层表征Embedding上忽略了场景之间的差异,它们都是由很重的网络结构组成也不利于实际上线,因此Parameter adaptive network structures这种轻量结构的多场景模型是目前业界的主流。
Parameter adaptive network structures
受语音识别领域提出的 LHUC算法算法的影响,这些方法提出将场景上下文信息作为输入,通过门机制动态调整模型底层Embedding和顶层DNN隐藏单元,以学习场景多样性。AdaSparse为每个场景学习自适应稀疏结构,增强跨域泛化能力。SASS设计了一个场景自适应传输模块,将有用信息从整个场景注入到单个场景。DFFM将场景相关信息纳入特征交互和用户行为模块的参数中。3MN提出了一种基于三元网络的新颖方法来建模复杂的任务-任务、场景-场景和任务-场景相互关系。PEPNet将场景相关特征作为输入,并通过门机制动态缩放底层嵌入和顶层DNN隐藏单元。SFPNet包含一系列称为场景定制模块,通过重新定义基本输入特征并在粗粒度级别上集成场景信息。
然而这些方法都将用户的整个历史行为序列视为一个整体,无法区分行为序列中的每个行为交互来自哪个场景。如图 3 (a) 所示,粗粒度的权重调整方法(例如 PEPNet)对从历史行为聚合而成的表征向量统一施加相同的权重。图3 (b) 中的 SAR-Net尝试在通过目标注意机制计算序列中每个行为的权重时融合目标场景信息。但它们均无法区分行为序列中每个行为的所属场景。而正如背景介绍的,不同场景下的用户行为差异很大,这不可避免地会降低CTR模型的准确性。
图3. PEPNet和SAR-Net中的场景信息利用示意图
五、SACN:When Multi-scenario Meets Multi-attribute: Scenario and Attribute-aware Recommendationwith Contrastive Learning
整体结构
SACN模型结构如图4所示。
图4. SACN示意图
问题定义
令
分别表示用户集合、商品集合、商品ID集合、第j类商品属性集合和场景集合。
表示用户
按时间顺序排列的历史行为序列,其中
是用户交互序列中的第i个商品,N是序列的最大长度。假设我们有m种商品属性,则
,其中
是第i个交互商品的ID,
表示第i个交互商品的第j种属性。给定目标商品
, 目标场景
及交互历史
,多场景建模的目标是预测用户u在场景
下对目标商品
感兴趣的概率。考虑CTR预估任务,可将其形式化为:
。
具体方法
Item-level Preference Extracting
为了捕捉用户的粗粒度(Item-level)偏好,Item-level Preference Extracting(IPE)模块采用场景感知多头自注意力(MHSA)机制来处理商品ID构成的用户历史序列。我们对目标场景和商品相关信息在模型里的重要性进行了加强。
表示行为序列商品ID的Embedding矩阵,目标场景和目标商品ID特征向量可表示为
。场景感知 MHSA的最终输出
计算如下:

为了使得目标商品和历史行为商品充分交互,并利用目标场景指导用户历史行为编码,Q、K、V 将目标场景和商品 ID对应的Embedding集成到自注意力的参数当中。集成流程如下:
其中
为变换矩阵,
表示逐元素乘积。
由目标场景和商品ID的Embedding重新reshape而成,与变换矩阵维度相同。这样,目标场景和商品ID的信息就可以逐元素、全面地参与到粗粒度用户偏好提取过程中。IPE的最终偏好表示
公式如下:
类似地,融合其他场景信息的偏好表征向量可以计算为
,只需将Q、K、V 计算公式中的
替换为
,其中K表示场景数量。
Attribute-level Preference Extracting
商品的属性对于在不同场景下更全面地捕捉用户的偏好至关重要。然而,据我们所知现有的多属性建模模型都没有利用目标场景和商品信息,这会导致信息丢失,限制网络的表达能力。令
表示历史行为的第j个商品属性;目标场景和第j个目标商品属性特征的Embedding矩阵,分别表示为
。对称地,我们分别用
和
替换IPE 模块Q、K、V 计算公式中的X和
。然后Attribute-level Preference Extracting(APE)模块可以获得对应于m种商品属性类型的m个Attribute-level偏好表征。
表示第j个表征。为了捕捉用户对属性(例如类别或品牌)的不同偏好,我们将融合目标场景信息的m个Attribute-level偏好表征利用原始的注意力网络进行融合,其定义如下:
类似地,我们可以得到融合其他场景信息的Attribute-level偏好表征
。
Scenario Contrastive Module
如前所述,不同场景下的用户兴趣存在显著差异。利用自监督学习来刻画该差异性。具体而言,我们将融合当前目标场景信息的Item-level偏好表征
和Attribute-level偏好表征
视为正对比样本,将融合其他场景信息的相应表征
视为负样本。我们利用对比学习损失指导模型增强两个正样本之间的相似度得分,削弱负样本和两个正样本之间的相似度得分。因此有两个对比任务如下:
其中
表示相似度函数,用于计算两个实例之间的余弦距离。
是温度参数。Scenario Contrastive Module (SCM) 最终自监督学习场景之间的区别兴趣,并提高模型辨别场景间区别的能力。
Prediction and Optimization
我们将IPE和APE的输出、场景特征和目标商品特征连接起来,然后将它们输入多层DNN塔:

是用户与目标商品交互的概率。我们使用通用的交叉熵损失作为目标函数:
其中
是样本的标签。M是样本数量。联合损失函数利用超参数gamma平衡监督目标和自监督目标,公式如下:

实验部分
实验设置
数据集
我们在Dewu收集并采样了多个场景的样本作为我们的实验数据集。该数据集中的商品属性包括价格、三级类目和商品品牌。所有商品的属性都是离散类别特征。
评估指标
对于离线评估,我们使用ROC曲线下面积 (AUC) 作为评估指标,该指标在工业推荐系统中被广泛采用。
baseline
为了验证所提出的SACN的有效性,我们将我们的模型的性能与一系列最先进的多场景学习 (MSL) 方法进行了比较,即 MMoE、PLE、M2M、PEPNet和MARIA。
整体实验结果
我们重复每个模型三次并报告平均结果。离线比较结果如表1所示。
表1. SACN和其他方法离线效果对比
主要观察结果总结如下:
(1)选择MMOE作为基础模型是因为它在MSL中具有代表性。与MMOE相比,PLE通过将专家网络划分为两个不同的组,实现了跨场景的更高稳定性,并更有效地提取了场景之间的差异和共同点,因此性能更佳。
(2)MMOE和PLE都在模型顶部引入了场景特定的DNN塔,并为不同场景输出多个分数。然而,它们忽略了模型的底层(例如Embedding层)优化,这将严重降低多场景建模的效果。PEPNet使用场景感知门控单元自适应地调整Embedding层和隐藏层。M2M引入了一种新颖的meta单元,它结合了丰富的场景知识来显式学习场景相关性,并增强了捕获场景特定特征表示的能力。它们都比MMoE和PLE表现更好。
(3)MARIA通过优化模型的底层和上层结构而胜过其他模型。然而,所有这些方法在多场景建模时对于用户行为的利用都只考虑商品ID,而没有考虑商品的多种属性的影响,而这些属性对于生成丰富的潜在兴趣表征和反映用户在不同场景下的兴趣差异是必不可少的。由于在多场景建模中利用了商品属性信息,我们的SACN模型在所有场景中都取得了与其他模型相比最好的性能。
消融实验
为了验证所提出的SACN中每个组件的有效性,特别是多属性相关模块,我们进行了几项消融实验:
(1)w/o APE从SACN模型中删除了APE模块,代表未引入商品属性信息;
(2)w/o APE(w DIF-SR)用DIF-SR替换了APE模块,DIF-SR是一种基于自注意力的属性感知行为建模方法,但其不考虑目标场景和商品信息;
(3)w/o APE(w ASIF)用 ASIF替换了APE模块, ASIF也是一种具有对齐商品ID和属性信息的属性感知行为序列建模方法;
(4)w/o SCM是从SACN中删除了SCM模块,这意味着兴趣差异没有进行明确区分;
消融实验结果如表2所示。我们发现删除APE后,模型效果会显著下降,甚至比PEPNet更差。这一观察证明了在对多种场景进行建模时利用商品属性的正确性和必要性。当用其他多属性感知行为建模方法替换APE而不使用目标场景和商品信息时,也会观察到AUC在下降,这意味着这目标场景和商品信息有利于学习细粒度的偏好表征。此外,如果没有SCM,模型性能在所有场景中都会显著下降。这表明,把融合了场景信息的Item-level偏好和Attribute偏好作为自监督信号对于区分场景间的兴趣非常有帮助。
表2. SACN变体消融实验结果

AB实验
为了进一步证明所提出的SACN的有效性,我们将其部署在平台上进行 A/B 测试。由于工业环境限制,无法在线比较所有基线模型。因此,我们选择PEPNet作为比较的基线模型。在线评估指标是pvctr,即点击次数除以展示次数。经过一周的在线A/B测试,我们发现所提出的SACN比PEPNet模型实现了持续改进,即总体上实现 了pvctr+1.02%的提升幅度。简而言之,在线A/B测试结果再次证明了我们的SACN模型在工业环境中的有效性和实用性。
结论
在本文中,我们提出了一种用于多场景学习的新方法SACN,在对用户行为进行建模时同时引入了场景信息和商品属性信息。SACN可以利用商品ID和属性来捕获用户的粗粒度和细粒度偏好。偏好提取过程还考虑了使用目标场景和目标商品先验信息来得到更好的效果。在自监督学习的帮助下,SACN结合用户的Item-level和Attribute-level兴趣表示对不同场景中用户的偏好差异进行区分。通过大量实验表明,SACN始终优于最先进的基线模型。
六、SAINet:Towards Scenario-adaptive User Behavior Modeling for Multi-scenario Recommendation
整体结构
如图 5 (a) 所示,PEPNet对从历史行为聚合(可以使用concat、pooling等聚合方式)而成的表征向量统一施加相同的权重。**图5 **(b) 中的SAR-Net尝试在通过目标注意机制计算序列中每个行为的权重时融合目标场景信息。但它们仅仅用到了目标场景的信息,均无法区分行为序列中每个行为的所属场景。图5(c)中我们提出的SAINet则把场景信息作为一种属性side info自适应地加入到用户历史行为序列中,同时使用级联堆叠的方式让场景信息在深层的网络结构中得到有效表达。SAINet的具体结构如图6所示,它主要由一系列Scenario-adaptive Block,Target-aware Interest Fusion和Scenario-aware DNN Tower三大部分组成。
图5. SAINet和PEPNet、SAR-Net的对比
图6. SAINet示意图
问题定义
令
为包含
个商品的集合,
表示包含K个场景的集合。
表示用户u的历史行为按时间顺序排列的序列,N表示序列的长度。给定目标商品
、目标场景
和其他特征
,多场景建模任务旨在设计一个统一的排序模型,以同时在K个场景中提供准确和个性化的商品推荐。我们选择点击率 (CTR) 预测作为我们的任务,其公式如下:
CTR预测是预测用户u在场景
中与目标商品
交互的概率
。我们采用业界通用的Embedding技术将稀疏特征转换为低维dense向量。例如,
分别表示目标商品
和其他特征的Embedding。
具体方法
Scenario-adaptive Block
如图5所示,现有方法在进行多场景建模时,无法区分不同场景下用户行为的差异,而行为序列中蕴含的场景感知先验知识对提升模型结果的准确率有重要影响。因此,我们设计了Scenario-adaptive Block,它自适应地将场景感知上下文注入用户行为序列,获得全面、细粒度的兴趣表征,同时根据目标场景信息定制用户兴趣表征,进一步捕捉与当前场景密切相关的用户兴趣。Scenario-adaptive Block由L层堆叠而成,每个Block包含两个模块(Scenario-aware Interest Extracting和Scenario Tailoring Module)。通过堆叠Block,SAINet构建了一个深度网络,逐步增强了其对不同场景行为差异的建模能力。为了阐明这一点,我们给出了第l个Block内的计算过程,如下所示:
Scenario-aware Interest Extracting
Scenario-aware Interest Extracting (SIE) 模块旨在整合来自历史行为的场景先验信息并提取更细粒度的用户兴趣。我们采用了包含特定场景知识的改进多头自注意力 (MHA) 。
表示第(l-1)个block的输出,N表示历史交互商品的数量。经过MHA后,
的编码兴趣矩阵记为
,编码计算方法如下:
Q、K、V 将场景Embedding集成到第(l-1)个block的输出中,以获得更精确的兴趣表征。令
表示每个行为所来自场景的Embedding矩阵。然后集成过程可以定义为:
其中h表示head数量。
表示输出线性变换的权重矩阵,其中
。图片分别是query、key、value对应的第i个head的投影矩阵。
是场景Embedding的变换矩阵。
Scenario Tailoring Module
尽管SIE考虑利用历史行为中的场景信息,但它忽略了目标场景信息,而目标场景信息对于显式捕捉与当前场景相关的用户兴趣非常重要。我们提出了Scenario Tailoring Module (STM) 来进一步定制处理用户的兴趣表征(即
。STM由N个轻量级门控单元组成。第i个门控调节计算如下:
其中
分别是投影矩阵和偏置项。
是缩放因子,用于进一步压缩和放大定制信号。
表示目标场景的Embedding。
是逐元素乘积。最后,第l个block的兴趣表征可以定义为
Scenario-adaptive Bloc块迭代L次,以提高其捕捉场景间行为差异的能力。特别地,第一个block的原始输入(即
)定义为:
其中
表示用户行为序列
的Embedding矩阵
Target-aware Interest Fusion
在经过Scenario-adaptive Block后,会生成多个兴趣表征。所有表征必须首先进行融合,以方便其与传输到下游 DNN网络的其他特征向量融合。我们采用Target-aware Interest Fusion (TIF) 通过注意力机制进行融合:
其中
表示与目标商品和目标场景相对应的融合兴趣表征向量。
是可学习参数。
是注意力权重,可以按如下公式计算:
其中
之间的相关性。
表示目标商品Embedding和场景Embedding拼接后得到的向量。
是可学习参数。
Scenario-aware DNN Tower
虽然我们优先考虑底层架构(即用户行为)的优化,但模型顶层的优化也是不容忽视的。因此,我们通过在预测阶段引入Scenario-aware DNN Tower(SDT)对DNN顶层的隐层单元进行动态缩放。我们首先将所有输出连接起来:
然后使用Scenario-aware DNN Tower(SDT)来预测用户点击目标商品的概率:
其中sDNN中第j层的具体计算为:
其中
为Sigmoid激活函数。
分别为第j层的权重和bias。对于CTR任务,我们使用如下交叉熵损失作为目标函数:
其中
是样本的ground truth。|D|是样本的数量。
实验部分
我们进行了大量实验来验证我们提出的SAINet模型的有效性并回答以下问题:
RQ1:与最先进的基线相比,SAINet的表现如何?
RQ2:SAINet中的每个模块是如何工作的?
RQ3:所提出的 SAINet 中的超参数如何影响其性能?
实验设置
1.数据集
我们在以下两个真实数据集上进行了实验。数据集统计信息见表3。
AliCCP:AliCCP是淘宝发布的带有训练和测试集的公开数据集,在推荐领域的相关文献中被广泛使用。我们根据上下文特征值将数据集分为三个场景(缩写为#C1至#C3)。
Dewu数据集:它涉及五个场景(表示为#A1至#A5)的用户日志,通过随机抽样得到。
表3. 数据集基本信息统计

2.评估指标
我们采用广泛使用的准确率指标AUC来验证模型性能。AUC表示测试集上ROC曲线下的面积。AUC的小幅提升可能会导致真实工业平台上CTR指标的显著提升。
3.baseline
为了证明我们提出的模型的有效性,我们将SAINet与多场景建模中的三类方法进行了比较。
General recommenders:所有场景的样本被合并以训练统一的排名模型。
- DNN:这是一个通用模型,由全参数共享的单DNN塔进行预测打分。
- DeepFM:它结合了factorization machines和DNN组件,消除了人工特征工程。
Scenario-specific network structures:每个场景都被视为不同任务,由多个场景特定的网络构成。
- SharedBottom (SBT):在底层共享所有参数,在顶层采用多个场景特定的DNN塔。
- MMoE:将原有的多任务学习转移到多场景学习。MMoE应用门控网络调整底层专家输出表征向量,然后是场景特定的塔,并学习从数据中建模场景关系。
- PLE:在MMoE的基础上引入场景共享专家和场景特定专家,有效缓解跷跷板现象。
- STAR: 设计星型拓扑结构,一个中心网络维护所有场景的共性信息,一组场景特定网络区分场景差异信息。
- AESM2: 提出一种新颖的专家网络结构,通过计算KL散度自动选择细粒度专家,动态选择最合适的共享专家和特定专家。
Parameter adaptive network structures:场景上下文直接应用于Embedding层和DNN的隐藏层,并根据场景变化动态调整模型参数。
- PEPNet:以场景相关特征为输入,通过门控机制动态缩放模型中底层嵌入和顶层DNN隐藏单元。
- AdaSparse (ADS) 自适应学习每个场景的稀疏结构,通过学习权重修剪冗余神经元,增强跨场景泛化能力。
- SFPNet:由一系列场景定制模块组成,通过重新定义基础特征,在粗粒度级别集成场景信息,同时将目标场景信息融入行为建模中,支持目标场景感知的用户兴趣建模。
整体实验结果
表4显示了所有方法在两个数据集上的比较结果。对于每种方法,我们重复实验五次并报告平均结果。使用t-test进行统计显著性检验。我们的方法相对于最佳基线的效果在0.05水平上具有统计意义显著性。
表4. SAINet和其他方法离线效果对比

基于此我们可以得出以下结论:
- 所有General recommenders方法在两个数据集上的表现都不如其他方法。这是因为它们都忽略了场景之间的相互关系和差异。为了解决这个问题,Scenario-specific network structures被提出并实现了显著的性能提升。SharedBottom增加了几个场景特有的DNN塔来利用场景特定的知识,这无法捕捉场景之间复杂的相互作用。MMoE使用专家和门控网络来提取不同场景的共性并得到更好的结果。但MMoE在多个场景中表现出跷跷板现象(即一个场景的改进往往会导致其他场景的性能下降)。例如,与DeepFM相比,MMoE在工业数据集的场景#A4和场景#A5中的表现不尽如人意,因为这些场景具有更多不同的特性和不均匀的数据分布,而MMoE不足以处理它。PLE 通过将专家分为两组(即部分场景共享和部分场景特有),缓解了这一现象,并在两个数据集上都表现出比MMoE 更好的性能。AESM2进一步引入了专家自动选择机制,以获得比PLE更好的性能。
-
Scenario-specific network structures仅优化了网络的顶层部分。然而,底层Embedding表征中场景之间的差异对于实现良好的性能也至关重要。PEPNet通过将场景相关特征作为输入,并通过门机制动态缩放模型中的底层Embedding和顶层DNN隐藏单元,在两个数据集上都获得了良好的性能改进。与PEPNet相比,AdaSparse的性能较差,因为稀疏隐藏单元的机制难以学习。SFPNet在实验中表现出所有基线中的最佳性能,因为它集成了场景信息重新定义基本特征,同时将目标场景信息和行为融合以支持场景感知的用户兴趣建模。然而,所有这些研究都忽略了利用历史行为序列和目标商品中涉及的场景先验知识来有效地建模用户在不同场景中的兴趣差异。我们提出的SAINet通过引入丰富的场景上下文明确地建模了不同场景中用户行为的差异。此外,它还可以轻松捕捉跨场景的兴趣迁移。如表4所示,SAINet在两个数据集上的所有场景中都优于所有基线。
消融实验
为了评估SAINet中每个模块的有效性,我们还将SAINet与其变体进行了比较。考虑了以下变体:
-
w/o SIE:从Scenario-adaptive Block中删除了SIE,这意味着该模块不再强调历史行为中的场景信息。
-
w/o STM:从Scenario-adaptive Block中删除了STM,这意味着目标场景信息不用于定制化兴趣表征。
-
w/o TIF:从SAINet中删除了TIF模块,并将其替换为mean pooling操作。
-
w/o SDT:从SAINet中删除了SDT模块,并将其替换为正常的DNN网络。
具体的消融实验结果如表5所示。
表5. SAINet变体消融实验结果

如表5所示,每个模块都对SAINet的性能做出有效贡献。具体而言,SIE模块的缺失(w/o SIE)会影响所有场景的预测性能,表明在增强对不同场景的用户兴趣差异进行建模的能力时,整合来自历史行为的场景先验知识是至关重要的。此外,STM的移除(w/o STM)也会导致模型的预测性能明显下降。这有力地验证了定制用户兴趣表示以捕捉与当前场景显着相关的用户偏好的有效性。此外,如果没有TIF模块,模型性能在两个数据集中都会有所下降。这反映了引入目标注意机制而不是mean pooling的兴趣融合对于确保预测准确性非常有帮助。最后,删除SDT将损害模型的性能。这表明,在场景信息的帮助下调整顶层网络参数也不容忽视,以获得更好的结果。
超参实验
我们进行了大量实验来检验几个关键超参数的影响,其中包括Scenario-adaptive Block的数量L、STM模块中的缩放因子图片、SIE模块中的head数量h。
Block数量L的影响:图7 (a) 说明了不同L对模型效果的影响。随着数值的增加,AUC呈现出改善的趋势。这主要是因为随着L的增大,兴趣表示和场景上下文之间的相互作用得到加强,而将L增加到 2以上并没有带来显著的收益。
图片的影响:缩放因子在 {0.8, 1.2, 1.6, 2.0, 2.4, 2.8} 中进行多组实验。根据图7(b) 所示的曲线,当因子值等于2时,SAINet在AUC上表现最佳,而将值增加到2以上会降低其性能。因此,我们在所有实验中将SAINet及其变体中的缩放因子设置为2。
head数量h的影响:h在 {2, 4, 6, 8, 10} 进行选择。图7 (c) 显示了head数量对SIE中多头注意力机制的影响。当head等于4时,AUC曲线达到峰值,而引入超过4的head数量会带来更差的性能。因此,在所有实验中将h设置为 4。
图7. SAINet超参实验曲线图
结论
本文强调了区分不同场景下用户行为差异对兴趣建模的必要性,并提出SAINet模型。它首先引入了一系列Scenario-adaptive Block,将场景先验知识融合到用户行为当中以捕捉用户的细粒度兴趣,并根据目标场景上下文定制兴趣表示。通过堆叠block,可以增强对不同场景兴趣差异的建模能力。SAINet还利用场景感知DNN Tower (SDT) 来自动调节顶层 DNN隐藏单元,从而获得更好的预测结果。大量实验证明了SAINet在多场景建模中的优势。
七、DSWIN:Disentangling Scenario-wise Interest Network for Multi-scenario Recommendation
整体结构
如图8所示,和SAINet类似,我们把DSWIN和PEPNet、SAR-Net进行对比。图8 (a) PEPNet对从历史行为聚合(可以使用concat、pooling等聚合方式)而成的表征向量统一施加相同的权重。图8 (b) 中的SAR-Net尝试在通过目标注意机制计算序列中每个行为的权重时融合目标场景信息。但它们仅仅用到了目标场景的信息,均无法区分行为序列中每个行为的所属场景。图8(c)中我们提出的DSWIN则按照场景信息对用户行为进行分组,并引入Global Interest Aggregation建模用户全局行为兴趣,Local Interest Resolution建模用户在每个场景内的局部兴趣,最后Interest Disentangling Module对用户在不同场景下的兴趣进行解分离。DSWIN的具体结构如图9所示,它主要由Global Interest Aggregation,Local Interest Resolution和Interest Disentangling Module三大部分组成。
图8. DSWIN和PEPNet、SAR-Net的对比
图9. DSWIN示意图
问题定义
令
个商品组成的集合,
表示K个场景组成的集合。
表示用户u的历史行为按时间顺序排列的序列,N表示序列的长度。
表示用户在第k个场景中发生行为的子序列,满足
。给定目标商品
、目标场景
和其他特征
,多场景建模任务旨在设计一个统一的排名模型,同时在多个场景中提供准确且个性化的推荐。我们的工作考虑了点击率 (CTR) 预测任务,其公式如下:
CTR 预测是利用行为序列和其他上下文特征,预测用户u在给定场景
中点击目标商品
。我们利用广泛使用的Embedding技术将稀疏特征转换为低维dense向量。例如,
分别表示目标商品
和其他特征的Embedding向量。
具体方法
Global Interest Aggregation
如图8所示,先前的研究将用户的历史行为序列视为一个整体,而忽略了行为产生来源场景的信息。因此,我们首先设计了Global Interest Aggregation(GIA)模块,该模块动态融合用户的全局行为和场景感知的上下文信息,旨在获得全面、细粒度的兴趣表征。
Scenario-aware Context Aggregation Module
我们首先设计了Scenario-aware Context Aggregation Module(SCAM),它使用注意力机制对来自不同场景的行为进行聚合。同时,我们考虑将来自历史行为和当前样本的目标场景先验信息集成到SCAM中,以更好地理解用户的场景感知全局兴趣。因此,SCAM可以表述如下:
其中
表示与当前样本和目标场景相对应的兴趣表征向量,它是由历史交互商品的加权聚合而成,
是可学习参数。
是注意力权重,可以表示如下:
其中
是目标商品
与用户在行为序列中第j个交互商品之间的相关性。
表示目标商品Embedding向量
与场景Embedding向量
的拼接。类似地,
表示第j个点击商品Embedding向量
与对应场景Embedding向量
的拼接。
是学习参数。
Context Feedback Fusion Module
尽管SCAM考虑在计算权重时利用场景信息,但其表达目标场景与用户行为之间复杂相互作用的能力有限。为了进一步捕捉与当前目标场景密切相关的用户全局兴趣,我们提出了Context Feedback Fusion Module(CFFM),通过非线性特征交互将行为的兴趣表征向量与相应的上下文(即目标商品和场景)融合在一起。具体来说,CFFM 由具有k个block的MLP组成:
其中
是第k层的输出,
是可学习参数。初始化输入公式如下:
其中*表示逐元素乘积。我们最终可以获得与目标场景上下文和当前样本相对应的全局兴趣
。
Local Interest Resolution
为了明确区分不同场景下用户兴趣的差异,我们设计了Local Interest Resolution(LIR)模块,以明确提取每个子场景中用户的场景兴趣。LIR将全局行为按场景拆分为多个子序列,并由多个结构对称的Interest Extracting Unit(IEU)组成。考虑到同一场景下的用户行为更加集中和明确,每个IEU采用改进的多头自注意力(MHA),在IEU里引入特定场景信息作为偏差项来建模每个子序列并获得用户在不同场景中的局部兴趣表征。此外,MHA使LIR能够从多个兴趣角度建模用户的偏好。
Interest Extracting Unit
表示用户在第k个场景中发生交互的行为子序列,
表示发生交互的商品数量。经过Embedding变换后,
可表示场景
中的行为Embedding矩阵。经过MHA编码后矩阵,记为
,计算方法如下:
Q、K、V 将场景Embedding作为偏置项集成到行为Embedding矩阵中,以指导局部兴趣解析。它们的定义如下:
其中h表示head的数量。
表示输出线性变换的权重矩阵,
。
分别是query、key、value对应的第i个head的投影矩阵。
是偏置项的变换矩阵。随后,输出矩阵经过mean pooling层处理,得到一个表征向量
,表示用户在第k个场景中的局部兴趣。特别地,对于当前场景
。最后,LIR的输出由所有K个场景的表示组成:

Interest Disentangling Module
如前所述,不同场景下的用户兴趣既有重叠之处,也有差异之处。由于不存在用户兴趣的标注信息(没有一个显式的信号告诉模型两个兴趣表征是否相似),目前的监督建模方法缺乏明确的监督信号来充分区分不同场景的兴趣。因此,我们利用自监督学习来解分离场景间的兴趣。与现有的结合对比学习的方法不同,这些方法往往侧重于复杂的数据增强技术,我们分析特定领域问题并基于原始数据设计对比策略。具体而言,我们将当前目标场景的全局兴趣表征
和局部兴趣表征
作为正对比样本,将其他场景的局部兴趣表征
作为负样本。我们利用对比学习损失来教导模型增强两个正样本之间的相似度得分,削弱负样本和两个正样本之间的相似度得分。因此有两个对比任务如下:
上述优化目标通过InfoNCE损失计算,如下所示:
其中
表示相似度函数,用于计算两个实例之间的余弦距离。
是温度参数。LIR最终通过强烈的自监督信号监督场景兴趣的分离,并提高模型辨别不同场景差异的能力。
Prediction and Optimization
我们将GIA和LIR的输出、场景特征、目标商品特征和其他特征连接起来:
然后结合多层DNN塔来预测用户点击目标商品的可能性:
其中
是sigmoid激活函数。对于 CTR 预测等监督任务,我们使用交叉熵损失作为目标函数:
其中
是样本的 ground truth。|D|是样本的数量。我们以端到端的方式在监督和自监督目标上训练模型。具体来说,联合损失函数带有一个超参数
来平衡目标,可以表述如下:

实验部分
我们进行了大量实验来验证我们提出的框架的有效性,并回答以下问题:
RQ1:与最先进的基线模型相比,DSWIN的表现如何?
RQ2:DSWIN中每个模块如何工作?
RQ3:提出的DSWIN中的超参数如何影响其性能?
RQ4:DSWIN能否有效地根据场景解分离用户兴趣?
实验设置
同第二篇文章SAINet所述。
整体实验结果
表6分别显示了所有方法在工业和公共数据集上的比较结果。对于每种方法,我们重复实验五次并报告平均结果。使用t-test进行统计显着性检验。我们的模型相对于最佳基线的性能在0.05水平上具有统计显著性。可以得出以下结论。
表6. DSWIN和其他方法离线效果对比

所有General recommenders方法在两个数据集上与其他解决方案相比,效果始终不尽如人意。DNN使用单个DNN塔来处理所有场景,完全忽略了场景之间的相互关系和差异。虽然DeepFM尝试在特征交互方面进行一些优化,但当数据集表现出明显的场景变化时,效果并没有得到明显改善。
为了解决General recommenders方法的问题,Scenario-specific network structures被提出。它们都比 General recommenders带来了显著的性能提升。SharedBottom 为每个场景添加了几个特定的DNN塔,以利用场景特定的知识,这不足以捕捉场景之间复杂的相互作用。MMoE使用专家和门控网络来提取有关场景和用户的更有效信息,STAR使用共享网络来维护整个场景的共性。MMoE和STAR均增强了模型跨场景学习共享知识的能力,因此优于 SharedBottom。MMoE 和STAR在多个场景中也表现出跷跷板现象(即一个场景的改进往往导致其他场景的性能下降)。例如,与最好的General recommenders模型相比,MMoE和STAR在工业数据集的场景#A4和场景#A5中的表现较差。这表明 MMoE和STAR不足以处理具有更多不同特征和不均匀数据分布的场景。PLE通过将专家分为两组(即部分场景共享和部分场景特定)缓解了这种现象,并在两个数据集上都表现出比 MMoE 显著的改进。AESM2进一步引入了专家自动选择机制,以获得比 PLE 更好的性能。
然而,Scenario-specific network structures仅仅注重网络顶层的优化,而忽略了底层表征中场景之间的差异,而这些差异对于实现最优性能至关重要。PEPNet以场景相关特征为输入,通过门控机制动态调整模型中的底层Embedding和顶层DNN隐藏单元,在两个数据集上都获得了良好的性能提升。AdaSparse的性能与 PEPNet 相比并不理想,因为稀疏隐藏单元的机制相对难以学习。SFPNet在实验中表现出所有基线中的最佳性能,因为它融合了场景信息重新定义了基本特征,同时将场景上下文融入行为以支持场景感知的用户兴趣建模。但很明显,它们都将用户的整个历史行为序列视为一个整体,而忽略了对跨场景用户兴趣差异的建模。我们提出的DSWIN以细粒度的方式明确地模拟了不同场景中用户行为的差异,并了解了用户的场景兴趣,其表现优于两个数据集上所有场景的所有基线,如表6所示。
消融实验
为了评估DSWIN中每个模块的有效性,我们还在实验中将DSWIN与其变体进行了比较。我们有三个变体,如下所示:
-
w/o GIA:删除了GIA中的SCAM和CFFM模块,直接用普通的DIN网络替换它进行全局序列建模。
- **w/o LIR:**从DSWIN中删除了LIR模块,同时IDM模块也被分离。这意味着在不同场景中没有提取明确的局部兴趣。
- **w/o IDM:**从DSWIN中删除了IDM模块,这意味着兴趣差异没有得到强调和解分离。
表7. DSWIN变体消融实验结果

如表7所示,每个模块都做出了相当大的贡献,以确保DSWIN在所有场景中的预测结果的质量。具体而言,GIA的缺失(w/o GIA)会影响所有场景的预测性能,表明在增强针对用户行为的场景特定定制能力时,整合来自历史行为和当前实例的场景先验信息非常重要。此外,GIA模块中的CFFM还可以捕捉与当前目标场景密切相关的用户全局兴趣。此外,LIR的移除(w/o LIR)也会导致模型预测性能明显下降。这有力地验证了我们区分个人行为来自哪种场景并明确捕捉不同场景中用户兴趣差异的原理。同时,LIR有效地学习了同一场景中用户行为的内在相关性。最后,如果没有IDM,模型在两个数据集中的性能都会显著下降。这反映了注入无监督信号的自监督学习对于解开场景兴趣和确保预测准确性非常有帮助。
超参实验
我们进行了大量实验来检验几个关键超参数的影响,其中包括CFFM中的block数量k、对比损失中的温度
、平衡监督损失和无监督损失的权重
。
CFFM中block数量的影响: 图10 (a) 说明了不同k的影响。随着数值增加,AUC显示出改善的趋势。这主要是因为随着k变大,兴趣表示和上下文之间的相互作用更深,而将k增加到2以上并没有带来显著的收益。
温度系数的影响:温度在 {0.1, 0.2, 0.4, 0.8} 内经过精心调整实验。根据图10 (b) 中所示的曲线,我们发现
的最佳选择因数据集而异。太小的值(例如0.1)或太大的值(例如0.8)都不合适。较大的值会削弱对负样本的区分能力。相反,太小的值会过度夸大某些负样本的作用,导致性能不佳。
损失平衡权重的影响:我们进行了实验,将
从 {1e0, 1e-1, 1e-2, 1e-3, 1e-4}中进行变化。特别地,当
为0时,相当于删除了模块IDM。从图10 (c) 中的结果可以看出,当
为1e-1时,性能达到峰值。随着值的进一步增加,模型性能变得越来越差。我们将其归因于随着
的增大,主预测任务重要度降低,这验证了超参数平衡不同任务目标的必要性。
图10. DSWIN超参实验曲线图
可视化分析
我们通过实验来探索IDM如何促进兴趣表征学习,以及该模块是否理解不同场景下的兴趣相似度。我们基于模块LIR给出的Embedding向量计算了场景#A1和#A2输出的余弦相似度,分别在引入和不引入对比损失的情况下,同时绘制了相似度得分的分布(图11所示)。从结果中,我们可以观察到DSWIN学习到的Embedding的相似度得分小于不使用IDM 学习到的分布。这一现象表明IDM使模型能够有效地解分离场景化的兴趣。
图11. LIR输出兴趣相似度分布柱形图
AB实验
我们基于实际流量进行在线 A/B测试。具体来说,我们在在线服务系统中部署DSWIN和baseline方法,并针对用户的日常请求执行推理任务。由于工业限制,在线系统中无法比较所有基线模型。因此,我们选择PEPNet作为比较的基线模型。我们取一周测试的平均结果,DSWIN比PEPNet在线获得了pvctr+1.51%的收益。1.51%在成熟的工业系统中是显著的效果提升。
结论
在本文中,我们强调了区分不同场景中用户行为差异对于兴趣建模的必要性,并设计了一种名为DSWIN的新颖的scenario-wise interest disentangling network。它首先引入GIA模块来融合用户的全局行为和场景感知上下文信息,旨在动态获取全面、细粒度的用户兴趣表征。随后,使用LIR模块明确提取用户在每个子场景中的场景兴趣。最后,DSWIN利用对比学习技术按场景解分离兴趣并辨别场景之间的区别。此外,我们提出的模型可以有效捕捉不同场景中兴趣的迁移。大量的离线和在线实验证明了DSWIN在多场景建模中的优势。
八、总结与展望
- 当前实现的多场景建模方法只在搜索区分流量来源这一个维度上进行实验,后续可以继续思考如何将场景化信息泛化到人群(比如按照购买力划分、活跃度、新老客等),实现多人群精细化建模;
- 进一步也可以将多场景泛化到得物多个行业下(比如按照商品品类进行差异化建模),实现多行业差异化建模;
- 在当前这三项工作中,对于用于行为序列中的商品side info还只是考虑ID类的特征(item ID,类目ID和品牌ID),而商品还有丰富的多模态(文本、图片)信息也可以进一步融合到建模当中,实现多场景 & 多模态建模。
文 / huangjin
关注得物技术,每周更新技术干货
要是觉得文章对你有帮助的话,欢迎评论转发点赞~