张富国
江西财经大学信息管理学院 江西南昌 330013
redbird_mail@163.com
摘要:个性化推荐系统的出现提供了一个解决电子商务网站的商品信息过载问题的强大工具,而协同过滤技术被认为是最有前途的个性化推荐技术之一。文章从协同过滤技术的基本原理出发,系统评述了协同过滤各类常用算法的特点,分析了其中存在的数据稀疏性、冷启动、“托”攻击和灵活性等问题,最后指出了协同过滤技术将来的研究方向。
关键词:协同过滤,推荐系统,个性化,信任
1 引言
网络所带来的便捷的信息传递和信息服务推动着电子商务的蓬勃发展,人们在逐渐享受由此带来的巨大惊喜的同时,也面临着从传统购物方式向网络虚拟购物方式转变的挑战:面对Web商家如此众多的商品,用户发觉自己很难通过一个小小的计算机屏幕方便地发现自己感兴趣的商品。个性化推荐系统的出现为用户提供了一个解决Web商品信息过载问题的强大工具,承担了在识别客户消费偏好的基础上,模拟商店销售人员向客户提供商品信息和建议,帮助客户完成购买过程,从而使客户避免信息“超载”所带来的麻烦,顺利完成购买过程的功能[1]。在实际应用中,许多电子商务网站,如Amazon、eBay和CDNow等网站已经充分领略到了推荐系统带来的好处。
基于内容的过滤技术根据信息的内容和用户偏好之间的相关性向用户推荐信息,它的缺点是不能处理难以进行机器自动内容分析的信息,比如,艺术品、电影等,也不能基于一些复杂的、难以表达的概念比如质量、品位等进行过滤推荐。另外,由于它是一种基于经验的方法,只能发现和用户已有兴趣相似的信息,而不能为用户发现新的感兴趣的资源[2]。关于协同过滤技术的第一个研究报告在1994年出版[3],从那以后,对协同过滤的研究和商业运用开始出现。鉴于协同过滤推荐技术克服了基于内容的过滤技术的以上所列缺点,使得对个性化推荐系统的研究有了长足的进步,是到目前为止相对较为成功的一种推荐方法[4],已被用于许多站点。被认为是最有前途的推荐技术之一。但协同过滤推荐技术还有很多问题需要克服,目前也出现了一些新的发展趋势,本文主要分析和评述了个性化推荐技术取得的研究成果以及存在的问题,并对基于协同过滤技术的推荐系统发展方向进行了展望。
2 基本原理分析
协同过滤技术的出发点是任何人的兴趣都不是孤立的,应处于某个群体所关心的兴趣当中,如果某些用户对一些项目的评分比较相似,则他们对其他项目的评分也比较相似。该推荐方法实现的基本思想是采用某种技术找到目标用户的若干最近邻居(与目标用户有相似兴趣的用户),然后根据最近邻居对目标项目的评分产生推荐,把预测评分值最高的多项商品作为该用户的推荐列表。
协同过滤推荐系统可以通过显式评分或隐式评分两种方式取得用户对项目的兴趣程度。显式评分是指推荐系统需要用户直接对某些项目进行评分;而隐式评分则是通过用户的使用日志来获得,比如说,如果一个用户购买了某本书,则说明该用户喜欢该书[5]。
不同的协同过滤推荐算法的推荐模型均可归属于如图一所示模型,模型分成用户层和项目层,两者用用户对项目的评分联系起来。各个算法通过不同程度地利用该两层模型来预测用户对项目的评分。如基于邻居用户的协同过滤算法考虑了用户层中用户间的相似性,但不考虑项目层的项目相似性,而基于项目的协同过滤算法则相反。
图1 协同过滤二层推荐模型
3 常用协同过滤算法
经过多年的研究积累,出现了多种协同过滤算法,一般把协同过滤算法分成两类:
(1) 基于内存的协同过滤算法。该方法先用统计的方法得到具有相似兴趣爱好的邻居用户,再基于邻居进行计算,所以该方法也称基于用户的协同过滤或基于邻居的协同过滤。Sarwar等人从协同过滤的基本思想的两个方面入手,把基于内存的协同过滤方法分为基于邻居用户(User-based)的协同过滤算法和基于项目(Item-based)的协同过滤算法[6]。
(2) 基于模型的协同过滤算法。该方法先用历史数据得到一个模型,模型的建立可以使用各种机器学习的方法如贝叶斯网络技术、聚类技术、人工神经网络、概率模型等,再用此模型进行预测。
就两类协同过滤算法比较而言,基于模型的协同过滤由于建模过程可以离线完成,克服了基于内存的协同过滤方法基于整个用户数据库进行在线实时运算带来的性能问题,推荐系统的伸缩性较好,适合于大型电子商务推荐系统,但建模过程比较复杂,本身较耗时,所以只能周期性对模型进行更新,导致模型相对于原始用户数据而言具有一定的滞后效应。基于用户的协同过滤算法由于在线计算,随用户增加而线性增加,所以伸缩性较基于项目的协同过滤算法差。
4研究热点问题分析
4.1 稀疏性问题
在许多推荐系统中,每个用户涉及的信息量相当有限,使得评分矩阵非常稀疏,如用于研究的Eachmovie和Movielens这两个典型数据集的评分矩阵稀疏性分别为97.6%和95.8%,在一些大的系统如www.Amazon.com网站中,用户最多不过就评估了上百万本书的1%-2%,造成评分矩阵数据相当稀疏,难以找到真正的相似用户集,导致推荐效果大大降低[7]。
稀疏问题通常由高维数据引起的,在本质上属于模式识别与人工智能领域的小样本问题。目前,大多采用机器学习中的分类概念来解决稀疏问题,用初始评价矩阵的奇异值分解(sirgular value decomposition)维度压缩技术去抽取一些本质的特征,利用评价数据阵中的潜在结构可极大地减少维数,使数据变得更为稠密[8,9]。
4.2冷启动问题
冷启动(cold start)问题分为新项目问题(new item)和新用户(new user)问题[10]。
(1)新项目问题:一个未获得足够评价的新项目不易被推荐出去。新项目问题常出现在不断增加新项目、但用户仅对其中一小部分做出评价的情况下。如果一个新项目没有人去评价它,或都不去评价它,则这个项目肯定得不到推荐,推荐系统就失去了作用,这在协同推荐技术问题上最为突出。目前,除了使用激励的方法以外,一般采用组合协同过滤和基于内容的推荐方法。
(2)新用户问题:协同过滤推荐系统通过计算目标用户与其他用户的相似性来获得推荐列表,而这种计算主要基于不断累积的用户对项目的评分,如果一个新用户从未对系统中的项目进行评价,则系统无法获知他的兴趣点,也就无法对他进行推荐。目前一般采用新用户进入系统前,首先输入个人信息的方法来解决新用户问题,关键是如果需要输入的信息过多,用户就会放弃使用推荐系统或不认真输入信息。
4.3“托”攻击问题
近来的研究发现传统的协同过滤推荐系统存在着严重的安全问题。从动机上来说,生产商为了使自己生产的商品能够畅销,总是希望推荐系统能够频繁推荐自己的商品,而减少或不推荐竞争对手的产品。某些不良生产商为了达到这个目的,不是想办法提高自己产品的质量,而是采取欺骗手法来提高推荐系统推荐自己产品的频率。而从技术方面来看,推荐系统是个需要用户参与的开放系统,恶意用户可以把自己编造的用户概貌输入到推荐系统的概貌集中,那么在推荐的时候就很可能把这些编造用户当作相似用户,然后把编造用户的偏好当作目标用户的偏好[1]。推荐系统如果不能有效地抵御攻击,将会逐渐失去用户的信任,因此,对算法的鲁棒性的考察也变得越来越重要。文献[11,12,13,14,15]详细分析了“托”攻击的成本、分类、模型和对不同推荐算法的影响效果。
4.4灵活性问题
目前的推荐系统对用户来说是个黑匣子,用户既不明白为何产生如此的推荐结果,更不知如何根据需要来定制自己的推荐。Adomavicius等提出能否推出类似于SQL的推荐查询语言(Recommendation Query Language)[4]。
5研究方向展望
基于信任的协同过滤推荐对解决传统的协同过滤系统中的稀疏性、冷启动和“托”攻击问题均有显著的帮助作用,在近几年逐渐成为研究的一个热点。在现实社会中,人们往往是从身边信任的亲友处获得产品的推荐信息。文献[16]的研究也说明了用户之间的相似性与信任存在着正相关性。最近的研究开始关注于把社会网络中的信任或信誉机制引入到推荐系统中,作为协同过滤技术的补充或者替代方法[17,18]。Massa等提出了基于信任的协同过滤系统框架[19],Papagelisd等用信任推理机制有效改进了协同过滤的稀疏性[20]。文献[21]基于概貌级信任的不足,提出了主题级的信任模型,基于此模型的推荐算法提高了推荐的准确性。在基于信任的推荐系统研究中,网络环境中的信任度的度量、信任与推荐的结合等都将是研究的重点。
组合推荐方法把协同过滤方法与基于内容的推荐技术结合起来,旨在克服各自的局限,产生性能更为优秀的推荐技术,该方法多年来一直是研究的一个方向。
1.
参考文献
[1] 余力,刘鲁. 电子商务个性化推荐研究[J].计算机集成制造系统-CIMS, 2004, (10): 1306-1313.
[2] 孙小华. 协同过滤系统的稀疏性和冷启动问题研究[D]. 浙江大学博士学位论文, 2005.
[3] P. Resnick, N. Iacovou, M. Sushak, P. Bergstrom, and J. Riedl. GroupLens: An open architecture for collaborative filtering of netnews[C]. Proceedings of ACM Conference on Computer Supported Cooperative Work, New York, USA: ACM Press, 1994. 175-186.
[4] Adomavicius G.,Tuzhilin A., Toward the next generation of recommender systems: a survey of the state of the art and possible extensions[J]. Knowledge and Data Engineering, IEEE Transactions, 2005, 17(6): 734~ 749.
[5] Oard, D.W. and Marchionini, G. A Conceptual Framework for Text Filtering, Technical Report CARTR-830, Human Computer Interaction Laboratory, University of Maryland at College Park,1996.
[6] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl. Item-based collaborative filtering recommendation algorithms[C]. Proceeding of the 10th International World Wide Web Conference, New York, USA: ACM Press, 2001. 285~ 295.
[7] 赵亮,胡乃静.个性化推荐算法设计[J]. 计算机研究与发展,2002,39(8): 986-991.
[8] Schafer, J. B., Konstan, J., and Riedl, J. Recommender Systems in E-Commerce. Proceedings of ACM E-Commerce, 1999.
[9] B. M. Sarwar, G. Karypis, J. A. Konstan, and J. Riedl. Application of dimensionality reduction in recommender systems-a case study. In ACM WebKDD Web Mining for E-Commerce Workshop, 2000.
[10] Schein A., Popescnl A., Ungar L., and Pennock D., Methods and metrics for cold-start recommendations, Proceedings of the 25th annual international ACM SIGIR conference on Research and development in information retrieval, 2002.
[11] Chirita P. A., Nejdl W., and Zamfir C., Preventing shilling attacks in online recommender systems[C]. Proceedings of ACM International Workshop on web Information and Data Management, New York, USA: ACM Press, 2005. 67~ 74.
[12] Burke R., Mobasher B.,Zabicki R., and Bhaumik R., Identifying attack models for secure recommendation[C]. In Beyond Personalisation Workshop at the International Conferece on Intelligent User Interfaces, 2005. 347-361.
[13] Burke R.,Mobasher B.,and Bhaumik R., Limited knowledge shilling attacks in collaborative filtering systems[C]. Proceedings of the 3rd IJCAI Workshop in lntelligent Techniques for Personalization, 2005.
[14] Burke R., Mobasher B., Williams C. and Bbaumik R., Segment-based injection attacks against collaborative recommender systems[C]. Proceedings of the International Conference of Data Mining, 2005. 577-580.
[15] Burke R., Mobasher B., Williams C., Bhaumik R., Classification features for attack detection in collaborative recommender systems[C]. Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, New York, USA: ACM Press, 2006. 542~ 547.
[16]Cai-Nicolas Ziegler, Jennifer Golbeck. Investigating interactions of trust and interest similarity,Decision Support Systems,2007,43(2),460-475.
[17] P. Massa and B. Bhattacharjee. Using trust in recommender systems: an experimental analysis[C]. Proceedings of Second International Conference on Trust Management, Springer Berlin, 2004, 221-235.
[18] J. O'Donovan, and B. Smyth, Trust in recommender systems[C]. Proceedings of the 10th international conference on Intelligent user interfaces. California, USA: 2005, 167-174.
[19] P. Massa and P. Avesani. Trust-aware collaborative filtering for recommender systems[C]. Proceedings of International Conference on Cooperative Information Systems, Agia Napa, Cyprus: 2004, 492-508.
[20] M. Papagelis, D. Plexousakis, and T. Kutsuras. Alleviating the sparsity problem of collaborative filtering using trust inferences. In Proceedings of iTrust 2005, 224-239, 2005.
[21] Z. Fuguo, X. Shenghua. Topic-level trust in recommender systems[C], Proceedings of 2007 International Conference on Management Science and Engineering, 2007.
2.