协同过滤.docx
《协同过滤.docx》由会员分享,可在线阅读,更多相关《协同过滤.docx(5页珍藏版)》请在冰豆网上搜索。
协同过滤
协同过滤(摘自:
维基百科,自由的百科全书)
2009年07月20日星期一16:
46
协同过滤(CollaborativeFiltering)简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐使用者感兴趣的资讯,个人透过合作的机制给予资讯相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选资讯,回应不一定局限于特别感兴趣的,特别不感兴趣资讯的纪录也相当重要。
协同过滤又可分为评比(rating)或者群体过滤(socialfiltering)。
其后成为电子商务当中很重要的一环,即根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个顾客其“可能喜欢的品项”,也就是借由社群的喜好提供个人化的资讯、商品等的推荐服务。
除了推荐之外,近年来也发展出数学运算让系统自动计算喜好的强弱进而去芜存菁使得过滤的内容更有依据,也许不是百分之百完全准确,但由于加入了强弱的评比让这个概念的应用更为广泛,除了电子商务之外尚有资讯检索领域、网络个人影音柜、个人书架等的应用等。
发展简史
以下兹就“协同过滤”发展历史上几个重要的里程碑做相关阐述
[编辑]Tapestry(1992)
这是最早应用协同过滤系统的设计,主要是解决Xerox公司在PaloAlto的研究中心资讯过载的问题。
这个研究中心的员工每天会收到非常多的电子邮件却无从筛选分类,于是研究中心便发展这项实验性的邮件系统来帮助员工解决这项问题。
其运作机制大致如下:
∙个人决定自己的感兴趣的邮件类型;
∙个人旋及随机发出一项资讯需求,可预测的结果是会收到非常多相关的文件;
∙从这些文件中个人选出至少三笔资料是其认为有用、会想要看的;
∙系统便将之记录起来成为个人邮件系统内的过滤器,从此以后经过过滤的文件会最先送达信箱;
以上是协同过滤最早的应用,接下来的里程碑为GroupLens。
[编辑]GroupLens(1994)
这个系统主要是应用在新闻的筛选上,帮助新闻的阅听者过滤其感兴趣的新闻内容,阅听者看过内容后给一个评比的分数,系统会将分数记录起来以备未来参考之用,假设前提是阅听者以前感兴趣的东西在未来也会有兴趣阅听,若阅听者不愿揭露自己的身分也可以匿名进行评分。
和Tapestry不同之处有两点,首先,Tapestry专指一个点(如一个网站内、一个系统内)的过滤机制;GroupLens则是跨点跨系统的新闻过滤机制。
再来,Tapestry不会将同一笔资料的评比总和起来;GroupLens会将同一笔资料从不同使用者得到的评比加总。
GroupLens具有以下特点:
∙开放性:
所有的新闻阅听者皆可使用,虽然系统委托BetterBitBureau设计给分的系统,但若有不同的评分机制也适用于GroupLens。
∙方便性:
给分并不是一件困难的事情且沟通上非常方便,评分结果容易诠释。
∙规模性:
有可能发展成大规模的系统,一旦发展成大规模,储存空间与计算成本问题显得相当棘手。
∙隐密性:
如果使用者不想让别人知道他是谁,别人就不会知道。
由此可以看出,现今网络各个推荐系统的雏形已然形成,在GroupLens之后还有性质相近的MovieLens,电影推荐系统;Ringo,音乐推荐系统;VideoRecommender,影音推荐系统;以及Jster,笑话推荐系统等等。
乃至于今日的YouTube、aNobii皆是相似性值得网络推荐平台,较不同的是经过时间推移,网络越来越发达,使用者越来越多,系统也发展得越来越严密。
[编辑]电子商务的推荐系统
最著名的电子商务推荐系统应属亚马逊网络书店(A),顾客选择一本自己感兴趣的书籍,马上会在底下看到一行“CustomerWhoBoughtThisItemAlsoBought”,亚马逊是在“对同样一本书有兴趣的读者们兴趣在某种程度上相近”的假设前提下提供这样的推荐,此举也成为亚马逊网络书店为人所津津乐道的一项服务,各网络书店也跟进做这样的推荐服务如台湾的博客来网络书店。
另外一个著名的例子是Facebook的广告,系统根据个人资料、周遭朋友感兴趣的广告等等对个人提供广告推销,也是一项协同过滤重要的里程碑,和前二者Tapestry、GroupLens不同的是在这里虽然商业气息浓厚同时还是带给使用者很大的方便。
以上为三项协同过滤发展上重要的里程碑,从早期单一系统内的邮件、文件过滤,到跨系统的新闻、电影、音乐过滤,乃至于今日横行互联网的电子商务,虽然目的不太相同,但带给使用者的方便是大家都不能否定的。
[编辑]优缺点
[编辑]优点
以使用者的角度来推荐的协同过滤系统有下列优点:
∙能够过滤机器难以自动内容分析的资讯,如艺术品,音乐等。
∙共用其他人的经验,避免了内容分析的不完全或不精确,并且能够基于一些复杂的,难以表述的概念(如资讯品质、个人品味)进行过滤。
∙有推荐新资讯的能力。
可以发现内容上完全不相似的资讯,使用者对推荐资讯的内容事先是预料不到的。
可以发现使用者潜在的但自己尚未发现的兴趣偏好。
∙推荐个性化、自动化程度高。
能够有效的利用其他相似使用者的回馈资讯。
加快个性化学习的速度。
[编辑]缺点
虽然协同过滤作为一推荐机制有其相当的应用,但协同过滤仍有许多的问题需要解决。
整体而言,最典型的问题有
∙新使用者问题(NewUserProblem)系统开始时推荐品质较差
∙新项目问题(NewItemProblem)品质取决于历史资料集
∙稀疏性问题(Sparsity)
∙系统延伸性问题(Scalability)。
[编辑]分类应用
[编辑]以使用者为基础(User-based)的协同过滤
用相似统计的方法得到具有相似爱好或者兴趣的相邻使用者,所以称之为以使用者为基础(User-based)的协同过滤或基于邻居的协同过滤(Neighbor-basedCollaborativeFiltering)。
方法步骤:
1.收集使用者资讯
收集可以代表使用者兴趣的资讯。
一般的网站系统使用评分的方式或是给予评价,这种方式被称为“主动评分”。
另外一种是“被动评分”,是根据使用者的行为模式由系统代替使用者完成评价,不需要使用者直接打分或输入评价资料。
电子商务网站在被动评分的资料获取上有其优势,使用者购买的商品记录是相当有用的资料。
2.最近邻搜索(Nearestneighborsearch,NNS)
以使用者为基础(User-based)的协同过滤的出发点是与使用者兴趣爱好相同的另一组使用者,就是计算两个使用者的相似度。
例如:
寻找n个和A有相似兴趣使用者,把他们对M的评分作为A对M的评分预测。
一般会根据资料的不同选择不同的算法,目前较多使用的相似度算法有PersonCorrelationCoefficient、Cosine-basedSimilarity、AdjustedCosineSimilarity。
3.产生推荐结果
有了最近邻集合,就可以对目标使用者的兴趣进行预测,产生推荐结果。
依据推荐目的的不同进行不同形式的推荐,较常见的推荐结果有Top-N推荐和关联推荐。
Top-N推荐是针对个体使用者产生,对每个人产生不一样的结果,例如:
透过对A使用者的最近邻使用者进行统计,选择出现频率高且在A使用者的评分项目中不存在的,作为推荐结果。
关联推荐是对最近邻使用者的记录进行关联规则(associationrules)挖掘。
[编辑]以项目为基础(Item-based)的协同过滤
以使用者为基础的协同推荐算法随着使用者数量的增多,计算的时间就会变长,所以在2001年Sarwar提出了基于项目的协同过滤推荐算法(Item-basedCollaborativeFilteringAlgorithms)。
以项目为基础的协同过滤方法有一个基本的假设”能够引起使用者兴趣的项目,必定与其之前评分高的项目相似”,透过计算项目之间的相似性来代替使用者之间的相似性。
方法步骤:
1.收集使用者资讯
同以使用者为基础(User-based)的协同过滤。
2.针对项目的最近邻搜索
先计算己评价项目和待预测项目的相似度,并以相似度作为权重,加权各已评价项目的分数,得到待预测项目的预测值。
例如:
要对项目A和项目B进行相似性计算,要先找出同时对A和B打过分的组合,对这些组合进行相似度计算,常用的算法同以使用者为基础(User-based)的协同过滤。
3.产生推荐结果
以项目为基础的协同过滤不用考虑使用者间的差别,所以精度比较差。
但是却不需要使用者的历史资料,或是进行使用者识别。
对于项目来讲,它们之间的相似性要稳定很多,因此可以离线完成工作量最大的相似性计算步骤,从而降低了线上计算量,提高推荐效率,尤其是在使用者多于项目的情形下尤为显著。
[编辑]以模型为基础(Model-based)的协同过滤
以使用者为基础(User-based)的协同过滤和以项目为基础(Item-based)的协同过滤统称为以记忆为基础(Memorybased)的协同过滤技术,他们共有的缺点是资料稀疏,难以处理大资料量影响即时结果,因此发展出以模型为基础的协同过滤技术。
以模型为基础的协同过滤(Model-basedCollaborativeFiltering)是先用历史资料得到一个模型,再用此模型进行预测。
以模型为基础的协同过滤广泛使用的技术包括LatentSemanticIndexing、BayesianNetworks…等,根据对一个样本的分析得到模型。
[编辑]未来发展
Item-based的推荐算法能解决User-based协同过滤的一些问题,但其仍有许多问题需要解决,最典型的有稀疏问题(Sparsity)和冷开始问题(Cold-start),开始时效果较差。
此外还有新使用者问题和算法健壮性等问题。
协同过滤作为一种典型的推荐技术有相当的应用,目前很多技术都是围绕协同过滤而展开研究的。
[编辑]参考资源
∙PaulResnick,NeophytosIacovou,MiteshSuchak,PeterBergstrom,JohnRiedl,GroupLens:
anopenarchitectureforcollaborativefilteringofnetnews,ComputerSupportedCooperativeWork,pp175-186,ChapelHill,NorthCarolina,1994.
∙Balabanovic&Shoham,1997;Mobasheretal.,2000;Yangetal.,2004
∙F.Heylighen,CollaborativeFiltering,http:
/pespmc1.vub.ac.be/COLLFILT.html
∙Breese,J.S.,Heckerman,D.,Kadie,C.:
Empiricalanalysisofpredictivealgorithmsforcollaborativefiltering.In:
FourteenthConferenceonUncertaintyinArtificialIntelligence,Madison,WI(1998)
∙郑秀华、廖婉菁、吴肇铭,线上商品推荐系统之研究-协同过滤机制之应用AStudyforOn-lineCommodityRecommendationSystem:
ACaseofCollaborativeFiltering,中原资管所
∙Jung,Seikyung,Designingandunderstandinginformationretrievalsystemsusingcollaborativefilteringinanacademiclibraryenvironment,OregonStateUniversity,2007.
∙DavidGoldberg,DavidNichols,BrianM.Oki,andDouglasTerry,Usingcollaborativefilteringtoweaveaninformationtapestry,CommunicationsoftheACM,Volume35,Issue12,pp61-70,1992.
∙韩双福,应用协同过滤机制于商机撮合电子报之研究-以食品业电子市集为例,中原大学资讯管理学系硕士论文,民国92年7月。
∙彭恺翔,以语音为基础之情境认知虚拟行动设群,天主教辅仁大学资讯管理学系硕士论文,民国91年6月。
∙冯文正,合作式网站推荐系统,陀利交通大学资讯科学研究所,民国89年。
∙蔡登、卢增祥、李衍达,信息协同过滤,计算机科学,第29期,页1~页4,2002年。
∙推荐系统:
主要推荐方法