基于图注意力网络的多行为推荐算法
2023-11-08李建国马文杰程俊伟
李建国, 马文杰, 程俊伟,2, 汤 庸,2
(1. 华南师范大学计算机学院, 广州 510631; 2. 琶洲实验室, 广州 510330)
近年来,随着大数据、人工智能等技术的发展,基于协同过滤(Collaborative Filtering,CF)的推荐系统[1-3]被广泛应用在网络服务(例如电商服务、短视频服务、社交媒体)中,以缓解信息过载的问题,其关键在于提取用户和项目的特征,进而对用户-项目的交互行为建模。但此类方法往往只针对用户的单一行为进行建模。在现实场景中,用户与项目的交互方式往往是多路复用的。例如,电商平台上的用户对商品有浏览、购买和评分等交互行为;社交网络上的用户对新闻有浏览、点赞、收藏和转发等交互行为。多行为推荐系统[4]在挖掘用户历史行为数据、分析用户潜在偏好方面展现了一定的优势。因此,基于多种用户-项目交互行为的多行为推荐系统被越来越多的研究人员所关注。
多行为推荐的早期研究多利用矩阵分解(Matrix Factorization,MF)技术[5]来使用多行为数据,其核心思想是先通过分解评分矩阵来提取用户和项目的向量表示,然后根据向量的相似度来进行推荐。例如:ZHAO等[6]从用户角度出发,提出了SBSUM模型,对用户主题兴趣进行建模,通过共享项目信息来执行不同类型行为的矩阵分解;TANG等[7]整合了多种用户反馈类型,提出在每种类型行为的多个矩阵分解任务中共享用户嵌入,以优化推荐性能。但此类方法以向量重构交互矩阵为优化目标,无法利用异构信息网络丰富的语义信息。
近年来,图神经网络(Graph Neural Network,GNN)[8-9]作为一种基于深度学习的图表示技术,在多行为推荐系统中显现出优越的性能。有学者使用GNN来挖掘高阶用户-项目关系,并对节点执行基于邻域的特征聚合。例如:JIN等[10]提出了一种多行为图卷积推荐模型(MBGCN),对用户的多种类型行为进行建模,并使用图卷积神经网络来实现行为感知嵌入传播;XIA等[11]提出了GNMR模型,探索了用户-项目交互图,通过设计一个关系聚合网络来模拟用户-项目交互的异质性,以捕获用户多行为数据中的异构协作信号;WU等[12]提出了SaGCN模型,通过元路径来构建单独的用户-用户图和项目-项目图,并应用单独的聚合函数来传播用户信息和项目信息。现有的多行为推荐模型虽然已与图神经网络有联系,但是难以捕获不同类型行为对用户决策的影响强度,并且在用户行为预测阶段也未有效利用不同层次的图传播信息。
为了更好学习不同类型行为影响以及有效利用不同层次的图传播信息,本文针对学术社交网络场景,即行为类型包含用户点赞、浏览、转发、收藏行为,设计了一个基于图注意力网络的多行为推荐算法(Multi-Behavior Recommendation Model Based on Graph Attention Network,GABR)。该算法在GraphSAGE基础上改进现有节点表示方法:先利用小批量采样节点嵌入方法聚合同一行为类型领域节点信息,再使用注意力机制学习不同行为类型的影响权重,以增强节点嵌入表示。并拼接不同层次的图传播信息,利用每一阶节点聚合表示,从而有效获取高阶图传播信息。最后,在3个真实数据集上进行了对比实验和消融实验。
1 预备知识
1.1 GNN简介
图神经网络(GNN)是一种基于图域的深度学习方法,由图和神经网络两部分组成。图是一个具有广泛含义的对象。例如:在计算机领域,图是一种数据结构;在数据科学领域,图被用于描述各类关系型数据。而神经网络是指由大量人工神经元互相连接组成的网络结构模型。因此,图神经网络也可以称为使用神经网络模型来处理图结构数据的方法。由于其具有的出色性能,图神经网络最近已成为一种广泛应用的图分析方法。
图卷积神经网络[13](Graph Convolution Networks,GCN)是GNN模型中最常用的运算结构,其在架构上使用固定数量的层,并在每层中设置不同权重来解决相互依赖关系。GCN可以归纳为2类:频域方法和空域方法。前者通过从图信号处理的角度引入滤波器来定义图卷积[14],通过构建频率响应矩阵来得到图信号,其中图卷积操作被解释为从图信号中去除噪声。但由于矩阵特征分解耗时长,具有O(N3)的时间复杂度,所以频域方法在工程实现上有一定的局限性。后者继承了循环GNN的思想,通过信息传播来定义图卷积。该方法的主要挑战是需要在不同大小的邻域上定义卷积操作并保持卷积神经网络(Convolutional Neural Networks,CNN)的局部不变性。由于空域图卷积可以直接在空间上定义卷积操作,因此空域GCN具有高效率、灵活性和通用性,并得以迅速发展。
1.2 注意力机制简介
现实生活中的注意力是指人集中于某件事物的能力。神经网络中的注意力机制[15]与之类似,即关注事物的部分信息,忽略不重要的特征,重点计算有用的特征,进而避免无用特征对拟合效果的干扰,有效提升了卷积神经网络的性能。注意力机制主要通过计算注意力分数来实现,其取值范围在[0,1]之间。而注意力分数可通过模型在神经网络中训练得到,并使用Softmax函数对其归一化处理。其实现思想可表述为:将具体任务看作Q、K、V3个角色(Q是需要查询的任务,K、V是对应的键、值),任务目标为使用Q在K中寻找对应的V,计算公式如下:
(1)
图注意力机制[16]则是将注意力机制应用到图神经网络中,通过学习邻域节点的权重,实现对目标节点的邻域的加权聚合(图1)。
图1 图注意力机制
具体来说,对于目标节点i,首先计算每一邻域节点与其的相似程度,计算公式如下:
eij=a(Whi‖Whj) (jNi),
(2)
其中:eij代表节点j对节点i的重要程度;Ni为节点i的邻域节点集合;W为可学习参数,目的是给节点特征增维,以实现特征增强效果;hi、hj为节点的特征表示;‖为拼接操作;a(·)为把拼接后的高维特征映射到一个实数的函数。
接下来,为了消除数据之间的量纲不同而造成的影响,使用Softmax函数对结果进行归一化处理:
(3)
其中,LeakyReLU(·)为激活函数。
最后,将得到的注意力系数与原特征进行加权聚合,并使用一层神经网络进行训练,可得到目标节点融合邻域节点信息的新特征,计算公式如下:
(4)
2 GABR多行为推荐模型
2.1 多行为推荐问题描述
在社交网络中,用户行为数据通常包含两部分信息。一部分是用户和项目的自身属性。用户属性主要包含用户ID、姓名、学历学位、工作单位、职称、研究方向和个人简介等。项目属性主要包含项目ID、新闻标题、新闻内容、发布时间、点赞量、转发量和置顶时间等。另一部分是用户与项目之间的多种类型行为的交互数据,例如用户对新闻动态产生的4类交互行为(浏览、点赞、转发、收藏行为)数据。
综上,本文研究的问题可表述如下:
输入:用户集U、项目集I、交互矩阵列表X。
输出:预测用户对项目偏好的概率,即用户u将目标行为(例如:点赞)带到项目i的可能性。
2.2 GABR模型的总体框架
本文的目标是挖掘用户与项目多种交互行为中所含的信息,以预测用户的偏好。受到图卷积神经网络有效性的启发,如MBGCN模型[10]探索了用户-项目交互图,使用图卷积神经网络来聚合邻域节点的嵌入。本文从用户嵌入和项目嵌入2个角度出发来构建推荐模型,如图2所示。GABR模型包含3个重要组件:(1)输入嵌入层。该层为用户节点和项目节点计算初始嵌入。(2)信息传播层,该层是本模型的关键。首先,用户节点聚合同一行为类型交互的邻居项目节点;接着,模型引入图注意力机制,以学习不同类型行为的影响强度;随后采用一层激活函数输出该层用户的嵌入表示。采用同样的方法可得到项目节点的嵌入表示。(3)联合预测层。经过多层的GNN传播,可得到节点的高阶嵌入。GABR模型将多层节点的嵌入拼接,获取用户节点和项目节点的最终嵌入,之后对两者做点积运算,生成预测得分。
图2 GABR模型框架图
2.3 GABR模型设计
2.3.1 输入嵌入层 对于用户和项目特征的初始嵌入,本文遵循现有推荐方法中的通用方法[17],将用户、项目与 ID 嵌入相关联。具体来说,先对用户或项目的唯一ID进行One-Hot编码,再使用压缩矩阵将高维的稀疏矩阵转换成低维的稠密矩阵,从而得到用户或项目的初始嵌入,公式如下:
(5)
2.3.2 信息传播层 在得到节点的初始嵌入后,用户和项目节点需要挖掘更多行为信息,以获取更多的信息表示。考虑到全图训练的效率较低,本文采用HAMILTON等[18]提出的小批量图信息采样方式(GraphSAGE)来捕获异构网络图的交互信号。GraphSAGE的基本思想是通过学习聚合邻域节点特征的函数来生成中心节点表示。用于更新用户节点嵌入的邻域聚合公式如下:
(6)
(7)
其中,MEAN(·)为均值聚合函数,N(u)为与用户u交互的项目集合,W为神经网络的权重系数。相较于对称归一化聚合,均值聚合方式显著提高了性能。
为了区分不同类型的用户行为对预测结果的影响强度,本文引入注意力机制来学习行为影响系数tuk,并使用Softmax函数对其进行归一化处理,以更好地分配权重。计算公式如下:
(8)
(9)
得到用户节点表示和该用户的行为影响系数后,对邻域节点特征进行加权求和,利用一层全连接神经网络来整合目标节点的所有用户行为表示,最终生成用户的多行为特征。公式如下:
(10)
(11)
(12)
最后,通过计算用户u和项目i的特征嵌入的内积来获得用户-项目的评分yui:
(13)
2.3.4 模型优化 为了优化GABR模型,本文采用成对损失函数(pairwise loss)[20]作为模型的损失函数。具体来说,对于小批量训练得到的每个用户um,本文将s个与用户um有交互关系的项目Ip={ip1,ip2,…,ips}视为正样本S,将r个与用户ui未交互的项目In={in1,in2,…,inr}视为负样本R。训练通过反向传播来更新待学习的参数,其目标是最小化损失函数。成对损失函数的定义如下:
(14)
3 实验结果
3.1 实验设计
3.1.1 实验数据集与实验设定 实验选择Scholat、Beibei和Yelp 3个真实数据集:
(1)Scholat数据集。该数据集来自中国最大的学术社交平台之一——学者网(https:∥scholat.com)。通过构建大数据平台、监听用户行为日志的方式,数据集收集了学者网从2021年7月1日至12月31日的用户行为记录,共127 902条。本文过滤未登录用户的行为记录和无效数据,共抽取4 286个用户、3 241条新闻节点、21 317条浏览记录、2 927条点赞记录、504条收藏记录和352条转发记录。本文把点赞视为目标行为,其他行为视为辅助行为。
(2)Beibei数据集。该数据集来自中国最大的婴幼儿用品零售电子商务平台——贝贝(https:∥www.beibei.net)。该数据集包含21 716个用户和7 977个商品,包括页面浏览、加入购物车和购买3种行为数据。在贝贝平台上,用户的购物过程是按照浏览页面、加入购物车、最后购买的流程进行的。
(3)Yelp数据集。该数据集来自Yelp平台(https:∥www.yelp.com)的公共数据存储库,包含19 800个用户节点和22 734个项目节点。本文将用户评分数据(r)区分为多类交互行为:①不喜欢行为:1≤r≤2;②中立行为:2 数据集的各类行为数据分布见表1。 表1 数据集各类行为数据分布 实验设置如下:实验基于TensorFlow深度学习框架实现,Python版本为3.6。实验服务器CPU型号为Intel(R) Xeon(R) Gold 5218 CPU@2.30 GHz,内存大小为256 G,显卡使用2张NVIDIA TESLA V100 32 G。实验设置模型训练迭代次数(Epoch)为120轮、批处理大小为32、GNN层数为2。实验中所涉及的神经网络权重和偏置采用Xavier初始化。 3.1.2 基线模型和评价标准 本实验将现有9种基线模型与GABR模型对比,其中BiasMF、DMF、NADE、ST-GCN、NMTR为基于单一行为的推荐模型,DIPN、NGCF、MBGCN、GNMR为基于多行为的推荐模型。各基线模型描述如下: (1)BiasMF[21]:采用传统的矩阵分解方法,增强了矩阵分解框架,同时考虑了用户和项目的偏差。 (2)DMF[22]:集成了矩阵分解和神经网络2种方式,将用户和项目投影到嵌入中。 (3)NADE[23]:该模型基于CF方法,集成了神经回归架构,通过在不同评级之间共享参数来改进CF模型。 (4)ST-GCN[24]:是一个基于图神经网络的编码器-解码器框架,用于通过 GCN 在数据稀缺的情况下学习用户和项目的潜在嵌入。 (5)NMTR[25]:是一个基于图神经网络的多任务推荐框架,考虑了用户的多行为数据,探索了不同类型行为之间的级联关系。 (6)DIPN[26]:将用户的浏览和购买行为模式与基于BRNN的注意力机制相结合,进而预测用户偏好。 (7)NGCF[27]:将多行为关系学习与联合图神经网络下的神经图协同过滤模型相结合,进而完成对用户偏好的预测。 (8)MBGCN[10]:对用户的多种行为进行建模,并使用图卷积网络来执行行为感知嵌入传播,最后形成用户与项目嵌入并预测用户偏好商品。 (9)GNMR[11]:对用户多种交互行为建模,通过设计一个关系聚合网络来模拟用户-物品交互的异质性。 本实验采用命中率(Hit Rate,HR)和归一化折损累计增益(Normalized Discounted Cumulative Gain,NDCG)2个评价指标来评估性能。 (1)HR。HR用于评估推荐模型是否成功推荐用户想要的东西,强调了模型的准确性,是衡量用户想要的项目是否在Top-N列表中的常用指标,计算公式如下: (15) 其中:N为样本总数,即用户发生访问、点赞和转发等行为的总量;hit(i)表示用户的第i项需求是否在推荐列表中,若在,则hit(i)=1,否则hit(i)=0。 (2)NDCG。NDCG用于评估用户的需求项在推荐列表中的位置次序,计算公式如下: (16) 其中:N为样本总数;pi为用户第i项需求在推荐列表中的位置;若用户需求不在推荐列表中,则1/log2(pi+1)=0。 3.2.1 对比实验 在Beibei、Yelp和Scholat 3个真实数据集上,将GABR模型与现有的9种推荐模型进行对比,并设置Top-K中的K=10,即一次推荐10个项目,从而评估HG、NDCG指标。 由实验结果(表2)可知: 表2 10个模型的实验结果 (1)在Beibei、Yelp和Scholat 3个真实数据集上,GABR模型的HR和NDCG评价指标都优于最好的基线模型(GNMR模型):在Scholat数据集上,GABR模型的HR、NDCG分别比GNMR模型提高了1.2%、2.0%;在Yelp数据集上,GABR模型的HR、NDCG分别比GNMR模型提高了2.6%、3.4%;在Beibei数据集上,GABR模型的HR、NDCG分别比GNMR模型提高了1.4%、1.9%。效果提升可以归因于:①GABR模型提出信息传播层,即首先采用小批量采样节点嵌入方法聚合同一行为类型交互的邻域节点,再使用图注意力机制学习不同类型行为的影响权重,从而充分利用了不同类型行为的传播信号。②GABR模型采用联合预测,即将不同层图传播节点特征拼接,以获取高阶图传播信息,从而有效利用多阶节点聚合表示。 (2)与传统基于矩阵分解的推荐模型(BiasMF、DMF)相比,基于图神经网络的推荐模型(NGCF、MBGCN、GNMR、GABR等)的性能均有提升。这表明构建异质网络图、探索节点之间的信息传递具有重要意义。与NGCF模型相比,GABR模型的性能有进一步的提升,这是源于GABR模型引入了注意力机制,对多种交互行为权重进行学习,有利于捕获用户的行为偏好,生成更准确的推荐结果。 (3)基于多行为的推荐模型普遍优于基于单一行为的模型,这表明挖掘用户-项目的多类型交互行为有助于预测用户偏好。 为了验证GABR模型在不同推荐数量上的预测性能,将其与5种在Top-K预测上性能较好的模型(BiasMF、NADE、NMTR、MBGCN、GNMR)进行对比实验。本实验在Yelp数据集上设置不同的Top-K参数,其中K={1,3,5,7,9}。由结果(图3)可知:(1)当K=1时,GABR模型的命中率为0.325,比GNMR模型提升了0.5%,提升效果不明显。但随着K值的不断增大,模型的命中率和归一化折损累计增益也不断提高。当K=9时,GABR模型的命中率为0.858,比GNMR模型提升了2.7%。这是由于GABR模型在获取目标节点特征时将不同层次图聚合特征拼接,获取了高阶图传播信息,而GNMR模型仅使用最高阶图聚合特征。(2)相较于其他5种模型,GABR模型在性能上均有提升。这反映了GABR模型使用均值聚合和添加注意力机制(在不同类型行为聚合时设置以自动学习权重)方式的有效性。 图3 不同Top-K下6种模型的性能评估 3.2.2 消融实验 在Yelp数据集上,将Top-K中的K设为10,即向每个用户推荐10条项目,通过进一步的消融实验来评估本文提出的GABR模型的有效性。首先,去除在同种类型行为下采用的均值聚合方式,转而采用对称归一化聚合方式,记为GABR-a模型。接着,取消不同行为类型之间的注意力机制,分配不同类型行为相同的权重,记为GABR-b模型。然后,在模型优化模块取消L2正则化,记为GABR-c模型。 由实验结果(表3)可知:(1)与GABR模型相比,GABR-a模型的HR、NDCG分别降低了3.2%、2.9%。这是由于均值聚合考虑到节点特征维数,先将邻居节点向量的每一维度特征求平均,再与目标节点特征拼接,而对称归一化方式仅计算目标节点与邻居节点向量的平均值。(2)与GABR模型相比, GABR-b模型的HR、NDCG分别降低了4.1%、3.6%,显示了引入注意力机制的重要性。(3)与GABR模型相比,GABR-c模型的HR、NDCG分别降低了4.7%、3.7%,表明L2正则化通过调整网络权重参数,有助于提升模型训练效果,减少过拟合现象发生。 表3 消融实验结果 本文提出了一种新的基于图注意力网络的多行为推荐模型(GABR),旨在提高节点表示能力以及捕获高阶图传播信息,进而提高推荐性能。该模型采用小批量采样节点嵌入方法聚合同一行为类型交互的邻域节点,通过注意力机制学习不同行为类型的影响系数,以及采用联合预测的方式融合了多层图节点表示。并在Scholat、Yelp和Beibei 3个真实数据集上,将GABR模型与现有9种推荐模型进行对比实验。主要结论如下: (1)在3个真实数据集上,与目前最佳的基线模型(GNMR)相比,GABR模型的HR、NDCG指标分别平均提高了1.73%、2.43%,表明GABR是具有良好性能的多行为推荐算法。 (2)修改节点聚合方式为对称归一化聚合方式或去除注意力机制,在Yelp数据集上,GABR模型的HR、NDCG降低了3.2%、2.9%和4.1%、3.6%。这验证了图注意力网络的有效性,说明GABR模型能够有效利用融合了不同行为类型影响系数的多层图传播信息,更好地预测用户偏好。 在未来的工作中,可以进一步考虑时态属性。用户的行为存在时间顺序,近期的行为更能反映用户当前的兴趣偏好,后续研究可结合RNN、LSTM等深度学习技术来研究用户的动态偏好,以进一步提升推荐效果。3.2 实验结果与分析
4 结论