APP下载

基于共同评分项和权重计算的推荐算法研究

2016-03-01谢人强

计算机技术与发展 2016年9期
关键词:相似性权重协同

谢人强,陈 震

(福州外语外贸学院信息系,福建福州 350202)

基于共同评分项和权重计算的推荐算法研究

谢人强,陈 震

(福州外语外贸学院信息系,福建福州 350202)

产生推荐列表是基于用户的协同过滤推荐算法的重要步骤,也是最终的结果。针对在基于用户的协同过滤推荐算法中,“产生推荐列表”环节的研究相对较少的这一现象,为了改进推荐算法的性能,通过权重计算和共同评分项方法来选定推荐项目,即首先将项目按照评分的近邻用户数量的多少进行排序,然后对排序的项目进行综合权重计算,将其结果由高到低进行再次排序,从而产生推荐列表。该算法经MovieLens数据集测试,在测试中使用“平均绝对误差”作为实验测评指标,结果表明,在目标用户的相似用户数为60时,该算法相较于不考虑共同评分项或综合权重计算因素的算法,有着更低的平均绝对误差,其值为0.77。该算法能够在一定程度上提高推荐系统的准确度。

协同过滤算法;评分项;综合权重;准确度

1 概述

随着互联网信息技术的快速发展,以及网民数量的持续增加,使得互联网的信息呈现爆炸式增长态势,用户正面临着越来越严重的“信息过载”问题。目前,解决“信息过载”问题的方法主要有两种:一是信息检索技术,该类技术以搜索引擎为代表;二是信息过滤技术,该类技术以推荐系统为代表。两类技术各有优缺点,但当用户的需求不明确时,推荐系统能表现出更强的优势。在众多推荐系统算法中,协同过滤技术应用最为广泛,且效果最好。所谓的协同过滤算法是通过分析、查找与目标用户相似的近邻用户或项目,根据近邻用户或项目的情况,为目标用户进行个性化推荐[1]。

现有的协同过滤推荐算法主要分为基于模型与基于内存两类。基于模型的推荐算法是建立评分模型进行推荐,具体算法包括:基于聚类的算法、基于分类的算法、基于关联规则的算法等[2]。基于内存的推荐算法包含基于用户的推荐算法和基于项目的推荐算法,文中以基于用户的推荐算法为例。

基于用户的协同过滤算法,大致包含以下几个步骤:

(1)建立用户-项目评分矩阵;

(2)计算用户相似度;

(3)选择k近邻;

(4)产生推荐列表[3]。

其中,常见的计算用户间相似度的算法有余弦相似性、修正的余弦相似性、相关相似性等[4];选择K近邻主要有阈值法和Top-N法。

近些年,协同过滤算法得到了广泛研究,众多的模型与算法被提出。文中在此基础上,充分考虑共同对项目评分的近邻用户数量、项目的权重计算方法两个影响因素,提出协同过滤的改进算法,并通过实验验证算法的性能。

2 基于用户的协同过滤推荐算法的相关研究

为了提高推荐算法的性能,许多学者对该领域进行了深入研究。例如,Reinders等充分利用用户-项目评分矩阵信息,结合用户相似性和项目相似性,使用了近邻用户对近邻项目的评分信息[5]。George等提出归一化评分项目的方法,将每个评分项目都添加一个归一化因子,从而降低活跃用户评价过的项目的重要性[6]。David等提出以概率模式为基础的相似性计算方法[7]。Herlocker等提出了项目-评分矩阵中的评分信息的改进方式,对那些与目标用户相似的近邻用户,如果没有对目标项目进行评分,可以使用近邻用户的平均评分来参与相似度计算[8]。Xue G R等提出利用目标用户的近邻用户集的平均分值作为近邻用户缺失的评分信息[9]。Larson等提出了“细粒度”的计算方法[10]。Zhao S等提出了整合与充分利用近邻用户和相似项目的信息来提高精度[11]。另外,李红梅等利用精确欧氏局部敏感哈希算法对用户评分数据进行降维处理,然后构建索引,从而快速获取目标用户的近邻用户[12]。汪静等提出基于共同评分和相似性权重的协同过滤推荐算法,使用共同评分数据计算用户的相似性,选择被共同评分的数据计算项目的相似性,再结合相似性权重得出预测结果,该算法有效提高了推荐的准确度[13]。

综上所述,协同过滤推荐算法的改进方法众多,许多学者对改进推荐系统的性能做出了重大贡献,但总体而言,在基于用户的协同过滤推荐算法的各步骤中,“用户相似度计算”环节的改进研究较多,而“产生推荐列表”环节的研究相对较少。文中将着眼于“产生推荐列表”环节,提出基于共同评分项和综合权重计算的协同过滤推荐算法。

3 基于共同评分项和综合权重计算的协同过滤推荐算法

3.1 算法说明

