徐玲玲 曲志坚 徐红博 曹小威 刘晓红
摘 要:为了改善推荐系统存在的稀疏性和冷启动问题,提出一种融合信任信息的欧氏嵌入推荐(TREE)算法。首先,利用欧氏嵌入模型将用户和项目嵌入到统一的低维空间中;其次,在用户相似度计算公式中引入项目参与度和用户共同评分因子以度量信任信息;最后,在欧氏嵌入模型中加入社交信任关系正则化项,利用不同偏好的信任用户约束用户的位置向量并生成推荐结果。实验将TREE算法与概率矩阵分解(PMF)、社会正则化(SoReg)模型、社交的矩阵分解(SocialMF)模型、社交信任集成模型(RSTE)四种算法进行对比,当维度为5和10时,在Filmtrust数据集上TREE算法的均方根误差(RMSE)比最优的RSTE算法分别降低了1.60%、5.03%,在Epinions数据集上TREE算法的RMSE比最优的社交矩阵分解模型(SocialMF)算法分别降低了1.12%、1.29%。实验结果表明,TREE算法能进一步缓解稀疏和冷启动问题,提高评分预测的准确性。
关键词:社会化推荐;欧氏嵌入;协同过滤;矩阵分解;信任信息
中图分类号:TP391
文献标志码:A
Abstract: To solve the sparse and cold start problems of recommendation system, a Trust Regularization Euclidean Embedding (TREE) algorithm by fusing trust information was proposed. Firstly, the Euclidean embedding model was employed to embed the user and project in the unified low-dimensional space. Secondly, to measure the trust information, both the project participation degree and user common scoring factor were brought into the user similarity calculation formula. Finally, a regularization term of social trust relationship was added to the Euclidean embedding model, and trust users with different preferences were used to constrain the location vectors of users and generate the recommendation results. In the experiments, the proposed TREE algorithm was compared with the Probabilistic Matrix Factorization (PMF), Social Regularization (SoReg),Social Matrix Factorization (SocialMF)and Recommend with Social Trust Ensemble (RSTE) algorithms. When dimensions are 5 and 10, TREE algorithm has the Root Mean Squared Error (RMSE) decreased by 1.60% and 5.03% respectively compared with the optimal algorithm RSTE on the dataset Filmtrust.While on the dataset Epinions, the RMSE of TREE algorithm was respectively 1.12% and 1.29% lower than that of the optimal algorithm SocialMF. Experimental results show that TREE algorithm further alleviate the sparse and cold start problems and improves the accuracy of scoring prediction.Key words: social recommendation; Euclidean embedding; collaborative filtering; matrix factorization; trust information
0 引言
隨着互联网和信息技术的飞速发展,信息呈现指数式增长,用户面临着信息超载问题。为了帮助用户更好地发现所需信息,推荐系统[1]应运而生。协同过滤技术作为推荐系统的重要组成部分,受到学术界和工业界越来越多的关注。协同过滤技术又可以分为基于记忆和基于模型的两种推荐方法。基于记忆的推荐方法[2]主要通过利用用户项目评分矩阵,根据相似用户或相似项目,对用户进行推荐;而基于模型的推荐方法[3-4]主要利用机器学习等方法训练模型。在基于模型的协同过滤推荐方法中,矩阵分解技术因其具有较好的可扩展性和正确率,在推荐系统中扮演着重要角色。
矩阵分解技术的实质是在低维空间上通过潜在因子来表示用户和项目,将较大的用户项目评分矩阵分解为两个低维潜在特征矩阵的点积,常用的方法包括概率矩阵分解(Probabilistic Matrix Factorization, PMF)[3]、改进的奇异值分解(Singular Value Decomposition enhancement,SVD++)模型[5]等。但是,矩阵分解技术仅能获得用户和项目的潜在特征,对于推荐结果的可解释性较差。作为矩阵分解技术的一种替代形式,Khoshneshin等[6]提出了欧氏嵌入(Euclidean Embedding, EE)模型,该模型采用欧氏距离代替矩阵分解中的点积,将用户和项目嵌入到统一的欧氏空间中,用距离来衡量用户偏好。由于距离的大小和用户偏好的程度成反比,用户更喜欢离其最近的项目,因此可以通过距离搜索到用户最感兴趣的K个项目,从而达到快速推荐的目的。在此基础上,Yin等[7]提出了加入时间的欧氏嵌入(Temporal EE, TEE)模型,该模型通过在EE模型中加入时间因子,捕捉用户评分行为的动态性。
与传统推荐算法一样,EE模型和TEE模型均易遭受数据稀疏性和冷启动问题。为改善这些问题,信任信息作为一种辅助信息被引入到推荐系统当中。这里的信任信息指的是在用户间的交互过程中,一个用户对另一个用户产生的依赖和预期,在一定程度上反映了用户的偏好[8]。例如,在Filmtrust数据集中,用户会根据对电影的相似喜好,用1标注本身的信任用户,从而建立信任关系。基于矩阵分解的社交推荐模型[8]表明,信任信息的引入可以改善传统推荐系统的局限性,原因在于存在信任关系的用户之间具有相似的偏好并互相影响,能够有效地补充稀疏的用户项目评分信息。Ma等[9]提出的社交信任集成(Recommend with Social Trust Ensemble, RSTE)模型,通过线性组合用户自身的偏好和朋友的偏好影响来进行评分预测。Jamali等[10]提出的社交矩阵分解(Social Matrix Factorization, SocialMF)模型,通过考虑用户和朋友之间应该具有相似的偏好,并加入信任传播来约束用户的潜在特征矩阵。陈婷等[11]提出基于概率矩阵分解的信任模型(Trust-PMF),高效融合了相似关系和信任关系。李卫疆等[12]利用信任传播属性填充信任矩阵,从而实现了用户评分矩阵和信任矩阵结合。吴宾等[13]提出的联合正则化矩阵分解推荐模型结合了物品间的关联关系和社会关系。余永红等[14]考虑到朋友在不同领域内对用户影响不同这一行为,提出了一种融合用户地位信息的社交推荐算法。
虽然上述方法都取得了较好的推荐效果,但大部分社交推荐方法采用矩阵分解技术来融合信任信息,通过欧氏嵌入来融合信任信息的工作相对较少。Li等[15]提出了基于欧氏嵌入的社交推荐(Social Recommendation approach based on EE, SREE)模型,在EE模型中引入社交信息,本质是线性组合用户自身的偏好和朋友的偏好进行评分预测。但SREE忽视了不同信任用户偏好的多样性,这一多样性体现在信任用户的偏好可能有很大的差异性,一些信任用户的偏好可能与目标用户类似,而另一些信任用户的偏好可能与目标用户完全不同。
为了进一步缓解数据稀疏性和冷启动问题,考虑不同信任用户偏好的差异性,本文提出了一种融合信任信息的欧氏嵌入推荐(Trust Regularization EE, TREE)算法。本文算法通过引入项目参与度以及用户共同评分因子来改进用户评分相似度,并在欧氏嵌入模型的基础上加入社交信任正则化项进行约束,使得用户与其喜欢的项目和信任朋友间的空间距離较近,进而利用距离生成推荐结果,提高了推荐的准确性。
1 融合信任信息的欧氏嵌入推荐算法
在推荐系统中,假定有m个用户和n个项目,相应地用户集合为U={u1,u2,…,um},项目集合为I={i1,i2,…,in},则用户项目评分矩阵为Rm×n。另外,在社交网络中,存在由信任度表示的社交关系矩阵Sm×m。通过给定的用户项目评分矩阵R和用户间的社交关系矩阵S,社交推荐的目的是融合这两种数据源,依据已知信息,预测用户u对未观测项目i的评分ru,i。
1.1 度量信任度
由于推荐系统数据集中的信任信息为二值信息,1表示信任,0表示不信任。在社交关系矩阵S中无法细化地区分用户间的信任信息,导致所有信任用户对目标用户的影响权重都相同,忽略了信任用户的不同偏好,影响了推荐的准确度。因此,首先需要对用户间的信任关系进行量化。
通过利用用户之间的评分相似度来对信任度进行度量,并在用户评分相似度的基础上引入项目参与度以及用户共同评分因子进行改进。传统的用户评分相似度采用皮尔逊相关系数,公式如下:
其中: ru,i和rv,i分别为用户u和用户v对项目i的评分;u和v分别表示用户u和用户v对项目的平均评分;I(u)∩I(v)表示用户u和用户v共同评分的项目集合。
传统的评分相似度公式仅侧重于用户的平均打分习惯带来的偏差问题,没有考虑不同项目的评分数量对相似度的影响。针对这一问题,引入项目参与度来衡量相似度。从项目评分数量的角度将项目分为热门项目和冷门项目,热门项目为得到用户大量评分的项目,冷门项目为得到用户较少评分的项目。由于大多数用户对热门项目都有评分,因此热度越高的项目的评分对度量用户兴趣相似度的作用越小。在衡量用户相似度时,需要引入项目参与度,区别热门项目和冷门项目的影响,公式如下:
其中:C(i)表示对项目i的评分数量。当C(i)的值较大时,项目i为热门项目,用户u和用户v同时对项目i进行评分时,项目参与度ide(i)较小;而当C(j)的值较小时,项目j为冷门项目,用户u和用户v同时对项目j进行评分时,项目参与度ide(j)则较大。因此,本文加入项目参与度后的相似度公式为:
其中:ide(i)为式(2)所表示的项目i的参与度。
另外,传统的评分相似度还存在另一问题:当用户共同评分的项目数量很少时,通过式(1)计算的相似度会非常高[18]。因此引入用户共同评分因子改进这一问题带来的影响,用户共同评分因子的计算公式如(4)所示。
其中:Iu和Iv分别为用户u和用户v的评分项目集合;Iu∩Iv为两个用户共同评分的项目数量;max(Iu,Iv)为两个用户评分最多的项目数量。
因此,最终的信任度计算公式如下所示:
其中:weight(u,v)∈[0,1]为用户共同评分因子;Sim*(u,v)为利用式(3)计算得到的用户相似度。如式(5)所示,该信任度的度量方法融合了较多用户信息,能够较为准确地捕捉用户间的社交信任关系,衡量信任用户的不同偏好。
1.2 TREE模型
欧氏嵌入模型本质上是基于用户的评分信息,在统一的欧氏空间中找到用户和项目的位置。为了缓解数据稀疏性和冷启动问题,TREE模型在欧氏嵌入模型中引入了社交信任信息,目的是使每个用户在空间中不仅和所喜欢的项目的距离较近,还与偏好相似的信任用户的距离较近。
为了达到这一目标,合理地调整用户位置向量和项目位置向量。首先,随机初始化两个k秩矩阵分别表示用户位置矩阵和项目位置矩阵,基于欧氏嵌入模型得到用户与项目间的欧氏距离;同时,度量用户信任信息,将皮尔逊相关系数、项目参与度和用户共同评分因子结合来度量用户间的信任度,填充用户社交关系矩阵;再者,考虑到不同信任用户的偏好多样性,在社交信任正则化项里区别对待不同偏好的信任用户,使得用户评分信息和社交信任信息共同决定用户和项目的位置。其主要优点体现在当用户对项目的评分较少时,可通过社交信任信息找到用户的合适位置。因此,TREE目标函数为:
在社交关系矩阵S中,存储的仅为用户间直接的信任信息,实际上用户间还存在间接信任关系。为了引入用户间接的信任信息,TREE模型也考虑到用户间的信任传播,这一点与社会正则化模型(Social Regularization, SoReg)[16]相似。例如用户u信任用户k,用户k信任用户v,虽然用户u和用户v不存在直接的信任关系,但通过最小化式(7)和式(8),也能间接地使用户u的位置向量xu靠近用户v的位置向量xv,从而寻求更优的xu本文采用随机梯度下降法对式(6)的目标函数进行寻优,定义学习率为η,则更新规则为:
表示真实值与预测值之间的误差;N-(u)表示信任用户u的用户集合;由更新规则得到最终的用户位置向量xu和项目位置向量yi,代入u,i= μ+bu+bi-(xu-yi)(xu-yi)T可获得预测评分,进而推荐给用户评分最高的前K个项目,并且这些项目距离用户较近。
TREE算法的具体描述如算法1所示。
算法1 TREE算法。
输入 用户项目评分矩阵R,社交关系矩阵S,用户和项目位置向量的维度d,学习率η,迭代次数Iter。
输出 用户对未观测项目的评分。
步骤1 随机初始化两个k秩的用户和项目位置矩阵Xu和Yi、偏置项bu和bi。
步骤2 通过式(1)~(5)计算最终的用户信任度,即结合式(1)的皮尔逊相关系数、式(2)的项目参与度和式(4)的用户共同评分因子,从而量化用户间的社交关系。
步骤3 采用随机梯度下降法寻优目标函数,即式(6)。由式(9)~(12)在迭代次数Iter范围内分别更新偏置项bu和bi、用户位置向量xu、项目位置向量yi。
步骤4 使用步骤3最终更新后的bu、bi、xu、 yi,通过u,i= μ+bu+bi-(xu-yi)(xu-yi)T计算预测评分。
2 实验与结果分析
2.1 数据集信息及评价标准
本文实验采用Filmtrust和Epinions两个数据集进行验证,数据集的评分信息和信任信息如表1所示。
本文所有实验采用5折交叉验证,预测结果取5次的平均值。由于本文重点在于评分预测问题,因此采用平均绝对误差(Mean Absolute Error, MAE)和均方根误差(Root Mean Squared Error, RMSE)评价标准来衡量算法的预测准确度,并与其他算法进行比较。MAE和RMSE的计算公式如下:
其中:ru,i表示用户u对项目i的实际评分;u,i表示用户u对项目i的预测评分;T表示测试集中数据的数量。MAE和RMSE越小,表示预测效果越好。
2.2 对比算法及参数选择
为了验证本文模型的推荐准确度,选取与PMF[6]、SoReg[16]、SocialMF[10]、RSTE[9]四种模型进行对比,方法参照文献[17]的参数设置,最佳参数为:
1)PMF。在Filmtrust数据集上,λ=0.1;在Epinions数据集上,λ=0.01。
2)SoReg。在两种数据集上,λ=0.001, β=0.1。
3)SocialMF。 在Filmtrust数据集上,λ=0.001,λt=1;
在Epinions数据集上,λ=0.001,λt=5。
4)RSTE。在 Filmtrust数据集上,λ=0.001,α=1;
在Epinions数据集上,λ=0.001,α=0.4。
另外,TREE模型在两数据集上的最佳参数通过实验可得λ=0.001,γ=0.01。关于信任权重γ的选取在2.5节给出了实验说明。
2.3 算法间性能比较
为了探究算法对于冷启动问题的影响,在测试集中选取训练集中评分数量少于5的用户作为冷启动用户。选取维度d为5或者10,5種算法分别在全体用户和冷启动用户进行测试。
从表2易知:
1)在Filmtrust数据集上,维度为5时,TREE模型相对于PMF、SoReg、SocialMF、RSTE在RMSE上分别降低了16.02%、9.23%、4.78%、1.60%;维度为10时,分别降低了18.08%、9.37%、6.04%、5.03%。可见,TREE在Filmtrust数据集上的有效性。
相对于Filmtrust数据集,模型在Epinions数据集上的预测结果整体下降,原因在于该数据集较稀疏,易遭受过拟合问题。在Epinions数据集上,维度为5时,TREE模型相对于PMF、SoReg、SocialMF、RSTE在RMSE上分别降低了17.98%、18.87%、1.12%、11.54%;维度为10时,分别降低了10.78%、9.64%、1.29%、16.43%。
2)在全体用户上,SoReg、SocialMF以及RSTE算法在评分预测方面明显优于PMF算法,可见信任信息的引入对于推荐的准确度有一定的提升。同时,TREE模型优于SoReg算法,表明本文在欧氏嵌入模型上加入社交正则化项一定程度上优于在传统矩阵分解的基础上加入的社交正则化项算法。
[7] YIN L, WANG Y, YU Y. Collaborative filtering via temporal Euclidean embedding[C]// Proceedings of the 2012 Asia-Pacific Web Conference, LNCS 7235. Berlin: Springer, 2012: 513-520.
[8] 劉华锋, 景丽萍, 于剑. 融合社交信息的矩阵分解推荐方法研究综述[J]. 软件学报, 2018, 29(2): 340-362. (LIU H F, JING L P, YU J. Survey of matrix factorization based recommendation methods by integrating social information[J]. Journal of Software, 2018, 29(2): 340-362.)
[9] MA H, KING I, LYU M R. Learning to recommend with social trust ensemble[C]// Proceedings of the 32nd International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 2009: 203-210.
[10] JAMALI M, ESTER M. A matrix factorization technique with trust propagation for recommendation in social networks[C]// Proceedings of the 4th ACM Conference on Recommender Systems. New York: ACM, 2010: 135-142.
[11] 陈婷, 朱青, 周梦溪, 等. 社交网络环境下基于信任的推荐算法[J]. 软件学报, 2017, 28(3): 721-731. (CHEN T, ZHU Q, ZHOU M X, et al. Trust-based recommendation algorithm in social network[J]. Journal of Software, 2017, 28(3): 721-731.)
[12] 李卫疆, 齐静, 余正涛, 等. 融合信任传播和奇异值分解的社会化推荐算法[J]. 计算机工程, 2017, 43(8): 236-242. (LI W J, QI J, YU Z T, et al. Social recommendation algorithm integrating trust propagation and singular value decomposition[J]. Computer Engineering, 2017, 43(8): 236-242.)
[13] 吴宾, 娄铮铮, 叶阳东. 联合正则化的矩阵分解推荐算法[J]. 软件学报, 2018, 29(9): 2681-2696. (WU B, LOU Z Z, YE Y D. Co-regularized matrix factorization recommendation algorithm[J]. Journal of Software, 2018, 29(9): 2681-2696.)
[14] 余永红, 高阳, 王皓, 等. 融合用户社会地位和矩阵分解的推荐算法[J]. 计算机研究与发展, 2018, 55(1): 113-124. (YU Y H, GAO Y, WANG H, et al. Integrating user social status and matrix factorization for item recommendation[J]. Journal of Computer Research and Development, 2018, 55(1): 113-124.)
[15] LI W, GAO M, RONG W, et al. Social recommendation using Euclidean embedding[C]// Proceedings of the 2017 International Joint Conference on Neural Networks. Piscataway: IEEE, 2017: 589-595.
[16] MA H, ZHOU D, LIU C, et al. Recommender systems with social regularization[C]// Proceedings of the 4th ACM International Conference on Web Search and Data Mining. New York: ACM, 2011: 287-296.
[17] GUO G, ZHANG J, YORKE-SMITH N. A novel recommendation model regularized with user trust and item ratings[J]. IEEE Transactions on Knowledge and Data Engineering, 2016, 28(7): 1607-1620.
[18] 肖文强, 姚世军, 吴善明. 一种改进的top-N协同过滤推荐算法[J]. 计算机应用研究, 2018, 35(1): 105-108, 112. (XIAO W Q, YAO S J, WU S M. Improved top-N collaborative filtering recommendation algorithm[J]. Application Research of Computers, 2018, 35(1): 105-108, 112.)