今天给大家带来的是美团在CIKM2022上中稿的论文,重点关注于CTR预估中的超长用户行为序列建模。与SIM、ETA这类基于“检索”的建模范式不同,论文提出了一种简单而且有效的基于“采样”的建模范式。基于采样多个hash function和SimHash,弥补了基于“检索”的建模范式中信息缺失以及效果和效率难以平衡的缺点,极大降低计算复杂度的同时实现了在超长行为序列下类似target-attention的建模效果,一起来看一下。

1、背景

在CTR预估中,通过用户历史行为来建模用户兴趣是十分重要的一环。DIN创新的提出了target attention模块,将用户历史行为中item和target item的相关性计算引入到建模当中,与target item更相关的item对用户是否点击的行为具有更大的影响。以DIN为基础,后续阿里又提出了DIEN、DSIN等方法,但出于线上计算耗时的考虑,这些方法大都只能处理用户较短长度的行为序列,如50个。

随着互联网的不断发展,电商场景下用户的行为序列长度远不止50。据统计,淘宝APP上,有超过23%的用户半年内有多于1000次的用户交互行为;美团APP上,超过60%的用户一年中有多余1000次的交互行为,其中更有10%的用户一年内有超过5000次的交互行为。因此,如何高效的处理用户长行为序列,以此来更准确的对用户兴趣进行建模,成为近年来研究的热门话题。

对于用户长行为序列建模,MIMN使用兴趣计算分离的方式,引入记忆网络对长序列行为进行信息提取和存储,这种方式理论上可以处理任意长度的用户行为序列,但是缺点在于兴趣计算分离的方式无法建模用户历史序列和target间的交互关系,效果可能有损;SIM和UBR4CTR提出了两阶段的方法,在第一阶段中通过一定的方式从长行为序列中检索top-K个与target-item最相关的历史行为,第二阶段可以使用DIN等CTR预估的方法。两阶段的做法解决了MIMN中行为序列与target item无法交互建模的缺点,但仍是一种非端到端的建模方式,检索阶段的目标和CTR预估的目标存在不一致性。为了解决两阶段建模目标不一致的问题,阿里进一步提出了ETA这种端到端的建模方法,第一次引入SimHash的方法,通过计算target item和历史序列中item的汉明距离筛选top-k个相关item。但ETA仍然是一种基于“检索”的方法,存在两方面的局限性:

1)从用户的所有历史行为中检索top-K个item,对用户的兴趣建模是有偏的,博客(https://zhuanlan.zhihu.com/p/525604184)给出了一个比较恰当的例子帮助大家理解,比如用户历史点了50次麦当劳和100次肯德基,此时用户应该更偏好于肯德基,但截断 top-50 后对模型来说二者是平等的。
2)检索算法的效果和性能很难权衡。如简单的检索算法线上性能可以得到保证,但可能会损失更多效果;而复杂的检索算法(如UBR4CTR)虽然可以一定程度上提升CTR预估的精度,但对线上耗时并不友好。

为了解决上述的挑战,论文提出了基于“采样”的超长行为序列建模方法SDIM (Sampling-based Deep Interest Modeling),通过采样多个hash function以及引入SimHash,弥补了基于“检索”的建模范式中信息缺失以及效果和效率难以平衡的缺点,极大降低计算复杂度的同时实现了在超长行为序列下类似target-attention的建模效果,下一章,咱们对SDIM进行详细介绍。

2、SDIM介绍

SDIM的整体框架如下图所示:

整个架构和SIM、ETA等结构大致相同,其主要的创新点在于长序列处理部分,接下来,会主要对这部分进行介绍,同时会对该部分的有效性以及时间复杂度进行分析,最后还会介绍如何将SDIM部署在实际的工业场景中。