设计的算法包括以下几个步骤,例如要给目标用户u推荐K个项目。

(1)使用Pearson相关相似性算法计算u与其他所有用户的相似度,并将相似度的值从高到低进行排列。Pearson相关相似性算法如式(1)所示[14-15]:

其中,Ric表示用户i对项目c的评分;Ri表示用户i的平均评分;表示用户j的平均评分;Rij表示用户i和用户j共同评分的项目集合。

(2)选取相似度最高的前N个用户数据放入集合A中。

(3)将项目按集合A中用户的共同评分数量的多少进行排序,用户共同评分多的项目排在前,共同评分少的项目排在后,排序后项目集合为B。

(4)利用用户间相似性的程度,计算集合B中各项目的权重,例如项目c的权重计算如下:

其中,TWeight(c) 为 项 目 c的 总 权 重; Sumsim(c)为对项目c进行评价的,与目标用户u相似的所有用户的相似值之和;Weight(c)为项目c的权重值;Ic为对项目c进行评价的用户集合;j为Ic中的某个用户;sim(u,j)表示目标用户u与用户j的相似值。

(5)将各项目的权重,按从大到小进行排序。

(6)选择权重最大的前K个项目推荐给用户。

3.2 算法分析

该算法具有较强的实用性,同时也具有一定的优越性,具体表现在:

(1)步骤1和步骤2保证了参与计算的用户都与目标用户有较高的相似度,从而保证了它们之间的相关性,因此获得的推荐信息将会更准确。

(2)通过步骤3,可以在一定程度上保证权重高的项目优先被推荐。因为共同评分多的项目,往往是因为相似用户对该项目的兴趣程度高。

(3)通过步骤4准确计算步骤3得出的各项目的权重,然后将前K个项目进行推荐,保证了推荐算法的准确性。

3.3 算法设计

根据前文的分析,基于双重选择的协同过滤推荐算法设计如图1所示。

4 实验分析

4.1 实验数据与测评指标

实验数据来源于GroupLens提供的MovieLens数据集,该数据集是一个评分数据集,是用户对自己看过的电影进行评分,分值为1~5,不同的评分分值表达了用户对某影片的不同喜好程度。MovieLens数据集包括三个大小不同的库,评分数据分别为10万条、1百万条、1千万条。为了计算方便,文中选取小规模的数据集,它包含943个用户对1 682部电影的10万条评分数据。

在实验过程中,将数据集按照8∶2的比例划分为训练集和测试集,在训练集上按3.1节的算法建立相应的模型,在测试集上对目标用户行为进行预测。实验测评指标使用平均绝对误差(Mean Absolute Error,MAE),它是一种统计度量方法。MAE通过计算目标用户在训练集上的评分与测试集上的评分之间的差值来度量算法及预测准确性,见式(5)。

其中,n为评分总数;ric为用户i对项目c的实际评分;r^ic为用户i对项目c的预测评分;MAE数值与推荐的预测准确性呈反比,MAE越小,推荐效果越好。

为了比较文中所描述算法的性能,引入另外两种算法进行比较,分别命名为UBCF-1、UBCF-2,文中算法命名为UBCF-3。三种算法的具体计算思路如表1所示。

由表1可以看出,相比于UBCF-1,UBCF-2改进了项目权重的计算方法,UBCF-3相比UBCF-2,考虑了共同评分项的因素。

4.2 测评结果

对MovieLens数据集进行测评,当使用UBCF-1时,与目标用户的相似用户数选取值N发生变化时,得到如图2所示的MAE变化图。

UBCF-2使用了文中介绍的权重计算公式(见式(2)~(4)),通过程序运行,得出了如图3所示的MAE变化图。

从图3可以看出,UBCF-2中MAE数值有了大幅降低,即推荐系统的准确率得到了大幅提高。在UBCF-2的基础上,UBCF-3考虑了项目共同评分的数量,该算法MAE变化图如图4所示。

从图4可以看出,UBCF-3的总体性能相对于UBCF-2又有了一定程度的提升,当N=60,即目标用户的相似用户数为60时,UBCF-3算法的MAE值最小。通过图5,可以显而易见地得到UBCF-3相对UBCF-1、UBCF-2有着更好的性能。

图4 UBCF-3的MAE变化图

UBCF-3算法给目标用户推荐的项目数不同,MAE值也会产生相应的变化,如图6所示。

5 结束语

文中提出了一种基于共同评分项和综合权重计算的协同过滤推荐算法。考虑了共同评分用户数对产生最终推荐列表的影响,一般情况下,共同评分越多的项目,往往是因为相似用户对该项目的兴趣程度越高,因而对它进行推荐,准确度就越高;也考虑了综合权重计算对推荐列表产生的影响,并提出了综合权重的计算公式。在MovieLens数据集上的测试结果表明,基于共同评分项和综合权重计算的协同过滤推荐算法能够提高推荐系统的准确度,获得更好的推荐质量。

