本文介绍的论文是《Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction》
论文下载地址是:https://arxiv.org/abs/2006.05639
阿里对于用户行为序列建模的研究源源不断,本文咱们先来简单总结一下用户行为序列建模的常见方式,然后再来详解一下最近提出的基于搜索的用户终身行为序列建模方法。
1、用户行为序列建模回顾
1.1 Pooling方式
Pooling方式最简单的就是对用户行为序列中的每个item做embedding后,进行max/mean-pooling,代表的论文是youtube的《Deep Neural Networks for YouTube Recommendations》,将用户观看过的视频序列取到embedding后,做了一个mean pooling作为用户历史兴趣的表达。
mean-pooling的方式将用户点击过的各个item当做同等重要。但实际上,用户点过的item对任务的贡献度是不同的,user历史上点过的和target item同一类目的item明显会起到更加重要的作用。在DIN中,将attention思想引入到行为序列建模中。将target item和行为序列中的item做一个attention,得到一个weight,然后进行加权求和来表征用户的兴趣。
1.2 RNN/Transformer方式
pooling方式没有考虑用户行为序列发生的先后顺序。将行为序列顺序引入到模型中,可以使用RNN及其变种LSTM/GRU。如DIEN中使用GRU对用户的兴趣进行抽取和使用AUGRU来表示用户兴趣的演化过程。
但RNN方式的一大缺点是对用户行为序列进行串行计算,耗时相对来说还是较高一些,可以考虑将RNN替换为Transformer的方式,来实现行为序列的并行计算,如阿里的BST。使用Transormer时需要结合行为的先后顺序信息,如在BST中,将当前时间戳和用户行为发生时间戳的差值离散化后的embedding加入到输入信息中。
更进一步,通过观察用户行为,发现用户在每个会话中的行为是相近的,而在不同会话之间差别是很大的,考虑这种跟Session相结合的用户行为序列,又有了DSIN。
1.3 多兴趣抽取
前面介绍的大多数算法仅仅将用户的兴趣表示成单个的Embedding,但用户的兴趣是多种多样的,使用单一的用户兴趣embedding容易造成头部效应。因此在MIND中,通过胶囊网络来生成多个表征用户兴趣的Embedding,来提升召回阶段的效果。
1.4 长用户行为建模
上述模型大都是直接输入用户行为序列中的item id列表,线上耗时限制导致长度不能太长,如DIEN模型,当Q