前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >多场景建模在得物交易搜索下的创新与实践

多场景建模在得物交易搜索下的创新与实践

原创
作者头像
得物技术
发布于 2025-02-21 02:19:47
发布于 2025-02-21 02:19:47
1610
举报

一、整体概述

2024年得物算法团队基于交易搜索的场景特点与数据现状,围绕“多场景建模”开展了一系列工作,取得了较大幅度的在线业务指标提升;同时我们利用碎片时间将积累的技术经验形成相应的论文,成功被搜索推荐/数据挖掘领域顶级会议WWW'2025CCF-A)、DASFAA'2025CCF-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示意图

问题定义

2.jpeg
2.jpeg
集合、商品集合、商品ID集合、第j类商品属性集合和场景集合。
2.2.jpeg
2.2.jpeg
1.jpeg
1.jpeg
列的历史行为序列,其中
2.3.jpeg
2.3.jpeg
的第i个商品,N是序列的最大长度。假设我们有m种商品属性,则
5.jpeg
5.jpeg
6.jpeg
6.jpeg
商品的ID,
7.jpeg
7.jpeg
互商品的第j种属性。给定目标商品
8.jpeg
8.jpeg
10.jpeg
10.jpeg
11.jpeg
11.jpeg
目标是预测用户u在场景
12.jpeg
12.jpeg
vt.jpeg
vt.jpeg
考虑CTR预估任务,可将其形式化为:
13.jpeg
13.jpeg

具体方法

Item-level Preference Extracting

为了捕捉用户的粗粒度(Item-level)偏好,Item-level Preference Extracting(IPE)模块采用场景感知多头自注意力(MHSA)机制来处理商品ID构成的用户历史序列。我们对目标场景和商品相关信息在模型里的重要性进行了加强。
1.jpeg
1.jpeg

表示行为序列商品ID的Embedding矩阵,目标场景和目标商品ID特征向量可表示为

2.jpeg
2.jpeg
MHSA的最终输出
3.3.jpeg
3.3.jpeg

4.jpeg
4.jpeg

为了使得目标商品和历史行为商品充分交互,并利用目标场景指导用户历史行为编码,Q、K、V 将目标场景和商品 ID对应的Embedding集成到自注意力的参数当中。集成流程如下:

5.jpeg
5.jpeg

其中

6.jpeg
6.jpeg
7.jpeg
7.jpeg
积。
8.jpeg
8.jpeg
商品ID的Embedding重新reshape而成,与变换矩阵维度相同。这样,目标场景和商品ID的信息就可以逐元素、全面地参与到粗粒度用户偏好提取过程中。IPE的最终偏好表示
9.jpeg
9.jpeg

类似地,融合其他场景信息的偏好表征向量可以计算为

10.1.jpeg
10.1.jpeg
计算公式中的
11.jpeg
11.jpeg
12.jpeg
12.jpeg
景数量。

Attribute-level Preference Extracting

商品的属性对于在不同场景下更全面地捕捉用户的偏好至关重要。然而,据我们所知现有的多属性建模模型都没有利用目标场景和商品信息,这会导致信息丢失,限制网络的表达能力。令

1.jpeg
1.jpeg
的第j个商品属性;目标场景和第j个目标商品属性特征的Embedding矩阵,分别表示为
2.jpeg
2.jpeg
们分别用
3.jpeg
3.jpeg
4.jpeg
4.jpeg
模块Q、K、V 计算公式中的X和
5.jpeg
5.jpeg
ribute-level Preference Extracting(APE)模块可以获得对应于m种商品属性类型的m个Attribute-level偏好表征。
6.jpeg
6.jpeg
征。为了捕捉用户对属性(例如类别或品牌)的不同偏好,我们将融合目标场景信息的m个Attribute-level偏好表征利用原始的注意力网络进行融合,其定义如下:

7.jpeg
7.jpeg
类似地,我们可以得到融合其他场景信息的Attribute-level偏好表征
8.jpeg
8.jpeg

Scenario Contrastive Module

如前所述,不同场景下的用户兴趣存在显著差异。利用自监督学习来刻画该差异性。具体而言,我们将融合当前目标场景信息的Item-level偏好表征

1.jpeg
1.jpeg
bute-level偏好表征
2.jpeg
2.jpeg
本,将融合其他场景信息的相应表征
3.jpeg
3.jpeg
我们利用对比学习损失指导模型增强两个正样本之间的相似度得分,削弱负样本和两个正样本之间的相似度得分。因此有两个对比任务如下:

