前言
本文是对序列推荐从MC到RNN、CNN再到Attention、GNN的总结。 整理了自己阅读过的或放着忘了看的论文,希望可以给其他人一个参考。所有论文整理见「参考文献」部分和GitHub(持续更新~)。
序列推荐指南
整本文主要的分类标准参考“序列推荐的挑战、进程和前景”[1]。
论文(1): Sequential recommender systems: challenges, progress and prospects
结构如下所示(个人对其进行了删减和补充):

其中[2-4]为MC模型,[5-6]为RNN,[7]为CNN,[8]为GNN,[9-14]为self-attention,[15-17]为attention+timestamp,[18-19]为multi-interest,[20]为memory networks,[21]是一个混合的方法。
传统序列模型
传统的序列模型,包括「序列模式挖掘」和「马尔可夫链模型」,它们在建模一个序列中用户-物品交互之间的序列依赖关系方面的天然优势,是对SRSs的直观解决方案。由于序列模式挖掘文献内容较少且缺陷较大,因此不进行展开。
马尔可夫链
基于马尔可夫链的推荐系统采用马尔可夫链模型对序列中user-item
交互的转换进行建模,以预测下一次交互。
在当前一些序列推荐论文中,经常拿来比较的baseline是1阶MC和2010年在WWW会议上提出的FPMC模型[2]:
论文(2): Factorizing Personalized Markov Chains for Next-Basket Recommendation
❝FPMC使用矩阵分解和分解的一阶马尔可夫链的组合作为它的推荐器,它捕获用户的长期偏好以及商品到商品的转换。
❞
另外,还有对FPMC的改进,例如2015年的HRM[3] 模型,本质上是在FPMC中加入了非线性转换:
论文(3): General factorization framework for context-aware recommendations

2018年TransRec[4]模型也属于马尔可夫链模型,但是它在度量空间中应用了一种新颖的基于转换的结构(转换空间),具有可解释性。
论文(4): Translation-based recommendation: A scalable method for modeling sequential behavior

以上是基于马尔可夫链比较经典的3篇序列推荐论文,但它们的缺点也是显而易见:
由于马尔可夫属性假设当前的交互只依赖于最近的一个或几个交互,因此只能捕获短期的依赖,而忽略了长期的依赖;
它们只能捕获点依赖关系(point-wise dependencies),而忽略
user-item
交互的集体依赖关系;
【注】在[1]中,将HRM与TransRec放在了隐因子表示模型【预训练】中的Embedding部分,因为两个模型就是对用户表示和物品表示的学习,但基于深度学习的模型本质也是Embedding的学习,Latent representation models
的划分可能有些模糊,所以将其去除。
深度神经网络模型
RNN
给定一个历史user-item
交互序列,基于循环神经网络(RNN)的序列推荐通过对给定交互的顺序依赖关系建模来预测下一个可能的交互。其中,比较经典的模型是GRU4Rec[5]和GRU4Rec+[6]。
论文(5): Session-based recommendations with recurrent neural networks

论文(6): Recurrent neural networks with top-k gains for session-based recommendations
CNN
给定用户历史行为序列,与基于RNN的模型不同,基于CNN的模型首先将历史行为的Embedding向量构造成一个矩阵,然后将这个矩阵作为时间和潜在空间中的“图像”,最后通过卷积操作得到用户的短期表示。最经典的模式2018年发表在WSDM的Caser模型[7]。