裔燕磷誊遗展 第19卷第1期2009年1月
*专
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
评述*
个性化推荐系统的研究进展*
刘建国1’2 周 涛1’2 汪秉宏h3“
1。孛霹辩学技术大学,避{℃粝瑾系。建论物瑾舔究辑,舍怒230026;2。DepartmentofPhysics。UniversityofFribourg+Switzerland,CH-1700;
3.上海系统科学研究院复杂适廊系统研究所,上海理工大学,上海200093
接受 互联躅技寒戆遨猛发震恕我稍带迸了信惠爆烽翡时代。海璧信患豹愆晴呈现,一方垂使溪
户很难从中发现自己感兴趣的部分,另一方面也使得大量少人问津的信息成为网络中的“暗信
息”,无法被一般用户获取.个性化推荐系统通过建立用户与信息产品之间的二元关系,利用已有
酶邃择过程我糖似缝关系携掘每个簿户潜在感兴趣懿对象,递秀遂行个性亿推荐,箕本蓑就是僖
息过滤.个性化推荐系统不仅在社会经济中具有重要的应用价值,而且也楚一个非常值得研究的
科学问题。事实上,它怒目前解决信息过载问题最有效的工具.文中根据推荐算法的不同,分别介
绍了协蘸过滤系统,基于蠹客酶推荐系统,混合推荐系统,软及簸近兴起秘基予震户一产蕞二部
图网络结构的推荐系统.并结合这些推荐系统的特点以及存在的缺陷,提出了改进的方法和未米
可能的若于研究方向.推荐系统的研究受到了信息科学、计算数学、统计物理学、认知科学等多学
翳秘关注,它鸯管理稃学、清费行为等研究也密切福关。琵够荛不嚣学稃领域鹭辩磺王俸者磷究
推蒋系统提供借鉴,有励于我国学者了解该领域的主要进展.
关键溺 捺蓉系统令镶谨推荐{蠡鬻过滤蒸乎肉容豹攘襻基于弱绦懿推荐
随蒋Internet的迅猛发展,接入Internet的服
务器数鬃鞠wofl纛一wide.Web上酶圈炙既数蟊都璺
现出指数增长的态势.互联网技术的迅速发展使得
大量的信息同时肇现在我们飚前,例如,Netflix上
有数万部电影,Amazon上有数嚣万本豢,
Del.icio.US上面有超过10亿的网页收藏,如此多
的信息,别说找到自己感兴趣的部分,即使是全部
满觉一遍也是不可麓的。传统的搜索算法只能呈现
给所有的用户一样的排序结果,无法针对不同用户
的兴趣爱好提供相应的服务.信息的爆炸使得信息
的秘麓攀反悉降低,这稃现象被褥之隽蔫怠超载。
个性化推荐,包括个性化搜索,被认为是当前解决
信息超载问题最有效的工具之一.推荐问题从根本上
说就是代替用户评估它从朱看过的产品Ll-5].这些产
品袋括书、电影、CD、阏茭、甚至可浚是饭鹾、音
乐、绘l田j等等~是一个从已知到朱知的过程.
个性化推荐研究直到20世纪90年代才设作为
一个独立的摄念挺爨寒Ll,zj.最近的遂猛发爱,来源
于Web2.0技术的成熟.有了这个技术,用户不再
是被动的网页浏览者,ifii是成为主动参与者[3].在
一个实际的掺荐系统中需要捧荐酶产瑟霹麓会有成
千上万,甚毯超过百万,例如Amazon,eBay,
Youtube等,用户的数因也会非常巨大.准确、高
效的推荐系统霹泼挖掘掰户潜在鹩消费{囊离,为众
多的用户提供个性化服务.在日趋激烈的竞争环境
下,个性化攥荐系统已经不仅仅怒一种商业营销手
2008~06—23收稿,2008—07—09收修改稿
*周窳康点基础研究发展计划(批准号:2006CB705500)和国家r1然科学基会(批准号;10635040,60744003,10532060,10472116)资助项目
**逶壤传者,E-mail:bhwang固ustc.edu。en
万方数据
2 蠹翌箨謦遥晨 第19卷第l翔2009年l胃
段,更燕要的是可以增进用户的黏着性.个性化推
荐系统已经绘电子商务领域带来巨大的商监奢j菔。
据VentureBeat统计,Amazon的推荐系统为其提
供了35%的蠢品销售额.尽管现有的推荐系统已经
在电子游务等领域取缮了巨大的成功,但是还需要
在不同领域研究人员的努力下进一步完善和发
展[s].一个典型的例子就是Netflix开出100万美元
的奖金。奖励给麓把他们阏站的产品推荐精确艘提
高10%的人.Netflix的竞赛只是从推荐准确性的角
度
评价
LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载
算法,事实上,还有很多的评价指标可以度量
推荐算法的
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
现,因此也可以跌多个角瘦对算法进行
改进.肖然,无论从哪个角度改进,都需要从整体人
手对搀荐系统的体系结构有一个完整的认识.
一个完整的推荐系统由3个部分组成:收集用
户信息的行为记录模块,分析用户喜好的模型分析
模块和捺荐算法模块。行为避录模块受责记录髑户
的喜好行为,铡如问答、评分、购买、下载、测览
等.问铸和打分的信息相对好收集,然而有的用户
不愿意离系统提供这些信息,那么就需要逶过其德
方式对用户的行为进行分析,例如购必、下载、浏
览等行为.通过这些用户的行为记录分析用户的潜
在喜好产品霸喜欢程度。这就是模型分辏模块要完
成的工作.模型分析模块的功能能够对朋户的行为
记录进行分析,建立合适的模型来描述用户的喜好
簧息。最后是推荐算法模块,剥耀蘑台的推荐葵
法,实时地从产晶集合中筛选出用户感兴趣的产品
进行推荐.其中,掭荐算法模块是推荐系统中最为
核心戆郝分.
本文简要介绍一些文献和实际系统中采用的推
荐算法和不同类型的推荐系统.根据推荐算法的不
曩,雄荐系统可黻分秀如下咒类:貉阐过滤(col—
laborativefiltering)系统;基于内容(content—based)
的推荐系统;混合(hybrid)推荐系统以及最近兴超
鹩墓予鼹声一产瑟二部图网绦结构(network-based)
的推荐系统.最后,我们将指出这些系统存在的缺
陷和未来可能的若干研究方向.
1协同过滤系统
协网过滤系统是第一代被提出并褥到广泛应用
的接荐系统.其核心思想可以分为两部分:首先,
是利用用户的历史信息计算用户之间的相似性;然
后,利用与睡标用户相似性较赢的邻居对其他产品
的评价来预溯目标用户对特定产龉的喜好獠度.系
统根据这一喜好程度来对目标用户进行推棒.协同
过滤维荐系统最大的优点是对掺荐对象没蠢特殊的
要求,能处理音乐、电影等难以进行文本绪构化表
示的对象.
协同过滤系统是嚣虢应用最为广泛的个性化推
荐系统,其中Grundy被认为是第一个投入应用的
协同过滤系统f6].Grundy系统可以建立用户必趣模
型,利用模型给每拿簏户推荐榛荚的书籍。Tapes-
try邮件Ho处理系统人工确定用户之间的相似度,
随着用户数域的增加,其T作量将大大增加,而且
准确囊也会大打辑蠢。GroupLens强‘建立鬻户信患
群,群内的用户可以发布自己的俯息,依据社会信
息过滤系统计算用户之间的相似性,进而向群内的
其绲麓户进行协同搀荐.RingoE9】利焉裰磷的社会
信息过滤方法向用户进行音乐推荐.其他利用协同
过滤方法进行推荐的系统还有Amazon.corn的书籍
推荐系统Llo』,Jester的笑话接荐系统曩引,Phoaks
的wwW信息推荐系统【l引,等等.
协同过滤掺荐系统的算法可以分为蕊类:基于记
忆(memoD--based)H卜强。的和基于模型的(model-based)
的算法[1620|.基于记忆的算法根据系统中所有被打过
分觞产品信息进行预测。设C=‰,龟,⋯,fN}为难
户集合,S={s,,s:,⋯,sM}为所有的产15舂集合.
设一.;为用户C对产品s的打分,这个打分是不知道
的,霭要通过算法去预测。在协网过滤系统中,薅
户f对产品s的打分r。通过其他用户对s的打分计
算丽得到.设e为与用户c相似度比较高的用户
集,预测t.,的函数形式有:
‰一志∑%,
}∈e
Yc,s=詹∑sim(c,e)·‰
。∈己
(1a)
(1b)
‘,;=尹,÷焘∑sim(e,。)·(如.,一尹,>(1e)
。∈0
其巾是隽一个
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
诧因子,通常蠢一1/∑tsim(c,£)l,
}∈孝
sim(i,歹)表示用户i和J之间的相似性.用户C的平均
万方数据
自显科营建屋 第19卷第1期2009年1月 3
打分广,怒义为尹。一(1/kI)>k∥其中S。={s∈
西
Sl_。,≠0}。魏公式(1a>新示,最篱单的计算方法就
是直接计算邻居打分的平均僚.然而,最常用的计算
方法却楚加权平均(掩),其中sim(c,e)为用户f和f
的稠戳後.如栗焉户f裙f越像,疋.,将有更大的权蓬
用于预测,_。.由于(1b)应用了标准化因子k,因此
(1b)可以用于计算不同的推荐系统中的用户相似性
度量.应耀<硌)时,尽管使用了棚权稀,但是并没荐
考虑不同用户的评价尺度不~样的问题.(1c)通过
只考虑不同用户平均喜好程度的偏差,克服了评判
尺度不一致的缺点,一般悉育舆有院(1b)更高静精
确度.偏好过滤【21-z4]是另一个克服用膨打分尺度不
一的方浚.该方法注重于预测用户的相对偏好,耐不
是评分绝对值.
协同过滤系统中已经采用了很多种方法计算用
户之闻的相似度[1,9,13,25--28]。这些算法巾,大部分都
是基于用户对共同喜好产品的打分。瑟个最常矮的
方法是Pearson相关性和夹角余弦,它们都定义用
户童稻y共同订避分的产品集合为:S。=SnS,.
基于图论的方法【2朝可以不用计算所有掰户Y的S。
而直接确定z的最近邻.用户z和Y之间的Pear—
SOB摆关性定义为H剖
∑(‘.,一尹,)(r,,,一ry)《《删净茬导霞i
筒在夹角余弦方法中‘ls,zs],用户z和Y都用m缭商
量表示,两个向镀之间的相似性可以通过计算它们
之阀的余弦蓥得到
sim(圳)-cos“∥2丽簧硫一
∑k6,,—兰兰兰== (3)
√影”;砂,
其中工·Y表示两个向量的点积.不同的系统可以
采用不同的相似性计算方法以使得预测评分结果尽
可畿准确.塞予爝户的兴趣耱爱好燕随时闻变化
的,所以一个普遍采用的策略就是提前计算所有用
户的耀似性sim(x,歹),隔一段时阊进行一次更薪.
用户需要推荐时,可以用事先计算好的裰儆性结果
进行有效推荐.
许多改进樊法已经被广泛研究并且应用到标准豹
福关性计算和央角余弦公式中。例如缺席投票(default
voting),事例引申(caseamplification)【l副和加权优势
预测n如强3等.麓中,缺鬻投票是基予记忆方法的一种
扩展.如果用户明确评分的产品数豳很少,上面提到
的算法得到的用户相似度都不准确.原因在于这种相
似髅鳇计算是鏊予用户搿稳Y共圈评过分的产晶集
合。实证数据袭明,如果给一些没有打分的产品赋予
一嫂缺省的打分值,那么预测分数的准确性将大幅度
提遗‘ls.zs]。Sarwar等。铂提枣应矮糊关牲纛夹角余弦
方法计算产品之间的相似性.这个思想被Deshpande
和Karypis推广到基于产品相似性的top-N推荐算法
中[sol,郄在避行维荐的时候哭考虑穰觳疫最高的茂
个产品,并j睁所有的产品.实验证明这种方法不仅比
传统的基于用户邻居的推荐算法快1—2个数量级,
焉麓其骞更好的推荐准确性.Chen纛Cheng£27j稠建
用户产品列表中的先后次序计算用户之间的相似性,
排名靠前的产品在计算用户相似性的时候具有较高的
权燕.而Yang襁Gu强8j挺滋利用臻户的行秀信息梅
建用户的兴趣点,利用兴趣点计算用户之间的相似
性.实验证明,这种方法比经典的协同过滤算法的推
荐结果要好.文献E25,303的结纂表嗳基予产品穗
似性的算法能够比基于用户相似性的算法得到更好的
计算结果.
基于模燮的算法收集打分数据迸行学霹势推敝
用户行为模型,进而对某个产品进行预测打分.基
于模型的协溺过滤算法和基于记忆的算法的不同在
予,基于模型的方法不是基于一魃肩发规爱ll进行预
测计算,而是基于对已有数据应用统计和机器学习
褥到的模型进行预测。Breese等¨30提出一个基于概
率的协同过滤算法,其计算打分的公式如下
以,;一E(‘。;)=∑i×Pr<‘。,一ilrc,Jf《sf)
£;0
(4)
上式假设抒分篷为0到携之阚的整数篷。概率&表
万方数据
4 甓.婪碡学建囊 第19卷第l期2009年l胃
示基予用户以前的打分,用户要给产品s打指定分
数的概率.为了结计概率,Breese等”3】提蠢了黼个
选择概率模型:聚类模型和Bayes网络.在第一个
模型巾,假设用户的打分彼此独立,偏好楣似的用
户聚集戒类,给定餍户类鹃标号。豢Bayes阑络
中,类的数量和模型参数可以从已有数据中学习得
到.Bayes网络中的点由一个领域曩的产品表示,
点的状态对应着每个产品豹打分值.网络的结构和
条件概率从已有数据中学习得到.这个方法的缺陷
就是每个震户只簏属于一个类,丽一嫂撰荐系统申
如果掰户可以属于多个类或许会更好一些.
其他基于模型的协同过滤推荐系统有概率相关
模型[1引,极大熵模型L20j,线性回归日引,摹于聚类
豹Gibbs抽样算法”“,Bayes模型∽引,等等.最
近,大缀的研究试图从更复杂的概率模型中建立推
荐过程模型。例如,Shani等|33l把推荐过程看做基
于MarkOV决策过程的序剐决策过程,利用已有信息
预测用户以后的喜好产品的概率,在找到相应的产品
进行捧荐。其他的概率模型技术包括概率潜层语义分
析Li乳34’35i,语义生成模氆(aspectmodel)Li9j.另外,
Kumar瓣f361用一个简单的概率模型说明每个用户
稷对小的数据在协同过滤审是菲常蓬要的。Yu
等∞73从输入数据处理的角度提冉了改进协同过滤的
其他方法,包括除噪音技术,选择用户打分集技
术,冗余度分橱翻打分数据懿耀蕊性处理等。数德
结果硅示这些方法可以提高麟于模型的协同过滤算
法的准确性和效率.Yu等f37]还提出_『输入选择技
本,可以解决基于模型的算法篱要对大黢模数据进
行学习的问题.Manouselis和CostopoulouL3轧掇出
了多准则协同过滤推荐系统,可以对具有多重衡最
掺稼懿产瑟送行维荐。Chen等口副提溅了群律协囝
过滤推荐系统,该系统对群体而非个人进行推荐.
总结起来,协同过滤系统因为有以下的优点,
在实际系统孛褥到了广泛的疲蔫。
(1)具有推荐新信息的能力,可以发现用户潜
在的但自己尚未觉察的兴趣偏好.
(2)麓够嫠荐艺术晶、齑乐、电影等难缓进行
内容分析的产品.
虽然协同过滤推荐系统得到了广泛的应用,但
是氇匿瞄缀多闻题,爨熬如簿砖薪臻户进行雅荐或
如何推荐新产品给用户(冷确动问胚),打分稀疏性
问题,算法可扩展性阍题等。另外,基于用户的协
同推荐算法隧着耀户数挺的增多,计算量成线性粕
大,其性能会越来越差.因此有的捧荐系统采用基
予产品相似性的协同过滤算法,在产品的数壤糨对
稳定的系统中,这种方法是很有效的,侧如Ama—
zon的书籍推荐系统[10|.但是对于产品数量不断增
加憋系统,例如Del。lici。US系缝,这种方法是不适
用的.在Web应用中,响应速度是影响用户体验最
重疆因素之一,这极大地限制了基于用户的协同过
滤技术在交际系统中的使矮。Amazon更多建使壤
了基于产品的协同过滤技术,而且随着Amazon的
成功,基于产品的方法也大为流行起来.
2基于内容的推荐系统
历史上,最初的基于内容的推荐(content—based
recommendation)是协同过滤技零薛延续与发展,
它不需要依据用户对项目的评价意见,而魑依据用
户已经选择的产品内容信息计算用户之间的相似
性,送两送行裰应的攒荐。随善撬器学零等技术的
完善,当前的基于内容的推荐系统可以分别对用户
和产品建立酉已置文件,通过分析匕经购买(绒浏览)
避的内容,建立或更薪臻户的配嚣文件。系统霹缓
比较用户与产品配置文件的相似度,并直接向用户
推荐与其配鼹文件最棚似的产品.例如,柱电影推
荐中,基于内容的系统蓠先分析用户已经褥过的打
分比较高的电影的共性(演员、导演、风格等),再
推荐与这些用户感兴趣的电影内容相似度赫的其他
电影.基予内容的推荐算法静根本在予信息获
取“0’4¨和信息过滤[42].因为在文本信息获取与过滤
方露的研究较为成熟,薄|!有很多基于内容的推荐系
统都是通过分析产品的文本信息进行推荐.
在信息获取中,表征文本最常用的方法就TF-
IDF方法[4¨,该方法的定义如下:设舂N个文本文
件,关键词壹;在理i个文件中出现,设,l,为关键词
愚。在文件d,中出现的次数,那么惫;在d,巾的词频
丁F。定义为
阡“一上maxzf,j (5)
其中分母的最大值可以通过计算以中所有关键词
万方数据
自.美舛誊建展 第19卷第1期2009年1月 5
k:的频率得到.在许多文件中同时出观的关键阋对
子表示文件的特性,区分文体的关联性是没有贡献
的.因此7■与这个关键词在文件巾出现数的逆
(IDF,)一起使用,IDF,的定义为
IDF,:109塑 (6)
7"/f
那么,一个文搏d,哥羧表示走向量《j=(w"
讹,,⋯,‰),熟中
韬a=去;。g罢 (7)
设Content(s)为产品S的配鬣文件。也就是一些描
述产瑟s特性的游缝集合.遴鬻Content(5)可以袄
产品的特征描述叶1提取计算得到.在大多数的燕子
内容的推荐系统中,产品的内容常常被描述成关键
溺——&b系统镰3j就是一个鬓型的例子.Fab燕一
个网页推荐系统。系统中用~个网戚中最重要的
100个关键词来表征这个网照.Syskill和Webert系
统Hq溺128个信患鼍最多酶递表示一个文件。綦子
内容的系统推荐与用户过去喜欢的产融最为相似的
产品[4345],即不问候选产晶与用户已经选择的产品
进行对比,稚荐隧配度最好的产品。或者直接秘滗
户推荐与用户配谶文件最为相似的产晶.设User-
Profile(c)为耀户c的配置义{牛,UserProfile(f)可
以用向量(Wc,,Wc,,⋯,‰)表示,冀中每个分鼙
‰表示关键词ki对用户c的重要性.用户和产品都
可以利用TF—IDF公式表示为职和桫;,在基于内昝
的系统中,rc.;常被定义为;
rf,,一score(UserProfile(c),Content(s)).(8)
以.,可以利用向量w,和'I,,表示成一个德,例如爽角
余弦方法[40,41]:
心。,2c。s(毗,眠)2币i肓赢(9)
除了传统的基予僚怠获取酶推荐方法之终,一些实
际系统中还采用了其他技术,例如Bayes分
类Ⅲ一4引、聚类分析、决策树、人丁神经网络m3等。
这些算法不同予基子信息获取方法酶施方在予,算
法不是基于~个函数公式来进行推荐,而是利用统
计学河翻规器学习技本从已有的数据中通过分析褥
到模氆,基于模型进行推荐.例如,利塥Bayes分
类器对网页进行分类¨44引.这种分类器可以用来估
计一个网页p,属于某个类C:的概率。给瘩这个网
页中的关键溺矗”k”⋯,k埘,得到这謦关键词
属于C,类的概率.虽然关键词彼此相互独立的假设
条{譬很不切实际,毽是这静分类方法在实踩系统中
仍然有高的分类准确率一引.
基于内容的推荐系统中,用户的配置文件构建
与更薪是其孛最为核心的郝分之一,也是爨蕊研究
入员关注的焦点.例如Somlo和HoweH7]以及
Zhang等[48j提出了利用自适应过滤技术更新用户配
置文馋。首先,翻j疆羽户的喜好髂息褥建配篷交件,
把用户的兴趣点归纳为几个主题文件.进而在连续
的web文件流巾依次对比Web的文本内容与主题
文佟的援叛魔,选弹性媲把孝翼皴凌较毫的Web曩示
给用户并更新用户的配置文件.进一步地,Robert—
son和WalkerL4引以及Zhang等【50]在自适应过滤的
基礁上提毒了最佳篷酝度阚夔没定算法.蒜先还是
在崩户的配黢文件巾建立一螳问题集,系统利用已
有数据与用户配置文件相似度的概率分布确定一个
最健阈菹,襞得系统可以最大程度缝逸分与雳户酶
配缀文件相关和不相_炎的文件.贝有与用户配置文
件的相似度火于最佳阈值的文件才能影响到用户配
置文律戆更薪.这耪方法不莰霹以进一步掇惑算法
的精确性,而且可以大大提高系统的运行效率.
通常用户的配置文件都是由一些关键词表示,
熟采稍爨匿论翡索弓l方法毒滚节约存储夺闻。然
而,当用户的兴趣爱好发生改变的时候,配置文件
更新的代价是很大的.Chang等L5¨通过区分长期感
兴趣与短期感兴趣的关键词,赋‘≯短囊感兴趣的关
键词更高的权重,在此基础上建立新的关键词更新
树,从而大大减少了更新配置文件的代价.
Degemmis等b朝代替传统鲍基予荚键词懿方法,稠
用WordNet构建基于语义学(semasiology)的用户
配置文件,配置文件通过机器学习和文本分类算法
褥绷,垂嚣氛含了矮户罄好酶语义信患,两不仅仅
是一个个关键词.在基于内容的协同过滤系统上的
实验结果表盟,这种方法建立的配置文件可以大大
提高推荐的准确性.AdROSA广裔推荐系统∞列藕焉
万方数据
6 氢釜辞营建晨 第19卷第1期2009年{胃
用户注册信息构建配置文件,并且娜入用户的lp地
址,浏览习惯等信息.该配置文件与Web的内容信
息进行匹配分析,相似性最高的Web被推荐给用户.
自动获取或疑毂用户配置文件的方法需要在配
置文律的准确性襁易更新性方面我到平衡.磴确她
捕捉用户喜好信息需要大鬣的计算资源,更新速度
穗应也馒很多。反过来,如果更薪速度快,就要棰
牲其穗确性.人机交互的方法是解决这个问题鲍方
法之~.Ricei等【s4]设计了一个手机在线旅行推荐系
统,通过篱单的交互式问题获取用户的喜好信怠,
进而给用户推荐相应的旅游线路或旅行产品.粥户
在开始的时候可能对自己的喜好也不是很清楚,因
此利髑交互式提阗的方式罴获取用户喜好信息懿便
捷方法之一.
不同语言构成的配置文件无法兼容也是基于内
容的攥荐系统蘸l巍的又一个大阚题。Martinez等睁明
提出一个柔性语商表示方法,可以用多种语言晌词
语表示用户的配鼹文件.从而可以在多语种环境中
进行接荐。
总结起来,基于内容推荐的优点有:
(1)可以处理新用户和新产品问题(冷启动).
由于新瘸户没有选择信息,薪产品没有被选信怠,
因此协同过滤推荐系统无法处理这类问题.但是基
于内容的推荐系统可以根据用户和产品的配置文件
送行棰波酶推荐。
(2)实际系统中用户对产品的打分信息非常少,
协同过滤系统由于打分稀疏性的问题,受到很大的
限涮.基予内容静攥荐系统霹黻不受钉分耩巯性闻
题的约束.
(3)能推荐新出现的产品和非流行的产品,能
够发琨隐藏的“暗痞息”。
(4)通过列出推荐项目的内容特征,可以解释
为什么推荐这些产品。使用户在使用系统的时候具
有穰好的蕉户镕验.
基于内容的推荐系统不可避免地受到信息获取
技术的约束,例如自动提取多媒体数据(图形、视
频流、声音流等)的内容特征吴有技零上的困难,
这方面的相关应用受到了很大限制.下一节我们将
介绍基于用户一产晶二部图网络结构的推荐算法,
该算法不仅可以举受信息挖掘技术的制约,i嚣魏可
以解决协同过滤摊荐系统中打分稀疏性和算法可扩
鼹性等问题.但此类舞法仍然难以从根本上解决冷
窟动问题。
3基于网络结构的推荐算法
基于网络结构的推荐算法不考虑用户稠产品的
内容特征,而仅仅把它们看成抽象的节点,所有算
法剃矮的信息都藏在瘸户;}鞋产晶的选择美系之中.
周涛等[56,573和Huang等[58,591分别利用用户一产品
用二部分图(bipartitenetwork)建立用户~产品关
联关系,并搌就提出?基于网络绩梅的撵荐算法.
其中,周涛等口6,573提如了一种全新的基予资源分配
的算法,Huang等f58o通过在协同过滤算法巾引入二
部分图上的参h敖囊力学,部分鳃决了数据耢琉性的
阉题,进一步地,Huang等f5朝对两个实际推荐系统
的厢户一产晶二部图进行了分析,发现这两个实证
系统具舂院隧枫图更大鳇平均鞭离蠢集聚系数。张
冀成等邸“61]考虑用户对产品的打分信息,在更复杂
的环境下实现了基于热传导【6叫和物质扩散[61]的推荐
箕法,这些算法效果也明曩婷予经典豹协同过滤。下
面简要介绍麟于网络结构的推荐算法最近的研究进
展.
3.1 基于二都分圈资源分配的攘荐舞法
考虑一个由/-n个用户和n个产品(例如书、电
影、网贞⋯⋯)构成的攘荐系统,其中如果用户i选
择遥产品_f,就在i和歹之闯连接一条边a。一l(i一1,
2,⋯,m;J=1,2,⋯,,z),否则ai=0.由此,
这个系统可以用一个具有撤+靠个节点的二部分匿
表示.对予任意目标用户i,推荐算法的霸的是把
所有i没有选择过的产品按照i喜欢的程度进行排
序,并且把排名靠翦的那些产瑟推荐绘i.极设i选
择过的所有产品,都恩有某种向i推荐其德产品的
能力.这个抽象的能力可以看做位于相关产品上的
菜耪可分的资源——拥有资源的产晶会把更多酶资
源交给自己受青睐的产品.对予有m个用弦和订个
产品的一般的推荐系统,如果用表示Wii产品歹愿意
分瑟给产晶i酶资源配额,可泼褥到W。的一般表达
式‘56]
镏s一丢砉警 ㈣
万方数据
蟊.婪井誊建屋 第19卷第1期2009年1月 7
其中k,表示产品_『的度(被多少用户选择过),k,表
示薅户z的度(该用户选择过多少产品).
对予给定的一个目标用户,将他选掸过的产晶
上的初始资源设为1,其他设为0.这样得到一个牲
维的0/]矢量,l弋表铮对该个爨的初始资源分配梅
型.显然,这个初始构型表达了个性化信息,对于
不同用户是不一样的.记这个矢量为,,通过上述
过程褥到鳇最终的资源分配矢藿可以表示为
f7一wf (11)
把霞标耀户没骞纛避的新有产晶,按照矢量,7中对
应元素的大小进行排序——值越大就说明该用户越
喜欢(这螳产品在那些已经被选择过的产品心目中
总的分蟹最重)。排序靠酶的产晶,霹戳推荐给舀
标用户.
为了量化算法的精确性,把真实数据随机划分
为两个部分,一部分看做训练集,另外一部分罴隐
藏起来用于检测算法准确程度的测试集.构造二部
分图孝疆计算w矩阵时,只有训练集可以使用.在没
有其他殴经条件的前提下,强能假设用户已经选择
过的产晶是他喜欢的,因此,一个好的算法应该要
把训练集中已知的用户喜欢的产品排巍比较靠酶的
位置.对于任意一个用户i,假设他有上,。个产晶是
没有选撵过的,那么算法会给出这L。个产品一个按
照喜好程度翦萎}黟<最终资源数量摆网的产品投赋
予一个随机的序号).如果谯测试集中i选择了产晶
歹(这同时意味着歹不会出现在训练集中,因此是算
法中k个没有选择的产品之一),瑟j被算法摊在
第R,,位,那么认为(i,歹)的相对位置怒
%:RF,j (12>
量√:
越精确的算法给出越靠前(^,小)的相对位置.
MovieLens穆为标准数据库被蔫予测试算法的准
确程度,该数据库包含了943个用户和1682部电影,
由GroupLens研究小组收集(http://www.grou-
plens.org).薅声辩自己看道的电影贸l一5分,其
中1分袭示最不喜欢,5分表示最喜欢.假设分数
大于等于3表示用户喜欢这部电影),并依此建立
二部分豳,该图共包含85250条逾.这骜逮被随撬
划分为两部分,其中90%归为训练集,10%归为测
试纂。运行掺荐算法磊,测试集中每一缉用户一电
影对(i,_f)都会对应一个相对位越值r¨将所有用
户一电影对(i,J)的相对位置求平均,可以得到平
均
,这个值可以媛纯评价算法的精确度——
《r>越小越精确.通过计算得到,全局排序算法的
(,.>一0.136,基于Pearson系数的协同过滤算法的
---0.120,基于恁户~产晶二郝阉网络结构的算
法的<,.>一0.106.基予网络结构算法的在三
种算法中最小,说明准确程度最高.
3.2产晶的波信息砖维荐准确{耋的彰嘀
在上一小节介绍的算法中,如果一部电影被
1000个用户瓣过,那么在对这1000个用户推荐时,
初始条件中这个电影糖鸯的资源毯都是l。獭这个l
看做推荐能力,那么遮部电影的总推荐能力就是
1000。也就是说流行的电影撵荐的总能力也大!周
涛等H7‘通过避当地降低流行电影的推荐麓力提高7
算法的精确性.对于任意目标用户i,设定初始资源
为os7]
(13)
其巾k,为第-『部电影<第歹令产瑟)的度,萝是可调
参数,当它大于0的时候,大度电影的推荐能力得
到提高;反过来,当它小于0的时候,大度电影的
推荐毙力蔹疆潮.露一0的辩候算法退化到上一节讨
论过的情况.
MovieLens数据上的数值实验显示,算法精确度
在露一一0.8时褥裂很大提裹,此ll圣《r>一0。0972,
较文献E563中的算法提高了8%.注意到当口=一l
的时候,每部电影的总推荐能力是一样的,说明算
法在维荐麓力毙较均匀的时蔟孝蠢确瘦较高。
需要特别强调的怒,在同样的用户喜好程度
下,推荐冷门的产品嚣比推荐热门的产{l矗意义更
丈.还是戳电影鬼镤,离耀户接荐好菜坞酶大背,
如果用户喜欢,固然很好,但是即便没有这个推
荐,用户自己通过广播、电视、网络等途径,也
麓够知道这部大筹。遮就好篼罴莲联瓣中的“明信
息”.但是还有很多信息,对应于那些冷门的产
品,可能某个用户很襄欢,但是这些冷门产品数
蟊泷大,又没有媒俸塞传,如采没有攘荐,蔫户
万方数据
8 翥苤辞荸建晨 第19卷纂1期2009年l嗣
根本就无从得知——这些就是互联网中的“瞵信
息”.觚这个煮发讲,挖掘暗信惠意义要大很多.
回到算法本身,就是说推荐在同样精确度(用的个性
纯维荐包括40酋歌,智能社会书签(smartsocial
bookmarks)系统(http://www.sesamr.com/)的个
性化攫荐包括20条书签。给定了推荐列表的长度
己,系统会自动抱排名最靠前的L个产品推荐给用
户,考察这L个产品的平均度.在三个典型的L值
下(L一10,50,100),推荐产品的平均度郁隧着岔
值单调上升,当岔一一0.8的时候,不仅仅算法精确
度明显比文献[563好,而且算法能够推荐更加冷
门的产瑟。
3.3通过去除蘑复属性获得高精确度的算法
以电影为例,为了筛攀,我们假设一个用户是
否喜欢一部电影廷由两个因素决定:主角和导演.
特别地,假设一个目标用户喜欢主角A和导演B.
假设该用户只看过薅部电影,这两郝电影一部爨由
A主演的(M1),另一部是蠹B执导的(M2).鲫果
恰有一部电影M3由B执导A主演,那么这两部电
影将分别砖电影M3产生推荐,推荐的总强度楚2
(M1和M3因为A关联,M2和M3因为B关联,
关联的强度都是1).考虑另一种情况,该用户褥过
的霭部瞧影都是凑B执导的,但是主焦都不是A,
那么对习:另外一部也是由B执导的电影(记这3部
电影为M4,M5和M6,并假设3部电影主角各不
摆同,基都不是A),这薅部电影推荐的总强浚也
是2.鼎然地,这里来自电影M4和M5的推荐包含
了重复的属性(导演是B),因此虽然具有一样的强
度,焉声应该更喜欢电影辩3(既是转撬导的,又是
A主演的)而不是M6(仅仅是B执导).我们希望能
够有一种简单的算法来降低这种重复属性的影响。
考虑蘩M4翻M5鑫身氇具有较强麴关联(妇栗两个
电影在对另一个电影的推荐中包含了重复的属性,
自然这个属性会导致这两部电影自身的关联),从
醚4经l羹M5到M6纛姨醚S经圭M4臻M6的二阶
关联也应该比较强,从原来的关联矩阵中适当减去
二阶关联,有望提高算法的精确程度。
在文献[56]酶算法中,最终的资源分配情况
可以写成矩阵形式,7一wf,周涛等m3进一步考虑
二除的耦合,具体定义为
W7一W+aW2 (14)
对应酶最终资源矢量为,=W7,,其中a是可调参
数.MovieI戈ns数据上的实验结果显示在a一一0.75
附近,算法波现最佳,对应的值为0.082。这
墼小予0的藏饶的a煎支持7上面的分耩.特别要
强调的是,从全局排序到协同过滤,到二部分图扩
散。再到本算法, 值分别为0。139,0。120,
0.106秘0.082,提高程度分舅|l为14%,12%帮
23%.注意到前面两个提高都是算法思想上本质的
变化,i『li本葵法与文献[56]的算法在思想上一脉
相承,仅仅怒从技术上考虑了可能的重复满性,但
是提高程度却非常惊人.高精度的推荐体现了本算
法的重要应耀价值。~个自然的问题是,考虑更蹇
阶的耦合是否是有价值的?将本算法迸一步推广到
三阶的情况
W7=W4-矗W2+bW3(1S)
其中b也是可调参数.实验结果表明,综合考虑参数
缝(口,6),也廷麓把再提高l%一2%.蠢于每提
高W的一个阶次,算法的时间复杂性都会胂j增,因
此在实际应用中考虑到2阶运算就已经足够了.
3.4通过引入耦合阔值提高算法精确性并降低算
法复杂性
在实际应麓酶霹簇,降低算法的空闻复杂性和
时间复杂性是非常关键的问题.事实上,在一个推
荐系统中,一个用户姆绝大多数的用户耦合很弱
(穗翻共霹选择过的产晶菲章少,甚至没有),藿是
在计算推荐资源的两步扩散时,每一个用p都在考
虑的范围中。通过某种办法去除掉弱耦合的影响可
以藏少算法熬体的计算基.
这里,介绍一种简单的方法[63|.首先,计算任
意蕊个用户之闯的相似性,其中,对i两富,i与歹
的相似性被定义为
万方数据
自燕科予违展 第19卷第1期2009年1月 9
d。一丢砉⋯。 Ⅲ,
l遍历所有的珂个产品,整个求和符号表示i和J有
多少个共同选择过的产品.需要注意的是,d。≠
dn当针对目标用户i进行推荐的时候,只考虑与i
的相似性大于或等于给定阈值d,的用户(即所有满
足d。,>d。的用户歹)以及和这些用户(包括i自己)连
接的产品.这样得到一个子二部分图G:((f,),然后,
将扩散算法局限在子图G,(以)中进行.显然,d,越
大,G,(d。)的规模越小,算法的计算量也越小.
数值实验显示。设定阈值d,,不仅可以降低算
法的时间复杂性,同时还可以提高算法准确程度
(考虑弱耦合的影响反而干扰和弱化了最重要的关
联信息),具有一举两得的效果.
3.5基于传播的用户相似性度量
传统的协同过滤推荐算法中,用户的相似度用
Pearson系数表征.受到文献[s6]的启发,刘建
国和汪秉宏【64]利用资源分配原理计算用户之间的相
似性,进而利用协同过滤算法向用户进行个性化推
荐,其中,用户的相似性用如下公式度量
sv—k南U蕃k焉 Ⅲ,叼 (,)台(仇) ⋯7
其中是(Oj)为用户Oj的度.在Moviel。ens上的数值
实验显示,推荐结果的平均准确度可以从基于
Pearson系数的0.130提高到0.122.在此算法中
假设所有产品的贡献是一样的,即被1000个人选
择的产品与被一个人选择的产品的影响力是一样
的.为了讨论产品的度信息对推荐结果的影响,文
献E643进一步给出包含参数卢的新的相似性计算
公式如下
点的影响力有利于提高推荐的准确度.
为了节约存储空间,提高计算效率,刘建国和
汪秉宏【64]还提出了基于top—N用户相似性信息的协
同过滤算法.算法利用物质扩散原理计算好用户的
相似度后,只利用相似度最高的N个邻居用户的信
息进行相应的推荐.数值结果硅示,这种方法不仅
仅可以节约存储窄间,而且还存在一个最优的N
值,在最优值附近的推荐准确度比考虑所有用户影
响的情况还要好.
基于网络结构的算法开辟了推荐算法研究的新
方向.然而,该算法也面临着新用户,新产品等问
题.如下节所要介绍的,许多实际的推荐系统把上
述几种推荐算法有机结合起来,并取得了不错的应
用效果.
4混合推荐算法
协同过滤,基于内容,以及基于网络结构的推
荐算法在投入实际运营的时候都有各自的缺
陷一1’43“6-7⋯,冈此实际的推荐系统大多把不同的推
荐算法进行结合,提出了混合推荐算法.针对实际
数据的研究显示这些混合推荐系统具有比上述独立
的推荐系统更好的准确率[43_0’。751.目前,最常见的
混合推荐系统是基于协同过滤和基于内容的,同时
也发展出了其他类型的组合,下面简单进行介绍.
4.1 独就系统相互结合的推荐系统
建立混合推荐系统的方法之一即是独立地应用
协同过滤,基于内容和基于网络结构的算法进行推
荐.然后将两种或多种系统的推荐结果结合起来,
利用预测打分的线性组合进行推荐¨7’68|.又或者,
只推荐某一时刻在某一个评价指标下表现更好的算
法的结果.例如,DailyLearner系统【】61就选择在某
一时刻更可信的结果进行推荐.而文献[-71]选择
一个与用户过去的打分相一致的结果进行推荐.
岛5反与萋毒焉专 (18) 4.2在协同过滤系统中加入基于内容的算法
数值结果显示当卢=1.9的时候算法的准确度还可以
再提高11.2%.刘润然等m1利用用户和产品的度信
息提出了另外的用户相似度计算方法,也得到了比
经典的协同过滤算法更好的结果.这再次验证了产
品的度信息确实影响着推荐的准确度,降低大度节
包括FabL441在内的一些混合推荐系统都是基于
内容的协同过滤算法。即利用用户的配置文件进行
传统的协同过滤计算.用户的相似度通过基于内容
的配置文件计算而得,而非共同打过分的产品的信
息[6引.这样可以克服协同过滤系统中的稀疏性问
题.这个方法的另一个好处就是不仅仅当产品被配
万方数据
10 自.笼科誊连展 第19卷第1期2009年1月
置文件相似的用户打了分才能被推荐,如果产品与
用户的配置文件很相似也会被直接推荐L431.Good
等【72j用不同过滤器(filterbots)的变化给出了一个相
似性计算方法,应用一种特殊的内容分析代理作为
协同过滤的一个补充.Melville等"31利用基于文本
分析的方法在协同过滤系统中用户的打分向量上增
加一个附加打分.附加分高的用户的信息优先推荐
给其他用户.Yoshii等∽刈利用协同过滤算法和音频
分析技术进行音乐推荐.Girardi和Marinho¨副把领
域本体(domainontology)技术加入协同过滤系统中
进行web推荐.另外,把内容分析结合到基于网络
的推荐算法中,也是大有可为的.例如大量的网站
都通过标签(tags)和关键词(keywords),因此研究
如何把标签176]或关键词[77]之间的关联关系与基于
网络的推荐算法结合起来是很有意义的.
4.3其他混合推荐系统研究进展
Basu等¨6]以基于内容和协同过滤算法为工具
建立(用户,电影>二维关联关系,其中用户数组
利用协同过滤算法收集了共同喜欢某些电影的用户
信息,而电影数组包括了这些电影共有的类型或流
派特征.把用户与电影的关系分类为喜欢和不喜欢.
通过这种分类,预测新用户对不同类型电影的喜好
与否.Popescul等[78]和Sehein等【6列基于概率浅层
语义分析提出了一个结合基于内容和协同过滤算法
的统一概率方法.该方法把用户感兴趣的信息通过
浅层语义分析表示成一些主题,利用全概率公式对
用户的感兴趣主题进行预测.实验证明,这种基于
概率的方法对稀疏数据非常地有效.Condliff等"妇
提出Bayes混合效用回归模型对未知产品进行估计
和预测.模型综合考虑用户的打分信息,用户和产
品的配置文件.建立用户模型之后,利用回归分析,
研究用户对某个产品特性的喜好程度,进而把具有
这些特性的产品推荐给用户.Christakou等[s03构建
了基于神经网络的混合推荐系统.还有一些混合推
荐系统利用基于知识(knowledge.based)的方法进行
推荐[77,81,82J,例如基于事例推理的推荐系统.为了
增加推荐准确性,Entr6e系统[8¨利用事例的领域知
识,给饭店的客户推荐菜肴和食品,包括推荐其他
饭店.Quiekstep和Foxtrot系统¨纠利用主体本体信
息给用户推荐在线科技论文.Velasquez等∞33提出
基于知识的Web推荐系统.系统首先抽取Web的
内容信息,利用用户浏览行为建立用户浏览
规则
编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf
,
对用户下一步感兴趣的内容进行推荐.在根据用户
的反馈信息,进行规则的修正.Aciar等(8叫利用文
本挖掘技术分析用户对产品的评论信息,提出基于
知识和协同过滤的混合推荐系统.Felfernig等【8川提
出基于知识的自动问答系统CWAdvisor.系统通过
与用户的对话中自动抽取用户感兴趣的内容,把具
有相关特性的产品推荐给用户.Mirzadeh等[86】利用
交互式咨询管理进行个性化推荐.Wang等[873构建
了基于虚拟研究群体的知识推荐系统,利用基于内
容和协同过滤推荐算法向用户推荐显性知识(有用
的期刊文件)和隐性知识(可以讨论问题的领域专
家).基于知识的系统的主要缺点就是需要知识获
取——这正是许多人工智能应用中最让人头痛的瓶
颈.然而,基于知识的系统已经在一些领域得到了
很好的发展.这螳领域的领域知识可以从结构化的
机器读取格式中获取,例如XML格式和本体.
5其他推荐算法
除了上文介绍的几类推荐算法,实际系统中还
存在其他推荐算法.首先是关联规则分析.关联规
则关注用户行为的关联模式,例如,购买香烟的人
大都会购买打火机,因此可以在香烟和打火机之间
建立关联关系.通过这种关联关系向用户推荐其他
产品.Agrawal等№8’8叫提出Apriori算法进行关联规
则分析,Han等[903提出FP—Growth算法大大改进
了Apriori算法的运行效率.另外值得关注的是基于
社会网络分析的推荐算法.Wand等【9¨利用社会网
络分析方法推荐在线拍卖系统中可信赖的拍卖者.
Moon等凹z]利用用户的购买行为建立用户对产品的
偏好相似性,并依此向用户推荐产品并预测产品的
出售情况,从而增加用户的黏着性.最近,任捷
等[9纠发现,只要预测用户评分的算法可以写成一个
矩阵算符,就能够将原始算法改进为一种自适应迭
代收敛的形式,从而明显提高算法的精确性.
表1列出了不同领域投入应用的主要的推荐系统.
6结束语与展望
最近几年,随着互联网的高速发展,我们身处
的信息世界的组织和结构有了很大的变化.首先,
万方数据
自燕科荸连展 第19卷第1期2009年1月
信息量的爆炸性增长使得一个普通用户搜寻自己感
兴趣内容的难度和成本都提高了很多;其次,大量
的信息被安静地放在网络的旮角,因为访问量小,
因此不为人知.这些“暗信息”中或许有一些是用
户感兴趣的,但是没有外界的帮助,普通用户根本
无法找到它们.随着web2.0技术的发展,很多服
务型网站可以保留用户的历史记录,这些记录包括
选择、评价、购买等等,通过这峰记录,采用合适
的推荐算法,可以在一定的准确程度上猜测用户喜
好,并据此向用户推荐.这些推荐不仅节省了用户
浏览搜索的时间,更为关键的是,没有这些推荐,
有螳信息用户根本就不可能找到.
我们说对推荐系统的研究,既有重大的社会价
值,又有重大的经济意义,就是指它既能作为信息
过滤的工具帮助用户更好地利用互联网信息,又能
作为网站营销的武器,提高网站的用户黏着度和推
广相关产品或服务∽引.同时,对推荐系统的研究,
也有助于解决现代信息科学的中心问题之一:如何
从具有极强噪音的稀疏关联矩阵中挖掘有用的信
息.事实上,早在20世纪70年代,就已经出现了
相关的研究和应用——协同过滤算法的雏形便已开
始形成.到了90年代,推荐系统的理论框架就已经
比较成熟了[1’3].遗憾的是,那个时候真正利用推
荐算法进行商业化运营的网站并不是太多,可以用
于研究的真实数据也比较缺乏,总体上发展比较缓
慢,也没有得到信息科学以外的其他学科的关注.
如今,随着推荐系统科学价值和使用价值的l丌】现,
对于推荐算法的研究受到了包括数学、物理、管理
科学等多学科的关注.
表1主要推荐系统表
领域 网站
电子商务A.maz.on.co[n,。B.ay.,L。”i8,ski一。“。。p。·。。“,
dangdang.com·(10uban.corn
网页标签BFaubild,edre,l。Qiuciiock.sutsep,sesamr.c。m'Fox‘加‘’Q“Ic·P。。f一
新闻 GroupI,ens,PHOAKS
电影 MovieLens,Moviefinder.corn
音乐Pandora,Ringo.CDNOW
本文简单介绍了4类基于不同推荐算法的推荐
系统.虽然这些推荐系统都已经投入应用,并且取
得了可观的经济效益,然而,这些系统都面临着许
多问题,需要从理论和应用角度进行深入的研究.
(1)协同过滤推荐系统面临新用户,新产品,
打分稀疏性和算法可扩展性等问题.协同过滤推荐
系统必须从用户已经打分的产品中获得用户的偏好
信息,进而计算用户之间的相似度.当一个新用户
加入系统的时候,没有选择过任何产品,这样系统
就无法给新用户提供准确的推荐服务;新的产品地
加入到推荐系统中,由于协同过滤系统完全靠用户
已有的选择信息进行推荐,因此,直到新的产品被
一部分用户打分,系统才可能推荐它.已经有很多
方法研究冷启动问题,例如Lee等【26j利用伪打分信
息,Ahn等H列利用启发式算法度量用户之间的相似
性,解决冷启动问题;在任何推荐系统中,已经打
分的产品通常比起需要推荐的产品的数量要少很
多.从这些少数的例子中进行准确推荐就尤为重要.
Huang等¨80利用辅助信息获取和信息扩散方法解决
打分稀疏性问题,实验结果表明3种扩散方法在准
确性,召【璺1率,F—measure等方面都比经典的协同
过滤推荐算法要好.解决打分稀疏性问题的另外一
个方法就是在计算用户相似度的时候用到用户的配
置文件,而不仅仅考虑对产品的打分信息;协同过
滤推荐算法能及时利用最新的信息为用户产生相对
准确的推荐,但是面对日益增多的用户,数据量的
急剧增加,算法的扩展性问题(即适应系统规模不
断扩大的问题)成为制约系统实现的重要冈素.虽然
与基于模型的算法相比,协同过滤算法节约了为建
立模型而花费的训练时间,但是用于识别“最近邻
居”算法的计算量随着用户和项的增加而大大增
加,对于拥有上百万用户的系统,通常的算法会遇
到严重的扩展性瓶颈问题.该