基于加权相似度显隐式反馈的协同过滤算法

2019-07-17 02:28刘宏张时斌韩亚波关业欢
价值工程 2019年13期
关键词:相似度

刘宏 张时斌 韩亚波 关业欢

摘要:针对传统的协同过滤算法没有考虑到不同用户之间相似度的差异以及用户对项目的评分时间等因素的影响,提出了一种基于加权相似度显隐式反馈的协同过滤算法:先获取用户的显式和隐式反馈评分信息以及用户-项目的评分时间信息。再对评分信息进行基于时间的加权处理,并对传统的相似度计算方法进行修改,引入相关度因子。最终根据预测公式获得用户的推荐结果。实验仿真表明算法在平均绝对误差和精确率两个指标上有了一定的提高,并在一定程度上提高了推荐算法的准确性。

Abstract: Aiming at the traditional collaborative filtering algorithms that not considering the differences similarity among different users and user's scoring time for the project, a collaborative filtering algorithm based on implicit feedback with weighted similarity is proposed. First, the user's explicit and implicit feedback rating information and user-item rating time information are obtained. Second, the time-based weighting of the score information is performed, and the traditional similarity calculation method is modified to introduce a correlation factor. Finally, according to the prediction formula, the user's recommendation result is obtained. Experimental simulations show that the algorithm has some improvements in the three indicators such as average absolute error and precision, and it improves the accuracy of the proposed algorithm to some extent.

關键词:协同过滤算法;相似度;时间权值;相关度因子;显隐式反馈

Key words: collaborative filtering;similarity;time factor;correlation factor;explicit and implicit ratings

中图分类号:TP393                                      文献标识码:A                                  文章编号:1006-4311(2019)13-0167-03

0  引言

随着信息技术的发展,人们面对的数据量开始以指数级的速度进行增长,造成信息过载的问题日益明显[1]。如何在短时间内快速的寻找到用户需要的信息成为了热门课题,由此各种推荐技术孕育而生,其中协同过滤算法[2]以其出色的性能和良好的适应性,成为信息过滤系统中最受欢迎的技术之一。

不同于传统的基于内容的推荐[3],协同过滤算法的特点是首先发现目标用户的行为偏好,再通过预测公式计算出的候选用户群,最后再与目标用户进行匹配,找到最符合的信息进行推荐的一种算法[4,5]。传统的协同过滤算法存在推荐精度不高、数据稀疏、冷启动等问题,为解决这些问题,众多学者从各种研究角度出发,提出了如下解决方案:文献[6]提出了一种基于标签优化的协同过滤推荐算法,当对目标项目评分的近邻数量极小甚至没有时,通过增加扩展近邻集,达到提高相似性和推荐结果的目的;文献[7]提出了基于社交信任机制的协调过滤算法,通过对日志数据的学习并结合主动和被动评分方式,得到用户的评分矩阵。利用用户的关注和评论两种偏好行为,得到新的相似度模型,最终改进协同过滤算法的性能。

以上的研究在一定程度上改善了协同过滤算法的数据稀疏和冷启动问题,但是数据的稀疏性与冷启动问题还是没有完全的解决,有待进一步的提高。针对上述的问题,提出一种基于加权相似度显隐式反馈的协同过滤算法(Collaborative Filtering Algorithm Based on Explicit Feedback and Implicit Feedback of Weighted Similarity简称:CF-EIWS),在开放大学学习分析数据集Open University Learning Analytics Dataset(OULAD)上对所提算法进行验证,结果表明,该算法在平均绝对误差、精确率以及F值等指标上有较大的提高。

1  传统协同过滤算法存在的不足

传统协同过滤算法作为经典的算法之一,被广泛应用于电影推荐、社交网络以及商品推荐等领域[8],在应用中存在以下不足:

①传统的协同过滤算法未考虑两个用户之间相似度的差异,认为两个用户之间的相似度相同,即sim(a,b)=sim(b,a)。如表1列写了两个用户对5个项目的评分(评分值为1-5分),其中*表示用户对该项目没有评分。在表中可以发现用户a对用户b没有推荐能力,而用户b可以给用户a推荐项目2和项目5。因此可以发现两个用户相似度之间是有差异的。

②传统的协同过滤算法存在数据稀疏的情况。由于数据庞大,而不同用户之间相关的信息较少,导致产生数据稀疏的情况。

③传统的协同过滤算法未考虑时间对项目评分的影响。同种情况下,对项目的最新评价信息的参考价值肯定比旧的评价信息参考价值大。

基于以上分析,传统的协同过滤算法在推荐系统中的应用存在着一定的不足,需对其进一步优化,以提高推荐的质量。

2  加权相似度显隐式反馈的协同过滤算法

