针对传统的社会化推荐准确率不高问题,在综合考虑社交网络子图拓扑、用户信任和用户评分相似性等社交网络用户相似度影响因素的基础上,提出了一种融合社交网络用户相似度的社会化推荐算法SRSUS。算法以传统矩阵分解为框架,首先使用图卷积神经网络对用户社交网络进行学习得到包含社交网络子图拓扑结构和连接关系的用户潜在特征,然后利用社交关系计算用户社会信任度,接着利用评分数据计算用户评分相似性,最后综合使用用户潜在特征、用户信任度和用户评分相似性计算社交网络用户相似度并将其融入用户评分矩阵分解中,以此预测用户对预测项目的评分值。Filmtrust、Ciao和Epinions等公开数据集上的实验结果表明:本文算法普遍优于其他的社会化推荐算法。 In view of the low accuracy of traditional social recommendation, a social recommendation algorithm SRSUS integrating social network user similarity was proposed based on the comprehensive consideration of social network user similarity factors, such as subgraph topology, user trust and user rating similarity. The algorithm takes traditional matrix decomposition as the framework. Firstly, the graph convolutional neural network is used to learn the user’s social network to obtain the user’s potential characteristics including the topology structure and connection relations of the social network subgraph. Then social relation is used to calculate user’s social trust and score data is used to calculate the user rating similarity. Finally, user potential characteristics, user trust and user rating similarity are comprehensively used to calculate social network user similarity and then integrate it into user rating matrix decomposition. In this way, the user's rating of the predicted item can be predicted. Experimental results on Epinions, Filmtrust, Ciao and other public data sets show that this algorithm is generally superior to other social recommendation algorithms.
针对传统的社会化推荐准确率不高问题,在综合考虑社交网络子图拓扑、用户信任和用户评分相似性等社交网络用户相似度影响因素的基础上,提出了一种融合社交网络用户相似度的社会化推荐算法SRSUS。算法以传统矩阵分解为框架,首先使用图卷积神经网络对用户社交网络进行学习得到包含社交网络子图拓扑结构和连接关系的用户潜在特征,然后利用社交关系计算用户社会信任度,接着利用评分数据计算用户评分相似性,最后综合使用用户潜在特征、用户信任度和用户评分相似性计算社交网络用户相似度并将其融入用户评分矩阵分解中,以此预测用户对预测项目的评分值。Filmtrust、Ciao和Epinions等公开数据集上的实验结果表明:本文算法普遍优于其他的社会化推荐算法。
社会化推荐,社交网络用户相似度,矩阵分解,图卷积神经网络
Zhibin Deng1, Pinghua Chen1, Jianbin Xiong2
1School of Computer, Guangdong University of Technology, Guangzhou Guangdong
2School of Automation, Polytechnic Normal University, Guangzhou Guangdong
Received: Dec. 11th, 2020; accepted: Jan. 5th, 2021; published: Jan. 12th, 2021
In view of the low accuracy of traditional social recommendation, a social recommendation algorithm SRSUS integrating social network user similarity was proposed based on the comprehensive consideration of social network user similarity factors, such as subgraph topology, user trust and user rating similarity. The algorithm takes traditional matrix decomposition as the framework. Firstly, the graph convolutional neural network is used to learn the user’s social network to obtain the user’s potential characteristics including the topology structure and connection relations of the social network subgraph. Then social relation is used to calculate user’s social trust and score data is used to calculate the user rating similarity. Finally, user potential characteristics, user trust and user rating similarity are comprehensively used to calculate social network user similarity and then integrate it into user rating matrix decomposition. In this way, the user's rating of the predicted item can be predicted. Experimental results on Epinions, Filmtrust, Ciao and other public data sets show that this algorithm is generally superior to other social recommendation algorithms.
Keywords:Social Recommendation, Social Network Users Similarity, Matrix Factorization, Graph Convolutional Neural Network
Copyright © 2021 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
近年来,尽管推荐算法 [
为解决上述存在的问题,本文提出了一种融合社交网络用户相似度的社会化算法SRSUS (Social Recommendation with Social network User Similarity),即融合用户的评分信息和用户间社交网络信息,对传统的矩阵分解技术进行优化。首先使用图卷积神经网络学习得到具有用户社交关系和兴趣特征的用户节点在低维向量空间的潜在特征,然后利用社会信任网络、用户评分矩阵和用户潜在特征来计算用户间相似度,最后将相似用户的信息融入矩阵分解模型中,以预测用户对项目的评分。在Epinions、Filmtrust和Ciao三个公开数据集上实验分析表明:本文算法的推荐性能要优于以往基于社交网络的推荐模型,有效缓解了数据稀疏性对推荐结果的影响。
随着社交网络的快速发展,基于社交网络的推荐算法已然成为了推荐领域中一个有前景的研究热点。基于矩阵分解的推荐算法因其不受数据稀疏的影响、灵活性高且推荐性能好等特点,成为许多研究者在其基础上融入社交信息的推荐模型的重要原因。Yang等人 [
上述提到的基于社交网络的推荐模型已被证明能够有效的提升传统推荐模型的性能,但仍然存在着一些缺陷。近年来,深度学习技术在推荐系统中取得巨大成功 [
在现实中,每个用户不仅会受到自己朋友的影响,还会受到朋友的朋友的影响。因此,我们需要挖掘这种社交网络的隐性关系信息 [
图1. 图卷积神经网络传播过程
隐藏层中每一层都会使用(1)式的传播规则将信息聚合起来,从而形成下一层的特征:
H ( l + 1 ) = f ( H ( l ) , A ) = σ ( D ˜ − 1 2 A ˜ D ˜ − 1 2 H ( l ) W ( l ) ) (1)
其中 σ ( • ) 是激活函数, A ˜ = A + I N 是具有自连接的邻接矩阵, I N 是单位矩阵。 D ˜ 是 A ˜ 的对角节点度矩阵, D ˜ − 1 2 A ˜ D ˜ − 1 2 是对 A ˜ 进行对称归一化,防止发生梯度消失或爆炸。 H ( l ) 是第l层的输出, H ( 0 ) = X 为用户特征矩阵。 W ( l ) 是第l层的权重矩阵,模型训练前随机初始化参数,随着训练不断更新。
经过(1)式训练得到一个 n × d 的用户特征矩阵,每一行向量代表的就是每一个用户,因此可以采用余弦相似性函数计算用户 U i 和 U j 的相似度,如(2)式所示:
s i m s o c i a l ( U i , U j ) = ∑ d = 1 d U i d × U j d ∑ d = 1 d ( U i d ) 2 ∑ d = 1 d ( U j d ) 2 (2)
U i d 、 U j d 为用户 U i 、 U j 的第d维向量值。
随着社交网络的不断发展,研究人员开始将用户间的社交关系融入到推荐算法中以提高推荐的准确率 [
在关系图 G = { U , E , W } 中,U为用户的集合,E为边的集合,W为边的权重。若用户u和用户v具有社交关系,则节点u与节点v间可以连成边 E u , v 。同时,若用户u和用户v对同一个项目进行了评分,则其边 E u , v 的权重 W u , v 就增加1,遍历完其他所有的项目求出最后的边权重 W u , v 。根据此网络图,直接信任度 T ( u , v ) 可由公式(3)获得:
T ( u , v ) = W u , v f ( U u , U v ) (3)
其中 W u , v 为用户u到用户v的边权重, f ( U u , U v ) 为用户u和用户v共同评分项目的并集。例如用户A和用户B对同样的10个项目进行了评分且他们评分的项目并集数为100,那么用户A和用户B之间的直接信任度为 T ( u , v ) = 10 / 100 = 0.1 。
假设用户u和用户v之间存在至少一条路径,那么路径的集合可以表示为 P a t h ( u , v ) = { p 1 ( u , v ) , p 2 ( u , v ) , ⋯ , p n ( u , v ) } ,则每条路径为 p i ( u i , v i ) = ( u i , a i 1 , a i 2 , ⋯ , v i ) 。每条路径信任值随路径长度d的增加而减少,且 d ∈ [ 1 , 3 ] 。计算方式如公式(4)所示:
T r u s t p i ( u i , v i ) = ( T ( u i , a i 1 ) + T ( a i 1 , a i 2 ) + ⋯ + T ( a i j , v i ) ) × e − ( d − 1 ) (4)
最终得到的用户u和用户v之间的信任度通过式(5)取平均值的方式计算得出:
T r u s t ( u , v ) = ∑ i ∈ n T r u s t p i ( u i , v i ) n (5)
其中n表示用户u可以到达用户v的路径总数。
用户的行为数据可以反映出用户的兴趣偏好,即从物品方面来对用户进行归类。基于用户的协同过滤算法正是利用了这一点。根据用户对物品的历史行为信息即评分数据来计算用户间相似度,然后将最相似用户的偏好物品作为推荐。用户对物品的行为数据可以有很多种类,本文使用最常见的评分信息作为用户向量化表示的依据。
假设推荐系统中包含m个用户 U = ( U 1 , U 2 , ⋯ , U m ) 和n个物品 V = ( V 1 , V 2 , ⋯ , V n ) ,那么用户对物品的评分信息可以表示为一个 m × n 的矩阵 R m × n :
R m × n = ( R 11 … R 1 n ⋮ ⋱ ⋮ R m 1 ⋯ R m n )
那么我们可以将用户 U i 表示为一个n维的向量,其在每一维上的值为对应用户对物品的评分值: U i = ( R i 1 , R i 2 , ⋯ , R i n ) 。我们采用余弦相似度公式得到用户评分相似度,公式如下式(6):
s i m s c o r e ( U i , U j ) = ∑ k = 1 n R i k × R j k ∑ k = 1 n R i k 2 × ∑ k = 1 n R j k 2 (6)
该式的计算结果越大,说明用户 U i 和用户 U j 的相似度越大,当这个值为1时,我们认为这两个用户是相同的;当这个值为0时,代表这两个用户完全不同。特别地,当用户u未对物品i进行评分时,认为其 R u i 的值为0。
在现实生活中,总会存在相似的人或物,即“物以类聚,人以群分”。由于一些传统的社交推荐模型只对用户的直接邻居计算相似度来改进评分预测,且忽略了用户间存在的信任关系,因此考虑利用用户间的社交关系、信任关系和评分相似性即用户的兴趣偏好来计算用户间的相似度并融入矩阵分解方法中,提出了一个全新的推荐模型,其最小化目标函数为:
L = 1 2 ∑ i = 1 m ∑ j = 1 n I i j ( R i j − U i V j T ) 2 + λ 1 2 ‖ U ‖ F 2 + λ 2 2 ‖ V ‖ F 2 λ 3 2 ∑ i = 1 m ∑ U j ∈ F ( i ) s i m ( U i , U j ) ‖ U i − U j ‖ 2 (7)
上述目标函数的第一项是矩阵分解模型,其中 I i j 表示用户i对项目j是否有评分,若有评分则为1, R i j 为真实评分, U i V j T 为预测评分;第二和第三项是用户和项目特征向量的正则化项以防止过拟合的产生;第四项表示相似用户之间的特征也应该相似,即使得相似度大的用户之间的特征向量相似性尽可能大。其中 F ( i ) 表示用户 U i 相似的k个近邻用户集合,用户间的相似度 s i m ( U i , U j ) 定义如下(8)式所示:
s i m ( U i , U j ) = α s i m s o c i a l ( U i , U j ) + β T r u s t ( U i , U j ) + γ s i m s c o r e ( U i , U j ) (8)
其中融合因子 α , β , γ ∈ [ 0 , 1 ] 为控制用户相似度的权重参数,且 α + β + γ = 1 。
本文通过梯度下降法最小化目标函数(7)式可以计算出用户和项目的特征矩阵,令 Z i = s i m ( U i , U j ) ‖ U i − U j ‖ , U i 和 V j 的求解如下式(9) (10):
∂ L ∂ U i = ∑ i = 1 m I i j ( R i j − U i V j T ) V j + λ 1 U i + λ 3 ∑ i = 1 m Z i × Z ′ i (9)
∂ L ∂ V j = ∑ j = 1 n I i j ( R i j − U i V j T ) U i + λ 2 V j (10)
本文主要使用FilmTrust、Ciao和Epinions三个数据集进行实验,它们都包含有用户评分和用户社交关系信息。FilmTrust是一个电影资源网站,用户可以对各类电影进行评分,也可以和其他用户构建信任关系;Ciao和Epinions都是关于用户对物品进行打分和评论的网站,同时还可以添加对其他用户的信任。数据集的基本信息如下表1所示。
数据集 | 用户数 | 项目数 | 评分数 | 评分稀疏度 | 社交关系数 | 社交关系稀疏度 |
---|---|---|---|---|---|---|
FilmTrust | 1508 | 2071 | 40163 | 1.1415% | 1853 | 0.4391% |
Ciao | 7317 | 104,975 | 283,319 | 0.0368% | 111,781 | 0.2087% |
Epinions | 4929 | 139,738 | 664,824 | 0.0169% | 487,181 | 0.1096% |
表1. 数据集信息统计
为了验证推荐算法的性能,本文采用两种常用的评价指标:平均绝对误差(MAE)和均方根误差(RSME),其公式如(9) (10)所示。
MAE = ∑ ( i , j ) ∈ N | R i j − r i j | | N | (11)
RMSE = ∑ ( i , j ) ∈ N | R i j − r i j | | N | (12)
其中,N表示待测评分集合, R i j 表示用户 U i 对项目 V j 的真实评分, r i j 表示预测的评分。它们的值越小,推荐的精度越高。
在本文提出的模型中,参数 α , β , γ 会对推荐结果产生不同的影响。 α 用来控制社交网络相似度的比重; β 用来控制社交信任度的比重; γ 用来控制用户评分相似度的比重。因此,我们研究这些参数对FilmTrust、Ciao、Epinions数据集上SRSUS模型性能的影响。
图2. 参数 α 对RMSE、MAE值的影响
图2显示了 α 对我们模型中RMSE和MAE的影响。图2中, α 为0时表示用户相似度仅考虑社交信任度和用户评分相似度, α 为1时表示用户相似度仅考虑社交网络相似度。由图2可见,当 α 为0.8时MAE和RMSE的值最小。经过后续实验得知,当 α = 0.8 , β = 0.1 , γ = 0.1 时模型效果最佳。因此本文提出的算法参数设置如下:用户特征向量维度设置为10维, α , β , γ 设置为0.8,0.1,0.1, λ 1 , λ 2 , λ 3 设置为0.01。
算法在融合用户社交网络中,用户相似近邻数目k也会对推荐性能产生不同程度的影响。因此本文还针对不同的个数k对SRSUS算法进行了实验。结果如图3所示。
图3. 不同近邻用户数目对RMSE、MAE值的影响
从上面的结果图中可以看出,不同的相似用户数目会对推荐效果产生不同的影响。当相似用户的数目为20时,算法在上述三个数据集中的MAE值和RMSE值均为最低。
最后,为了充分证明SRSUS算法的有效性,我们选取了推荐系统领域中经典的矩阵分解相关模型进行对比,如概率矩阵分解的社会化推荐算法SoRec [
从表2中可以看出SRSUS算法在推荐效果上优于其他几种算法。这是因为SRSUS不仅考虑了用户的评分偏好,而且还考虑了融合用户间信任度和用户社交网络潜在特征。充分说明了使用用户评分、用户潜在特征、用户社会信任关系三部分信息计算用户间的相似度有利于提高评分预测的准确性。
数据集 | 评价指标 | SoRec | RSTE | SoReg | SGCNMF | SoRegIM | SRSUS |
---|---|---|---|---|---|---|---|
FilmTrust | MAE RMSE | 0.6690 0.8610 | 0.6748 0.8430 | 0.6573 0.8593 | 0.6480 0.8377 | 0.6416 0.8259 | 0.6270 0.8209 |
Epinions | MAE RMSE | 0.9812 1.1473 | 0.9441 1.1877 | 0.9745 1.1360 | 0.8658 1.0792 | 0.9372 1.1303 | 0.8506 1.0653 |
Ciao | MAE RMSE | 0.7836 1.0155 | 0.8143 1.0526 | 0.7745 1.0193 | 0.7489 1.0034 | 0.7516 0.9849 | 0.7415 0.9802 |
表2. 不同算法的性能对比
随着社交网络技术的快速发展,用户规模不断扩大,融合社交信息的推荐模型在推荐系统性能上有很大的提升。本文在现有社会化推荐系统的基础上,提出了一种融合用户潜在特征的社会化推荐算法。该算法在计算相似度时,不仅利用了用户对项目的评分偏好,还考虑了用户社交特征和社会信任关系。本文将这三者融入矩阵分解模型中,提升了模型的推荐性能。除了用户的潜在关系之外,项目的潜在关系也会对推荐系统的性能造成影响,因此该算法仍有提升的空间。未来会在本算法基础上研究如何利用知识图谱来约束项目潜在特征等多个方面加以改进。
广东省科技计划项目(2020B1010010010, 2019B101001021);广东省自然科学基金项目(2019A1515010700)。
邓志彬,陈平华,熊建斌. 融合社交网络用户相似度的社会化推荐Social Recommendation with Social Network Users Similarity[J]. 计算机科学与应用, 2021, 11(01): 19-27. https://doi.org/10.12677/CSA.2021.111003