基于图神经网络和LSTM的社交推荐算法

2022-09-30 05:29刘艺璇孙英娟李婉桦杨丹阳
长春师范大学学报 2022年8期
关键词:神经网络建模物品

刘艺璇,孙英娟,李婉桦,刘 乾,杨丹阳,于 洋

(1.长春师范大学计算机科学与技术学院,吉林 长春 130032;2.长春市第五十六中学,吉林 长春 130022)

0 引言

推荐系统在当今社会应用广泛,它能帮助用户找到对商品的潜在兴趣,减轻信息过载[1]等问题。社交网络中两个关系密切的用户可能具有共同或相似的兴趣。社交推荐系统通过考虑社交影响力迅速增长。除了这些明确的用户社交影响外,两个项目之间的相关性也很重要,它可以提供描述项目的额外信息,因为项目可能与它相似或相关。同时,包括社交网络在内的大多数信息本质上都是图结构,而图神经网络(GNN)在图表示学习方面具有强大的能力。

国内外研究者对基于深度学习推荐算法做了深层次研究。CHEN等[1]集成了来自社交网络的知识,通过异构GNN学习用户和物品表示。WU等[2]通过将社交推荐重构为具有社交网络和兴趣网络的异构图,来建立用户影响扩散和兴趣扩散的模型。GU等[3]将项目图嵌入和情境社交建模纳入推荐任务中,取得了不错的推荐效果。递归神经网络已被证明对序列问题是有效的,而基于会话的推荐是推荐系统的一个顺序任务,它根据用户最近的活动[4]预测用户的下一个偏好。最近,图神经网络在各种任务中都取得了优异的性能,包括基于会话的推荐。ZHANG等[5]使用注意力机制明确地模拟了用户的历史会话对当前会话的影响。

在推荐系统中,利用图神经网络的方法在蓬勃发展。然而,以往的研究多集中在对用户行为的建模上,而对物品的关注较少。对于物品的建模,人们常常忽略了他们对物品产生的兴趣可能随时间发生变化,为了克服这些限制,本文提出了图神经网络(Graph Neural Network,GNN)与长短期记忆网络(Long Short Term Memory,LSTM)相融合的推荐算法模型GNN-L,来预测用户对物品的评分。

1 本文算法

1.1 相关模型

本文提出基于深度学习的融合图神经网络和长短期记忆网络算法的混合模型GNN-L,算法模型如图1所示。该模型由四部分组成:(1)输入层,对原始数据集进行处理,并将其输入到模型GNN-L中;(2)嵌入层,将预处理后的数据分别转化为用户空间向量和物品空间向量;(3)交互聚合层,关于物品建模,由于用户会随时间对物品的兴趣发生变化,使用LSTM和注意力网络联合捕获用户物品的潜在特征Mj,对于用户模块,利用图神经网络从用户物品图和用户社交图获得用户的潜在特征;(4)输出层,先连接用户和物品的潜在特征(Gi和Mj),然后将其输入MLP(Multilayer Perceptron,多层感知器),最终得到预测的评分,称为R′ij。

图1 GNN-L算法模型

1.1.1 输入层

将用户-物品交互图R、用户社交图Gu和物品相关图Gv作为输入。由于大多数数据集没有明确表示物品之间相关性的信息,一个较好的方法是将两个高度相似的物品连接起来。用余弦相似度来度量两个物品之间的相似度。对于任何物品Vj,R的第j列记录了所有交互过的用户对它的评分,例如,Vj和Vk的评分向量计算相似度公式为

1.1.2 嵌入层

每个用户可以用自己的嵌入和评分的物品来表征,而一个物品可以用它的嵌入和用户给出的评分来表征。用户-物品交互图R不仅包含了用户与物品之间的交互,还包含了用户对物品的评分。通常,将用户ui对物品Vj的评分设置为rij,gr表示rij的嵌入。用户嵌入表示为qi,物品嵌入表示为pa。物品嵌入pa及其评分嵌入gr的串联作为多层感知器(MLP)输入,MLP的输出是Oia,表示物品和评分之间交互。同理,用户和评分之间的交互表示为Yjt。

Oia=bv([pa⊕gr]),

Yjt=hu([gr⊕qi]),

其中,⊕表示两个向量的串联运算,bv和hu为2层感知器输出的结果。

1.1.3 交互聚合层

引入一种注意力机制,以Yjt和物品信息的嵌入pa为输入,通过两层神经注意网络区分用户的重要性权重τjt:

所以,物品潜在特征Mj可以用函数表示为

1.1.4 输出层

