【推荐系统】一文梳理序列化推荐算法模型进展
文本将序列推荐分为以下几个方面:
标准序列推荐 长短期序列推荐 多兴趣表示的序列推荐 多行为序列推荐 其他序列推荐
一、标准序列推荐
标准序列推荐指通过单行为序列挖掘用户表示的推荐算法。标准序列推荐算法也非常直接,一些常见的序列建模的方法,比如Pooling, RNN, CNN, Memory Network, Attention, Transformer等等。
1.1 Pooling
将用户交互过的item的embedding,取个均值,作为序列特征加入推荐模型,比如google的推荐模型[1]。这种方法简单有效,也是业界最常见的使用序列特征的手段。
1.2 RNN-based
RNN是一种进行序列建模的非常使用的方法,广泛用于各种序列建模,比如文本、语音等等。GRU4Rec[2]将RNN引入了session-based推荐系统,将一个session内的交互作为序列历史,进行序列建模。
1.3 CNN-based
TextCNN将CNN引入了序列建模,Caser[3]将CNN引入了序列推荐。Caser中指出现在的Markov chain models只能建模point-level sequential patterns,不能建模union-level patterns,而CNN可以很好的解决这个问题。
1.4 Attention-based
上述方法没有考虑用户序列行为中哪些交互是比较重要的,注意力机制(attention)是一个很好的解决方法。SASRec[4]提出了一种基于自注意力的序列推荐方法。
阿里提出了一种深度注意力网络DIN用到推荐广告[5],在业界有着广泛的应用。
1.5 Memory-based
上述的方法只对序列交互进行了建模,而没有存储下来,当序列很长时可能会遗忘一些过去的交互,RUM[6]引入了用户记忆模块,来存储序列交互的信息。
1.6 Transformer-based
Transformer在NLP任务上取得了显著的提升,基于Transformer提出了Bert等大型预训练模型。Bert4Rec[7]将这类结构思路引入了推荐系统。
二、长短期序列推荐
用户可能拥有大量交互历史,长期交互和短期交互对用户当前兴趣可能有着不同的影响,因此有必要区分用户的长短期行为。SHAN将用户行为分为长期的和短期的,使用层次注意力网络进行建模。
三、多兴趣表示的序列推荐
上述的方法通常是将用户行为编码为一个表示,但是用户的兴趣偏好通常是多个方面的,因此有方法将用户的序列行为编码为多个兴趣表示向量[9]。
四、多行为序列推荐
用户通常有多种不同的行为序列,比如点击、分享、购买等等。因此对多行为序列建模来抓获用户兴趣偏好也是非常有必要的[10]。
五、其他序列推荐
现在还有一些其他的序列推荐方法,比如用对比学习来做序列推荐任务[11]。
另外还有一些和序列推荐很接近的任务,比如next basket[12]。
六、总结
显式地建模用户的历史交互行为对提升推荐的效果有很大的作用,因此需要使用一种高效的模块进行序列建模,此外还应该考虑长短期序列、多行为序列、多兴趣表示等多个角度的序列建模。当然在某些场景序列特征可能作用不大,可以先用pooling简单试试序列特征的效果。
七、参考文献
[1] Deep Neural Networks for YouTube Recommendations. Recsys2016.
[2] Session-based Recommendations with Recurrent Neural Networks. ICLR2016.
[3] Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding. WSDM2018.
[4] Self-Attentive Sequential Recommendation. ICDM2018.
[5] Deep Interest Network for Click-Through Rate Prediction. KDD2018.
[6] Sequential Recommendation with User Memory Networks. WSDM2018.
[7] BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer. CIKM2019.
[8] Sequential Recommender System based on Hierarchical Attention Networks. IJCAI2018.
[9] Controllable Multi-Interest Framework for Recommendation. KDD2020.
[10] Incorporating User Micro-behaviors and Item Knowledge into Multi-task Learning for Session-based Recommendation. SIGIR2021.
[11] Disentangled Self-Supervision in Sequential Recommenders. KDD2020.
[12] Factorizing Personalized Markov Chains for Next-Basket Recommendation. WWW2010.
更多论文,欢迎访问https://github.com/hongleizhang/RSPapers