5.jpeg
5.jpeg

其中

6.jpeg
6.jpeg
数,用于计算两个实例之间的余弦距离。
7.jpeg
7.jpeg
Scenario Contrastive Module (SCM) 最终自监督学习场景之间的区别兴趣,并提高模型辨别场景间区别的能力。

Prediction and Optimization

我们将IPE和APE的输出、场景特征和目标商品特征连接起来,然后将它们输入多层DNN塔:

1.jpeg
1.jpeg
1.1.jpeg
1.1.jpeg
2.jpeg
2.jpeg
其中
2.2.jpeg
2.2.jpeg
是样本数量。联合损失函数利用超参数gamma平衡监督目标和自监督目标,公式如下:
3.jpeg
3.jpeg

实验部分

实验设置

数据集

我们在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 APEw DIF-SR)用DIF-SR替换了APE模块,DIF-SR是一种基于自注意力的属性感知行为建模方法,但其不考虑目标场景和商品信息;

(3)w/o APEw 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尝试在通过目标注意机制计算序列中每个行为的权重时融合目标场景信息。但它们仅仅用到了目标场景的信息,均无法区分行为序列中每个行为的所属场景。图5c)中我们提出的SAINet则把场景信息作为一种属性side info自适应地加入到用户历史行为序列中,同时使用级联堆叠的方式让场景信息在深层的网络结构中得到有效表达。SAINet的具体结构如图6所示,它主要由一系列Scenario-adaptive Block,Target-aware Interest Fusion和Scenario-aware DNN Tower三大部分组成。

图5. SAINet和PEPNet、SAR-Net的对比

图6. SAINet示意图

问题定义

1.jpeg
1.jpeg
2.jpeg
2.jpeg
3.jpeg
3.jpeg
场景的集合。
4.jpeg
4.jpeg
历史行为按时间顺序排列的序列,N表示序列的长度。给定目标商品
5.jpeg
5.jpeg
6.jpeg
6.jpeg
7.jpeg
7.jpeg
任务旨在设计一个统一的排序模型,以同时在K个场景中提供准确和个性化的商品推荐。我们选择点击率 (CTR) 预测作为我们的任务,其公式如下:

8.jpeg
8.jpeg

CTR预测是预测用户u在场景

9.jpeg
9.jpeg
10.jpeg
10.jpeg
11.jpeg
11.jpeg
通用的Embedding技术将稀疏特征转换为低维dense向量。例如,
12.jpeg
12.jpeg
13.jpeg
13.jpeg
mbedding。

具体方法

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) 。

1.jpeg
1.jpeg
1)个block的输出,N表示历史交互商品的数量。经过MHA后,
2.jpeg
2.jpeg
阵记为
3.jpeg
3.jpeg
法如下:

4.jpeg
4.jpeg
Q、K、V 将场景Embedding集成到第(l-1)个block的输出中,以获得更精确的兴趣表征。令
5.jpeg
5.jpeg
所来自场景的Embedding矩阵。然后集成过程可以定义为:
6.jpeg
6.jpeg

其中h表示head数量。

7.jpeg
7.jpeg
变换的权重矩阵,其中
8.jpeg
8.jpeg
query、key、value对应的第i个head的投影矩阵。
9.jpeg
9.jpeg
edding的变换矩阵。

Scenario Tailoring Module

