潘承瑞,何灵敏,胥智杰,王修晖,宋承文
1.中国计量大学 信息工程学院,杭州310000
2.中国计量大学 浙江省电磁波信息技术与计量检测重点实验室,杭州310000
随着互联网事物的快速发展,网络信息随之爆炸式增长。为了在海量数据中准确挖掘用户兴趣,推荐算法应运而生,它能够根据用户的历史行为,为用户推荐可能感兴趣的事物,以克服信息过载的问题。
为解决传统协同过滤[1]的数据稀疏和冷启动问题,近十年来,在推荐系统中引入辅助信息成为学术界的探索方向。知识图谱[2]作为一种结构化辅助信息,由于其储存了用户、物品、属性之间的关系,蕴含着丰富的语义,所以能提高推荐结果的准确性、多样性和可解释性[3-5]。具体方法是将用户-项目交互图和用户或项目知识图谱融合为协同知识图——Colloborative Knowledge Graph(CKG)[6],在CKG 上基于用户的历史交互记录,充分挖掘用户偏好。
为了在CKG 的网络结构中发掘用户的潜在兴趣,需要建立CKG 中的高阶连通性,而建模协同知识图的方法,可分为两类:基于路径和基于图嵌入的方法[7]。以上两种方法,前者将知识图谱分解为一条条独立的线性路径[8],后者仅获取用户或项目的直接邻居信息,两种方法都没有建立图上的高阶连通性。
为解决现有模型无法捕获CKG中高阶连通性的问题,本文基于近年来在图数据上初步兴起的图注意力网络[9],融合知识图谱,通过图注意力网络的递归传播过程捕获图中节点的高阶连通性。虽然图注意力网络具有强大的表示能力,但是在信息传播和聚合过程中,忽略了邻居节点间特征交互的重要性。而因子分解机FM[10]通过引入二阶特征交互获得的巨大成功启示人们考虑节点交互可能带来的收益,即通过特征交互,用户的一些潜在偏好能够被挖掘。因此本文在上述框架基础上设计了一种新的双线性信息采集器,它明确地建模两个节点之间的交互,并聚合所有的交互结果,以增强中心节点的表示,最终提出了一个有效的推荐模型:融合知识图谱的双线性图注意力推荐模型——KG-BGAT(Fusion Knowledge Graph and Bilinear Graph Attention Network)。本文的主要贡献如下:
(1)将基于协同过滤的推荐方法和知识图谱融合到统一的推荐框架中,设计了一个端到端的协同知识图推荐模型,该模型克服了用户-项目交互记录间相互独立的弊端,能够获取用户基于项目属性的协同信号。
(2)基于图注意力网络,设计了双线性采集器,并结合线性采集器,递归地聚合邻居节点的特征交互信息和线性加权信息。这种显式地编码图中节点交互关系和高阶关系的方式,使得模型能够捕获协同知识图中基于节点间特征交互的丰富语义和高阶连通性。
Rendle[10]提出的因子分解机是一种将矩阵分解[11]广义化的模型。因子分解机与矩阵分解相比,能够引入除用户和项目ID外的辅助信息,更重要的是,因子分解机引入了特征间的二阶交互,使模型具备了生成高维组合特征的能力,大大提高了推荐性能。
为了融合更多的辅助信息,Zhang 等人[4]提出一种基于嵌入的方法:融合结构化信息——知识图谱,以及非结构化信息——文本和图像信息的CKE模型。该模型通过图嵌入方法编码知识图谱信息,验证了引入结构化知识可以提高推荐结果的准确性。Sun等[12]提出了一种基于路径的递归知识图嵌入方法——RKGE,它首先提取知识图谱中用户-项目之间的连接路径,用来表示用户和项目之间的各种语义关系,然后通过循环神经网络对这些路径进行编码。
除了上述单纯基于图嵌入或基于路径的方法外,近年来开始出现同时融合以上两种方法的工作,被称为基于传播的方法[13]。该方法将节点嵌入沿图中的边进行传播,以捕获用户的潜在兴趣。如Wang 等[14]提出RippleNet,它将用户的历史交互项目作为种子,以类似于水波的形式向外传播用户偏好,自动挖掘用户到候选项的路径。得益于学术界在图结构数据上的探索,近年来出现的图神经网络GNN 更擅长学习图结构数据。随后,将知识图谱与图卷积网络[15]相结合,提出了知识图卷积网络KGCN[16],该模型首先获取候选项一个设定跳数的邻居集合,然后由外向内的将各个节点周围的信息聚合到中心节点,最终聚合到候选项的表示上,由此获取候选项周围的邻近信息。
图卷积网络中邻居节点信息聚合到中心节点时采用的是均值聚合,考虑到该做法会引入较多噪声,文献[9]等提出的图注意力网络GAT使用注意力机制来替代静态归一化卷积运算,使得模型能够对不同的邻居节点指定不同的权值,避免邻居节点信息量过大带来的噪声影响。
本文提出的网络模型结合了知识图谱和图注意力网络,在推荐模块中,引入了电影项目的知识图谱,将其作为推荐系统的辅助信息,之后基于图注意力网络,设计了双线性信息采集器,结合线性信息采集器,对用户、项目和知识图谱中实体(如电影类型、导演、演员)的交互信息和高阶关系进行建模,以捕获用户的深层兴趣。模型结构如图1所示,它包含3个主要组件:(1)嵌入层;(2)基于节点交互和注意力的嵌入传播层;(3)预测层。本章将详细介绍模型结构,在正式介绍模型结构之前,先介绍一下相关概念和任务目标。
2.1.1 协同知识图谱
本文构建的协同知识图谱是将用户-项目交互图G1和项目知识图谱G2融合为统一的协同知识图G。G1的定义为{ }(u,Interact,i)|u∈U,i∈I,U和I分别代表用户和项目集合;Interact表示用户u在项目i上有交互记录。G2由实体-关系-实体的三元组表示,刻画了现实世界中项目在其属性上的相互关联,三元组的表现形式为{(h,r,t)|h,t∈E,r∈R} ,其中h、t分别表示头实体和尾实体;r为两个实体之间的关系;E是实体的集合,在项目知识图谱G2中代表项目和项目属性所指向的实体,例如本文项目知识图谱中的实体是电影、电影类型、导演和演员;R为实体间关系的集合。
图1 KG-BGAT整体框架图
构建协同知识图G时,先分别基于用户-项目交互历史和项目知识图谱构建G1、G2,之后以项目为桥梁,将G1、G2整合为一张图:
其中,E′=U⋃E,R′={ }Interact⋃R。需要注意的是,本文构建的协同知识图G为无向图,即R具有正方向和反方向,以此为G中每个节点采集其所有相邻节点的信息。
2.1.2 任务目标
本文推荐系统的任务目标如下。
输入:协同知识图G,G中包含用户-项目交互图G1 和项目知识图谱G2。
输出:一个预测函数,用来计算用户u与候选项目i产生交互的概率值。
本文重点在于如何利用协同知识图G捕获实体间的特征交互信息,并在此基础上建立实体间的高阶连通性,以下三节将从模型结构进行介绍。
模型嵌入层是将协同知识图G的结构信息进行编码,为图中的每个实体和关系生成低维连续空间中的嵌入向量,并尽量保持图的结构信息。知识图嵌入的主流方法是基于TransE及其变体的平移距离模型,该类嵌入方法使用基于距离的评分函数,被广泛应用于结合知识图谱的推荐算法中[4,17-18]。
平移距离模型主要有TransE、TransH、TransR等,本文采用TransR[19]方法生成嵌入向量,原因在于TransR考虑到相同实体在不同关系上应有不同的语义,通过额外引入关系空间,从而在计算两个实体间的距离时,实现了在特定关系空间上的考量[7]。嵌入层中生成的表示向量有以下两点作用:(1)将图的结构信息注入模型,为推荐系统提供了丰富的辅助信息;(2)在注意力机制中,通过实体和关系的嵌入向量,可以衡量三元组的头尾实体在特定关系r上的相似度,从而控制嵌入传播层中某一实体传递到另一实体的信息量。
TransR的基本方法是:在协同知识图G中,在某个特定关系r上,不断学习三元组(h,r,t)中实体和关系的嵌入,使得,这里er是关系r的嵌入向量,分别是头实体和尾实体在关系r空间中的嵌入向量。对于任意给定的一个三元组(h,r,t),不管它是否真正在G中存在,用如下距离公式描述其真实性:
其中,Mr∈ℝk×d是关系r的变换矩阵,用来将实体从d维的实体空间投影到k维的关系空间中;||·||2表示L2正则化,以防止过拟合。这里,得分越低的g(h,r,t)表示给定的三元组越有可能是在G中真实存在的。
TransR 的训练考虑到真实三元组与虚假三元组之间的相对顺序,并通过两两的排名损失来考量区别:
对G中任意一个实体h,记嵌入层中为该实体生成的嵌入向量为,上标的数字表示未聚合任何阶数的邻居信息,是h本身的嵌入向量。
在介绍嵌入传播层之前,先根据图1介绍相关概念和符号:对协同知识图G中的某个中心节点h,{h|h∈′} ,′为2.1.1 小节中引入的符号,表示协同知识图G中的所有实体集合,记N(h)为h的邻居集合,其定义为:N(h)={t|(h,r,t)∈G} ,N(h) 记录了G中与h相连的所有邻居节点,不包含h本身;记(h)为包含h的邻居集合:(h)={h} ⋃N(h);d(h)表示节点h的邻居个数,d(h)=|N(h) |;~(h)为集合(h)中的元素个数,(h)=|(h) |=d(h)+1。
对于目标节点h,嵌入传播层旨在将N(h)中的线性加和信息以及N~ (h)中的节点交互信息迭代地聚合到中心节点h的表示中,以捕获h与l阶邻居的高阶连通性以及邻居间的特征交互信息。
同样以图1中的i3节点为例,先概述嵌入传播层如何采集并传播信息:(1)信息采集单元分别使用线性采集器Linear Collector和双线性采集器Bilinear Collector采集上述两种信息,线性采集器对N(i3)中的3个节点做线性加和,记收集的信息为LC(i3),LC(i3)+,其中,π是根据注意力机制计算的系数;双线性采集器收集N~ (i3)中4 个节点的两两特征交互信息,记收集的信息为BC(i3)系数取,因为从(i3)的6个节点中任取2个节点共有6种排列组合情况。信息采集部分的最后是整合上述两种信息,将整合的邻居信息记为。(2)将i3本身的表示和做聚合操作,得到i3节点聚合一阶邻居后的表示。需要指出的是,G中所有节点同时进行以上步骤,在目标节点i3聚合一阶邻居信息得到的同时,N(i3)中的3 个邻居节点也聚合了其各自一阶邻居的信息,得到了各自的表示向量:。(3)将(1)和(2)步骤中所有的上标l递增1,获取聚合i3二阶邻居信息的表示,以此类推,可获取聚合i3更高阶邻居信息的表示。最终获取的i3节点的多个表示、捕获了不同阶的连通性和节点交互信息。
下面从中心节点为h的一般情况描述嵌入传播层,先介绍一个单层,它主要由三部分组成:信息采集、注意力机制和信息聚合,之后阐述如何推广到多层。
2.3.1 信息采集
该部分采集的信息分为两部分:一是N(h)中的线性组合信息;二是N~ (h) 中两两节点间的特征交互信息。本文分别使用线性和双线性采集器收集上述两种信息。
线性采集器:线性采集器Linear Collector(LC)用来采集节点h的邻居节点集合N(h)中所有节点的线性加和信息,其定义如下:
其中,π(h,r,t)是线性采集器中的注意力机制,它是一个数值标量,用来控制邻居节点t在关系r上传播到中心节点h的信息量,其计算过程将在2.3.2小节中介绍;是嵌入层中得到的邻居节点的嵌入向量。线性采集器将h的一阶连通性信息注入到LC(h)的表示中,并且通过π(h,r,t)区分了邻居节点的重要性。
双线性采集器本文提出了一种新型的双线性信息采集器Bilinear Collector(BC),用来收集包含h的邻居节点集合(h)中,两两节点间的特征交互信息,其定义如下:
信息整合信息采集的最后阶段是对两个采集器中的信息进行汇总,将汇总了h节点一阶邻居信息的向量表示记为保留了节点h的一阶连通性和一阶邻居交互信息,其定义如下:
其中,α是超参数,其取值范围为[0,1],用来控制采用的双线性采集器和线性采集器的信息量比率。
G中所有节点的信息采集过程是同步进行的,在获得的同时,其余所有节点,包括h的所有邻居节点,也各自获得了保留了其一阶邻居信息的向量表示。
2.3.2 线性采集器中的注意力机制
本文在线性采集器中引入了注意力机制。注意力机制通过上述π(h,r,t)的引入实现,它的计算公式如下:
这里,本文选择tanh 作为非线性激活函数;Mr是嵌入层中生成的关系r上的变换矩阵。π(h,r,t)的大小取决于嵌入层中,中心节点h和邻居节点t在关系r上的距离,若h和t相近,则t可以传播更多的信息到h上。之后,对以h为头结点的所有三元组计算得出的注意力分数使用softmax做归一化操作:
当信息传播迭代到更高阶时,该机制使模型将更多的注意力聚焦在部分节点上,减小了噪声影响。
2.3.3 信息聚合
嵌入传播的最后阶段是聚合h实体本身的表示向量,和信息采集过程中从其邻居获取的表示向量,将其作为实体h聚合了一阶邻居信息的表示形式,记为,其定义如下:
(1)加和聚合器取上述两个向量的和,然后对该结果做线性变换,W(1)∈ℝd′×d是可训练的权重矩阵,d′是设定的线性变换后的向量维度,b(1)是偏置项,W(1)、b(1)的上标1 表示生成时,聚合器做线性变换的对应参数,Relu是非线性激活函数:
(2)合并聚合器将上述两个向量做合并操作:Concatenate(||),之后应用线性变换,W(1)∈ℝd′×2d是权重矩阵,最后同样应用Relu作为非线性激活函数:
2.3.4 高阶传播
通过以上步骤,获得了实体h的一阶表示,与此同时,N(h)中的每个节点也获得了各自的一阶表示。接下来要获取h的高阶信息,需要迭代更新eh的表示,通过叠加以上单层的嵌入传播层实现。本文将保存实体h的l阶信息的嵌入记为,递归更新公式如下:
f(·)是2.3.3 小节中的聚合器;是(h)中的节点在上一步的嵌入传播过程中获取的l-1 阶表示。通过高阶嵌入传播,G中节点的高阶连通性和节点交互信息能够在传播过程中被捕获。显然,高阶嵌入传播将基于属性的协作信号无缝地注入到表示学习过程中,从而克服了传统协同过滤各条交互信息相互独立的弊端,而高阶交互信息的收集有助于模型挖掘用户的潜在复杂偏好。
经过l层的嵌入传播层后,可以获得用户和项目的多尺度表示。对于某个用户u,多尺度表示为{};对于某个项目i,多尺度表示为{}。受图像领域的多尺度融合启发[20],针对某个特定节点不同的l阶信息,强调了不同阶的连通性信息,因此,本文采用分层聚合机制,将每一步的表示连接到单个向量中,如下所示:
不仅可以通过执行嵌入传播来丰富初始嵌入,还可以通过调整l来控制信息聚合范围。最后,本文对用户和物品表示进行内积,从而预测它们的匹配分数:
3.1.1 数据集及评价指标
本文使用的数据集是电影推荐场景MovieLens-1M,该数据集包含6 040位用户与3 883部电影项目的100万的交互记录,每个用户至少与20部电影有过历史交互。
除了用户-项目交互数据外,本文需要搜集项目的相关信息以构建项目知识图谱。由于MovieLens-1M中包含电影的类型,所以在IMDb 上爬取了3 745 部电影的导演和演员信息,其中有138 部电影无法在IMDb上检索到,最终获取的详细数据信息见表1。
表1 数据集统计
若某用户在某电影上有过交互记录,则标记为1,否则标记为0。本文对每位用户,选取其标记为1 的所有交互记录的80%用于训练集,其余20%作为测试集中的正样本,对于训练集中的每个正例交互记录,本文随机抽取一个负例交互记录组成完整的训练集。测试时对每个用户,在完整项目集合上除去该用户在训练集上的正样本,对其余的所有项目给出该用户的预测评分。
本文使用了3种评价指标:Precision@K、Recall@K、NDCG@K[21],K为推荐列表长度,即为用户推荐预测分数最高的K部电影。Precision@K刻画了用户u的Top-K推荐列表中的项目是测试集中正样本的比率;Recall@K刻画了用户u在测试集中所有的正样本出现在Top-K推荐列表中的比率;NDCG@K则刻画了用户Top-K推荐列表中正样本的排序情况,正样本的排序越靠前,NDCG 的分值则越大。实验中,K的取值为[1,5,10,20],以衡量不同推荐列表长度下的推荐性能。
3.1.2 实验环境
硬件环境为NVIDIA TITAN X 显卡,128 GB 运行内存,Intel E5-2678V3 处理器。软件环境为Ubuntu16系统,Python3.6、Tensorflow1.12.0 和Pytorch1.0 开发环境。
模型的损失函数分为三部分,公式如下:
LKG是嵌入层损失,在2.2节中给出;LCF是协同信号损失,本文采用了BPR[22]损失,BPR 假定被观测到的用户与项目间的交互应该比未观测到的交互分配更高的分数,其定义如下:
式中,Ω={(u,i,j)|(u,i)∈I+,(u,j)∈I-}代表训练集,I+代表用户u与项目i间存在交互的正样本;I-代表不存在交互的抽样出的负样本;σ(·) 是softplus 非线性激活函数。
公式(15)中,Θ={ E,Mr,{(W(l),b(l))|∀l∈(1,2,…,L)}}是模型参数集合。其中,E 是所有实体和关系的嵌入向量;Mr是特定关系r上的变换矩阵;W(l)和b(l)分别代表生成时,聚合器做线性变换对应的权重矩阵和偏置项。λ是L2正则化参数,以防止过拟合。
为挖掘协同知识图中用户与项目的高阶连通性和高阶交互特征,本文将模型隐藏层数设置为3,三层维度分别为128、64、32,协同知识图实体和关系空间的嵌入维度均为128,α设置为0.6。模型采用分批训练,协同过滤部分批大小为4 096,知识图谱嵌入部分批大小为8 092,初始学习率为0.001,L2正则化参数设置为1E-5,最大迭代次数设为100 次,训练过程采用早停策略,当NDCG@20在连续的10次迭代中没有提升时,则停止训练过程。本文使用Adam 优化器进行学习率的自适应调节,并对模型参数集合Θ(见3.2节)中的各参数进行更新调整。
(1)NeuMF[23]:该方法将MF可建模一阶线性特征和深度学习可建模高阶非线性特征相结合,分别用广义矩阵分解和多层感知机MLP(Multi-Layer Perceptron)捕获特征间的线性和非线性关系。
(2)FM[10]:该模型考虑了输入之间的二阶特征交互。在这里,除了用户和项目id 外,本文同样引入项目知识作为输入特征。
(3)NFM[24]:该模型将FM 在二阶特征交互建模中的线性特性和神经网络在高阶特征交互建模中的非线性特性结合在一起,使模型有更好的非线性表征能力。
(4)CKE[4]:通过将包括知识图谱在内的多种辅助信息编码到最后的物品嵌入中,来增强推荐性能。为公平起见,本文在CKE 模型中仅引入知识图谱作为辅助信息。
(5)RKGE[12]:采用递归神经网络,在知识图谱上自动学习实体之间路径的语义表示,以描述用户对项目的偏好。
(6)RippleNet[14]:该模型同样引入项目知识图谱作为辅助信息,结合了基于嵌入和基于路径的方法,通过在每个用户的根路径中添加项目来丰富用户表示,使用户兴趣在知识图谱上传播,以此生成推荐。
(7)KGCN[16]:将图卷积网络引入知识图谱,使得知识图谱中某个实体周围的信息能被捕获并存储在该实体中,并且实体周围的关系根据不同的用户赋予不同的权重。
本文在MovieLens-1M 数据集上,将KG-BGAT 模型与上述多种推荐算法进行了对比实验。为了简化表格,在3 个评价指标Precision@K、Recall@K、NDCG@K上,本文选择了K=20的实验结果绘制表格,实验结果如表2所示。
表2 推荐模型性能对比
KG-BGAT_sum代表采用加和聚合器,KG-BGAT_con代表采用合并聚合器,可见合并聚合器在该场景下的推荐效果更优。
在推荐列表长度为20时,本文提出的KG-BGAT与以上6 个基准模型相比,在3 个指标上均取得了最佳效果,采用合并聚合器的KG-BGAT和排名第二的CKE模型比较,在Precision、Recall和NDCG上分别提高了1.9、1.6和2.5个百分点,本文提出的推荐模型性能优于各种方法的基准模型。
KG-BGAT 推荐性能的优越性主要原因在以下3点:(1)利用图神经网络,迭代地将邻居节点信息聚合到中心节点的表示中,建立了协同知识图中的高阶连通性;(2)采用基于TransR的注意力机制,将关系纳入编码范围,将头尾实体投影到关系空间中衡量其相似度,使相似实体能够传播更多的信息到中心节点中,减小了噪声影响;(3)显式注入节点交互信息,使得模型能够捕获基于特征交互的丰富语义,为模型学习用户偏好带来了更深层次的视角。
图2~4是采用合并聚合器的KG-BGAT和其他模型在3个指标上的详细对比。
图2 模型Precision性能对比
图3 模型Recall性能对比
图4 模型NDCG性能对比
6个基准模型中,推荐效果最好的是CKE模型,FM和NFM性能稍弱。CKE由于引入了知识图谱的结构化信息,取得了最佳推荐效果;FM 和NFM 模型没有引入知识图谱,但依然取得了非常不错的推荐效果,再次证明了基于特征交互的重要性。其余两个引入知识图谱的模型——RippleNet和KGCN,在Top-K推荐任务上表现较差。本文分析原因在于以下三点:(1)以上两种模型都试图基于传播的思想建立CKG 中的高阶连通性,但在每个hop中,它们都是随机选择固定数量的邻居节点进行信息传递,使得模型无法捕获节点周围完整的局部信息,同时捕获到的信息有很大的随机性。(2)两种模型均采用了类似于注意力机制的用户偏好机制,具体做法是:对每个用户,在每种关系上学习不同的权重系数,之后在获取邻居节点信息时,基于该用户对该关系固定的权重系数聚合邻居信息,本文认为这种偏好系数不利用推荐结果,因为用户的偏好是多种多样的,固定的偏好系数不利用挖掘用户偏好的多样性。(3)聚合的高阶信息是K-hop节点信息的简单线性加和,无法获取丰富语义。
KG-BGAT 能够从以上方法脱颖而出,主要得得益于递归嵌入传播过程对节点周围局部信息的充分利用和表达,以及该过程中使用的两种信息采集器和注意力机制,既充分捕获了节点的特征交互信息和高阶连通性,同时也避免了噪声影响。
KG-BGAT在100次迭代的训练过程中,NDCG@20指标变化情况如图5所示,本文选取FM模型作为对比。
图5 模型100次迭代NDCG@20指标变化
图5 显示两个模型均能较快收敛,其中KG-BGAT的最佳性能在第30次迭代,FM的最佳性能在第12次迭代,虽然KG-BGAT 需要花费更多的时间来达到最佳性能,但它的性能更高、更稳定,原因在于以下两点:(1)知识图谱学习模块将辅助信息注入实体表示,并且该模块和推荐模块的交替训练将有助于模型获取更加准确的实体表示;(2)嵌入传播层中,中心节点递归地和邻居节点产生信息交换,使得模型学习到的协同知识图的拓扑结构更加稳固,实体向量表示更加稳定。
为了验证高阶连通性和注意力机制对推荐性能是否有益,本文进行了如下对比实验:改变嵌入传播层的层数,并去除了有3层嵌入传播层的KG-BGAT-3中的注意力机制,实验结果如表3所示。
表3 嵌入传播层层数和注意力机制的影响
前4 个模型名称结尾的数字代表嵌入传播层的层数,嵌入传播层层数控制了图中节点可以聚合的邻居节点的跳数。其中KG-BGAT-1 与CKE 的推荐结果相当,当叠加嵌入传播层层数时,各项指标均得到提升,证明了模型捕获到的高阶连通性确实有利于改善推荐结果。最后一个KG-BGAT-3/rem att 是在三层嵌入传播层模型的基础上去除了注意力机制,使得线性信息采集器不再根据两个节点的相似度来采集邻居信息,π(h,r,t)退化为1/d(h),即每个邻居节点传播到中心节点的信息量相同。可以看到,和有注意力机制的KGBGAT-3 相比,其精确率、召回率、平均折损收益分别下降了1.89、2.24 和1.75 个百分点,验证了在图神经网络中引入注意力机制的必要性,即:注意力机制可以在一定程度上减小不相关实体的噪声影响,从而将关注点聚焦在某部分数据上。
为了验证设计的双线性采集器的有效性,本文进行了两种信息采集器效果的对比实验。
GAT-LC和GAT-BC分别使用了线性采集器和双线性采集器,从表4 可以看出,去除任何一种而采用单采集器,推荐性能较使用两种采集器均有所下降。相对而言,单采集器模型中,双线性采集器的推荐性能更好,在精确率、召回率和归一化折损累计增益3个指标上较线性采集器分别高出1.21、0.58、1.35个百分点。实验验证了本文对于特征交互重要性的想法,显示了本文设计的双线性采集器的有效性。
表4 两种信息采集器效果对比
同时,本文对式(5)中的α取值进行了一组对比实验,探索两种采集器对推荐结果的具体影响。从图6可以看出,从α=0 开始,随着双线性采集器信息采集量的增加,精确率也随之提高,在α=0.6时,精确率达到最大值;若α继续增加,精确率逐渐降低。该实验结果说明以下两点:(1)α从0增加时引起精确率随之提高,证明了设计的双线性采集器的有效性。(2)线性采集器在该推荐场景下同样可以收集到有用信息,两种采集器相互协作更有利于推荐效果。
图6 不同α 取值下的Precision@20
本文将知识图谱引入图注意力网络,模型通过设计的双线性采集器和线性采集器相结合的方法捕获邻居节点信息,并将图中各节点嵌入递归地传播到相邻节点,使得每个节点都获取了其周围节点基于特征交互的丰富语义,建立了节点间的高阶连通性。KG-BGAT 通过挖掘推荐场景中用户到项目基于特征交互的高阶连通性,使得推荐效果明显改善,相比于其他基于知识图谱的先进推荐模型,KG-BGAT 既省去了手动设计元路径的劳动密集型过程,又使得用户到项目的潜在路径得到充分挖掘,在MovieLens-1M 数据集上获得了较好的推荐效果。
在未来的工作中,可以考虑将注意力机制引入到双线性采集器中,对于图神经网络GNN 的研究尚处于早期阶段,相信未来对GNN 的更多探索会使推荐场景下的推荐性能得到进一步的提升。