基于深度学习的评分预测社交推荐
2022-09-28刘艺璇孙英娟李婉桦杨丹阳
刘艺璇,孙英娟,李婉桦,杨丹阳,刘 乾
(长春师范大学计算机科学与技术学院,吉林 长春 130032)
0 引言
推荐算法研究的目的就是针对海量数据进行数据挖掘,获取用户感兴趣的数据,把它们推荐给相关的用户[1].而随着数据规模增大和互联网不断发展,传统的推荐算法模型已经不能满足人们的日常生活,研究者们想到把多种传统的推荐算法结合起来,或者在深度学习的基础上进行研究,这些研究都取得了一些不错的效果.
国内外的一些研究者们对基于深度学习推荐算法做了一些深层次的研究,Lin等[2]提出了GNN-DSR模型,该模型分别对用户兴趣和项目吸引力的短期动态和长期静态交互表示进行建模,使用从多个角度获取的特征来进行评分预测;He等[3]提出的NeuMF模型,它采用了一种基于神经网络的矩阵分解模型,其初始实现是根据推荐排序的任务,将其损失调整为一个平均损失值来进行评分;Wu等[4]通过将社交推荐重构为具有社交网络和兴趣网络的异质图来建模用户影响扩散和兴趣扩散;Cui等[5]所提出的LT算法,在模型中增加了使用者的信任信息,并将使用者的标签信息纳入到模型中,以此为基础,通过对用户的标记进行分析,对用户间的信任度进行了评估,并将两者相结合,进行了预测.基于卷积神经网络(CNN)的推荐模型[6-8],利用卷积神经网络研究了歌曲信息,获得歌曲的潜在特征,并计算用户潜在向量和歌曲潜在向量之间的相似性,从而缓解了新歌曲的冷启动问题.Gu等[9]将项目图嵌入和情境社会建模纳入推荐任务中,提高了推荐算法的性能.
虽然结合深度学习的融合算法很常见,但利用图神经网络(Graph Neural Network,GNN)获得用户和物品之间的关联,得到用户和物品的潜在特征,再用AFM(Attention Factorization Machine)将这两者结合起来,预测用户对物品的评分,并将这些模型融合起来的方法却很少,因此本文提出混合模型REC_AFM.
1 本文算法
1.1 相关模型
社交推荐算法中的数据可以表示为图数据.如图1所示,左边表示用户之间的关系社交图,连线代表彼此之间存在一定联系,有时也会用数字标注用户之间的联系紧密程度.右边表示用户和物品之间存在购买行为和评分的用户物品图,如图1中某用户对音频产品评分为1,对笔记本电脑的评分为3,对书籍的评分为5.
图1 社交推荐中的图表数据图
本文提出基于深度学习和AFM算法的混合模型REC_AFM,算法模型如图2所示.该模型由三个部分组成:用户建模模块、物品建模模块和评级预测模块.第一部分是用户建模(User Model),利用图神经网络从用户物品图和用户社交图获得用户的潜在特征;第二部分是物品建模(Item Model),本模块将用户与物品的购买行为及打分结合起来,以了解物品的潜在特征;第三部分是评级预测模块(Rating Prediction),通过AFM将用户和物品的潜在特征联系起来,预测用户对物品的评分.
图2 REC_AFM算法模型
1.2 用户建模模块
1.2.1 物品聚合
(1)
其中:f为非线性激活函数;W表示权重;b表示偏差;Aggi是物品item的聚合函数;Oia表示用户ui与物品Ij之间的评分感知交互的向量;C(i)是用户物品图(user-item)中用户ui的邻居.通过多层感知器(MLP)将评分感知交互进行建模.bv可以表示为将交互信息与意见信息融合在一起.物品嵌入pa及其评分嵌入gr的串联作为MLP输入,MLP的输出是Oia,它表示物品和评分之间交互,所以Oia可以用数学公式表示为
Oia=bv([pa⨁gr]).
(2)
Aggi是一种聚合函数,也叫作均值运算符,在其中取向量元素的均值{Oia,∀A∈C(i)}.所以,公式(1)可以化简为
(3)
(4)
(5)
(6)
1.2.2 社交聚合
(7)
(8)
(9)
(10)
(11)
1.2.3 学习用户潜在特征
(12)
d2=f·[W2·d1+b2];
(13)
…
Gi=f·[Wl·dl-1+bl].
(14)
1.3 物品建模模块
物品建模的目的是用来学习用户聚合得到物品Ij的潜在特征,表示为Mj.本文使用了一种通过用户聚合来学习空间物品潜在特征的方法.对于每个物品Ij,需要从与物品Ij交互的用户集合中聚合信息,表示为B(j).引入一种用户对物品的评分意见表示为Yjt,hu是通过MLP从基本用户和评分embedding(qi,gr)得到的,hu用来融合交互信息和评分信息,Yjt可以定义为
Yjt=hu([gr⨁qi]).
(15)
为了学习物品潜在特征Mj,在B(j)中为物品Ij聚合用户的评分意见交互表示.用户聚合函数表示为Aggu,用于聚合用户的评分交互,Mj表示为
Mj=f(W·Aggu({Yjt,∀t∈B(j)})+b).
(16)
引入了一种注意力机制,以Yjt和物品信息的嵌入pa为输入,通过两层神经注意网络区分用户的重要性权重τjt,物品潜在特征Mj可以用函数表示为:
(17)
(18)
(19)
1.4 评分预测模块
使用AFM将用户潜在特征Gi和物品潜在特征Mj结合起来,用来预测某用户对未评分物品的评分.AFM的结构划分为5个部分:Sparse Input(输入层)、Embedding Layer(嵌入层)、Pair-wise Interaction Layer(双向交互层)、Attention-based Pooling(注意力聚合层)、Prediction Score(评分预测).AFM的Sparse Input和Embedding Layer都与FM相同,对输入的特征用稀疏矩阵来表示.
Pair-wise Interaction Layer采用的是对Embedding向量进行各个元素对应相乘(element-wise product)交互,用函数表示为
fPI(ε)={(Gi⊙Mj)xixj}(i,j)∈Rx.
(20)
其中:⊙表示元素对应相乘;Rx={(i,j)}i∈X,j∈x,j>i,这里的X是非零特征经过embedding层之后得到的embedding集合;Gi∈Rk表示的是用户潜在特征的嵌入向量;Mj∈Rk表示的是物品潜在特征的嵌入向量,k表示嵌入向量的大小.最终的预测值可以定义为
(21)
其中p∈Rk,b∈R分别表示预测层的权值和偏差.Attention-based Pooling Layer根据对预测结果的影响程度给其加上不同权重,允许它们做出不同的贡献.因此,提出采用特征交互的注意力机制,对交互向量进行加权求和,用函数表示为
(22)
其中:aij表示为特征Gi⊙Mj的注意力分数,表示该交互特征对于预测评分的重要性程度.为了解决泛化问题,本文使用了将注意力得分引入多层次感知器(MLP)参数化的方法,即注意力网络.用数学形式表示为:
(23)
(24)
(25)
1.5 模型训练
要对REC_AFM进行模型参数的估算,必须要有一个可以进行优化的目标函数.因为是评分预测,所以目标函数公式为
(26)
其中:|O|是观察评分的数量,Zij是由物品j的使用者u指定的基本真实评分.为了优化目标函数,在实验中采用RMSprop(Root Mean Square Prop,一种加快梯度下降算法)作为优化器.模型中有3种嵌入,分别是物品嵌入pa、用户嵌入qi和意见嵌入gr,在训练时随机初始化开始学习.意见嵌入矩阵e取决于系统的评分范围.为了缓解过拟合问题,将dropout正则化方法用于该模型,即在训练过程中,将某些神经元随意丢弃.
通过MAE、RMSE来评估本文模型.为了评估推荐算法性能的好坏,使用了两个常用的评估指标,即:平均绝对误差(MAE)和均方根误差(RMSE),随着 MAE、RMSE的降低,其预测准确率也相应地提高.MAE与RMSE的公式为(其中Rtest为测试集的评分矩阵):
(27)
(28)
2 实验结果分析
2.1 数据集
本文采用的数据集是Ciao.它拥有7 317个用户,104 975个物品,111 781个社交关系.它是一个在线消费者购物网站,记录用户对带有时间戳商品的评分,用户还可以将其他人添加到好友列表中,并建立社交关系.因此,它们提供了大量的评分信息和社交信息.我们根据从1—5的评分,使用对应的嵌入向量,来初始化数据集的评分embedding.该数据集如表1所示.
表1 采用的数据集
2.2 模型参数与模型性能对比
在本文的模型REC_AFM中,研究的数据集划分为:训练数据集占80%,用于拟合本文模型;验证数据集占10%,用于调整超参数以避免过拟合;测试数据集占10%,用于评估模型在训练过程中对看不见数据的表现.
如图3所示,所提出的模型在Ciao数据集上的嵌入大小对推荐效果有影响.当嵌入大小为256时,RMSE和MAE较大.然而,如果嵌入的长度太大,模型的复杂性也显著增加.当嵌入大小从8增加到64时,RMSE和MAE最小,因此嵌入大小为64最合适.其他设置的参数值如表2所示.
图3 嵌入大小与RMSE、MAE的关系
表2 参数设置
将本文方法REC_AFM与PMF、SoReg、SocialMF、NeuMF方法进行比较,结果如表3所示.PFM[11]:是一个基于概率矩阵分解的算法,该方法仅使用了用户物品的评分矩阵,并运用了高斯分布的方法来获得用户和物品的潜在特征.SoReg[12]:社交规则信息将社交网络信息建模为正则化项,属于一个约束矩阵分解的框架.SocialMF[13]:在推荐系统矩阵分解模型中,引入了信任信息,并讨论了其传播问题.NeuMF[3]:一种新的基于神经网络的矩阵分解模型,该算法首先考虑了推荐排序的问题,最后将其损失调整为平方损失进行评分预测.
表3 不同推荐算法的性能比较
PMF是不包含社交网络信息的纯协同过滤模型,用于评分预测,其他模型均为社会推荐.SocialMF、SoReg的表现优于PMF,SocialMF是利用评分和社交网络信息进行预测,SoReg将社交网络信息建模为正则化项,而PMF只使用评分信息,这说明社交网络信息是评分预测推荐算法中的一个较为重要因素.NeuMF在性能上略优于PMF,两个算法都仅采用了评分的信息,然而NeuMF是一种基于神经网络的推荐算法,这说明神经网络在推荐算法中能让推荐性能更优秀.综上所述,对比结果表明:(1)社交网络信息使推荐算法更准确;(2)加入神经网络模型能提高推荐算法性能.
从表3可以看出,本文研究的结果比PMF、SoReg、SocialMF和NeuMF算法都要好.因为MAE和RMSE值越小,表示预测准确率越高,在表3中可以看出本文提出的模型与其他4种算法模型相比,MAE和RMSE都是最低的,MAE为0.803 6,RMSE为1.054 4.意味着推荐效果更好,预测的评分更准确,本文方法REC_AFM优于所有的对比算法.
3 结语
REC_AFM是用于评分预测推荐的一种方法,它是一种以深度学习为基础的融合算法,该算法利用GNN,首先从用户物品图和用户社交图中学习用户的潜在特征,再通过用户聚合来获得物品空间中物品的潜在特征,最后利用AFM算法将得到的两个特征相结合,来预测用户对未评分物品的评分,获得了较好的推荐结果.通过对Ciao公共数据集的仿真试验,证明了该方法在一定程度上能有效提高推荐算法的性能.