尽管SIE考虑利用历史行为中的场景信息,但它忽略了目标场景信息,而目标场景信息对于显式捕捉与当前场景相关的用户兴趣非常重要。我们提出了Scenario Tailoring Module (STM) 来进一步定制处理用户的兴趣表征(即
11.jpeg
11.jpeg
轻量级门控单元组成。第i个门控调节计算如下:
12.jpeg
12.jpeg

其中

13.jpeg
13.jpeg
和偏置项。
14.jpeg
14.jpeg
于进一步压缩和放大定制信号。
15.jpeg
15.jpeg
Embedding。
16.jpeg
16.jpeg
最后,第l个block的兴趣表征可以定义为
17.jpeg
17.jpeg
o-adaptive Bloc块迭代L次,以提高其捕捉场景间行为差异的能力。特别地,第一个block的原始输入(即
18.jpeg
18.jpeg

19.jpeg
19.jpeg

其中

20.jpeg
20.jpeg
21.jpeg
21.jpeg
ing矩阵

Target-aware Interest Fusion

在经过Scenario-adaptive Block后,会生成多个兴趣表征。所有表征必须首先进行融合,以方便其与传输到下游 DNN网络的其他特征向量融合。我们采用Target-aware Interest Fusion (TIF) 通过注意力机制进行融合:

22.jpeg
22.jpeg

其中

23.jpeg
23.jpeg
和目标场景相对应的融合兴趣表征向量。
24.jpeg
24.jpeg
25.jpeg
25.jpeg
可以按如下公式计算:

26.jpeg
26.jpeg

其中

27.jpeg
27.jpeg
28.jpeg
28.jpeg
mbedding和场景Embedding拼接后得到的向量。
29.jpeg
29.jpeg

Scenario-aware DNN Tower

虽然我们优先考虑底层架构(即用户行为)的优化,但模型顶层的优化也是不容忽视的。因此,我们通过在预测阶段引入Scenario-aware DNN Tower(SDT)对DNN顶层的隐层单元进行动态缩放。我们首先将所有输出连接起来:

30.jpeg
30.jpeg

然后使用Scenario-aware DNN Tower(SDT)来预测用户点击目标商品的概率:

31.jpeg
31.jpeg

其中sDNN中第j层的具体计算为:

32.jpeg
32.jpeg

其中

33.jpeg
33.jpeg
d激活函数。
34.jpeg
34.jpeg
权重和bias。对于CTR任务,我们使用如下交叉熵损失作为目标函数:

35.jpeg
35.jpeg
其中
36.jpeg
36.jpeg
und 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尝试在通过目标注意机制计算序列中每个行为的权重时融合目标场景信息。但它们仅仅用到了目标场景的信息,均无法区分行为序列中每个行为的所属场景。图8c)中我们提出的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示意图

问题定义

1.jpeg
1.jpeg
集合,
2.jpeg
2.jpeg
组成的集合。
3.jpeg
3.jpeg
历史行为按时间顺序排列的序列,N表示序列的长度。
4.jpeg
4.jpeg
k个场景中发生行为的子序列,满足
5.jpeg
5.jpeg
6.jpeg
6.jpeg
7.jpeg
7.jpeg
8.jpeg
8.jpeg
任务旨在设计一个统一的排名模型,同时在多个场景中提供准确且个性化的推荐。我们的工作考虑了点击率 (CTR) 预测任务,其公式如下:

9.jpeg
9.jpeg

CTR 预测是利用行为序列和其他上下文特征,预测用户u在给定场景

10.jpeg
10.jpeg
11.jpeg
11.jpeg
使用的Embedding技术将稀疏特征转换为低维dense向量。例如,
12.jpeg
12.jpeg
13.jpeg
13.jpeg
mbedding向量。

具体方法

Global Interest Aggregation

如图8所示,先前的研究将用户的历史行为序列视为一个整体,而忽略了行为产生来源场景的信息。因此,我们首先设计了Global Interest Aggregation(GIA)模块,该模块动态融合用户的全局行为和场景感知的上下文信息,旨在获得全面、细粒度的兴趣表征。

Scenario-aware Context Aggregation Module

我们首先设计了Scenario-aware Context Aggregation Module(SCAM),它使用注意力机制对来自不同场景的行为进行聚合。同时,我们考虑将来自历史行为和当前样本的目标场景先验信息集成到SCAM中,以更好地理解用户的场景感知全局兴趣。因此,SCAM可以表述如下:

1.jpeg
1.jpeg

其中

2.jpeg
2.jpeg
本和目标场景相对应的兴趣表征向量,它是由历史交互商品的加权聚合而成,
3.jpeg
3.jpeg
4.jpeg
4.jpeg
,可以表示如下:

5.jpeg
5.jpeg

其中

6.jpeg
6.jpeg
7.jpeg
7.jpeg
序列中第j个交互商品之间的相关性。
8.jpeg
8.jpeg
Embedding向量
9.jpeg
9.jpeg
edding向量
10.jpeg
10.jpeg
11.jpeg
11.jpeg
商品Embedding向量
12.jpeg
12.jpeg
bedding向量
13.jpeg
13.jpeg
14.jpeg
14.jpeg

Context Feedback Fusion Module

尽管SCAM考虑在计算权重时利用场景信息,但其表达目标场景与用户行为之间复杂相互作用的能力有限。为了进一步捕捉与当前目标场景密切相关的用户全局兴趣,我们提出了Context Feedback Fusion Module(CFFM),通过非线性特征交互将行为的兴趣表征向量与相应的上下文(即目标商品和场景)融合在一起。具体来说,CFFM 由具有k个block的MLP组成:

15.jpeg
15.jpeg

其中

16.jpeg
16.jpeg
17.jpeg
17.jpeg
初始化输入公式如下:

18.jpeg
18.jpeg
其中*表示逐元素乘积。我们最终可以获得与目标场景上下文和当前样本相对应的全局兴趣
19.jpeg
19.jpeg

Local Interest Resolution

为了明确区分不同场景下用户兴趣的差异,我们设计了Local Interest Resolution(LIR)模块,以明确提取每个子场景中用户的场景兴趣。LIR将全局行为按场景拆分为多个子序列,并由多个结构对称的Interest Extracting Unit(IEU)组成。考虑到同一场景下的用户行为更加集中和明确,每个IEU采用改进的多头自注意力(MHA),在IEU里引入特定场景信息作为偏差项来建模每个子序列并获得用户在不同场景中的局部兴趣表征。此外,MHA使LIR能够从多个兴趣角度建模用户的偏好。

Interest Extracting Unit

20.jpeg
20.jpeg
21.jpeg
21.jpeg
22.jpeg
22.jpeg
23.jpeg
23.jpeg
24.jpeg
24.jpeg
25.jpeg
25.jpeg

Q、K、V 将场景Embedding作为偏置项集成到行为Embedding矩阵中,以指导局部兴趣解析。它们的定义如下:

26.jpeg
26.jpeg

其中h表示head的数量。

28.jpeg
28.jpeg
换的权重矩阵,
29.jpeg
29.jpeg
30.jpeg
30.jpeg
y、key、value对应的第i个head的投影矩阵。
31.jpeg
31.jpeg
矩阵。随后,输出矩阵经过mean pooling层处理,得到一个表征向量
32.jpeg
32.jpeg
k个场景中的局部兴趣。特别地,对于当前场景
33.jpeg
33.jpeg
的输出由所有K个场景的表示组成:

34.jpeg
34.jpeg

Interest Disentangling Module

如前所述,不同场景下的用户兴趣既有重叠之处,也有差异之处。由于不存在用户兴趣的标注信息(没有一个显式的信号告诉模型两个兴趣表征是否相似),目前的监督建模方法缺乏明确的监督信号来充分区分不同场景的兴趣。因此,我们利用自监督学习来解分离场景间的兴趣。与现有的结合对比学习的方法不同,这些方法往往侧重于复杂的数据增强技术,我们分析特定领域问题并基于原始数据设计对比策略。具体而言,我们将当前目标场景的全局兴趣表征

35.jpeg
35.jpeg
36.jpeg
36.jpeg
,将其他场景的局部兴趣表征
37.jpeg
37.jpeg
们利用对比学习损失来教导模型增强两个正样本之间的相似度得分,削弱负样本和两个正样本之间的相似度得分。因此有两个对比任务如下:

38.jpeg
38.jpeg

上述优化目标通过InfoNCE损失计算,如下所示:

39.jpeg
39.jpeg

其中

40.jpeg
40.jpeg
,用于计算两个实例之间的余弦距离。图片是温度参数。LIR最终通过强烈的自监督信号监督场景兴趣的分离,并提高模型辨别不同场景差异的能力。

Prediction and Optimization

我们将GIA和LIR的输出、场景特征、目标商品特征和其他特征连接起来:

图片

然后结合多层DNN塔来预测用户点击目标商品的可能性:

图片

其中图片是sigmoid激活函数。对于 CTR 预测等监督任务,我们使用交叉熵损失作为目标函数:

图片

其中图片是样本的 ground truth。|D|是样本的数量。我们以端到端的方式在监督和自监督目标上训练模型。具体来说,联合损失函数带有一个超参数

47.jpeg
47.jpeg
以表述如下:

48.jpeg
48.jpeg

实验部分

我们进行了大量实验来验证我们提出的框架的有效性,并回答以下问题:

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、对比损失中的温度

温度.jpeg
温度.jpeg
和无监督损失的权重
权重.jpeg
权重.jpeg

CFFM中block数量的影响: 图10 (a) 说明了不同k的影响。随着数值增加,AUC显示出改善的趋势。这主要是因为随着k变大,兴趣表示和上下文之间的相互作用更深,而将k增加到2以上并没有带来显著的收益。

温度系数的影响:温度在 {0.1, 0.2, 0.4, 0.8} 内经过精心调整实验。根据图10 (b) 中所示的曲线,我们发现
温度.jpeg
温度.jpeg
据集而异。太小的值(例如0.1)或太大的值(例如0.8)都不合适。较大的值会削弱对负样本的区分能力。相反,太小的值会过度夸大某些负样本的作用,导致性能不佳。

损失平衡权重的影响:我们进行了实验,将

权重.jpeg
权重.jpeg
1e-1, 1e-2, 1e-3, 1e-4}中进行变化。特别地,当
权重.jpeg
权重.jpeg
删除了模块IDM。从图10 (c) 中的结果可以看出,当
权重.jpeg
权重.jpeg
性能达到峰值。随着值的进一步增加,模型性能变得越来越差。我们将其归因于随着
权重.jpeg
权重.jpeg
任务重要度降低,这验证了超参数平衡不同任务目标的必要性。

