超长行为序列数据处理:基于搜索的兴趣模型

导读

阿里SIM基于搜索的兴趣模型,采用两阶段搜索机制,能处理超长用户行为序列,并将长期序列用户行为数据建模的最大长度推进到 54000。该模型已在阿里的展示广告系统中作为主模型部署,带来了 7.1% 的 CTR 提升和 4.4% 的 RPM 提升。

摘要

丰富的用户行为数据已被证明在点击率预测任务中具有巨大价值,特别是在推荐系统和在线广告等工业应用中。工业界和学术界都非常关注这一话题,并提出了不同的方法来建模长期序列用户行为数据。其中,阿里巴巴提出的基于记忆网络的模型 MIMN[8] 通过学习算法和服务系统的共同设计实现了 SOTA。MIMN 是第一个可以对长度扩展到 1000 的序列用户行为数据进行建模的工业解决方案。然而,当用户行为序列长度进一步增加(例如增加 10 倍或更多)时,MIMN 无法准确捕捉特定候选项目的用户兴趣。这一挑战在先前提出的方法中普遍存在。

在本文中,我们通过设计一种新的建模范式来解决这个问题,我们称之为基于搜索的兴趣模型(Search-based Interest Model,SIM)。SIM 通过两个级联的搜索单元提取用户兴趣:(i)通用搜索单元(General Search Unit,GSU)从原始且任意长的序列行为数据中进行一般搜索,根据候选项目的查询信息获取与候选项目相关的子用户行为序列(Sub user Behavior Sequence,SBS);(ii)精确搜索单元(Exact Search Unit,ESU)建模候选项目和 SBS 之间的精确关系。这种级联搜索范式使 SIM 在可扩展性和准确性方面具有更好的建模长期序列行为数据的能力。除了学习算法之外,我们还介绍了如何在大规模工业系统中实现 SIM 的实践经验。自 2019 年以来,SIM 已在阿里巴巴的展示广告系统中部署,带来了 7.1% 的点击率提升和 4.4% 的 RPM 提升,这对业务具有重要意义。现在在我们的真实系统中,SIM 建模的序列用户行为数据的最大长度达到 54000,将 SOTA 推进到 54 倍。

1 引言

点击率(Click-Through Rate,CTR)预测建模在推荐系统和在线广告等工业应用中起着至关重要的作用。由于用户历史行为数据的快速增长,用户兴趣建模(聚焦于学习用户兴趣的意图表示)已经广泛引入到 CTR 预测模型中[2, 8, 19, 20]。然而,大多数提出的方法只能对长度扩展到数百的序列用户行为数据进行建模,受限于真实在线系统中的计算和存储负担[19, 20]。丰富的用户行为数据被证明具有巨大价值[8]。例如,全球领先的电子商务网站之一淘宝网有 23% 的用户在过去 5 个月内点击了超过 1000 个产品[8, 10]。如何设计一种可行的解决方案来建模长期序列用户行为数据一直是一个开放且热门的话题,吸引了来自工业界和学术界的研究人员。

一部分研究借鉴了自然语言处理(NLP)领域的思想,提出使用记忆网络来建模长期序列用户行为数据,并取得了一些突破。阿里巴巴提出的 MIMN[8] 是一个典型的工作,通过学习算法和服务系统的共同设计实现了 SOTA。MIMN 是第一个可以对长度扩展到 1000 的序列用户行为数据进行建模的工业解决方案。具体来说,MIMN 将一个用户的多样兴趣逐步嵌入到一个固定大小的记忆矩阵中,并通过每个新行为进行更新。这样,用户建模的计算与 CTR 预测解耦。因此,对于在线服务,延迟将不再是问题,存储成本取决于记忆矩阵的大小,这远小于原始行为序列。在长期兴趣建模中也可以找到类似的思想[10]。然而,对于基于记忆网络的方法来说,建模任意长的序列数据仍然具有挑战性。实际上,我们发现当用户行为序列长度进一步增加(例如达到 10000 或更多)时,MIMN 无法准确捕捉特定候选项目的用户兴趣。这是因为将所有用户历史行为编码到一个固定大小的记忆矩阵中会导致记忆单元中包含大量噪声。

