APP下载

社交影响增强的图神经网络推荐方法

2024-04-26代星月叶海良曹飞龙

模式识别与人工智能 2024年3期
关键词:集上物品社交

代星月 叶海良 曹飞龙

社交推荐[1]作为推荐系统中的一个重要任务,近年来受到学术界[2-3]的广泛关注.其核心思想是利用用户间的社交联系[4]提高推荐系统的性能.基于同质性假设[5]和社交影响理论[6],拥有相似兴趣的用户往往表现出相似的行为模式和评价行为,同时用户的评价也受到其社交圈的影响.

早期的社交推荐方法主要依赖矩阵分解(Matrix Factorization, MF)技术[7].Ma等[8]提出SoRec(Social Recommendation),分解用户-物品评分矩阵和用户-用户社交关系矩阵,获取潜在的用户表示和物品特征表示.随后,基于MF的变体方法不断涌现[9-11],这些方法利用用户的社交信息约束矩阵分解过程,得到更精准的用户嵌入和物品嵌入.Yang等[9]在MF的基础上,提出TrustMF和TrustPMF,融入社交邻居的信任影响,将社交邻居的偏好作为辅助信息,从而提升推荐的准确性.Jamali等[10]和Ma等[11]将用户的社交关系作为正则项,约束MF的目标,使用户的偏好更贴近其社交网络的偏好.然而,这些基于MF的推荐方法在处理复杂关系时表现相对较弱,可能影响推荐的准确性.

深度学习凭借强大的非线性特征学习能力,在推荐系统中逐渐受到广泛关注,通过学习用户和物品之间的交互关系以及社交关系,能准确捕获用户和物品的特征表示,提升社交推荐的性能.Wu等[12]提出DiffNet(Influence Diffusion Neural Network),通过社交网络上的逐层信息传播过程,递归融合邻居信息,学习用户高阶邻居信息.Chen等[13]提出EA-TNN(Efficient Adaptive Transfer Neural Network),利用神经网络模拟社交域和交互域之间的相互作用.Fan等[14]提出DeepSoR(Deep Neural Network Model on Social Relations for Recommendation),利用深度神经网络学习社交关系中的非线性用户表示,并将其与概率矩阵分解(Probabilistic MF, PMF)[15]结合.Zhao等[16]构建SMR-MNRL(Multimodal Network Re-presentation Learning for Social-Aware Movie Recommendation),结合电影的文本信息、电影海报图像、评分和社交关系等多种模态数据进行推荐.

近年来,图神经网络(Graph Neural Networks,GNN)因其在处理图数据方面的显著优势,在社交推荐任务中也取得巨大成功[17].Fan等提出GraphRec(GNN Framework for Social Recommendations)[18]和GraphRec+[19],利用社交图、用户-物品图和物品-物品图的信息,全面学习用户和物品的特征表示.Wu等[20]提出DiffNet++,分析社交网络中的信息传播和用户兴趣的影响,预测用户行为.Yang等[21]提出ConsisRec,通过区分一致的用户邻居解决社交不一致问题.Xü等[22]提出SR-HGNN(Social Recommen-dation Framework with Hierarchical GNN),旨在准确表达用户的语义信息.Salamat等[23]提出Hetero-GraphRec,将物品纳入图中生成异构图,并使用注意机制进行推荐预测.Chen等[24]提出GDSRec(Graph-Based Decentralized Collaborative Filtering for Social Recommendation),将评分的偏差视为向量,融入学习用户和物品表示的过程中.上述方法都可有效利用图数据,提升评分预测[25-26]的性能.

尽管基于GNN的推荐方法取得一定效果,但对于社交关系较少的用户,推荐效果受到一定限制.现有的方法[27]往往直接使用显性的社交关系进行建模,这可能会对推荐效果产生不利影响.尤其是在用户社交联系较少时,间接社交关系的利用显得尤为重要.即使用户之间无直接的社交联系,也可通过识别偏好相近的用户群体以提高推荐质量.为了解决这一问题,Li等[28]提出MFC和MFC+,将社区关系融入矩阵分解方法中,发现隐式的社交关系.然而,在挖掘隐式的社交关系时,仅考虑社交信息而忽略用户的行为信息(如评分数据)可能导致无法有效提取隐式的社交关系.因此,在社交推荐中,综合考虑用户的社交信息和行为信息,有效挖掘和利用潜在的社交关系显得至关重要,这将有助于充分利用社交关系,提高推荐的准确性.

