融合社交网络用户潜在因子的社会化推荐
2020-12-26陈平华廖威平
赵 亮,陈平华,廖威平
广东工业大学 计算机学院,广州510006
1 引言
推荐系统是解决信息过载问题的有效手段,但也面临着冷启动和数据稀疏的问题。为解决这些问题,有学者提出了社会化推荐方法,根据用户之间的社交关系构建社交网络,根据社交关系和用户兴趣进行推荐[1-2]。传统基于用户社交网络的社会化推荐仅利用用户社交网络来改善推荐系统的数据稀疏和冷启动问题,没有考虑用户-项目历史信息对推荐的影响,导致推荐效果不佳。近年来,基于潜在因子的推荐方法在学术界和工业界都取得了巨大成功,矩阵分解(Matrix Factorization,MF)是解决数据稀疏问题应用较广的推荐算法。给定具有稀疏反馈的用户项目交互矩阵,基于潜在因子的模型假设每个用户和项目都可以嵌入一个潜在空间中,然后通过降维的方法将用户评分矩阵分解为用户特征矩阵和项目特征矩阵,以此获得用户和项目的潜在关系。为了提升推荐性能,文献[3]将非对称用户相似性方法融入矩阵模型,获得提升推荐准确率效果。文献[4]将项目属性耦合关系作为隐含信息融入矩阵模型,推荐效果也获得了提升。矩阵分解方法易于扩展,如果在矩阵分解的基础上融合用户社交关系和用户-项目历史信息不仅能缓解数据稀疏问题,而且能进一步提高推荐准确率。
2 相关工作
随着社交网络平台的普及,基于社交网络的推荐已经成为提升推荐算法性能的一个有前景的研究方向[5]。用户在社交网络中的关系能够反映出用户之间的兴趣爱好在一定程度上是相似的,相互联系较为紧密的人群具有相似的兴趣爱好的可能性越大[6]。孟祥武等人[7]在比较社会化推荐关键技术后认为融合社交关系是社会化推荐的难点之一。有研究人员提出利用用户社交关系或用户之间的信任关系构建社会化推荐模型[8-9]。文献[10]提出使用信任机制改进协同过滤算法,用以提高推荐系统性能。文献[11]构建了基于用户朋友关系的社交网络项目推荐模型,用于预测社交网络中用户喜欢的项目,文献[6]提出融合用户信任度和用户项目二部图的模型用来预测用户对项目的评分。
卷积神经网络(Convolutional Neural Network,CNN)已经应用在很多不同的领域,比如图像[12]、文本[13]等。Kipf 等人[14]将卷积神经网络推广到具有不规则结构的图上,称其为图卷积神经网络(Graph Convolutional Networks,GCN),其核心思想是以消息传递或信息扩散的方式学习用户或项目的潜在嵌入表示。Van den Berg 等人[15]研究GCN 的扩展应用,通过学习从节点的本地邻居采样和聚合特性来生成嵌入,提出通过在用户-项目交互图上传递消息来学习用户和项目的潜在嵌入的Grap-SAGE模型。有研究人员结合高效的随机游走和图卷积策略开发了PinSage[16],用于生成包含图结构和节点特征信息的节点嵌入。这些将GCNs 应用于推荐系统的尝试,证明了图卷积神经网络可以用来学习用户或项目的潜在嵌入表示。
3 SGCN-MF算法原理
3.1 社交网络用户潜在因子计算
图卷积神经网络可以用来处理知识图谱、社交网络、蛋白质交互网络等具有不规则空间结构的图或图网络。其基本思想是以图的消息传递或信息扩散方式生成节点。具体来说,每个节点通过聚合来自邻居的消息得到节点的嵌入表示,以此类推,邻居的消息来自各自邻居的邻居。利用这种消息传递机制,能将图中节点的特征信息和其结构信息聚合,即把一个节点在图中的高维邻接信息降维到低维的向量表示,可以捕捉到图的全局信息,从而更好地表示节点特征。使用图卷积神经网络可以将节点特征信息和图的结构信息聚合,输入用户社交网络结构图和用户-项目历史交互信息,以生成包含社交网络结构信息和用户特征的节点潜在嵌入表示。图卷积神经网络传播过程如图1所示,每一层的传播公式如(1)所示:
图1 图卷积神经网络传播过程
3.2 矩阵分解
矩阵因子分解算法的基本思想是认为用户和项目都有自己的特征,用户兴趣受少数因素的影响,将稀疏且高维的用户项目评分矩阵分解为用户和项目两个低维矩阵。矩阵分解假设用户对项目的评分是通过用户的特征和项目的特征共同决定的,其评分预测是由两个特征矩阵相乘得到。模型抽象为公式(2)所示:
其中,U ∈Rm×d代表用户特征矩阵,V ∈Rn×d代表项目的特征矩阵。d代表特征向量的维度,m是用户数目,n是项目的个数。模型的特征矩阵可以通过最小化目标函数获得。
公式(3)中Iij表示用户i对项目j是否有评分,若有评分则Iij值为1,否则为0。rij是预测评分,通过公式(4)计算得到,其中u是所有用户的平均值,bu和bv代表用户和项目的偏置。Ui和Vj的内积表示预测评分,(Rij-rij)2代表真实值和预测值的平方误差。λ是避免模型在参数学习过程中产生过拟合的正则项,α是学习率。
3.3 社交网络用户潜在因子和矩阵分解模型的融合
3.3.1 算法基本思想
矩阵分解的基本形式通过用户对项目的评分模式推导出描述用户和项目特征的向量因子,进而计算用户对项目评分的近似。它在求解过程中以全局角度来描述用户和项目的特征,忽略了用户的潜在信息可能对推荐结果带来的影响,用户的相似性是一种重要的潜在信息。
2013年11月1日,郑全意主动转岗到北京市昌平区食品药品稽查大队,担任食品分队队长,正式成为执法战线的一员。面相和蔼的郑全意,骨子里却有着一股韧劲和一腔热忱。深知万事开头难,他在入职前做了大量的“功课”—翻看资料、找前辈讨教。但还是没有想到,举报真的来临时,自己还面临着那么多的困难—没有车辆,没有制服,甚至没有一个比较完整的部门通讯录。
社交网络同质性理论表明具有相似特征的个体有选择彼此作为朋友的倾向,所谓“物以类聚,人以群分”[6]。考虑用户间的社交关系和用户自身兴趣特征,提出融合社交网络用户潜在因子和矩阵分解的推荐算法(即SGCN-MF算法)。
SGCN-MF算法认为相似用户在经过矩阵分解后的用户特征向量表示是近似的。如用户u1和u2相似,那么他们的特征向量也是相似的,使用余弦相似度来度量用户特征向量的相似程度。算法使用图卷积神经网络训练用户的社交关系网络和用户特征,得到用户节点的低维特征向量表示,使用相似度函数计算用户之间的相似性,并将用户潜在信息融入矩阵分解模型。使用文献[17]提出的引入用户数量nui和项目数量nvj来约束目标函数对用户或项目偏移的加权正则化方法改进目标函数,融合后的算法目标函数如下:
上述目标函数中的第一项来自于矩阵分解模型;第二项和第三项分别是防止项目和用户特征矩阵过拟合的正则项;第四项代表用户相似性潜在信息,其中NUi表示用户Ui相似的k个近邻用户集合。其中,sim(Ui,Uk)是相似度函数,其计算方法如公式(8)所示,采用余弦相似性函数,其中d是图卷积神经网络训练得到的用户特征向量维度。使用梯度下降法最小化目标函数来求解用户和项目的特征矩阵,令Si=Ui-sim(Ui-Uk)Uk,使用公式(9)、(10)来更新U 和V 。
3.3.2 算法步骤
SGCN-MF算法描述如下:
输入:用户社交网络图G=( )V,E ;用户-项目历史交互信息矩阵X ;用户项目评分矩阵R。
输出:目标用户u对项目i的预测评分值。
步骤1使用图卷积神经网络学习用户社交网络图G 和用户-项目历史交互矩阵X ,得到用户节点的低维向量空间的编码嵌入。
步骤2匹配用户-项目交互矩阵R 和社交网络图G 中的用户,并使用公式(8)计算社交网络中用户间的相似度。
步骤3选取社交网络中k个近似的用户融入矩阵分解模型。
步骤4使用梯度下降法求解矩阵分解模型分解后的用户和项目特征矩阵,利用公式(9)、(10)更新U 和V ,并计算项目的预测评分。
SGCN-MF的算法模型如图2所示。
图2 SGCN-MF算法模型图
4 实验结果及分析
4.1 数据集
本节主要对提出的SGCN-MF 算法进行验证与评估,使用Filmtrust、Ciao和Epinions数据集作为实验数据集。Filmtrust 是一个电影分享网站,Epinions 和Ciao 是产品评论网站,它们都允许用户对项目进行评论和评分,其评分为范围为1~5,并且包含了用户的社交网络信息。数据集的基本组成情况如表1所示。
4.2 实验环境
实验环境为Ubuntu 16.04系统;Python版本为3.6;tensorflow 版 本 为1.14;CPU 处 理 器 为Intel Core I7 8700K;显卡为RTX2080;内存大小为64 GB。
表1 数据集分析
4.3 评价指标
为验证推荐算法的质量,需使用各种评价指标来比较算法的推荐性能,不同评价指标反映的推荐算法性能不同。因此选用评分预测推荐系统中流行的平均绝对误差(MAE)和均方根误差(RSME)两个指标来评价本文的推荐算法性能。MAE和RSME是评分预测推荐系统评价指标中常用的度量方式,其公式如式(11)、(12)所示。使用5 折交叉验证的方法进行训练和测试。此外,将数据集随机分成80%和20%,用于训练和测试。
其中,T表示待测评分集合,Rij表示用户Ui对项目Vj的评分,rij则代表模型的预测评分。
图3 不同嵌入维度下的RSME、MAE值
4.4 实验结果及分析
实验首先使用传统MF 算法比较在矩阵分解过程中用户和项目的特征向量维度对实验结果的影响,选取了10~200维进行实验,实验结果如图3所示。
从图3中可以看出,在矩阵分解过程中用户和项目的特征向量维度为150 维的情况下其MAE 值和RMSE值较低,MF 算法能够得到较好的推荐效果。因此本文提出的SGCN-MF算法参数设置如下:用户和项目的特征向量维度设置为150 维,λ1=λ2设置为0.01,λ3设置为0.1,学习率α设置为0.01。
算法在融合用户社交网络过程中,待测用户相似的近邻个数也会对推荐效果产生不同影响。实验过程中控制用户特征向量维度为150 维,选取10~30 个不同的相似用户数目进行比较,观察其对推荐效果的影响。实验结果如图4、图5、图6所示。
图4 不同近邻数目在Filmtrust中对推荐的影响
图5 不同近邻数目在Ciao中对推荐的影响
图6 不同近邻数目在Epinions中对推荐的影响
图7 不同算法在Filmtrust、Ciao和Epinons数据集上对推荐的影响
从上述实验结果图中可以看出,相似用户的数目会对推荐的效果有影响。当相似用户的数目为25 时,SGCN-MF 算法在各数据集中的MAE 值和RSME 值均为最低。
最后为了验证算法与同类算法的性能比较,将其与已有算法如PMF 算法[18]、SocialMF 算法[9]和TrustMF[19]算法在Filmtrust、Ciao 和Epinions 数据集上进行性能的比较。从图7中可以看出SGCN-MF在推荐效果上优于其他几种算法。因此融合社交网络用户潜在因子来预测用户评分是有效的,在一定程度上能够提高推荐系统的准确性。
5 结束语
文章提出一种融合社交网络用户潜在因子和矩阵分解的社会化推荐算法,即SGCN-MF算法。与只利用用户项目评分信息的传统推荐算法相比,SGCN-MF算法在推荐过程中考虑了用户的社交关系和用户特征对推荐结果产生的影响,将用户社交网络和用户-项目历史信息融入矩阵分解模型。算法使用图卷积神经网络学习用户节点在低维向量空间的嵌入编码,然后计算相似用户的潜在信息,将其融入矩阵分解模型,增强了矩阵分解模型的推荐效果。在Filmtrust,Ciao和Epinions数据集上的实验结果验证了SGCN-MF算法的推荐性能。
此外,项目的潜在关系也是推荐系统的影响因素,在融合用户社交关系的基础上结合项目潜在关系进行推荐是下一步研究的重点。