一种改进用户相似度的协同过滤推荐算法
2017-04-08李德新钟俊
李德新++钟俊
摘要:在协同过滤推荐系统的相关研究中,计算用户的相似性时通常使用传统的余弦法、Jaccard相似法,而基于这些算法所得到的评分预测往往不够精确,且进行Top-N推荐时难以达到预期的效果。本文将用户相似度细分为分值差距度、评分倾向相似度、共同评分物品数权值三部分,提出一种改进型相似度计算方法。在MovieLens数据集上进行实验,以预测误差MAE为评价指标,结果表明,该算法可以显著改善上述指标,提高推荐质量。
关键词:协同过滤;用户相似度;用户评分;评分预测;推荐算法
中图分类号:TM393 文献标识码:A 文章编号:1007-9416(2017)02-0158-02
1 引言
为了解决从大量信息中获取感兴趣的信息这一难题,推荐系统技术应运而生。现今的推荐算法纷繁复杂,但是大体上可以分为:基于内容的推荐、协同过滤推荐等。其中运用得最成功且广泛的非协同过滤推荐算法莫属。协同过滤推荐技术又可以分作2类,其一是基于用户的协同过滤(User- based Collaborative Filtering, UserCF)推荐算法,而另一类则是基于项目的协同过滤( Item- based Colla-borative Filtering,ItemCF)推荐算法[3]。
文献[4]提出一种采用结合修正公式改进的 Jaccard 相似性系数计算用户之间的相似度,在计算过程中考虑用户之间共同评分项和所有评分项的关系, 以及用户在共有的评价项目集合上的评分差别对用户的相似度的影响, 从而获取更加精确的用户相似度矩阵。文献[5]在将用户相似性细分为用户评分相似度、兴趣倾向相似度和置信度3方面,提高评分预测和推荐质量。该文在借鉴文献[4]和文献[5]工作的基础上,提出一种改进的相似度计算及评分预测的算法。该算法可以充分运用已经存在的用户评分数据,解决不同用户评分偏好的差异,更准确地计算目标用户与其他用户的相似度,与传统的相似度度量方法相比,该方法推荐精度和质量更高。
2 协同过滤推荐算法
2.1 算法运行主要步骤
协同过滤技术主要有以下几步:首先计算出用户或者项目之间的相似度,其次选择和目标用户或目标项目相似度最大的K个用户或者K个项目作为其最近邻居集合,在此邻居集合的基础上,产生推荐结果。协同过滤推荐技术主要包括四个步骤:建立用户-项目评分的矩阵、确立最近邻居集合、产生预测评分、产生推荐结果[4]:
2.1.1 建立用户-项目评分的矩阵
协同过滤推荐技术在用户对项目的历史评分信息数据的基础上,建立起用户和相应项目的评分矩阵。
2.1.2 确立最近邻居集合
最近邻居集合指的是和目标用户的兴趣相似的若干用户,推荐系统将目标用户和其他用户之间的相似度按大小降序进行排序,选择排序靠前的K个用户,以此为目标用户的最近邻居集合,显然,计算用户之间的相似性的关键在于确立最近邻居集合。
2.1.3 产生预测评分
5 结语
本文提出了一种新型的度量用户间相似度的算法,将用户相似度细粒度化,划分为分值差距度、评分倾向相似度、共同评分物品数权值3部分,在深度发掘用户评分数据信息的基础上,使用户相似度的计算更加高效,预测精度更高。实验结果表明,较之传统用户相似性度量方法,本文方法在评分预测方面误差更小,效果令人满意,有一定的工程应用价值。
参考文献
[1]冷亚军,陆青,梁昌勇.協同过滤推荐技术综述[J].模式识别与人工智能,2014,27(8):720-734. doi:10.3969/j.issn.1003-6059.2014.08.007.
[2]Ahn H J. A new similarity measure for collaborative filtering to alleviate the new user cold-starting problem[J].Information Sciences, 2008, 178(1):37-51. doi:10.1016/j.ins.2007.07.024.
[3]项亮.推荐系统实践[M].北京:人民邮电出版社,2012:110-120.
[4]任看看,钱雪忠.协同过滤算法中的用户相似性度量方法研究[J].计算机工程,2015,41(8):18-22,31. doi:10.3969/j.issn.1000-3428.2015.08.004.
[5]丁少衡,姬东鸿,王路路.基于用户属性和评分的协同过滤推荐算法[J].计算机工程与设计,2015,36(2): 487-491,497.doi:10.16208/j.issn1000-7024.2015.02.039.