有各种推荐任务,如项目排名和评分预测。本文模型应用于评分预测的推荐任务。我们可以先连接用户和物品的潜在特征(Gi和Mj)然后将其输入MLP,来进行评分预测,计算预测的评分R′ij如下(l是隐藏层的索引):

g1=[Gi⊕Mj],

g2=f·(W2·g1+b2),

……

gl-1=f·(Wl·gl-2+bl),

R′ij=WT·gl-1.

1.2 模型训练

对物品进行评分预测的任务实质上是回归问题,本文利用平方损失函数训练模型来优化参数,采用正则化项以避免过度拟合,损失函数为

其中,|O|是训练评分的数量,R′ij是得到的预测的评分,Rij是由物品Vj的使用者ui指定的基本真实评分,λ表示正则化项的常数参数,Θ表示模型中的未知参数的集合。

为了优化目标函数,在实验中采用RMSprop(Root Mean Square Prop,一种加快梯度下降算法)作为优化器。

1.3 模型评价

为了评估推荐算法性能的好坏,该模型使用平均绝对误差(MAE)和均方根误差(RMSE,也称标准误差),随着MAE、RMSE的降低,其预测准确率也相应提高。MAE函数用M表示,RMSE函数用R表示。

其中,Rt为测试集的评分矩阵。

2 实验结果分析

2.1 数据集

本文采用的数据集Ciao是从一个在线消费者购物网站上获取的,它记录了用户对带有时间戳的商品的评分,用户还可以将其他人添加到好友列表中,并建立社交关系。因此,这个数据集提供了大量的评分信息和社交信息。用户对物品的评分范围是1~5分,并且数据集使用对应的嵌入向量,来初始化数据集的评分嵌入。Ciao数据集的具体数据统计如表1所示。

表1 Ciao数据集各项数据统计

2.2 模型参数与模型性能对比

在本文模型中,研究数据集划分:训练数据集占80%,用于拟合本文模型;验证数据集占10%,用于调整超参数以避免过拟合;测试数据集占10%,用于评估最终模型的泛化能力。本文模型在Ciao数据集上的嵌入大小对推荐效果有影响,当嵌入大小为256时,性能降低了。具体参数值设置如表2所示。

表2 参数设置表

除了传统推荐算法外,也有其他推荐性能较好的算法,例如,DeepSoR[6]:利用深度神经网络,从社交关系中提取每个用户复杂、固有的非线性特征,用于评分预测。NARM[7]:应用注意力机制,从当前会话捕获用户的顺序行为和以用户为主要目的的推荐模型。STAMP[8]:采用注意力机制,更好地捕捉用户的短期兴趣,主要用于匿名推荐。DGRec[9]:同时考虑用户基于会话的兴趣和动态的社会影响力,利用图注意力神经网络对情境相关的社会影响进行建模。Gra+[10]:在社交图上联合建模三种类型的聚合,即用户-物品图和物品-物品图,全面学习用户和物品的嵌入。将本文算法GNN-L与DeepSoR、NARM、STAMP、DGRec和Gra+算法进行比较,如表3和图2所示,并对得到的结果进行分析。

表3 不同推荐算法的性能比较

图2 迭代次数与RMSE之间的关系

从表3和图2可以看出,与DeepSoR、NARM、STAMP、DGRec和Gra+算法相比,本研究结果表现较好,因为MAE值和RMSE值越小,表示准确率越高。在表3中,本文模型MAE值为0.731 8,RMSE值为0.970 9。这意味着本文模型的推荐效果更好,GNN-L优于其他算法。因此得出结论:(1)加入社交网络信息使推荐算法更准确;(2)加入图神经网络和LSTM的融合模型更能提高推荐算法性能。

3 结语

GNN-L是用于评分预测推荐的方法,是一种以深度学习为基础的融合算法,该算法融合GNN和LSTM,不仅能够基于用户评分学习用户特征,而且能够深度挖掘其他信息,学习到更精确的物品特征,最后利用MLP算法将得到的两个特征相结合,来预测用户对未评分物品的评分。通过对Ciao数据集的仿真试验,证明了本文方法从整体上能有效提高推荐算法的性能,从而提高推荐质量。

猜你喜欢
神经网络建模物品
基于神经网络的船舶电力系统故障诊断方法
基于人工智能LSTM循环神经网络的学习成绩预测
MIV-PSO-BP神经网络用户热负荷预测
物理建模在教与学实践中的应用
在经历中发现在探究中建模
思维建模在连续型随机变量中的应用
求距求值方程建模
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
图画捉迷藏
找物品