序列推荐旨在利用用户的历史行为序列来预测用户的下一次交互,此类方法已被现代在线信息流系统(例如新闻,视频,广告等)广泛采用。但用户长期历史行为中普遍存在隐式和嘈杂的偏好信号,这无疑会降低用户真实兴趣的建模效果。为解决该挑战,清华大学未来智能实验室联合快手社科推荐模型组提出了一种基于图神经网络的序列推荐框架 SURGE。通过图神经网络技术对行为信号进行传播与池化,动态地融合并提取用户当前激活的核心兴趣。
该模型不仅较现有方法取得了不俗的性能提升,其优势更在于训练时的收敛过程更加稳定快速,并且对超长序列的建模更加鲁棒,而且可以给现有的序列推荐模型(DIN, DIEN)带来增益。这为处理序列推荐问题提供了一种新的视角。该研究的论文已被 SIGIR 2021 接收。
论文地址: https://arxiv.org/abs/2106.14226
研究背景与动机
在现实生活中,用户的行为前后都存在极强的关联性甚至因果性。与传统的推荐任务以静态方式对用户的偏好进行建模不同,序列推荐能够捕获用户在发展过程中的动态偏好。例如,用户可能在一段时间内对各种运动产生兴趣,而在另一时间内需要书籍。用户的当前偏好可以从时间顺序的用户 - 物品隐式反馈中推断出来。序列推荐系统不仅可以更好地捕捉用户的广义兴趣来提高用户体验,还可以准确地预测用户当前的兴趣以增强他们下一时刻的交互意愿。
现有的工作已经意识到建模用户快速变化偏好的重要性。早期的方案采用人为设计的规则(FPMC)或注意力机制(DIN),为历史交互物品分配时间衰减或重要性权重,但这难以学习用户兴趣的演化模式。
随后,利用循环神经网络(GRU4REC,DIEN)或卷积神经网络(Caser)来总结行为序列的方法逐渐成为主流。但由于难以对长范围依赖(Long-range Dependency)进行建模,它们在学习用户的动态兴趣方面遇到了短期瓶颈。最近的解决方案(PLASTIC,SLi-Rec)联合建模长短期兴趣(Long and Short-term Interest)以避免长期兴趣的遗忘,但长期和短期兴趣的划分与整合仍然具有挑战性。简而言之,现有方法通常更多地集中于建模用户的近期行为,无法充分挖掘用户较旧的行为序列以准确估计其当前兴趣。
因此,该研究认为序列推荐问题中存在两个尚未得到很好解决的挑战:1)长序列的用户行为反映了隐式和嘈杂的偏好信号:与可以推断用户喜好(例如点赞和收藏)的显式反馈不同,单个隐式(例如点击和观看)反馈无法反映用户的偏好。一些无用记录会作为用户行为历史中的噪声,影响其真实兴趣的建模。2)用户兴趣是多样的,其当前兴趣总是在不断转移:给定一个时间点,某些偏好可能仍被激活,而另一些偏好可能已被停用。用户的不同偏好随时间被动态激活,其模式在隐式和嘈杂的序列中更加难以挖掘。
方法介绍
针对这些挑战,该研究提出了一种基于图神经网络的序列化推荐算法 -- SURGE(SeqUential Recommendation with Graph neural nEtworks),该方法利用图卷积传播以融合隐式偏好信号,然后利用动态图池化来提取偏好的动态模式。通过将冗长的交互序列压缩为较短的兴趣序列,SURGE 模型从一种新的角度处理序列推荐问题。
具体来说,该方法主要分为四个部分:A.兴趣图构造,B. 兴趣融合图卷积层,C. 兴趣提取图池化层,D. 预测层。
图 1:SURGE 模型的结构框图
A.兴趣图构造
研究者首先基于度量学习(Metric Learning)将用户交互序列重构为物品 - 物品兴趣图,从而将长期用户行为中的不同类型的偏好整合到图的不同簇。通过将每个用户的交互历史表示为图,有助于区分用户的核心兴趣和边缘兴趣。核心兴趣节点由于连接更多相似兴趣而具有比边缘兴趣节点更高的度数,并且相似兴趣的频率越高导致子图结构越致密。这样就构建了一个先验框架:即邻居节点相似,致密子图是用户的核心兴趣。
由于模型需要一个邻居节点相似的先验图,因此可以将图学习问题转化为节点相似度度量学习,与下游推荐任务联合训练。为了平衡表达力和复杂度,该研究采用加权余弦相似度作为度量函数。但简单地对节点之间的度量值进行归一化不会对图的稀疏性施加任何约束,完全连接的邻接矩阵在计算上是昂贵的并且可能会引入噪声(即不重要的边)。研究者提出整个图上的相对排序策略(Relative Ranking Strategy of the Entire Graph)能够很好地保留图的致密 - 稀疏分布,以使后续的图卷积专注于图的最相关部分。
B.兴趣融合图卷积层
接着为了区分并编码丰富的历史行为中不同类型的偏好,该研究在能够显式区分用户各类核心兴趣的构造图上,设计了一种带有注意力机制的图卷积传播策略。研究者认为这一特殊的传播策略,通过同时感知簇结构(Cluster)与查询目标(Query),可以很好地将隐式反馈的弱信号聚合为可以反映用户偏好的强信号。其中,簇感知注意力(Cluster-aware Attention)用于判断目标节点是否为用户的核心兴趣:通过假设目标节点的邻域将形成一个簇,来识别目标节点是否为簇的中心,即用户的核心兴趣。而源节点的查询感知注意力(Query-aware Attention)用于捕获与预测目标的相关程度;为了学习用户兴趣对于不同目标兴趣的独立演化,模型旨在保留与目标兴趣相关的信息,不相关的信息在聚合时便被丢弃。
C.兴趣提取图池化层
下一步,考虑到用户在不同时刻的不同偏好,研究者提出了一种动态图池化技术,来自适应地保留激活的偏好以捕获偏好的动态模式。类似于 CNN 中池化(Pooling)是对特征图的下采样,图池化(Graph Pooling)旨在合理地缩小图的大小。研究者认为,通过将松散的大图池化为紧凑的小图,可以提取用户主要的兴趣并保留兴趣分布,从而有效地缩短冗长嵌入序列。
为了获得池化图,一个可学习的簇分配矩阵(Assignment Matrix)是必要的。然而,非凸优化问题使其在早期训练阶段很容易陷入局部最优,并且反映用户兴趣的簇之间的时间顺序很难在分配过程中得到保证。该研究通过相同映射(Same Mapping)、单一从属(Single Affiliation)和相对位置(Relative Position )三种正则化技术对簇分配矩阵进行约束来有效地缓解上述问题。
D.预测层
最后,该研究将池化后的图转化为能够反映用户显式和被激活的兴趣序列,并进一步对增强兴趣信号的演化进行建模以预测用户的下一次交互。具体来说,得益于相对位置正则,池化后的簇嵌入矩阵保持了用户兴趣的时间顺序,这相当于将池化后的图展平为具有增强兴趣信号的缩减序列。
为了给兴趣的最终表征提供更多相对历史信息,需要考虑兴趣之间的时间顺序关系。直观地,这里可以采用任何已知的序列推荐模块来对压缩后的兴趣序列进行建模。该研究采用了带有注意力更新门的 GRU(AUGRU),其中注意力权重为图池化兴趣提取层中获得的各个簇的重要性得分。它可以更有效地避免兴趣漂移带来的干扰,推动相对兴趣平滑演化。
实验结果
为了证明提出的 SURGE 模型的有效性,研究者在最大序列长度分别为 50 和 250 的淘宝电商数据集和快手短视频数据集上进行了实验。采用两个准确性指标 AUC 和 GAUC,以及两个排名指标 MRR 和 NDCG 进行评估。并与若干主流的序列化推荐器和最近兴起的长短期联合建模方法进行了比较,所有模型共享相同的预测和损失函数设计,以排除其他因素的干扰。
表 1. 整体实验结果
从表 1 可以看出,与几种最先进的方法相比,无论是分类指标还是排名指标,该研究提出的 SURGE 模型都具有不俗的性能提升。其中,在具有较长交互历史的快手数据集上,改进更加明显,这说明利用图神经网络总结序列的策略对于处理长序列具有重大意义,显著降低了建模用户兴趣的难度。
此外,主流的序列化推荐算法虽然有效,但在具有更长历史序列的数据集上会因短期记忆瓶颈的存在而遗忘长期兴趣。而最近兴起的长短期兴趣的联合建模并不总能带来更好的性能,尤其是在包含更多噪声的历史序列中,判断用户下一次交互是受长期还是短期兴趣驱使则更加困难。这些现象进一步验证了压缩用户历史兴趣信息的动机是合理的。
图 2:序列长度分组实验结果
为了进一步探究所提出的方法是否在处理长序列方面具备足够的优越性,研究者首先将用户分组,并在不同的序列长度组下测试并对比各个模型的性能,结果如图 2 所示。当序列长度较短时,所有模型由于数据稀疏性难以捕捉用户的真实兴趣。随着序列长度的增加和建模难度的降低,大多数模型的性能都会提高并达到顶峰。但是随着长度继续增加,几乎所有模型的性能会随着大量噪声信号的引入而下降。这一现象表明,尽管较长的历史序列通常具有更多可反映用户兴趣的模式,但伴随增加的噪声信号将误导真实兴趣的建模。而 SURGE 模型和其他方法之间的性能差距会随着序列长度的增加而变大,这证实了 SURGE 模型可以更有效地建模用户的长期历史序列。
图 3:收敛过程可视化
表 3:收敛前的总训练时长(m 表示分钟)
对于序列推荐系统,高效地建模用户行为历史记录是一个很大的挑战。用户历史序列中物品的差异性和多样性导致模型收敛缓慢。此外,长历史序列往往对应着更复杂的计算和更耗时的训练。为了研究 SURGE 是否可以缓解此问题,该研究可视化了不同模型训练时的收敛过程,使用提前停止(Early Stop)来检测训练是否结束,对比了各个模型的收敛速度和训练时间。
图 3 和表 3 分别显示了模型的收敛过程和训练时长。实验发现,与所有基线相比,SURGE 的收敛过程更加稳定快速;除了快手数据集上 DIN 这个非序列模型外,其训练效率相较于其他方法提高了 20%以上。这是由于 SURGE 在将嵌入序列馈入到循环神经网络之前,对序列进行了压缩操作,大大减少了循环神经网络的循环步长。此外,研究者认为由于绝大多数噪声已被滤除,池化的序列只包含最核心的兴趣,这无疑有助于加快模型的收敛速度。
图 4:SURGE 在应用不同兴趣演化层时的性能比较
最后,由于该框架与在对序列进行池化后的预测层的选择是无关的。该研究比较了在压缩后的序列上使用不同预测层的影响,来验证模型的泛化性。图 4 的结果显示该研究提出的模型可以为所有现有方法带来增益。这表明该框架将大大减少建模用户兴趣的难度并获得更好的性能。
该研究洞察了用户长期历史行为中存在隐式和嘈杂的偏好信号,并采用兴趣融合和提取的建模方式予以解决,这无疑为处理序列化推荐问题提供了一种新的思路。研究者透露,该方案已经在快手推荐的一些主要场景上线,目前能将观看时长提升约 1%。