推荐系统综述推荐系统推荐系统概述推荐系统的应用推荐系统的产生与发展推荐算法推荐系统的评判标准推荐系统的评测标准数据集推荐系统的重点、难点问题推荐系统研究发展的热点方向结论推荐系统概述互联网规模和覆盖面的迅速增长带来了信息超载(informationoverload)问题:过量信息同时呈现使得用户无法从中获取对自己有用的部分,信息使用效率反而降低。现有的很多网络应用,如门户网站、搜索引擎和专业数据索引本质上都是帮助用户过滤信息的手段。然而这些工具只满足主流需求,没有个性化的考虑,仍然无法很好地解决信息超载的问题。推荐系统概述对于搜索引擎来说,用户在搜索互联网中的信息时,需要在搜索引擎中输入“查询关键词”,搜索引擎根据用户的输入,在系统后台进行信息匹配,将与用户查询相关的信息展示给用户。但是,若用户无法想到准确描述自己需求的关键词,搜索引擎就变得无能为力。推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为来对用户的兴趣进行建模,从而主动给用户推荐可能满足他们兴趣和需求的信息。搜索引擎和推荐系统对用户来说是两个互补的工具。推荐系统与搜索引擎的区别推荐系统与以搜索引擎为代表的信息检索(informationretrieval)系统的区别:搜索推荐注重结果(如网页)之间的关系和排序还研究用户模型(userprofile)和用户的喜好,基于社会网络(socialnetwork)进行个性化的计算(personalization)由用户主导,包括输入查询词和选择结果,结果不好用户会修改查询再次搜索。由系统主导用户的浏览顺序,引导用户发现需要的结果。高质量的推荐系统会使用户对该系统产生依赖。推荐系统不仅能够为用户提供个性化的服务,而且能够与用户建立长期稳定的关系,提高用户忠诚度,防止用户流失。推荐系统概述随着互联网的发展,把线下的推荐模式搬到线上成了大势所趋,大大扩展了推荐系统的应用:亚马逊的商品推荐,Facebook的好友推荐,Digg的文章推荐,豆瓣的豆瓣猜,Last.fm和豆瓣FM的音乐推荐,Gmail里的广告......在如今互联网信息过载的情况下,信息消费者想方便地找到自己感兴趣的内容,信息生产者则想将自己的内容推送给最合适的目标用户。推荐系统正充当了这两者的中介,一箭双雕解决这两个难题。推荐系统(recommendersystem)作为一种信息过滤的重要手段,是当前解决信息超载问题的非常有潜力的方法。推荐系统的应用近几年,随着B2C(Business-to-Customer)电子商务的蓬勃发展,推荐系统在互联网中的优势地位也越来越明显。在国际方面,比较著名的电子商务网站有Amazon和eBay,其中Amazon平台中采用的推荐算法被认为是非常成功的。在国内,比较大型的电子商务平台网站有淘宝网(包括天猫商城)、京东商城、当当网、苏宁易购等。在这些电子商务平台中,网站提供的商品数量不计其数,网站中的用户规模也非常巨大。据不完全统计,天猫商城中的商品数量已经超过了4000万。在如此庞大的电商网站中,用户根据自己的购买意图输入关键字查询后,会得到很多相似的结果,用户在这些结果中也很难区分异同,用户也难于选择合适的物品。于是,推荐系统作为能够根据用户兴趣为用户推荐一些用户感兴趣的商品,从而为用户在购物的选择中提供建议的需求非常明显。目前比较成功的电子商务网站中,都不同程度地利用推荐系统在用户购物的同时,为用户推荐一些商品,从而提高网站的销售额。电商推荐案例——亚马逊推荐系统的应用另一方面,智能手机的发展推动了移动互联网的发展。在用户使用移动互联网的过程中,其所处的地理位置等信息可以非常准确地被获取。基于此,国内外出现了大量的基于用户位置信息的网站。国外比较著名的有Meetup和Flickr。国内著名的有豆瓣网和大众点评网。例如,在大众点评这种基于位置服务的网站中,用户可以根据自己的当前位置搜索餐馆、酒店、影院、旅游景点等信息服务。同时,可以对当前位置下的各类信息进行点评,为自己在现实世界中的体验打分,分享自己的经验与感受。当用户使用这类基于位置的网站服务时,同样会遭遇“信息过载”问题。推荐系统可以根据用户的位置信息为用户推荐当前位置下用户感兴趣的内容,为用户提供符合其真正需要的内容,提升用户对网站的满意度。社交推荐案例——豆瓣推荐系统的应用随着社交网络的兴起,用户在互联网中的行为不再限于获取信息,更多的是与网络上的其他用户进行互动。国外著名的社交网络有Facebook、LinkedIn、Twitter等,国内的社交网络有新浪微博、人人网、腾讯微博等。在社交网站中,用户不再是单个的个体,而是与网络中的很多人具有了错综复杂的关系。社交网络中最重要的资源就是用户与用户之间的这种关系数据。在社交网络中,用户间的关系是不同的,建立关系的因素可能是现实世界中的亲人、同学、同事、朋友关系,也可能是网络中的虚拟朋友,比如都是有着共同爱好的社交网络成员。在社交网络中,用户与用户之间的联系反映了用户之间的信任关系,用户不单单是一个个体,用户在社交网络中的行为或多或少地会受到这些用户关系的影响。因此,推荐系统在这类社交网站中的研究与应用,应该考虑用户社交关系的影响。推荐系统的应用同时,推荐系统正在向零售网站以外的领域拓展:大学用它们来引导学生选课,移动电话公司靠它们来预测哪些用户有可能转投另一家供应商,会议主办方也测试过用它们来分配论文给审稿专家。推荐系统的产生与发展推荐系统这个概念是1995年在美国人工智能协会(AAAI)上提出的。当时CMU大学(美国宾州的卡内基梅隆大学CarnegieMellonUniversity)的教授RobertArmstrong提出了这个概念,并推出了推荐系统的原型系统——WebWatcher。在同一个会议上,美国斯坦福大学的MarkoBalabanovic等人推出了个性化推荐系统LIRA1。1996年,Yahoo网站推出了个性化入口MyYahoo,可以看作第一个正式商用的推荐系统。21世纪以来,推荐系统的研究与应用随着电子商务的快速发展而异军突起,各大电子商务网站都部署了推荐系统,其中Amazon网站的推荐系统比较著名。有报告称,Amazon网站中35%的营业额来自于自身的推荐系统。2006年,美国的DVD租赁公司Netflix在网上公开设立了一个推荐算法竞赛——NetflixPrize。Netflix公开了真实网站中的一部分数据,包含用户对电影的评分。Netflix竞赛有效地推动了学术界和产业界对推荐算法的研究,期间提出了很多有效的算法。近几年,随着社会化网络的发展,推荐系统在工业界广泛应用并且取得了显著进步。比较著名的推荐系统应用有:Amazon和淘宝网的电子商务推荐系统、Netflix和MovieLens的电影推荐系统、Youtube的视频推荐系统、豆瓣和Last.fm的音乐推荐系统、Google的新闻推荐系统以及Facebook和Twitter的好友推荐系统。学术界对推荐系统的研究在学术界,自20世纪90年代中期出现第一批关于协同过滤的文章[1−3]以来,推荐系统在电子商务、网络经济学和人类社会学等领域一直保持很高的研究热度并逐渐成为一门独立的学科。各种推荐算法涵盖包括认知科学、近似性理论、信息检索、管理科学、市场营销建模等在内的众多研究领域。国际数据分析领域的高阶期刊(如IEEETrans.onKnowledgeandDataEngineering,ACMTrans.onInformationSystem等)刊载数篇推荐系统方面的文章。[1]ShardanandU,MaesP.Socialinformationfiltering:Algorithmsforautomating“WordofMouth”.In:Proc.oftheConf.onHumanFactorsinComputingSystems.NewYork:ACMPress,1995.210−217.[2]HillW,SteadL,RosensteinM,FurnasG.Recommendingandevaluatingchoicesinavirtualcommunityofuse.In:Proc.oftheConf.onHumanFactorsinComputingSystems.NewYork:ACMPress,1995.194−201.[3]ResnickP,IakovouN,SushakM,BergstromP,RiedlJ.GroupLens:Anopenarchitectureforcollaborativefilteringofnetnews.In:Proc.oftheComputerSupportedCooperativeWorkConf.NewYork:ACMPress,1994.175−186.学术界对推荐系统的研究从1999年开始,美国计算机学会每年召开电子商务研讨会(ACMConferenceonElectronicCommerce,ACMEC),越来越多的与推荐系统相关的论文发表在ACMEC上。ACM信息检索专业组(ACMSpecialInterestGroupofInformationRetrieval,ACMSIGIR)在2001年开始把推荐系统作为该会议的一个独立研究主题。同年召开的人工智能联合大会(The17thInternationalJointConferenceonArtificialIntelligence)也将推荐系统作为一个单独的主题。最近的10年间,学术界对推荐系统越来越重视。目前为止,数据库、数据挖掘、人工智能、机器学习方面的重要国际会议(如SIGMOD、VLDB、ICDE、KDD、AAAI、SIGIR、ICDM、、ICML等)都有大量与推荐系统相关的研究成果发表。同时,第一个以推荐系统命名的国际会议ACMRecommenderSystemsConference(ACMRecSys)于2007年首次举办。在近几年的数据挖掘及知识发现国际会议(KDD)举办的KDDCUP竞赛中,连续两年的竞赛主题都是推荐系统。在KDDCUP2011年的竞赛中,两个竞赛题目分别为“音乐评分预测”和“识别音乐是否被用户评分”。在KDDCUP2012年的竞赛中,两个竞赛题目分别为“腾讯微博中的好友推荐”和“计算广告中的点击率预测”。学术界对推荐系统的研究信息领域做推荐系统领先的研究单位(学者)包括:•纽约大学(AlexanderTuzhilin)•明尼苏达州立大学的GroupLens研究小组(JosephA.Konstan,JohnRiedl等)JosephA.Konstan和JohnRiedl都是美国明尼苏达大学的计算机科学教授。身为IEEE高级会员的Konstan和IEEE会士的Riedl参与创建了MovieLens推荐系统。•美国密歇根大学(PaulResnick)•卡内基梅隆大学(JaimeCallan)•微软研究院(RyenW.White)等•其中,美国密歇根大学在2006年开授了由PaulResnick主讲的推荐系统的课程。推荐系统的概念目前被广泛引用的推荐系统的非形式化概念是Resnick和Varian[8]在1997年给出的:[8]ResnickP,VarianHR.Recommendersystems.CommunicationsoftheACM,1997,40(3):56−58.——“它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程”。推荐有3个组成要素:推荐候选对象、用户、推荐方法。•用户可以向推荐系统主动提供个人偏好信息或推荐请求,或者用户不提供,而是推荐系统主动采集。•推荐系统可以使用不同的推荐策略进行推荐,如将采集到的个性化信息和对象数据进行计算得到推荐结果,或者直接基于已建模的知识数据库进行推荐。•推荐系统将推荐结果返回给用户使用。推