另一方面,正如 DIN[20] 先前工作中指出的那样,用户的兴趣是多样的,并且在面对不同的候选项目时会有所变化。DIN 的关键思想是从用户行为中搜索有效信息,以建模用户面对不同候选项目的特殊兴趣。通过这种方式,我们可以解决将所有用户兴趣编码到固定大小参数中的挑战。DIN 确实为使用用户行为数据进行 CTR 建模带来了很大改进。但如上所述,DIN 的搜索公式在面对长期序列用户行为数据时产生了不可接受的计算和存储成本。那么,我们能否应用类似的搜索技巧并设计一种更有效的方法,从长期序列用户行为数据中提取知识呢?

在本文中,我们通过设计一种新的建模范式来解决这个挑战,我们称之为基于搜索的兴趣模型(Search-based Interest Model,SIM)。SIM 采用 DIN[20] 的思想,并仅捕捉与特定候选项目相关的用户兴趣。在 SIM 中,用户兴趣通过两个级联的搜索单元提取:(i)通用搜索单元(General Search Unit,GSU)从原始且任意长的序列行为数据中进行一般搜索,根据候选项目的查询信息获取与候选项目相关的子用户行为序列(Sub user Behavior Sequence,SBS)。为了满足严格的延迟和计算资源限制,GSU 中采用了通用但有效的方法。根据我们的经验,SBS 的长度可以减少到数百,并且大多数原始长期序列行为数据中的噪声信息可以被过滤。(ii)精确搜索单元(Exact Search Unit,ESU)建模候选项目和 SBS 之间的精确关系。在这里,我们可以轻松应用 DIN[20] 或 DIEN[19] 提出的类似方法。

本文的主要贡献总结如下:

  • 我们提出了一种新的范式 SIM,用于建模长期序列用户行为数据。级联的两阶段搜索机制的设计使 SIM 在可扩展性和准确性方面具有更好的建模长期序列行为数据的能力。
  • 我们介绍了在大规模工业系统中实现 SIM 的实践经验。自 2019 年以来,SIM 已在阿里巴巴的展示广告系统中部署,带来了 7.1% 的 CTR 提升和 4.4% 的 RPM 提升。现在,SIM 正在服务主要流量。
  • 我们将长期序列用户行为数据建模的最大长度推进到 54000,是 MIMN(该任务的已发布 SOTA 工业解决方案)的 54 倍。

2 相关工作

用户兴趣模型

基于深度学习的方法在点击率(CTR)预测任务中取得了巨大的成功[1, 11, 18]。在早期,大多数先锋工作[1, 4, 7, 9, 15]使用深度神经网络来捕捉来自不同领域的特征之间的交互,从而使工程师摆脱了繁琐的特征工程工作。最近,一系列我们称之为用户兴趣模型的工作,专注于使用不同的神经网络架构(如 CNN[14, 17]、RNN[5, 19]、Transformer[3, 13] 和 Capsule[6] 等)从历史行为中学习潜在用户兴趣的表示。DIN[20] 强调用户兴趣是多样的,并在 DIN 中引入了注意力机制,以捕捉用户对不同目标项目的多样兴趣。DIEN[19] 指出历史行为之间的时间关系对于建模用户的兴趣漂移至关重要。DIEN 设计了一个基于 GRU 的兴趣提取层,并辅以辅助损失。MIND[6] 认为使用单个向量来表示一个用户不足以捕捉用户兴趣的变化特性。MIND 引入了胶囊网络和动态路由方法,将用户兴趣表示为多个向量。此外,受序列到序列学习任务中自注意力架构成功的启发,[3] 引入了 Transformer 来建模用户的跨会话和会话内兴趣。

长期用户兴趣

[8] 表明在用户兴趣模型中考虑长期历史行为序列可以显著提高 CTR 模型的性能。尽管较长的用户行为序列为用户兴趣建模带来了更多有用的信息,但它极大地增加了在线服务系统的延迟和存储负担,同时为点对点的 CTR 预测带来了大量噪声。一系列工作专注于解决长期用户兴趣建模中的挑战,通常基于极长甚至终生的历史行为序列学习用户兴趣表示。[10] 提出了一个分层周期记忆网络,用于个性化地记忆每个用户的顺序模式,从而进行终生的序列建模。[16] 选择了一个基于注意力的框架来结合用户的长期和短期偏好,并采用了注意力非对称 SVD 范式来建模长期兴趣。[8] 提出了一种基于记忆的架构 MIMN,该架构将用户的长期兴趣嵌入到固定大小的记忆网络中,以解决用户行为数据的大存储问题。同时,设计了一个 UIC 模块来逐步记录新的用户行为,以应对延迟限制。但 MIMN 在记忆网络中放弃了目标项的信息,而目标项的信息已被证明对用户兴趣建模非常重要。