[1] 朱丽中,徐秀娟,刘 宇.基于项目和信任的协同过滤推荐算法[J].计算机工程,2013,39(1):58-62.

[2] 刘宇轩.混合协同过滤算法研究[D].北京:北京邮电大学,2013.

[3] 硕良勋,柴变芳,张新东.基于改进最近邻的协同过滤推荐算法[J].计算机工程与应用,2015,51(5):137-141.

[4] 马宏伟,张光卫,李 鹏.协同过滤推荐算法综述[J].小型微型计算机系统,2009(7):1282-1288.

[5] Wang Jun,Vries A P,Reinders M J T.Unifying user-based and item-based collaborative filtering approaches by similarity fusion[C]//Proceedings of ACM SIGIR’06.[s.l.]:ACM,2006:501-508.

[6] Karypis G.Evaluation of item-based Top-N recommendation algorithms[C]//Proceedings of the tenth international conference on information and knowledge management.[s.l.]:[s. n.],2001:247-254.

[7] Kits B,Freed D,Vrieze M.Cross-sell:a fast promotion-tunable customer-item recommendation method based on conditionally independent probabilities[C]//Proceeding of the sixth ACM SIGKDD international conference on knowledge discovery data mining.[s.l.]:ACM,2000:437-446.

[8] Herlocker J L,Konstan J A,Borchers A,et al.An algorithmic framework for performing collaborative filtering[C]//Proceedings of ACM IGIR’99.[s.l.]:ACM Press,1999:230-237.

[9] Xue G R,Lin C,Yang Q,et al.Scalable collaborative filtering using cluster-based smoothing[C]//Proceedings of SIGIR. [s.l.]:[s.n.],2005.

[10] Shi Yue,Larson M,Hanjalic A.Exploiting user similarity based on rated-item pools for improved user-based collaborative filtering[C]//Proceedings of the third ACM conference on recommender systems.[s.l.]:ACM,2009:125-132.

[11]Ding S,Zhao S,Yuan Q,et al.Boosting collaborative filtering based on statistical prediction errors[C]//Procedding of ACM conference on recommender systems.[s.l.]:ACM,2008:3-10.

[12]李红梅,郝文宁,陈 刚.基于精确欧氏局部敏感哈希的协同过滤推荐算法[J].计算机应用,2014,34(12):3481-3486.

[13]汪 静,印 鉴,郑利荣,等.基于共同评分和相似性权重的协同过滤推荐算法[J].计算机科学,2010,37(2):99-104.

[14]孙远帅,陈 垚,刘向荣,等.基于项目层次相似性的推荐算法[J].山东大学学报:工学版,2014,44(3):8-14.

[15]胡 勋,孟祥武,张玉洁,等.一种融合项目特征和移动用户信任关系的推荐算法[J].软件学报,2014,25(8):1817-1830.

Research on Recommendation Algorithm Based on Co-rating and Weight Calculation

XIE Ren-qiang,CHEN Zhen
(Department of Information Technology,Fuzhou University of International Studies and Trade,Fuzhou 350202,China)

The recommended list is an important step of the user-based collaborative filtering recommendation algorithm and is also the final result.According to the phenomenon of less research on the“generation of recommendation list”in collaborative filtering recommendation algorithm based on user,in order to improve the performance of it,the recommended items are selected by weight calculation and the method of co-rating number.Firstly the co-rating items is sorted by the number of nearest neighbor.Then,the ranking items are calculated by comprehensive weight,and the results are sorted by high to low,and the recommended list is generated.The algorithm is tested by MovieLens data set.It uses the“Mean Absolute Error”as the evaluation index in the test.The results show that when the target user’s similar user number is 60,the algorithm has a lower mean absolute error compare with those calculation algorithms which don’t consider the factors of common rating items or comprehensive weight,and the value is 0.77.The algorithm can improve the accuracy of the recommendation system to a certain extent.

collaborative filtering algorithm;co-rating;comprehensive weight;accuracy

TP391

A

1673-629X(2016)09-0069-04

10.3969/j.issn.1673-629X.2016.09.016

2015-08-12

2015-12-10< class="emphasis_bold">网络出版时间:

时间:2016-08-23

2014年福建省教育科技计划项目(JB14129)

谢人强(1982-),男,副教授,研究生,研究方向为电子商务、信息管理与信息系统。

http://www.cnki.net/kcms/detail/61.1450.TP.20160823.1343.026.html

猜你喜欢

相似性权重协同
输入受限下多无人机三维协同路径跟踪控制
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
家校社协同育人 共赢美好未来
权重常思“浮名轻”
浅析当代中西方绘画的相似性
“四化”协同才有出路
为党督政勤履职 代民行权重担当
权重涨个股跌 持有白马蓝筹
京津冀协同发展
12个毫无违和感的奇妙动物组合