在个性化推荐系统中,显示评分是通过用户主动回答一些问题的方式采集用户的行为偏好,这容易产生用户对某个项目的偏见,或者用户的偏好信息只针对当前情况等问题。而隐式评分采用挖掘用户历史数据的方式来获取用户的偏好信息,该方法容易出现当使用挖掘方法不恰当时,得到的偏好信息不准确的问题。故CF-EIWS算法采用融合显式评分和隐式评分两种模型的方法,并采用项目评分时间为权值,进行加权相似度修正优化。

2.1 建立用户-项目评分矩阵

显式评分是通过用户主动配合得到,用explicitu,i表示用户u在项目i下的显示评分分数,如式(1)所示:

式中n表示测试集中所有用户的个数,R(u)表示用户u基于预测式(8)生成的推荐项目集合,T(u)表示测试集合中用户u具有评分的项目集合,U表示测试集合中所有用户集合。

3.2 实验结果与分析

为了验证算法的有效性,通过在不同的最近邻个数的情况下,选择BISP算法[10] 和CF-IRST算法[11]与CF-EIWS算法分别对平均绝对误差(MAE)值、精确度(Precision)两个指标进行比较。

3.2.1 平均绝对误差(MAE)值仿真比较

CF-IRST、BISP以及CF-EIWS三种算法平均绝对误差值(MAE)的仿真结果如图1所示。由仿真结果可看出随着最近鄰的个数增加,三种算法MAE值都在逐渐下降,CF-EIWS算法MAE值最小,BISP算法次之,CF-IRST算法最大。当最近邻个数在20以上时,CF-EIWS算法的优势更加明显,当最近邻个数50时,MAE值平稳在0.713。CF-EIWS算法的MAE值比CF-IRST算法降低了6.04%,比BISP算法降低了5.42%。

3.2.2 精确度(Precision)仿真比较

CF-IRST、BISP和CF-EIWS三种算法精确度(Precision)的仿真结果如图2所示。由仿真结果看出随着最近邻的个数增加,三种算法精确度都随之呈现提高的趋势,CF-EIWS算法精确度最高,CF-IRST算法次之,BISP算法最低。当最近邻个数在5和25个时,CF-EIWS算法的上升趋势更加明显,当最近邻个数50时,精确度开始趋于稳定,其值为0.1145。CF-EIWS算法的精确度比CF-IRST算法提高了12.60%,比BISP算法提高了14.94%。由此可知, CF-EIWS算法在推荐精确度上相较于CF-IRST算法和BISP算法有明显的提高。

4  结论

提出了一种基于加权相似度显隐式反馈的协同过滤算法。通过用户的显式反馈评分信息和隐式反馈评分信息,引入时间因子作为计算新的用户-项目评分的权值。引入相似度因子对传统的相似度计算方式进行优化,最终获得用户的推荐结果。实验结果表明,算法能在一定程度上提高推荐结果的精度。

参考文献:

[1]Najafabadi MK, Mahrin MNr.A systematic literature review on the state of research and practice of collaborative filtering technique and implicit feedback[J].Artificial Intelligence Review. 2015,45(2):167-201.

[2]Kant S, Mahara T.Merging user and item based collaborative filtering to alleviate data sparsity[J].International Journal of System Assurance Engineering and Management. 2016,9(1):173-179.

[3]Kim J, Lee D, Chung K-Y.Item recommendation based on context-aware model for personalized u-healthcare service[J].Multimedia Tools and Applications. 2014,71(2):855-872.

[4]Ju B, Qian Y-t, Ye M-c.Preference transfer model in collaborative filtering for implicit data[J].Frontiers of Information Technology & Electronic Engineering. 2016,17(6):489-500.

[5]Zhang J, Lin Y, Lin M, Liu J.An effective collaborative filtering algorithm based on user preference clustering[J].Applied Intelligence. 2016,45(2):230-240.

[6]王锦坤,姜元春,孙见山,等.考虑用户活跃度和项目流行度的基于项目最近邻的协同过滤算法[J].计算机科学,2016,43(12):158-162.

[7]谢修娟,陈永,李香菊,等.融入信任的变权重相似度模型在线学习协同推荐算法[J].小型微型计算机系统,2018,39(03):525-528.

[8]Khler S, Whner T, Peters R.The impact of consumer preferences on the accuracy of collaborative filtering recommender systems[J].Electronic Markets. 2016,26(4):369-379.

[9]Xiao J, Wang M, Jiang B, Li J.A personalized recommendation system with combinational algorithm for online learning[J].Journal of Ambient Intelligence and Humanized Computing. 2018,9(3):667-677.

[10]付芬,豆育升,韩鹏,等.基于隐式评分和相似度传递的学习资源推荐[J/OL].计算机应用研究,2017,34(12):3725-3729.

[11]钱晓捷,张路一.融合评分结构特征与偏好距离的协同过滤推荐算法.计算机工程[J].2017,34(5):185-190.

猜你喜欢
相似度
改进的协同过滤推荐算法
模糊Petri网在油田开发设计领域的应用研究