为了解决上述挑战,本文在Xü等[22]工作的基础上,提出社交影响增强的图神经网络推荐方法(GNN Recommendation Based on Enhanced Social In-fluence, GNNES),利用用户与物品之间的评分数据,挖掘用户的隐式社交关系.利用互信息最大化方法,获得蕴含局部信息和全局信息的用户表示,提升用户在社交域的表征能力.此外,考虑到用户在交互过程中对不同物品存在偏好差异,尝试将可学习机制融入图注意力网络,捕捉用户对不同物品的偏好,学习用户和物品间不同的交互关系.为了挖掘对用户和物品交互及社交关系的上下文信息,构建改进的贝叶斯个性化排序(Bayesian Personalized Ranking, BPR)[29]损失函数,为评分预测任务提供有效的用户特征表示和物品特征表示.

1 社交影响增强的图神经网络推荐方法

在社交推荐场景中,本文假设用户集

U={u1,…,ui,…,uN},

物品集

V={v1,…,vj,…,vM}.

将用户和物品的评分矩阵R=(rij)N×M视为用户和物品的交互图GR={U,V,Er},其中,rij表示为用户ui对物品vj的评分,Er表示用户和物品之间的交互关系(评分).用户社交图表示为GS,其邻接矩阵为T.若用户uj、ui之间存在关系,tij=1,否则tij=0.基于上述定义,本文研究的目标是通过用户-物品交互图GR和社交图GS,预测GR中缺失的评分值.

本文提出社交影响增强的图神经网络推荐方法(GNNES),整体架构如图1所示.首先,在重构社交关系图上,利用互信息最大化的图学习模块,融合用户在社交网络中的全局特征与局部特征.然后,设计可学习机制的图注意力网络模块,学习用户和物品的嵌入表示,考虑用户和物品之间的交互关系,为不同邻居学习差异性权重.在获得用户和物品的嵌入表示后,通过评分预测层,预测用户评分.最后,设计一个改进的BPR损失函数,探索用户-物品交互信息,为评分预测任务提供有效的特征表示.

图1 GNNES整体架构

1.1 社交图的重构

其中,I(i)表示与用户i交互的物品集,I(f)表示与用户f交互的物品集.为了保持与邻接矩阵范围的一致,通过映射函数

f(Sif)=0.5(Sif+1)

1.2 基于互信息最大化的图学习

进一步地,定义消息传播层,获得每个用户节点的嵌入表示es,ui,其矩阵形式表示为

其中,σ(·)表示PReLU(Parametric Rectified Linear Unit)非线性激活函数[30],Ws∈RN×d表示可学习参数矩阵,d表示嵌入维度,Ds表示S的度矩阵,

Ds=diag(D11,D22,…,DNN),

对角线上元素

将用户的嵌入表示es,ui视为局部表示.为了捕捉在重构社交图上的全局特征表示,进一步定义全局社交图的特征表示:

在获得用户的嵌入表示es,ui和全局图表示rs后,采用双线性函数作为判别器D(·),计算用户的局部表示属于全局图表示的概率分数,具体定义为

通过最小化交叉熵损失优化判别器,能准确区分正、负样本用户局部-全局特征对,具体表示为

其中,Npos表示正样本数量,Nneg表示负样本数量.通过最小化损失函数LMI,在重构社交图中学习的用户嵌入表示es,ui融入全局的社交信息,提高用户对兴趣偏好的感知.

1.3 基于图注意力网络的嵌入学习

其中W4∈Rdt×KM表示可学习的参数矩阵.本文通过在用户和物品多等级的交互图上传播信息,更新用户和物品嵌入向量.

在连接的用户和物品之间进行消息的嵌入传播,包括消息构建和消息聚合两个主要操作过程.

在消息构建阶段,针对用户ui,定义消息构建函数:

在消息聚合阶段,为了关注和学习不同邻居节点间的重要性差异,将可学习机制融入图注意力网络中,设计一个多层感知机网络,自适应学习注意分数,更精确地提取重要的邻居特征.具体物品注意分数:

类似地,物品节点的信息聚合过程表示为

基于定义的消息聚合函数,得到物品节点的嵌入表示和用户节点的嵌入表示.为了学习高阶的语义信息,堆叠L个消息传播层,用户(或物品)能逐步获取从邻居节点传播的高阶消息.这一过程表示为

1.4 评分预测层

在评分预测层中,将学习到的用户潜在表示Eui和物品潜在表示Evj合并到两层全连接网络中,用于预测评分r′ij,具体形式为