图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在多场景建模中的优势。

八、总结与展望

  1. 当前实现的多场景建模方法只在搜索区分流量来源这一个维度上进行实验,后续可以继续思考如何将场景化信息泛化到人群(比如按照购买力划分、活跃度、新老客等),实现多人群精细化建模;
  2. 进一步也可以将多场景泛化到得物多个行业下(比如按照商品品类进行差异化建模),实现多行业差异化建模;
  3. 在当前这三项工作中,对于用于行为序列中的商品side info还只是考虑ID类的特征(item ID,类目ID和品牌ID),而商品还有丰富的多模态(文本、图片)信息也可以进一步融合到建模当中,实现多场景 & 多模态建模。

文 / huangjin

关注得物技术,每周更新技术干货

要是觉得文章对你有帮助的话,欢迎评论转发点赞~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
windows怎么上传ipa到AppStore?无需Mac无需苹果电脑解决办法!
#macOSBigsur#虽然Mac系统使用xcode自带的上传ipa工具很方便,也很简单,但众多跨平台开发者,如:uni-app,apicloud,Flutter等混合开发者,用不到mac系统来开发,几乎没有必要用到,如果只是一个上传ipa功能,来买个Mac,那太不划算了(土豪随意),我们开发出了无需Mac,自助上传ipa文件到Appstore构造版本,无需Mac系统,无需苹果电脑,无需安装任何程序,只需要一个浏览器即可搞定,兼容多种环境,服务器千兆宽带上传,直连苹果端,上传IP随机更换,提升App Store上架成功率,4.3被拒几率也会大大降低。我们将会当您的iPA上传成功后,立刻删除您的账号密码,确保数据安全,始终坚持用最好的服务,为客户带来最大的价值,欢迎您的使用!
iOS Magician
2023/03/22
5610
​​苹果应用上架后多久可以下载​
iOS APP上架App Store其中一个步骤就是要把ipa文件上传到App Store!
爱学iOS的小麦子
2023/01/09
6750
如何使用Xcode打包导出IPA文件并进行iOS应用内测,无需支付苹果开发者账号费用?
苹果开发者账号认证需要支付688元,对于初学iOS开发的同学来说,仅仅是为了进行内测而不需要上架App Store,这样的费用是不必要的。但是,有一款名为APP Uploader的软件可以解决这个问题,只需要注册苹果个人开发者账号,无需支付688元认证,即可打包自己开发的iOS应用,并提供给他人测试。以下是详细教程:
爱学iOS的小麦子
2023/03/08
1.2K0
苹果应用商店上架
IOS开发工具官网地址 http://www.applicationloader.net/
iOS程序应用
2023/01/06
1.7K0
appuploader 上架详解大全(下)
1.本文详细介绍最新的在windows上进行ios app开发编译打包安装到手机测试的完整流程。介绍ios开发经常遇到的问题和解
iOS程序应用
2023/04/17
1.8K0
appuploader 上架详解大全(下)
苹果上架需要什么
本文介绍了如何从Mac OS X Catalina将IPA文件上传到App Store的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
iOS程序应用
2023/01/09
3550
​ 苹果开发者账号续费流程及苹果开发者账号续费流程及下架处理
当开发者的苹果开发者账号即将到期时,可能会面临以下问题:“如何查看开发者账号剩余时间?”和“如何进行续费?”本文将详细解答这些问题。
爱学iOS的小麦子
2023/06/30
1.3K0
ios app真机测试到上架App Store详细教程-必看
通过本篇教程,可以学习到ios证书申请和打包ipa测试上架的完整流程,中途可能会遇到一些报错,一般在教程对常见错误都有解释,仔细看看,不清楚可以联系技术支持或者加群提问。
iOS程序应用
2023/05/07
8720
ios app真机测试到上架App Store详细教程-必看
苹果证书p12和描述文件的创建方法
https://blog.csdn.net/handsome0916/article/details/113779348
爱学iOS的小麦子
2023/05/09
9530
苹果证书p12和描述文件的创建方法
iosapp上架流程
通过本篇教程,可以学习到ios证书申请和打包ipa测试上架的完整流程,中途可能会遇到一些报错,一般在教程对常见错误都有解释,仔细看看,不清楚可以联系技术支持或者加群提问。
iOS程序应用
2022/11/17
1.3K0
Appuploader工具让ipa上传到App Store 的最新流程和步骤
1.一般的方法是申请到.cer证书然后再用钥匙串助手转换p12,需要用到苹果Mac电脑,过程比较复杂。Appuploader可以辅助在Windows、linux或mac系统直接申请iOS证书p12,及上传ipa到App Store,最方便在Windows开发上架没有苹果Mac电脑的开发者!无需钥匙密钥。下载地址:http://www.appuploader.net/
iOS Magician
2023/03/22
1.7K0
Appuploader工具让ipa上传到App Store 的最新流程和步骤
xcode打包导出ipa
众所周知,在开发苹果应用时需要使用签名(证书)才能进行打包安装苹果IPA,作为刚接触ios开发的同学,只是学习ios app开发内测,并没有上架appstore需求,对于苹果开发者账号认证需要支付688,真的是极大的浪费,使用appuploader,只需要注册苹果普通的账号,不需要688认证,就可以打包自己开发的ios应用,自己真机测试,下面是详细教程:
爱学iOS的小麦子
2022/09/27
1.5K0
xcode打包导出ipa
xcode打包导出ipa
众所周知,在开发苹果应用时需要使用签名(证书)才能进行打包安装苹果IPA,作为刚接触ios开发的同学,只是学习ios app开发内测,并没有上架appstore需求,对于苹果开发者账号认证需要支付688,真的是极大的浪费,使用appuploader,只需要注册苹果普通的账号,不需要688认证,就可以打包自己开发的ios应用,自己真机测试,下面是详细教程: 第一步:注册苹果开发者账号 访问以下网址,按照提示注册即可,因为不需要支付688认证苹果开发者,所以没什么好讲的。 注册地址:Apple Developer https://developer.apple.com/cn/ 第二步:下载APP Uploader 下载地址: Appuploader官网--IOS ipa上传发布工具,证书制作工具跨平台版,windows,linux,mac系统都可用 (applicationloader.net) http://www.applicationloader.net/ 我这里是VMware虚拟机安装的mac系统,所以下载了mac安装包,直接解压,双击appuploader即可启动,看下图:
iOS程序应用
2023/04/17
5270
xcode打包导出ipa
appuploader 上架详解大全(上)
弹出空白错误提示,请下载最新版本的appuploader试试,或者删除appuploader目录下的data目录试试 收不到短信,请在发送类型地方选择短信类型,选择自己能收短信的号码,并且一天之内有总短信数量限制,没用超过数量
iOS Magician
2023/03/21
1.4K0
appuploader 上架详解大全(上)
Ios上架app无需688,xcode打包导出IPA,供人内测
众所周知,在开发苹果应用时需要使用签名(证书)才能进行打包安装苹果IPA,作为刚接触ios开发的同学,只是学习ios app开发内测,并没有上架appstore需求,对于苹果开发者账号认证需要支付688,真的是极大的浪费,经过一番百度,APP Uploader这款软件,真是丝滑啊,只需要注册苹果个人开发者账号,不需要688认证,就可以打包自己开发的ios应用,提供给他人测试,废话不多讲,下面是详细教程:
iOS程序应用
2023/02/23
1.4K0
Appuploader 常见错误及解决方法
问题解决秘籍 遇到问题,第一个请登录苹果开发者官网 检查一遍账号是否有权限,是否被停用,是否过期,是否有协议需要同意,并且在右上角切换账号后检查所有关联的账号是否工作正常,apple账号的邮箱也是个重要的地方,当有ipa上传,账号有发生变化,被停用,apple经常发送一些邮件,去检查邮件通知,根据邮件通知修改调整。只有账号正常没问题,再考虑是否软件哪个地方操作错误或者有软件功能错误。不自己检查问题就问客服,发邮件提问就不要怪客服的态度不好,因为你需要反思自己是不是伸手党,懒得连字都不愿意看的人。apple开发常用的3个网址:开发者中心 : https://developer.apple.com/account/app管理中心: https://appstoreconnect.apple.com/apple ID管理中心: https://appleid.apple.com/证书管理中心 https://developer.apple.com/account/resources/certificates/list 工具只是提高工作效率,不要想着使用工具来突破apple限制,或者实现apple本身没有的功能。 常见的例如没给apple 688年费就想着软件上架,想长期有效突破apple 7天的限制,想着不受苹果限制的证书期限,设备数量限制等,都是异想天开,不要问能不能,有没有办法的问题,这是不可能的。 don't have access,提示没权限或同意协议 下面几个错误是是因为苹果更新了协议,请登录苹果官网同意协议。
iOS程序应用
2023/04/13
4770
Appuploader 常见错误及解决方法
iOS上架App Store详解(图文)
通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestFlight测试然后提交审核的完整流程!
iOS程序应用
2023/03/17
1.6K0
​  如何用苹果app完成ipa安装
当打包完ipa文件后,ipa文件无法直接安装,只能添加udid安装到手机,或者上架才能安装,这里,我分享下使用本站工具上传ipa到app store,无需mac电脑完成ipa文件上架的详细步骤:
爱学iOS的小麦子
2023/05/09
5670
​   如何用苹果app完成ipa安装
2022最新上传ipa到appstore的步骤说明​
我们平时在开发原生的ios app的时候,有苹果电脑在手,上传ipa文件到苹果开发者中心比较简单,直接在xcode上就可以实现了。​
iOS程序应用
2022/12/09
7770
ios设备开发教程-利用app申请ios开发证书及描述文件
前四布我们之前都做了,详见这篇博客:利用Appuploader在window上申请IOS开发所需要的证书及描述文件,我们主要看后面几步。
iOS Magician
2023/03/22
5590
相关推荐
windows怎么上传ipa到AppStore?无需Mac无需苹果电脑解决办法!
更多 >
LV.5
华勤科技技术有限公司前端开发
目录
  • 一、整体概述
  • 二、背景介绍
    • 得物App整体多场景
    • 得物App搜索多场景
    • 主要问题
  • 三、整体优化思路
  • 四、相关工作
    • Scenario-specific network structures
    • Parameter adaptive network structures
  • 五、SACN:When Multi-scenario Meets Multi-attribute: Scenario and Attribute-aware Recommendationwith Contrastive Learning
    • 整体结构
    • 问题定义
    • 具体方法
      • Item-level Preference Extracting
      • Attribute-level Preference Extracting
      • Scenario Contrastive Module
      • Prediction and Optimization
    • 实验部分
      • 实验设置
      • 整体实验结果
      • 消融实验
      • AB实验
    • 结论
  • 六、SAINet:Towards Scenario-adaptive User Behavior Modeling for Multi-scenario Recommendation
    • 整体结构
    • 问题定义
    • 具体方法
      • Target-aware Interest Fusion
      • Scenario-aware DNN Tower
    • 实验部分
      • 实验设置
      • 整体实验结果
      • 消融实验
      • 超参实验
    • 结论
  • 七、DSWIN:Disentangling Scenario-wise Interest Network for Multi-scenario Recommendation
    • 整体结构
    • 问题定义
    • 具体方法
      • Global Interest Aggregation
      • Local Interest Resolution
      • Interest Disentangling Module
      • Prediction and Optimization
    • 实验部分
      • 实验设置
      • 整体实验结果
      • 消融实验
      • 超参实验
      • 可视化分析
      • AB实验
    • 结论
  • 八、总结与展望
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档