阿里SDM序列召回模型

背景

这是阿里2019年发表的一篇用于召回阶段的序列建模论文,这篇论文主要解决了两个问题:

1. 用户可能有多个兴趣(这篇论文的多个兴趣是指用户是否购买一个商品可能会受颜色、品牌、店铺等多个因素影响),如何建模多个兴趣

2. 用户的兴趣可以分为短期兴趣(当前session),长期兴趣,如何同时建模长期兴趣和短期兴趣

 

方法

 模型上层视角的结构如上图所示,采用了经典的双塔模型,item tower得到 item embedding,user tower得到 user embedding,然后通过点乘求和得到score

正样本是有用户正反馈的item,负样本来自于随机采样,训练时使用softmax + logloss,serving时采样了knn检索。

模型的详细结构如下图所示

item侧的结构论文中没有详情介绍,应该是通过几层NN得到item embedding,论文主要详细介绍了user embedding的计算过程

为了能同时建模用户的长期兴趣和短期兴趣,用户分别提取了用户的短期行为序列和长期行为序列,划分方式如下所示:

短期行为序列:同个session,或行为间隔小于10min,但是最长不超过50

长期行为序列:用户7天内行为序列 - 短期行为序列

 

短期行为序列建模

短期行为序列建模方式如上图的左下所示,主要包含如下几个步骤:

1. 输入行为序列后用embedding层提取embedding

2. 经过一层LSTM建模时间依赖

3. 通过一层 multi-head self-attention 提取用户多个兴趣点

4. 经过一层user-attention引入用户个性化信息

 

长期行为序列建模

论文提取了多个长期行为序列(id序列、店铺序列、品牌序列等),每个序列都用user-attention建模,然后concat过NN

 

长短期兴趣融合

为了融合短期行为序列的建模结果和长期行为序列的建模,论文设计了一个gate结构,原理如下:

 

参考资料

论文地址:https://arxiv.org/abs/1909.00385v1

https://www.sohu.com/a/340104070_99979179 

posted @ 2024-01-18 21:57  xd_xumaomao  阅读(146)  评论(0编辑  收藏  举报