1.5 联合损失函数

在社交关系方面,定义社交损失函数,该函数对比用户在社交关系与非社交关系中的特征差异,优化用户的特征表示.具体地,从不存在社交关系的用户中抽取负样本ui-,利用双线性函数计算正负样本对分数,具体表示为:

此外,为了将预测评分与真实评分之间的差异最小化,在评分预测层采用均方误差作为损失函数,该损失数学表达式为:

其中,Iij(·)为指示函数,当用户和物品之间有交互时,Iij=1,否则Iij=0.

本文结合改进的BPR损失和评分预测层的损失,构建一个联合损失函数:

L=LR+λ1Li+λ2Ls,

用于平衡不同损失的权重,其中,λ1>0,λ2>0,均为超参数.

2 实验及结果分析

2.1 实验数据集

本文选择Ciao[21]、Epinions[22]、Douban这3个真实的社交推荐数据集,用于评估方法性能.Ciao数据集的数据来自英国的一个消费者评论网站.Epinions数据集是一个基于社交的产品评论平台的公开数据集.Douban数据集收集于中国豆瓣社交平台.用户可为物品进行打分(分数范围为{1,2,…,5}),也可与他人建立社交关系,将不同的评分分数视为不同的交互类型.这3个数据集的统计数据如表1所示,在每个数据集上,本文按照文献[22]中相同的数据百分比的设置,将数据分为训练集、验证集、测试集,分别占总数据x%,0.5(1-x%),0.5(1-x%).在实验中,本文将x设置为60和80.

表1 数据集统计信息

2.2 实验设置及对比方法

本文在pytorch框架下进行实验,采用Adam(Adaptive Moment Estimation)优化器[31],学习率设为0.001.在社交表示学习过程中,从{250,500,1 000,1 500}中搜索社交关系编码器的最佳嵌入维度.同时,针对用户和物品交互图,图关注网络模块的维度在{8,16,32,64}内进行调整.在Ciao数据集上设置超参数λ1=0.25,λ2=0.15;在Epinions数据集上设置λ1=0.1,λ2=0.15;在Douban数据集上设置λ1=λ2=0.05.

在实验过程中,为了提升训练效率,采用提前停止策略,如果验证集上的均方根误差(Root Mean Square Error, RMSE)连续5个迭代周期未下降,停止训练模型.

所有实验均在配备GeForce GTX 1080Ti显卡的工作站上进行.

本文选择均方根误差和平均绝对误差(Mean Ab-solute Error, MAE)作为评估预测精度的指标.RMSE和MAE值越小,表示预测精度越高.尽管这些指标的相对改进幅度较小,但之前的研究[32]表明,即使是小幅度的RMSE或MAE的改进也可能对推荐系统的整体性能产生显著影响.

2.3 对比实验结果

本文选择如下方法作为对比方法:SoRec[8]、TrustMF[9]、SocialMF[10]、文献[11]方法、PMF[15]、GraphRec+[19]、DiffNet++[20]、ConsisRec[21]、SRHG-NN[22]、HeteroGraphRec[23]、GDSRec[24]、Sim-GraphRec(SGR)[33]、SR-AIR(Attentive Implicit Relation Embe-dding for Social Recommendation)[34].

在Ciao、Epinions和Douban数据集上,采用RMSE和MAE作为性能评价指标,进行对比实验.在训练集占比分别为80%和60%时,各方法在测试集上的实验结果如表2和表3所示,表中黑体数字表示最优值.

表2 各方法在3个数据集上的RMSE对比

表3 各方法在3个数据集上的MAE对比

由表2和表3可见,在2种训练集占比下,GNNES在3个数据集上的RMSE和MAE值都为最优,由此验证GNNES的有效性.相比传统社交推荐方法,GNNES充分考虑图结构信息,采用图神经网络编码用户和物品的节点表示,使GNNES在建模过程中能更全面地利用社交关系,捕获更丰富的社交信息.相比SR-HGNN,GNNES在建模过程中进一步探索潜在的社交关系,从而捕获更好的社交信息,使GNNES在推荐性能上更具优势.相比其它基线方法,GNNES将社交信息整合到图神经网络中.相比消息传递方法(如ConsisRec、HeteroGraphRec、GraphRec++、DiffNet++、SGR、SR-AIR),GNNES在用户的嵌入学习中,学习用户之间的隐式社交关系和全局信息,能较全面地理解用户间的联系和影响.

2.4 消融实验结果

