推荐系统中大多方法仅基于单类行为数据建模,而忽略了真实应用场景中的复杂交互关系。
本文提出对用户多行为交互关系,以及基于知识信息的商品间复杂关联关系进行结合,使用异构多重图神经网络架构模型对其进行深入的关系学习。
单位 | 香港大学
研究方向 | 推荐系统
本文分享一篇AAAI2021的基于知识增强的层次化图Transformer网络的多行为推荐算法的文章。
论文链接:
https://arxiv.org/abs/2110.04000
代码链接:https://github.com/akaxlh/KHGT
个性化推荐系统对用户、商品特征进行学习,从而对用户偏好进行准确预测,能够帮助用户更方便地获取需要的商品和服务,从而减轻信息过载,推荐系统因此在线上购物、社交平台、流媒体等众多互联网应用中起到了巨大的作用,变得必不可少。在各类推荐系统中,对用户-商品历史交互数据进行挖掘的协同过滤方法一直以来吸引了巨大的关注。协同过滤模型将用户与商品映射到高维潜在语义空间,采用传统或基于深度网络的模型对用户交互数据进行建模。训练过程对观测数据进行拟合,从而使模型可以获得经过较好的用户、商品表征,对用户的交互特征进行描绘,并以此对未观测的用户偏好进行预测。
尽管协同推荐方法已经取得了很大的进展,但现有工作大多基于单类用户-商品行为数据,例如购买或点击,而忽略了真实应用情景中的复杂的交互关系类型。例如在电商场景中,用户可以通过浏览详情页、收藏商品、将商品加入购物车等方法与商品进行交互。同时,商品间也可以通过属于同一品牌、归于同一类别、被同一个用户交互过等方式产生具备不同语义的关联关系。这些复杂的用户-商品关系及商品间关系,以复杂的关联关系蕴藏着用户和商品的丰富交互特征,对其进行充分挖掘可以极大地促进协同推荐模型的效果提升。因此,本文提出对用户多行为交互关系,以及基于知识信息的商品间复杂关联关系进行结合,使用异构多重图神经网络架构模型对其进行深入的关系学习。
尽管目前已经有一些着手处理多行为交互数据的工作,然而这些方法仍然忽略了多行为交互数据的动态性和复杂性。例如现有方法对不同行为类别进行层级式的语义预定义(对用户偏好来说,浏览<加购物车<购买)。这种相对静态的多重关系学习方法对预定义关系的好坏具有极高的要求,难以处理收藏行为、加购物车行为等关系较为模糊的情况。部分现有方法采用了自注意力机制等方法对行为类别间关联进行自适应学习,但该类方法大多仍停留在较粗的关系粒度,仅对行为类别整体进行关联学习,而忽略了单个交互记录的权重影响差别。另外,现有工作较少将行为发生时间与行为多重异构性进行综合考虑的,从而不能捕捉多行为数据中的动态关系。为了更好地处理多行为推荐数据,本章关注以下三个挑战:
a. 商品多重关系学习。现有的多行为推荐方法仅将关注点放在用户-商品间关联,而忽略了商品在生产、流通、销售环节所产生的丰富知识数据。这些商品间多重关系与用户多行为交互数据具有相似的形式和作用,却往往被现有的多行为推荐方法忽略。
b. 个性化异构信息传播。现有的多行为推荐模型虽然关注了不同行为类型之间的关联关系,但其将行为类别下所有交互数据视为整体的做法,不能精确捕捉多行为交互场景中单个交互关系的独特性。我们认为,在对用户-商品及商品-商品多重异构关系进行学习时,需要考虑单个异构关系进行图信息传播,从而更好地捕捉多行为和商品间多类别关系。
c. 动态关系学习。与用户-商品交互记录相关的时间戳信息蕴含了独特的信息,既可以从中解读出发生时的时间点信息,也可以通过不同行为记录的相对时间关系获取时序动态特性。现有的多行为推荐模型没有很好地利用这一时间信息,仅能进行静态关系学习。
针对上述挑战,本文提出了一种知识增强的层级图Transformer架构KHGT(Knowledge-Enhanced Hierarchical Graph Transformer)。该模型在用户-商品多行为交互图的基础上,根据商品侧知识信息,建立形式相似的商品间多重关系图,并将两者组合,进行联合图关系学习。在图编码过程中,KHGT设计了一种独特的层级图注意力机制,首先对行为类别下的单个交互记录进行加权的信息构建,基于图注意力网络进行信息传播;其次对各个中心点的多重交互关系进行整合,其中使用了自注意力网络进行关联性建模。同时,为了捕捉多行为交互场景中的交互动态性,KHGT采用基于三角函数的时间信息编码方法,在信息传播过程中将边相关的时间信息注入传递的信息之中,以对交互动态性进行刻画。
总的来说,本文的主要贡献有以下三点:
a. 本文提出了KHGT框架,能够显式地在多行为交互场景中引入基于商品知识的商品间多重关系数据,并使用一种层级图Transformer模型对其进行高阶关系学习。
b. 为了对用户-商品和商品-商品多重关系进行协同学习,KHGT模型:(1)在考虑时序动态性的情况下,能够以一种自适应的方式捕捉特定行为类别相关的多重交互关系;(2)能够对不同行为类别的交互模式进行关联性学习,并使用自适应方式对其进行融合。
c.将KHGT模型应用在三个真实数据集上进行测试,分别检测其在电影评分预测、商家评价和电商推荐场景下的模型效果,并与15个来自不同研究路线的先进方法进行对比。通过各个维度的实验对比,验证了KHGT方法的优越性能。
基于商品侧知识信息,KHGT建立商品-商品多重关系图,与用户-商品交互图具有相同的形式。KHGT使用统一的图结构神经网络对上述多重异构关系图进行关系学习,模型主要包括:
时间信息编码
和
基于层级图注意力网络的异构信息传播
,模型架构图如下图所示。
为了在捕捉用户-商品交互关系时考虑时间影响,本文建立了一种时间语境编码方法,以在KHGT的异构图神经网络架构中引入行为动态性,如下图所示。具体来说,给定用户、商品在特定行为下的连接关系,KHGT首先将该边对应的交互时间戳映射到具有固定时长的时间区间,并利用三角函数进行时序编码,产生嵌入表征。这一做法基于Transformer网络中提出的位置表征方法,通过利用三角函数的周期性,既可以捕捉特定时刻的语义信息,也可以描绘时间点之间的周期关系和相对性。该方案可以引入不同的周期大小,从而在不同维度上提取不同的周期性关系。同时,与位置信息不同,时间轴可以无限延伸,而这一基于三角函数映射的表征方式可以适配任意大小的时间戳,从而能够处理测试过程出现的未经训练的时间。
本模块采用了一个层级图注意力网络,对用户-商品间多行为交互数据,以及商品间多重关系数据进行联合的高阶关系学习。其中两层注意力机制分别对细粒度的单个交互边,以及整体的单个交互行为类别进行注意力学习。
首先,KHGT对信息传播的单个源节点进行信息构建。基于时间编码器,信息构建过程将边时间戳对应的动态编码注入源节点对应的节点表征,从而使传递的信息具备时序信息。接下来,KHGT根据源节点表征和目标节点表征,计算该传递信息的权重。此处,KHGT采用多头点积注意力计算方法,引入Q、K、V三个参数矩阵分别进行询问(query)、键值(key)和值(value)映射,得到初始注意力权重,并进行softmax映射。
此处,为了提取出不同交互模式间存在的全局共性,KHGT采用一种多通道参数学习方法来得到注意力机制所用到的变换参数,如下图所示。具体来说,模型定义了多个参数学习通道,每个通道对应一组独立参数矩阵,分别对应不同的映射方式,并且代表了不同用户-商品交互或商品间关系所共有的一些交互模式。多通道参数学习方法使用一个注意力网络学习用户或商品在某个交互关系类别下与各个通道的关联性,以之对各个通道的参数进行加权。该方法通过共享参数反映不同交互模式的共性,而使用注意力权重学习来体现不同交互类型的特点。
基于上文构建的源节点信息,以及源节点-目标节点间信息传播的权重,KHGT对目标节点周围所有源节点的信息进行加权平均,在考虑到源节点、目标节点及异构关系特性的情况下,使用邻域对中心节点进行自适应的表征平滑,从而使图结构中的点表征更适应异构图的连接关系。注意,此时所得的新表征是在特定交互类别下的点表征。
在上述过程中,对用户-商品间的多行为关系图,以及商品-商品间的多重关系图进行相同的操作,采用同样的多通道学习方法和图注意力信息传播,以同时捕捉不同用户-商品关系类别和不同商品间关联类型。
接下来,KHGT采用第二层图注意力机制,对行为间依赖关系进行学习。用户、商品在不同交互类型下的表征通过自注意力机制映射到询问、键值和值三个空间中,两两间使用询问和键值进行注意力计算,得到行为类别间或关联关系间的量化依赖性,基于这一依赖权重和值向量,KHGT对用户、商品在各个行为类别下的表征进行改善。通过这一层级的图注意力机制,KHGT的图编码过程可以同时对单个交互实例和整体的交互类型进行自适应权重学习,从而更好地描绘用户-商品图和商品-商品图中的连接关系。
接下来,KHGT采用一种门机制对不同关系类别下的用户、商品表征进行融合。每个节点在每个交互类型下的表征都通过两层全连接层得到一个注意力权重,用户的最终表征由所有多行为类别表征进行加权平均,而商品表征则由用户-商品图中的各种商品表征及商品-商品图中的多种表征一同进行加权平均得到。
通过叠加上述图编码过程,KHGT能够迭代地学习中心点多跳外的连接信息,从而对点表征进行高阶平滑,使表征更加贴近实际观测的用户-商品多行为交互和商品-商品多重关系。接着,KHGT将不同阶的表征进行累加,以同时利用不同距离的邻域信息进行点表征。最后,根据从高阶多重图中得到的用户、商品表征,KHGT采用双线性算子对用户-商品对在目标行为下的关联进行预测,并采用成对损失函数作为目标进行优化。
本文进行了各类实验,以全方面验证KHGT相对于基线方法的优势,并探究KHGT各个模块、各类数据、各种配置对推荐效果的影响。具体来说,实验部分的目的在于回答以下几个研究问题:1)KHGT相对现有的先进方法效果如何?2)KHGT不同功能模块是否有效?3)不同的交互类型对KHGT最终效果起到了怎样的作用?4)KHGT在处理不同稀疏度的交互数据时效果如何?5)各种超参数设置对KHGT效果的影响?6)KHGT的各种权重学习是否能提供有效的解释?
KHGT与来自不同研究路线的15个基线方法进行了对比,结果如下表所示。KHGT在所有三个数据集上都展现出了明显的推荐效果提升,这一优势归功于对多行为数据以及商品间多重关系数据的显式建模。
在各个基线方法中,多行为推荐模型,例如NMTR、NGCF_M、MBGCN、MATN展现出了相比其他基线方法更好的模型效果。这一现象有力验证了对多行为关系进行建模以提升推荐系统效果的有效性。此外,基于图神经网络架构的推荐方法大体上表现出了较好的模型效果,这一现象说明了相对于自编码器、多层感知机等神经网络架构,图神经网络具有更强大的关系学习能力,这很可能由于其能够对多跳交互关系进行建模。另外,同样引入商品侧知识信息增强用户-商品关系学习的KGAT方法在Yelp和Online Retail数据集上均表现出了优越的推荐效果,这同样说明了在协同过滤模型中引入商品侧知识信息能够有效辅助商品的表征学习并促进推荐系统效果。
为了测试KHGT中各个模块对模型效果的影响,本实验单独去除每个重要模块,并测试变体模型在三个数据集上的效果。具体来说,本实验考虑对时间语境编码、单类关系下行为模式学习、行为间相互关系建模、跨类别行为融合、对商品-商品关系的利用几个方面进行探究。实验结果如下图所示,从中可以看出,未去除任一模块的KHGT模型在所有数据集上均能取得最好的模型效果,这验证了各个模块的有效性。具体来说,我们可以从各个变体的效果中看出:(1)对单个交互关系势力进行信息构建时,进行自适应的权重学习能得到比图卷积更好的效果;(2)验证了使用基于多头点积注意力的自注意力机制对行为间关系进行学习,可以促进模型效果提升;(3)在对行为关系进行聚合时,使用门机制进行加权聚合可以得到更好的效果;(4)引入交互时间信息可以一定程度上促进模型效果;(5)引入商品侧知识信息可以有效提升模型效果。
接下来,实验对不同交互类型进行消融实验,以研究不同类别对模型效果的影响。实验结果如下图所示,从中可以看出:(1)使用所有辅助行为的KHGT模型取得了最好的效果,这确认了使用辅助行为增强用户-商品交互关系学习的重要性;(2)仅适用目标行为总是得到最差的效果,这验证了各个辅助行为的正面作用;(3)对Yelp数据来说,不同辅助行为差别不大,而对Online Retail数据来说,浏览行为表现出了明显突出的重要性,这与两个数据集中辅助行为的具体语义有关。
接下来,实验测试KHGT及几个代表性基线方法在不同稀疏度的交互数据上所表现出的模型效果。结果如下图所示,其中从左到右数据集变得越来越稠密,折线代表模型方法的测试表现,柱状图则代表对应数据集的用户个数。从结果可以看出:(1)KHGT在不同稀疏度下都可以取得最好的效果,这说明了KHGT面对不同数据稀疏度时的全面优势;(2)相对BiasMF和NCF-G,其他方法大多表现出了与数据稠密度无关的变化趋势,这可能暗示了使用用户、商品邻域信息进行表征平滑,能够一定程度上减轻稀疏数据带来的效果退化。
本节实验测试不同超参数设置下,KHGT的模型效果变化情况。具体来说,本节实验考虑了四个重要超参数,分别是嵌入表征维度、时间信息编码粒度、图神经网络深度、以及子图采样大小,前三个超参的测试结果如下图所示,从中可以看出,当超参取值过大或过小都有可能产生效果退化。例如取值较小时,表征维度小从而限制了模型的表征能力;而当取值较大时,则模型过于复杂,即使有效果提升往往也较小,例如当图神经网络迭代3次时,由于过平滑(over-smooth)问题愈发严重,模型效果出现退化。
KHGT方法采用了一种应对大规模数据的图神经网络训练方法,本节实验同时还测试了不同子图采样大小时的模型效果和测试时间,实验结果如下表所示。从中可以得出结论,在比较合适的计算开销下,采样较小的子图进行训练、而采样较大的子图进行测试,能够得到更好的模型效果。
最后,我们对KHGT学得的行为间关联权重、以及融合不同交互关系时用到的门机制权重进行样例学习,用户-商品交互以及商品-商品关系都进行了可视化,结果如下图所示。从中可以看出,不同的用户-商品关系类别,以及不同的商品-商品关系类型,具有较为个性化的关联权重,KHGT能够捕捉较为重要的行为间关联和较为重要的行为类别。
本文通过引入商品侧知识信息来进一步增强协同过滤框架,搭建了一个对用户-商品多行为关系和商品-商品多重关联图进行联合高阶关系学习的图神经网络架构。该模型采用层级图注意力机制,显式地对用户多行为交互和商品多重关系中的关联权重和行为间依赖关系进行建模。同时,本文使用基于三角函数的事件编码方法,将交互的时间动态性加入图信息传播过程。通过在三个多行为交互数据集上的实验,KHGT表现出了明显优于现有协同推荐方法的性能。接下来的工作中,我们考虑进一步挖掘时序关系,以及将KHGT拓展到线上系统。