协作过滤信息推荐技术研究
2012-06-06纪良浩
纪良浩
(重庆邮电大学计算机科学与技术学院,重庆 400065)
0 引言
目前,随着网络技术的快速发展,网络已逐步渗透到人们的生产、生活之中。然而,随着网络上信息量的不断增加,信息饥饿与信息过量的矛盾却日益突显。传统的search engines已经满足不了用户各自的查询需求,故而对个性化的服务系统(personalized service system)越来越期待。
个性化服务系统能够根据用户的使用行为,分析与挖掘出其潜在的兴趣,主动为其推荐可能感兴趣的信息资源[1]。该技术随着电子商务的逐步普及已得到了非常广泛的应用,目前,如Amazon,Moviefinder等很多电子商务网站中都已经使用了个性化服务的技术[2]。
为了能够给用户提供准确、满意的服务,众多信息推荐的算法不断提出,总的说来,可分为:Rulebased和Information Filtering。而后者又包含基于内容过滤(content-based filtering)和协作过滤(collaborative filtering,CF)。目前,CF在众多的系统中得到了广泛地应用[3-5]。
论文在对协作过滤概述的基础上,总结了当前其存在的若干问题,并对国际、国内的研究进展进行了分析,同时对相似性度量方法、预测评分的策略、推荐质量的度量标准、未来可能的研究方向等分别进行了论述。
1 协作过滤
协作过滤算法基于用户间的相互协作来完成对目标用户信息的推荐。目前,提出的CF算法有最近邻(K-nearest neighbor)、基于项目资源(Itembased)和基于模型(model-based)等 3 类[6]。
最近邻算法根据目标用户已有的行为(如对某些资源的评分等),找到其若干兴趣偏好最相近的用户(nearest neighbor),然后,根据这些邻居对其它项目的评分来预测目标用户的评分,依此来产生推荐,算法的核心是最近邻的查找与确定,其准确率决定了算法推荐质量的优劣。
基于项目资源的推荐算法则根据目标用户对目标项目的若干相似项目的评分来预测其对目标项目的评分,根据评分的高低来度量用户对项目的感兴趣程度,从而进行推荐。
基于模型的算法一般采用机器学习的方法构建用户的评分模型,通过概率来预测目标用户对未评分项目的评分,根据评分的高低来进行信息推荐。
在协作过滤推荐算法中,用户对资源的兴趣程度由其对资源的评分来度量,评分的高低直观反映了其感兴趣的程度。用户的评分形式有显式、隐式2种。显式要求用户首先向系统提交一些对资源的评价信息,以此作为推荐的参考;隐式则需要通过分析Web日志信息等来分析用户的行为和兴趣偏好;而隐式如果要有好的推荐结果,需要更多相关技术的支持。
用户的评分信息用矩阵 R=(Ri,j)M×N来描述,其中,M,N分别表示用户、资源项目总的个数。在矩阵 R 中Ri,j的值为useri对itemj的评分,其中,i∈{1,2,…,M},j∈{1,2,…,N},useri,itemj分别表示第i个用户与第j项资源项目。
2 相似性度量方法
用户及项目间相似程度计算的准确率直接关系到推荐质量的好坏。目前,计算相似性的方法主要有:余弦相似性、修正的余弦相似性以及相关相似性[7-9]。
2.1 余弦相似性
useri和userj两者的相似性sim(i,j),通过两者评分向量之间夹角的余弦来计算。
(1)式中:rik和rjk分别表示useri和userj对itemk的评分。
2.2 修正的余弦相似性
由于不同用户对资源评分时,各自的标准存在差异,所以在(1)式的基础上,研究者们提出了修正的余弦相似性计算方法。
(2)式中:ric和rjc分别表示useri和userj对itemc的评分;分别为useri和userj各自已有评分的均值。Ii,Ij分别为useri和userj已有评分的资源项目集合。集合Iij=Ii∩Ij。
2.3 相关相似性
该方法利用Pearson系数来度量useri和userj两者间的相似性。如(3)式所示:
相关相似性计算方法,依据用户间共同评分的项目进行用户相似性度量,如果在用户评分数据极端稀疏的情况下(事实上此种情况很普遍),用户间共同评分的数据将非常少,这使得相关相似性在实际应用的时候准确性不高。
3 协作过滤面临的关键问题及其解决方法
在推荐系统中,对于评分矩阵R,当M,N逐步增大时,用户未评分的资源数也会随之增多,使得矩阵R中的评分数据变得不断稀疏,在采用上述相似性计算方法计算用户以及资源项目的相似性时,准确的程度会降低,推荐的质量也会随之下降。CF算法所面临的一些问题也越来越突现出来,下面就存在的一些主要问题以及当前国内、外研究的现状分别进行陈述。
3.1 “冷启动”问题
“冷启动”问题是指在CF推荐系统中,对于那些没有任何评分记录的用户或项目,系统将无法找出其最近邻居进行评分预测和推荐[10]。
对于“冷启动”问题,一直以来都引起了研究者们关注。为了解决由于“冷启动”问题而导致的推荐质量下降,目前普遍采用基于内容的最近邻方法[11-19]。该类方法根据资源项目内容的相似性,来预测一些未被评分的资源项目的评分。
3.2 R评分矩阵高维稀疏问题
随着推荐系统中资源项目的不断增多,用户的评分数据相对来说却显得很少,导致评分矩阵R的维度越来越大,同时矩阵中有效数据量(值不为空的评分值)越来越少。这样,Iij集合(用户i,j共同评分的集合)中资源项目的数量也会比较少,相似性计算的可靠性下降,从而使系统推荐的质量下降。
对于数据高维稀疏问题,目前已有的解决方法分别如下所述。
3.2.1 设置预测评分
对矩阵R中没有评分的数据项,事先给定一个初始值,以增加矩阵R的数据稠密程度。初始值给定,目前的方法有设定默认值[2]、利用目标用户的评分均值等[15-19]。
CHEN[20]使用BP神经网络来预测评分,有效地降低了R矩阵的稀疏性,达到了提高推荐精度的目的。然而随着训练时间的增加,算法的收敛速度会趋于变慢,使得最近邻的查找时间变长。张磊,陈俊亮等[21]提出了一种改进的BP算法,能有效缓解CHEN提出的方法中存在的问题。Jung K Y等[22]使用NaÏve Bayesian分类方法,利用相似项目评分来估算未评分项目。
此类方法能够有效增加矩阵R中用户间评分的交集,从而提高相似性计算的准确性,提高算法推荐的质量。
3.2.2 矩阵降维
通过降低R矩阵的维数来解决矩阵的稀疏性问题。目前主要有采用奇异值分解(singular value decomposition,SVD)[23-24]、矩 阵 划 分[25-27]等 技 术。降低维度的方法,其效果依赖于数据集,当资源项目的数目很多时,维度降低的效果很难得以保障。
3.2.3 基于 AI的方法
借助人工智能的方法与手段,如采用Horting图[15]、Clustering[28-29]等技术。纪良浩等[30]基于用户兴趣一般比较固定的的思路,提出了一种新的协作过滤的推荐算法。在对资源项目分类的基础上,将用户对单个资源项目的兴趣转化为对某类资源项目的兴趣,该方法能有效地改善数据的高维稀疏,同时提高了推荐的质量。
基于AI的方法,能够增加不同用户在相同资源项目上共同评分的数量(即增加Iij集合元素的个数),降低数据稀疏性,提高相似性计算的准确率,然而往往会随着矩阵R稀疏程度的不断加大,同时面临算法的伸缩性问题(scalability problem)。
3.3 算法伸缩性问题
当用户、资源数不断增多时,推荐算法的计算工作量也会不断增大,这就是推荐算法所面临的伸缩性问题。
针对该问题,基于模型的算法虽然在一定程度上能改善该问题,但是,由于训练模型要付出一定的代价,所以,该方法不适合那些数据太频繁更新的推荐系统[31]。虽然前面提到的降维方法也能改善算法的可伸缩性,但同时也会丢失一定量的数据信息,一定程度上要影响推荐的精度。
4 预测评分策略
目前,大多数CF推荐算法都采用平均加权策略来产生预测评分。useru对itemi的预测评分通过公式(4)来计算:
该策略在产生预测评分时,全面考虑了用户对全部资源项目的评分。在某用户的评分项目比较多的情形下,此策略有很好的推荐效果;反之,当评分项目较少时,由于评分均值不能完全体现用户对其它项目的评分,推荐的效果会受到很大的影响。张光伟等[32]在平均加权策略预测评分的基础上,引入评分频度,将出现频度最高的预测评分作为推荐算法对其最终预测的评分,该方法与平均加权策略相比,当目标用户最近邻个数较少时,具有较好的推荐质量。
5 推荐质量的度量
信息推荐质量的高低决定了推荐算法的好坏,目前度量推荐质量优劣的标准主要有如下几种:MAE(mean absolute error)、recall、precision 以及ROC(receiver operating characteristic)等。其中,MAE是统计精度度量方法,后面3种属于决策支持精度度量方法[33]。
MAE由以下公式(5)计算:
(5)式中:N表示测试集中资源项目的个数;pi为目标用户对itemi的预测评分;qi为目标用户对itemi的实际评分。当两者的分值越接近时,MAE的数值就越小,表明算法的推荐质量就越高。此度量方法由于非常直观,故而最为常见。
recall反映了待推荐项目被实际推荐的比率,而precision则反映了算法推荐成功的比率,分别由以下计算公式(6),(7)来计算:
(6)-(7)式中:test为测试集合;topN集合包含被推荐的前N个表示test集合中item的数量。推荐结果的召回率与准确率同样重要,通常情况下将这两者综合考虑[34-35]。
ROC包含sensitivity(灵敏度)和 specificity(特异性)2个指标,前者表示用户喜欢的项目被推荐的概率;后者表示用户不喜欢的项目未被系统推荐的概率。用户喜欢或者不喜欢的项目按照如下方法判定:对项目的预测评分与实际评分的差值如果小于事先设定的阈值,认为是用户喜欢的项目,否则是用户不喜欢的项目[36]。
6 总结
论文在对协作过滤概述的基础上,总结了当前其存在的若干主要问题,并分析了国际、国内的研究现状,最后对预测评分的策略以及推荐质量的评价标准等进行了介绍。
近年来,研究者们提出了多种方法,在一定程度上改善了协作过滤推荐算法所面临的问题,同时其它领域的一些技术也被用到推荐系统中来,这些技术与推荐算法的结合将是一个很有意义的研究方向。此外,对相似性度量方法、分类与聚类以及算法推荐质量评价标准等的研究,在未来很长的时间内将仍然吸引更多的研究者们为之努力与探索。
[1]曾春,刑春晓,周立柱.个性化服务技术综述[J].软件学报,2002,13(10):1952-1961.
ZENG Chun,XING Chun-xiao,ZHOU Li-zhu.A survey of personalization technology [J].Journal of Software,2002,13(10):1952-1961.
[2]WU Yan,SHEN Jie,GU Tian-zhu,et al.Algorithm for sparse problem in collaborative filtering[J].Application Research of Computers,2007,24(6):94-97.
[3]YOUWen,YE Shui-sheng.A survey of collaborative filtering algorithm applied in E-commerce recommender system[J].Computer Technology and Development,2006,16(9):70-72.
[4] KONSTAS I,STATHOPOULOSV,JOSE JM.On social networks and collaborative recommendation[C]//Proceedings of the 32nd international ACM SIGIR conference on Research and development in information retrieval.New York:ACM Press,2009:195-202.
[5] 纪良浩,王国胤,杨勇.基于协作过滤的Web日志数据预处理研究[J].重庆邮电大学学报:自然科学版,2006,18(5):646-649.
JI Lian-ghao,WANG guo-yin,YANG yong.Research of W eb log data preprocessing based on collaborative filtering[J].Journal of Chongqing University of Posts and Telecommunications:Natural Science Edition,2006,18(5):646-649.
[6] SARWAR B,KARYPIS G,KONSTAN J,et al.Itembased collaborative filtering recommendation algorithms[C]//Proceedings of the 10th International WWW Conference.New York:ACM,2001:285-295.
[7] 刘鲁,任晓丽.推荐系统研究进展及展望[J].信息系统学报,2008,2(1):82-90.LIU lu,REN xiao-li.Review and perspective of the recommender systems[J].China Journal of Information Systems,2008,2(1):82-90.
[8]吴发青,贺操,夏薇薇,等.一种基于用户兴趣局部相似性的推荐算法[J].计算机应用,2008,28(8):1981-1985.
WU Fa-qing,HE Cao,XIEWei-wei,etal.A recommendation algorithm based on users'partial similarity[J].Journal of Computer Applications,2008,28(8):1981-1985.
[9]ZHANG Guang-wei,KANG Jian-chu,LI He-song,et al.Context based collaborative filtering recommendation algorithm[J].Journal of System Simulation,2006,8(2):595-601.
[10] GOLDBERG K,ROEDER T,GUPTA D.Eigentaste:a constant time collaborative filtering algorithm [J].Information Retrieval,2001,4(1):133-151.
[11]周军军,王明文,何世柱,等.基于随机游走和聚类平滑的协同过滤推荐算法[J].广西师范大学学报:自然科学版,2011,29(1):173-178.
ZHOU Jun-jun,WANG Ming-wen,HE Shi-zhu,et al.A Collaborative Filtering Algorithm Based on Random Walk and Cluster-based Smoothing [J].Journal of Guangxi Normal University:Natural Science Edition,2011,29(1):173-178.
[12]吴湖,王永吉,王哲,等.两阶段联合聚类协同过滤算法[J].软件学报,2010,21(5):1042-1054.
WU Hu,WANG Yong-Ji,WANG Zhe,et al.Two-Phase Collaborative Filtering Algorithm Based on Co-Clustering[J].Journal of Software,2010,21(5):1042-1054.
[13]罗文兵,吴润秀,王明文,等.基于结果聚类分析的个性化推荐模型[J].广西师范大学学报:自然科学版,2010,28(1):113-116.
LUO Wen-bing,WU Run-xiu,WANG Ming-wen,et al.Personalized Recommendation Model Based on Results Clustering Analysis[J].Journal of Guangxi Normal University:Natural Science Edition,2010,28(1):113-116.
[14] GONG Song-jie,YE Hong-wu.Joining User Clustering and Item Based Collaborative Filtering in Personalized Recommendation Services[C]//2009 International Conference on Industrial and Information Systems.Haikou,China:IEEE Press,2009:149-151.
[15] DENG Ai-lin.A collaborative filtering recommendation algorithm based on item rating prediction [J].Journal of Software,2003,14(9):1621-1628.
[16]邢春晓,高凤荣,站思南,等.适应用户变化的协同过滤推荐算法[J].计算机研究与发展,2007,44(2):296-301.
XING Chun-xiao,GAO Feng-rong,ZHAN Sin-an,etal.A Collaborative Filtering Recommendation Algorithm Incorporated with User Interest Change[J].Journal of Computer Research and Development,2007,44(2):296-301.
[17]李聪,梁昌勇,杨善林.电子商务协同过滤稀疏性研究[J].管理工程学报,2011,25(1):94-101.
LICong,LIANG Chang-yong,YANG Shan-lin.Sparsity Problem in Collaborative Filtering:A Classification[J].Journal of Industrial Engineering and Engineering Management,2011,25(1):94-101.
[18]彭玉,程小平,徐艺萍.一种改进的Item-based协同过滤推荐算法[J].西南大学学报:自然科学版,2007,29(5):146-149.
PENG Yu,CHENG Xiao-ping,XU Yi-ping.An improved item-based collaborative filtering algorithm[J].Journal of Southwest Agricultural University,2007,29(5):146-149.
[19] KIM B M,LI Q,PARK C S,et al.A new approach for combining content-based and collaborative filters[J].Journal of Intelligent Information Systems,2006,27(1):79-91.
[20] CHEN Dan-er.The Collaborative Filtering Recommendation Algorithm Based on BPNeural Networks[C]//2009 International Symposium on Intelligent Ubiquitous Computing and Education. Chengdu, China:IEEE Press,2009,234-236.
[21]张磊,陈俊亮,孟祥武,等.基于BP神经网络的协作过滤推荐算法[J].北京邮电大学学报,2009,32(6):42-46.
ZHANG Lei,CHEN Jun-liang,MENG Xiang-wu,et al.BPNeural Networks-Based Collaborative Filtering Recommendation Algorithm[J].Journal of Beijing University of Posts and Telecommunications,2009,32(6):42-46.
[22] JUNG K Y,HWANG H J,KANG U G.Constructing full matrix through naive Bayesian for collaborative filtering[C]//Computational Intelligence,pt2,Proceedings,Italy:Springer,2006:1210-1215.
[23] VOZALISM G,MARGARITIS K G.Applying SVD on item based filtering[C]//Proceedings of 5th International Conference on Intelligent Systems Design and Applications(ISDA 05).Poland:IEEE CSP,2005:464-469.
[24] JUNG K Y.User preference through Bayesian categorization for recommendation[C]//Pricai2006:Trends in Artificial Intelligence,Proceedings.Guilin,China:Springer,2006:112-119.
[25]潘红艳,林鸿飞,赵晶.基于矩阵划分和兴趣方差的协同过滤算法[J].情报学报,2006,25(1):49-54.
PAN Hong-yan,LIN Hong-fei,ZHAO Jing.Collaborative Filtering Algorithm Based on Matrix Partition and Interest Variance[J].Journal of the china society for scientific and technical information,2006,25(1):49-54.
[26]候翠琴,焦李成,张文革.一种压缩稀疏用户评分矩阵的协同过滤算法[J].西安电子科技大学学报:自然科学版,2009,36(4):614-618.
HOU Cui-qin,JIAO Li-cheng,ZHANGWen-ge.Collaborative filtering algorithm via compressing the sparse userrating-data matrix [J].Journal of xidian university,2009,36(4):614-618.
[27]KOREN Y,BELLR,VOLINSKY C.Matrix factorization techniques for recommender systems[J].IEEE Computer Journal,2009:30-37.
[28]王辉,高利军,王听忠.个性化服务中基于用户聚类的协同过滤推荐[J].计算机应用,2007,27(5):1225-1227.
WANG Hui,GAO Li-jun,WANG Ting-zhong.Collaborative filtering recommendation based on user clustering in personalization service [J].Journal of Computer Applications,2007,27(5):1225-1227.
[29] WANG J,ZHANG N Y,YIN J.Collaborative Filtering Recommendation Based on Fuzzy Clustering of User Preferences[C]//International Conference on Fuzzy Systems and knowledge Discovery,Yantai,China:IEEE CAS,2010:1946-1950.
[30]纪良浩,王国胤.基于资源的协作过滤推荐算法研究[J].计算机工程与设计,2008,44(8):164-168.
JI Liang-hao,WANG Guo-yin. Collaborative filtering based on item content[J].Computer Engineering and Applications,2008,44(8):164-168.
[31] DASA S,DATARM,GARG A,etal.Google news personalization:scalable online collaborative filtering[C]//Proceedings of the 16th international conference on World Wide Web.Canada:ACM Press,2007:271-280.
[32] ZHANG Guang-wei,KANG Jian-chu,LIHe-song,et al.Context based collaborative filtering recommendation algorithm[J].Journal of System Simulation,2006,8(2):595-601.
[33]CHENW Y,ZHANG D,CHANG E Y.Combinational collaborative filtering for personalized community recommendation[C]//Proceeding of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining.New York:ACM Press,2008:115-123.
[34] WANG J,YIN J.An Optimized Item-based Collaborative Filtering Recommendation Algorithm [J].Journal of Chinese Computer Systems,2010,31(12):221-225.
[35] LI Sa.Collaborative filtering recommendation algorithm based on cloud model clustering of multi-indicators item evaluation[C]//Conference on business computing and global informatization. Shanghai,China:IEEE CPS,2011:645-648.
[36] XU H L,WU X,LIX D,etal.Comparison Study of Internet Recommendation System[J].Journal of Software,2009,20(2):350-362.