3 基于搜索的兴趣模型

通过对用户行为数据进行建模来预测点击率(CTR)已被证明是有效的。通常,基于注意力机制的 CTR 模型,如 DIN[20] 和 DIEN[19],设计了复杂的模型结构,并引入注意力机制,通过从用户行为序列中搜索有效信息来捕捉用户的多样兴趣,并处理来自不同候选项的输入。然而,在实际系统中,这些模型只能处理短期行为序列数据,其长度通常小于 150。另一方面,长期用户行为数据是有价值的,建模用户的长期兴趣可能会为用户带来更多样的推荐结果。我们似乎陷入了两难境地:在实际系统中,我们无法用有效但复杂的方法处理有价值的终生用户行为数据。

为了解决这一挑战,我们提出了一种新的建模范式,称为基于搜索的兴趣模型(SIM)。SIM 采用两阶段搜索策略,能够高效地处理长用户行为序列。在本节中,我们将首先介绍 SIM 的整体工作流程,然后详细介绍提出的两个搜索单元。

3.1 整体工作流程

图 1:基于搜索的兴趣模型(SIM)。SIM 采用两阶段搜索策略,由两个单元组成:(i) 通用搜索单元(GSU)从超过一万条用户行为中寻找最相关的 K 个行为;(ii) 精确搜索单元(ESU)利用多头注意力机制捕捉多样的用户兴趣。然后,它遵循传统的嵌入和多层感知器(Embedding&MLP)范式,将精确的长期用户兴趣输出和其他特征作为输入。在本文中,我们介绍了 GSU 的硬搜索和软搜索。硬搜索指的是选择与候选项属于同一类别的行为数据。软搜索指的是基于嵌入向量对每个用户行为数据进行索引,并使用最大内积搜索来寻找 Top-K 行为。对于软搜索,GSU 和 ESU 共享相同的嵌入参数,这些参数在学习过程中同时训练,Top-K 行为序列基于最新的参数生成。

SIM 的整体工作流程如图 1 所示。SIM 采用级联的两阶段搜索策略,对应的两个单元是:通用搜索单元(GSU)和精确搜索单元(ESU)。在第一阶段,我们利用通用搜索单元(GSU)从原始的长期行为序列中以次线性时间复杂度(sub-linear time complexity)寻找前 K 个相关的子行为序列。这里的 K 通常远小于行为序列的原始长度。如果相关行为可以在时间和计算资源的限制下被搜索到,那么就可以进行高效的搜索方法。在第 3.2 节中,我们提供了 GSU 的两种简单实现:软搜索和硬搜索。GSU 采用了一种通用但有效的策略来截断原始序列行为的长度,以满足严格的时间和计算资源限制。同时,存在于长期用户行为序列中的大量噪声信息可能会破坏用户兴趣建模,可以在第一阶段通过搜索策略进行过滤。

在第二阶段,精确搜索单元(ESU)以过滤后的子序列用户行为为输入,进一步捕捉精确的用户兴趣。此处可以应用复杂架构的精细模型,如 DIN[20] 和 DIEN[19],因为长期行为的长度已减少到数百。

需要注意的是,尽管我们分别介绍了这两个阶段,但实际上它们是一起训练的。

3.2 通用搜索单元

给定一个候选项(即 CTR 模型将评分的目标项),只有一部分用户行为是有价值的。这部分用户行为与最终用户决策密切相关。挑选出这些相关的用户行为有助于用户兴趣建模。然而,直接使用整个用户行为序列来建模用户兴趣会带来巨大的资源使用和响应延迟,这在实际应用中通常是不可接受的。

为此,我们提出了一个通用搜索单元,以减少用户兴趣建模中用户行为的输入数量。这里我们介绍两种通用搜索单元:硬搜索和软搜索。

给定用户行为列表 B = [ b 1 , b 2 , … , b T ] B = [b_1, b_2, \ldots, b_T] B=[b1,b2,,bT],其中 b i b_i bi 是第 i i i 个用户行为, T T T 是用户行为的长度。通用搜索单元计算每个行为 b i b_i bi 相对于候选项的相关评分 r i r_i ri,然后选择评分 r i r_i ri 最高的前 K K K 个相关行为作为子行为序列 B ∗ B^* B。硬搜索和软搜索的区别在于相关评分 r i r_i ri 的公式:

r i = { Sign ( C i = C a ) 硬搜索 ( W b e i ) ⊙ ( W a e a ) T 软搜索 r_i = \begin{cases} \text{Sign}(C_i = C_a) & \text{硬搜索} \\ (W_b e_i) \odot (W_a e_a)^T & \text{软搜索} \end{cases} ri={Sign(Ci=Ca)(Wbei)(Waea)T硬搜索软搜索

硬搜索。硬搜索模型是非参数的。只有属于与候选项相同类别的行为才会被选中并聚合为子行为序列,发送到精确搜索单元。这里 C a C_a Ca C i C_i Ci 分别表示目标项和第 i i i 个行为 b i b_i bi 所属的类别。硬搜索方法虽然简单,但在第 4 节中我们将展示它非常适合在线服务。

软搜索。在软搜索模型中, b t b_t bt 首先被编码为一个 one-hot 向量,然后嵌入到低维向量 E = [ e 1 , e 2 , … , e T ] E = [e_1, e_2, \ldots, e_T] E=[e1,e2,,eT] 中,如图 1 所示。 W b W_b Wb W a W_a Wa 是权重参数。 e a e_a ea e i e_i ei 分别表示目标项和第 i i i 个行为 b i b_i bi 的嵌入向量。为了进一步加速对数万长度用户行为的前 K K K 搜索,基于嵌入向量 E E E 使用次线性时间最大内积搜索方法 ALSH[12] 来搜索与目标项相关的前 K K K 个行为。通过训练良好的嵌入和最大内积搜索(MIPS)方法,数万用户行为可以减少到数百个。

需要注意的是,长期和短期数据的分布是不同的。因此,直接使用从短期用户兴趣建模中学习到的参数在软搜索模型中可能会误导长期用户兴趣建模。在本文中,软搜索模型的参数在基于长期行为数据的辅助 CTR 预测任务下进行训练,如图 1 左侧的软搜索训练所示。行为表示 U r U_r Ur 通过 r i r_i ri e i e_i ei 的乘积获得:

U r = ∑ i = 1 T r i e i U_r = \sum_{i=1}^{T} r_i e_i Ur=i=1Triei

然后,将行为表示 U r U_r Ur 和目标向量 e a e_a ea 连接起来作为后续多层感知器(MLP)的输入。需要注意的是,如果用户行为增长到一定程度,无法直接将整个用户行为输入到模型中。在这种情况下,可以从长序列用户行为中随机抽取子序列集,这仍然遵循原始分布。

3.3 精确搜索单元

在第一阶段搜索中,从长期用户行为中选择与目标项相关的前 K 个子用户行为序列 B ∗ B^* B。为了进一步从相关行为中建模用户兴趣,我们引入了基于注意力机制的精确搜索单元,该单元以 B ∗ B^* B 作为输入。

考虑到这些选定的用户行为跨越了较长时间,因此用户行为的贡献是不同的,我们引入了每个行为的时间序列属性。具体来说,目标项与选定的 K 个用户行为之间的时间间隔 D = [ Δ 1 , Δ 2 , … , Δ K ] D = [\Delta_1, \Delta_2, \ldots, \Delta_K] D=[Δ1,Δ2,,ΔK] 被用来提供时间距离信息。 B ∗ B^* B D D D 分别被编码为嵌入 E ∗ = [ e 1 ∗ , e 2 ∗ , … , e K ∗ ] E^* = [e^*_1, e^*_2, \ldots, e^*_K] E=[e1,e2,,eK] E t = [ e 1 t , e 2 t , … , e K t ] E_t = [e^t_1, e^t_2, \ldots, e^t_K] Et=[e1t,e2t,,eKt] e j ∗ e^*_j ej e j t e^t_j ejt 被连接起来作为用户行为的最终表示,表示为 z j = concat ( e j ∗ , e j t ) z_j = \text{concat}(e^*_j, e^t_j) zj=concat(ej,ejt)。我们利用多头注意力机制来捕捉多样的用户兴趣:

att i score = Softmax ( W b i z b ⊙ W a i e a ) \text{att}_i^{\text{score}} = \text{Softmax}(W_{bi} z_b \odot W_{ai} e_a) attiscore=Softmax(WbizbWaiea)

head i = att i score z b \text{head}_i = \text{att}_i^{\text{score}} z_b headi=attiscorezb

其中, att i score \text{att}_i^{\text{score}} attiscore 是第 i i i 个注意力得分, head i \text{head}_i headi 是多头注意力中的第 i i i 个头。 W b i W_{bi} Wbi W a i W_{ai} Wai 是第 i i i 个权重参数。最终用户的长期多样兴趣表示为:

U l t = concat ( head 1 , … , head q ) U_{lt} = \text{concat}(\text{head}_1, \ldots, \text{head}_q) Ult=concat(head1,,headq)

然后,将其输入到 MLP 中进行 CTR 预测。

最后,通用搜索单元和精确搜索单元在交叉熵损失函数下同时训练:

Loss = α Loss GSU + β Loss ESU \text{Loss} = \alpha \text{Loss}_{\text{GSU}} + \beta \text{Loss}_{\text{ESU}} Loss=αLossGSU+βLossESU

其中, α \alpha α β \beta β 是控制损失权重的超参数。在我们的实验中,如果 GSU 使用软搜索模型,则 α \alpha α β \beta β 都设置为 1。GSU 使用硬搜索模型是非参数的,因此 α \alpha α 设置为 0。

4 在线服务的实现

在本节中,我们介绍在阿里巴巴展示广告系统中实现 SIM(Search-based Interest Model)的实践经验。

4.1 使用终生用户行为数据进行在线服务的挑战

工业级推荐系统或广告系统需要在一秒钟内处理大量的流量请求,这要求 CTR 模型能够实时响应。通常,服务延迟应少于 30 毫秒。

图 2:我们工业展示广告系统中用于 CTR 任务的实时预测(RTP)系统。它由两个关键组件组成:计算节点和预测服务器。对于具有长序列用户行为数据的 RTP 在线系统来说,这将带来巨大的存储和延迟压力。

图 2 简要展示了我们在线展示广告系统中用于 CTR 任务的实时预测(RTP)系统。

考虑到终生用户行为数据,在工业系统中实现长期用户兴趣模型的实时服务变得更加困难。存储和延迟限制可能成为长期用户兴趣模型的瓶颈[8]。随着用户行为序列长度的增加,流量将线性增长。此外,我们的系统在流量高峰期每秒服务超过 100 万用户。因此,将长期模型部署到在线系统是一个巨大的挑战。

4.2 面向在线服务系统的基于搜索的兴趣模型

在第 3.2 节中,我们提出了两种通用搜索单元:软搜索模型和硬搜索模型。对于软搜索和硬搜索模型,我们在阿里巴巴在线展示广告系统中收集的工业数据上进行了广泛的离线实验。我们观察到,软搜索模型生成的前 K 个行为与硬搜索模型的结果极为相似。换句话说,软搜索生成的大多数前 K 个行为通常属于目标项的类别。这是我们场景中数据的一个特征。在电子商务网站中,大多数情况下,属于同一类别的商品是相似的。考虑到这一点,尽管软搜索模型在离线实验中表现略优于硬搜索模型(详见表 4),在平衡性能提升和资源消耗后,我们选择硬搜索模型在我们的广告系统中部署 SIM。

对于硬搜索模型,包含所有长序列行为数据的索引是一个关键组件。我们观察到,行为可以自然地通过它们所属的类别来实现。

图 3:采用提议的 SIM 模型的 CTR 预测系统。新系统加入了一个硬搜索模块,从长序列行为数据中寻找与目标项相关的有效行为。用户行为树的索引在离线方式中预先构建,节省了大部分在线服务的延迟成本。

因此,我们为每个用户构建了一个两级结构的索引,我们称之为用户行为树(UBT),如图 3 所示。简而言之,UBT 遵循 Key-Key-Value 数据结构:第一个键是用户 ID,第二个键是类别 ID,最后的值是属于每个类别的具体行为项。UBT 被实现为一个分布式系统,大小达到 22 TB,并且足够灵活以提供高吞吐量查询。然后,我们将目标项的类别作为我们的硬搜索查询。

在通用搜索单元之后,用户行为的长度可以从数万减少到数百。因此,在线系统中终生行为的存储压力可以得到缓解。图 3 展示了基于搜索的兴趣模型的新 CTR 预测系统。

需要注意的是,通用搜索单元的用户行为树索引可以离线预构建。这样,在线系统中通用搜索单元的响应时间可以非常短,与 GSU 的计算相比可以忽略不计。此外,其他用户特征可以并行计算。

5 实验

在本节中,我们详细介绍了实验,包括数据集、实验设置、模型比较及一些相应的分析。我们将提出的搜索模型与几个最先进的工作在两个公共数据集和一个工业数据集上进行比较,如表 1 所示。由于 SIM 已部署在我们的在线广告系统中,我们还进行了仔细的在线 A/B 测试,并与几个著名的行业模型进行了比较。

5.1 数据集

模型比较在两个公共数据集以及从阿里巴巴在线展示广告系统收集的一个工业数据集上进行。表 1 显示了所有数据集的统计信息。

  • Amazon 数据集:包含来自 Amazon 的产品评论和元数据。我们使用 Amazon 数据集中的 Books 子集,该子集包含 75053 个用户、358367 个商品和 1583 个类别。对于该数据集,我们将评论视为一种交互行为,并按时间对一个用户的评论进行排序。Amazon Books 数据集的最大行为序列长度为 100。我们将最近的 10 个用户行为分割为短期用户序列特征,并将最近的 90 个用户行为分割为长期用户序列特征。这些预处理方法已在相关工作中广泛使用。

  • Taobao 数据集:收集了来自淘宝推荐系统的用户行为。该数据集包含多种类型的用户行为,包括点击、购买等。它包含约八百万用户的行为序列。我们获取每个用户的点击行为并按时间排序,以构建行为序列。Taobao 数据集的最大行为序列长度为 500。我们将最近的 100 个用户行为分割为短期用户序列特征,并将最近的 400 个用户行为分割为长期用户序列特征。该数据集将很快发布。

  • 工业数据集:从阿里巴巴的在线展示广告系统中收集。样本由展示日志构成,以“点击”或“未点击”为标签。训练集由过去 49 天的样本组成,测试集由接下来的一天的样本组成,这是工业建模的经典设置。在该数据集中,每天样本中的用户行为特征包含前 180 天的历史行为序列作为长期行为特征,以及前 14 天的行为序列作为短期行为特征。超过 30% 的样本包含长度超过 10000 的序列行为数据。此外,行为序列的最大长度达到 54000,是 MIMN [8] 中的 54 倍。

5.2 竞争对手和实验设置

我们将 SIM 与以下主流的 CTR 预测模型进行比较:

  • DIN [20]:这是一个早期的用户行为建模工作,提出了相对于候选项的软搜索用户行为。与其他长期用户兴趣模型相比,DIN 仅将短期用户行为作为输入。
  • Avg-Pooling Long DIN:为了比较模型在长期用户兴趣上的表现,我们对长期行为应用平均池化操作,并将长期嵌入与其他特征嵌入连接起来。
  • MIMN [8]:这个模型巧妙地设计了架构来捕捉长期用户兴趣,达到了最先进的性能。
  • SIM (hard):这是提出的 SIM 模型,在第一阶段进行硬搜索,没有在 ESU 中使用时间嵌入。
  • SIM (soft):这是提出的 SIM 模型,在第一阶段进行软搜索,没有在 ESU 中使用时间嵌入。
  • SIM (hard/soft) with Timeinfo:这是在第一阶段进行硬/软搜索并使用时间嵌入的 SIM 模型。

实验设置

我们采用与相关工作[8]相同的实验设置,以便公平地比较实验结果。对于所有模型,我们使用 Adam 优化器。学习率从 0.001 开始,应用指数衰减。全连接网络(FCN)的层数设置为 200 × 80 × 2。嵌入维度的数量设置为 4。我们使用广泛应用的 AUC 作为模型性能的衡量指标。

5.3 公共数据集上的结果

表 2 展示了所有比较模型的结果。与 DIN 相比,其他采用长期用户行为特征的模型表现更好。这表明长期用户行为对 CTR 预测任务是有帮助的。SIM 相较于 MIMN 取得了显著的改进,因为 MIMN 将所有未过滤的用户历史行为编码到一个固定长度的记忆中,这使得捕捉多样化的长期兴趣变得困难。SIM 使用两阶段搜索策略,从大量的历史顺序行为中搜索相关行为,并针对不同的目标项建模多样化的长期兴趣。实验结果表明,SIM 优于所有其他长期兴趣模型,这强烈证明了所提出的两阶段搜索策略在长期用户兴趣建模中的有效性。此外,加入时间嵌入可以进一步提高模型性能。

5.4 消融研究

两阶段搜索的有效性

如上所述,提出的搜索兴趣模型使用了两阶段搜索策略。第一阶段遵循一般的搜索策略,以过滤出与目标项相关的历史行为。第二阶段对第一阶段的行为进行基于注意力的精确搜索,以准确捕捉用户对目标项的多样化长期兴趣。在本节中,我们将通过对长期历史行为应用不同操作的实验来评估所提出的两阶段搜索架构的有效性。

如表 3 所示,Avg-Pooling without Search 仅使用平均池化来整合长期行为嵌入,不进行任何过滤,与 Avg-pooling Long DIN 相同。Only First Stage (hard) 在第一阶段对长期历史行为进行硬搜索,并通过平均池化将过滤后的嵌入整合成一个固定大小的向量,作为 MLP 的输入。Only First Stage (soft) 与 Only First Stage (hard) 几乎相同,只是在第一阶段应用了参数化的软搜索。在第三个实验中,我们离线计算目标项与长期用户行为之间的内积相似度分数。软搜索通过根据相似度分数选择前 50 个相关行为来进行。最后三个实验是提出的具有两阶段搜索架构的搜索模型。

如表 3 所示,所有具有过滤策略的方法相比于简单的平均池化嵌入极大地提高了模型性能。这表明原始长期行为序列中确实存在大量噪声,这可能会削弱长期用户兴趣学习。与仅有一个阶段搜索的模型相比,提出的具有两阶段搜索策略的搜索模型通过在第二阶段引入基于注意力的搜索进一步取得了进展。这表明,准确建模用户对目标项的多样化长期兴趣对 CTR 预测任务是有帮助的。而且在第一阶段搜索之后,过滤后的行为序列通常比原始序列短得多。注意力操作不会对在线服务 RTP 系统造成太大负担。

加入时间嵌入进一步提高了性能,这表明不同时期的用户行为贡献不同。

5.5 工业数据集上的结果

我们进一步在阿里巴巴在线展示广告系统收集的数据集上进行了实验。

表 4 显示了结果。与第一阶段的硬搜索相比,软搜索表现更好。同时,我们注意到在第一阶段两种搜索策略之间的差距很小。第一阶段应用软搜索需要更多的计算和存储资源,因为在线服务中需要使用最近邻搜索方法,而硬搜索只需从离线构建的两级索引表中进行搜索。因此,硬搜索更高效且系统友好。此外,对于两种不同的搜索策略,我们对工业数据集中超过 100 万个样本和 10 万个具有长期历史行为的用户进行了统计。结果表明,硬搜索策略保留的用户行为可以覆盖软搜索策略的 75%。最终,我们在效率和性能之间权衡后选择了第一阶段的简单硬搜索策略。SIM 相较于 MIMN 在 AUC 上提高了 0.008,这对我们的业务来说是显著的。

在线 A/B 测试

自 2019 年以来,我们在阿里巴巴的展示广告系统中部署了所提出的解决方案。从 2020 年 1 月 7 日到 2020 年 2 月 7 日,我们进行了严格的在线 A/B 测试实验,以验证所提出的 SIM 模型。

与 MIMN(我们的上一代产品模型)相比,SIM 在阿里巴巴展示广告场景中取得了显著的提升,如表 5 所示。目前,SIM 已上线并服务于主要场景流量,每天为业务收入增长做出显著贡献。

重新思考搜索模型

我们在用户长期兴趣建模方面做出了巨大努力,所提出的 SIM 在离线和在线评估中都取得了良好表现。但 SIM 是否由于精准的长期兴趣建模而表现更好?SIM 是否更倾向于推荐与用户长期兴趣相关的项目?为回答这两个问题,我们制定了另一个指标。点击样本的 “距离上次同类行为的天数”( d category d_{\text{category}} dcategory)定义为用户对与点击样本同类项目的过去行为到点击事件发生之间的天数。例如,用户 u 1 u_1 u1 点击了一个类别为 c 1 c_1 c1 的项目 i 1 i_1 i1,而 u 1 u_1 u1 在 5 天前点击了与 i 1 i_1 i1 同类的项目 i 2 i_2 i2,这是 u 1 u_1 u1 c 1 c_1 c1 类别上的过去行为。如果点击事件记为 s 1 s_1 s1,那么样本 s 1 s_1 s1 d category d_{\text{category}} dcategory 为 5( d s 1 , category = 5 d_{s_1, \text{category}} = 5 ds1,category=5)。此外,如果用户 u 1 u_1 u1 从未在类别 c 1 c_1 c1 上有行为,我们将 d s 1 , category d_{s_1, \text{category}} ds1,category 设置为 -1。对于一个特定的模型, d category d_{\text{category}} dcategory 可以用来评估模型在长期或短期兴趣上的选择偏好。

在在线 A/B 测试之后,我们基于提出的 d category d_{\text{category}} dcategory 指标分析了来自 SIM 和 DIEN(上一代短期 CTR 预测模型)的点击样本。

图 4:来自 DIEN 和 SIM 的点击样本分布。点击被分为两部分:长期(>14 天)和短期(≤14 天),根据提出的指标“距离上次同类行为的天数”( d category d_{\text{category}} dcategory)进行聚合。聚合尺度在短期(2 天)和长期(20 天)内是不同的。箱线图展示了 SIM 相对于不同 d category d_{\text{category}} dcategory 的点击比例提升。

d category d_{\text{category}} dcategory 上的点击分布如图 4 所示。可以发现,两种模型在短期部分( d category < 14 d_{\text{category}} < 14 dcategory<14)几乎没有差异,因为 SIM 和 DIEN 都包含了用户在过去 14 天内的短期行为特征。而在长期部分,SIM 占据了更大的比例。

此外,我们统计了工业数据集中 d category d_{\text{category}} dcategory 的平均值和用户在目标项目上有历史类别行为的概率( p ( d category > − 1 ) p(d_{\text{category}} > -1) p(dcategory>1)),如表 6 所示。工业数据集上的统计结果证明了 SIM 的改进确实是由于更好的长期兴趣建模,并且与 DIEN 相比,SIM 更倾向于推荐与用户长期行为相关的项目。

部署的实际经验

在此我们介绍了在在线服务系统中实施 SIM 的实际经验。众所周知,阿里巴巴的高流量每秒服务超过 100 万用户的流量峰值。此外,对于每个用户,RTP 系统需要计算数百个候选项目的预测 CTR。我们离线为整个用户行为数据构建了两级索引,并且每日更新。第一阶段是用户 ID。在第二阶段,一个用户的长期行为数据按该用户交互过的类别进行索引。尽管候选项目的数量有数百个,但这些项目的类别数量通常少于 20。同时,每个类别的 GSU 子行为序列长度被截断为 200(原始长度通常少于 150)。这样,每个用户请求的流量是有限且可接受的。此外,我们通过深度内核融合优化了 ESU 中多头注意力的计算。

图 5:实时点击率(CTR)预测系统在不同吞吐量下的系统性能。MIMN 和 DIEN 的用户行为长度被截断为 1000,而 SIM 的用户行为长度可以扩展到一万。DIEN 的最大吞吐量为 200,因此图中只有一个点。

我们在图 5 中展示了 DIEN、MIMN 和 SIM 在实时 CTR 预测系统中延迟相对于吞吐量的性能。值得注意的是,MIMN 能处理的用户行为的最大长度为 1000,所展示的性能基于截断的行为数据。而 SIM 中的用户行为长度未被截断,并且可以扩展到 54000,将最大长度提高到 54 倍。相比于 MIMN 处理截断的用户行为,SIM 处理超过一万个行为仅增加了 5 毫秒的延迟。

6 结论

在本文中,我们专注于在实际工业环境中利用超过一万条的序列用户行为数据。我们提出了基于搜索的兴趣模型,以捕捉用户与目标项目的多样化长期兴趣。在第一阶段,我们提出了一个通用搜索单元(General Search Unit),将一万多条行为减少到几百条。在第二阶段,一个精确搜索单元(Exact Search Unit)利用这几百条相关行为来建模精确的用户兴趣。我们在阿里巴巴的展示广告系统中实现了 SIM。SIM 带来了显著的业务改进,并且正在处理主要的流量。

SIM 引入了比以往方法更多的用户行为数据,实验结果表明 SIM 更关注长期兴趣。然而,搜索单元在所有用户之间仍然共享相同的公式和参数。未来,我们将尝试构建用户特定的模型,以根据个人意识组织每个用户的终生行为数据。这样,每个用户将拥有自己的个性化模型,不断建模用户的兴趣演变。

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值