为了研究GNNES中不同模块的作用,在Ciao、Epinions、Douban数据集上进行一系列的消融实验,验证模块的有效性.

首先,评估互信息最大化在捕获局部-全局用户嵌入表示上的有效性,使用两种具有代表性的图神经网络架构替换本文的社交关系编码器:图卷积网络(Graph Convolutional Network, GCN)和图注意力网络(Graph Attention Network, GAT),分别简记为GNNES-GCN和GNNES-GAT.

各方法的性能对比如图2所示.由图可见,虽然GCN和GAT在融合用户之间的信息方面均取得较优结果,但GNNES通过最大化用户依赖的局部表示和全局表示之间的互信息,进一步提升推荐性能.

(a)RMSE (b)MAE

此外,本文分别验证重构社交关系的影响和改进的BPR损失(Ls和Li)的有效性.一方面,对比原始的用户关系GNNES-OR和重构后的社交关系GNNES的性能,结果如图3所示.由图可见,重构的社交关系有助于提升推荐性能,隐式的用户关系可有效捕捉不同的用户偏好,从而有利于学习嵌入表示.

(a)RMSE (b)MAE

另一方面,为了验证改进的BPR损失对用户和物品嵌入学习过程的影响,生成两个变体方法:1)GNNES-REC,未使用本文设计的BPR损失;2)GNNES-BPR,采用传统的BPR损失.3种方法性能对比如图3所示.由图可观察到,本文设计的改进BPR损失具有较明显的优势.相比GNNES-BPR,GNNES在推荐性能方面具有明显提升.这一结果证实本文改进BPR损失的有效性.

2.5 超参数讨论

首先,讨论社交关系用户的嵌入维度d.在学习用户的局部-全局嵌入表示中,经验性地考虑嵌入维度d=250,500,1 000,1 500,则d对GNNES性能的影响如图4所示.由图可见,较大维度的数值并不一定具有更优性能,因为可能存在过拟合问题.因此,在Ciao、Epinions和Douban数据集上,维度大小分别设置为500、250和1 000.

(a)RMSE (b)MAE

再讨论交互图中嵌入维度dt.在用户-物品交互图的图注意力网络中讨论不同嵌入维度的影响.考虑嵌入维度dt=8,16,32,64,则dt对GNNES性能的影响如图5所示.由图可见,在Ciao、Epinions数据集上,当dt=16时,预测精度均最高,而在Douban数据集上,dt=32时预测精度最佳.因此,在最终的实验设置中,在Ciao、Epinions数据集上,经验性设置dt=16,在Douban数据集上,经验性设置dt=32.

(a)RMSE (b)MAE

然后,讨论图注意力网络的层数.增加基于注意力机制的图神经网络的传播层数可提高推荐效果.在层数的选取中,设计2层、3层、4层,则层数对GNNES性能的影响如图6所示.

(a)RMSE (b)MAE

由图6可观察到,具有3个嵌入传播层的方法获得最优性能.然而,随着层数的增加,性能略有下降,可能因为深度图神经网络会出现过拟合现象.

最后,讨论改进BPR损失中的参数τ.τ不同时对GNNES性能的影响如表4所示,表中黑体数字表示最优值.由表可见,在3个数据集上,τ=0.15时,性能最佳.

表4 τ 对GNNES性能的影响

3 结 束 语

本文提出社交影响增强的图神经网络推荐方法(GNNES),挖掘用户间隐式的社交关系,进一步提升推荐性能.具体而言,利用用户和物品之间的评分信息重构用户社交图,采用互信息最大化方法有效提取用户的社交特征.GNNES中包含全局社交图信息和用户局部信息,可全面反映用户的社交属性.同时,设计基于可学习机制的图注意力网络模块,自适应调整不同邻居的权重,准确捕获重要邻居的信息.最后,通过联合损失为评分预测任务提供准确的用户特征表示和物品特征表示.在评分预测任务中,将物品的历史信息融入推荐系统框架中,有助于推荐系统学习到更丰富的物品语义信息.因此,如何有效地将用户信息和物品信息整合到推荐系统中,是今后一个值得研究的课题.

猜你喜欢

集上物品社交
社交之城
称物品
社交牛人症该怎么治
“双十一”,你抢到了想要的物品吗?
Cookie-Cutter集上的Gibbs测度
社交距离
链完备偏序集上广义向量均衡问题解映射的保序性
谁动了凡·高的物品
你回避社交,真不是因为内向
复扇形指标集上的分布混沌