当前位置: 首页 > 推荐系统 > 正文

推荐系统算法介绍

1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

推荐引擎也是由三部分构成:行为记录模块、模型分析模块和推荐模块。

(一)、 行为记录模块负责记录能够体现用户喜好的行为,比如听音乐、看视频、购买商品、看小说等。这部分看起来简单,其实需要非常仔细的设计。比如说听歌和用户主动对歌曲评分这两种行为表达潜在的喜好程度就不尽相同,完善的行为记录需要能够综合多种不同的用户行为,处理不同行为的累加。

(二)、模型分析模块的功能则实现了对用户行为记录的分析,采用不同算法建立起模型描述用户的喜好信息。

(三)、最后,通过推荐模块,实时的从内容集筛选出目标用户可能会感兴趣的内容推荐给用户。因此,除了推荐系统本身,为了实现推荐,还需要一个可供推荐的内容集。比如,对于音乐推荐系统来说,一个音乐库就是这样的内容集。我们对内容集本身需要提供的信息要求非常低,在经典的协同过滤算法下,内容集甚至只需要提供ID就足够(比如计算出歌曲的id则,则与歌曲库中匹配详细的歌曲信息)。而对于基于内容的推荐系统来说,由于往往需要对内容进行特征抽取和索引(比如歌曲的歌手、曲风、旋律、调式、节奏),我们就会需要提供更多的领域知识和内容属性。这种情况下,还是拿音乐举例,歌手、流派之类的属性和音频信息就成为必需的内容集信息。

我们看看都有哪些公司在使用推荐系统,其中推荐系统做得比较好的有Amazon、 Netflix、lastfm、Pandora、Google,国内的当当的推荐系统个人感觉是做得最好的,其次是豆瓣,卓越亚马逊可能使用的是Amazon的推荐技术;Amazon被称为推荐之王,其百分之三十多的销量是靠推荐系统带来的,足以看出推荐系统对Amazon的重要性。

使用了推荐系统技术的公司:
Google、Amazon、Netflix、lastfm、当当、豆瓣、digg、Pandora、友播、八宝盒、Delicious、Youtube、新浪微博、大众点评网、京东商城、百度知道。

Google 说到做到,看看人家的组合拳:

1
2
3
4
5
6
7
8
  Google News Personalization  
  Personalized new tab page  
  Interested-based Ads  
  Personalized keyword-suggestions  
  Google Reader by Personalized Ranking 
  Google Friend Connect  
  Personalized Search  
  Personalized Gmail Ads

(Nasdaq: NFLX) Netflix是世界上最大的在线影片租赁提供商,向它的670万名顾客提供超过85,000部DVD电影的租赁服务,而且能向顾客提供4000多部影片或者电视剧的在线观看服务。公司的成功源自于能够提供超大数量的DVD,而且能够让顾客快速方便的挑选影片,同时免费递送。Netflix已经连续五次被评为顾客最满意的网站。

Netflix公司(中文译名:奈飞公司)是成立于1997年的美国最大的在线DVD租 赁商。To help customers find those movies, we’ve developed our world-class movie recommendation system: Cinematch SM .。2006年10月,Netflix公 司宣布启动一项名为Netflix大奖的 推荐系统算法竞赛,鼓励全世界的研究团队,以Netflix目 前使用中的推荐系统Cinematch为竞争标的,比Cinematch推荐绩效提高10%的团队,将有资格获得一百万美元的奖励。这项颇具挑战性的比赛吸引了5万名计算机科学家、专家、爱好者等参与角逐,参赛队伍都在为提高这一推荐系统算法的10 %的神奇大关而奋斗,但是直到2009年6月26日,这一大关才终于被由一些顶级团队联手形成的BellKor’s Pragmatic Chaos团队打破,成绩提高了10.05 %。 此后,按照比赛规则,Netflix公司宣布进入 最后30天的决赛。如果没有其他的队伍提交的算法 超越BellKor’s Pragmatic Chaos团队,那么他们无疑就是这场比赛的赢家。但是,就在决赛第29天 的时候项亮所在的团队(The Ensemble) 提交了他们最后的算法,并超过了BellKor’s Pragmatic Chaos团队位居公开测试排行榜第一位。

还有,Netflix公司宣布启动一项名为Netflix大奖的推荐系统算法竞赛,鼓励全世界的研究团队,以Netflix目前使用中的推荐系统Cinematch为竞争标的,比Cinematch推荐绩效提高10%的团队,将有资格获得一百万美元的奖励,足以看出NetFlix公司对推荐算法的重视,一百万美元,即使对于已经盈利的公司来说也不是很小的数目。继续阅读>>

Netflix In Baidu Baike: http://baike.baidu.com/view/2836949.htm

1.基于内容的推荐算法,如潘多拉,友播,如果歌曲的旋律,调式,节奏等这些内容不好提取出来,歌词、歌曲的曲风、歌曲的歌手等这些歌曲的属性还是可以提取出来的,这样可以根据歌词、歌曲的曲风、歌曲的歌手等属性来向用户推荐相关的歌曲。

例如在大众点评网口输入“水煮鱼”后,大众点评网给我的推荐结果如下(提示,此时我没有登录)

1
2
3
4
5
6
7
8
9
10
你可能感兴趣的榜单
 
我中意的 北京川菜馆
偶然发现川菜也是如此好吃,呵呵!
 
 
-川味之 家常馆子-
其实川菜是要香、辣、麻的,川菜做得好不好还是要看菜,现在太多烤鱼啊香锅了,其实细...
 
去过的餐 厅

上述的推荐应该是基于内容的推荐算法,大众点评网推荐给我的三家餐馆应该均提供水煮鱼这道菜,我的猜测是可能是给这三家餐馆分别加上了水煮鱼的tag,推荐的结果也是我喜欢的。

2.个人化推荐–基于个人以前的行为模式进行推荐

a.比如某用户在某音乐网站听过王菲、张信哲、孙燕姿、梁静茹、齐秦的歌曲,则推荐结果中应该出现的是此5个歌手的歌曲或与此5个歌手风格类似的歌曲。

b.比如某用户在优酷看过赵本山、毕福剑、唐骏、李开复的视频,则推荐结果中应该出现此4个人相关的视频或与此4个人风格类似或相关联的视频,比如郭达、崔永元、马化腾、马云等。

3.社会化推荐
a.比如某用户在开心网有50个好友,则开心网可以向此用户推荐这50个好友的好友给此用户。

b.比如某用户在某音乐网站有10个好友,可以向此用户推荐这10个好友中听过的次数最多的一些歌曲。

c.比如某用户在某音乐网站加入了某个圈子,当此用户进入此圈子的时候,可以向此用户推荐此圈子中的用户听过的次数最多的一些歌曲。

d.比如某用户在新浪微博中的个人资料中,所在地填写为北京市海淀区,则可以向此用户推荐一些所在地为北京市海淀区的用户。某用户在新浪微博填写了他的QQ、MSN、Gtalk帐号,则可以向此用户推荐一些他的QQ、MSN、Gtalk上的好友且已经注册新浪微博的用户。

e.比如某用户在新浪微博中谈到google的话题,则可以向此用户推荐一些谈到过google话题的用户。

d及e也可以理解为基于内容的推荐算法。

纯基于内容的推荐系统不能为客户发现新的感兴趣的资源,只能发现和客户已有兴趣相似的资源,所以这是基于内容的推荐算法的一个缺点。

4.基于用户的协同过滤
基于用户的协同过滤算法如下,经过项目中实际应用,发现按照基于用户的协同过滤得出来的结果不太准确,而且当用户数增多,用户在网站的行为越来越多的时候, 直接读取数据库的效率非常低下,性能是一个非常大的问题。此时可以考虑将推荐给用户的数据缓存起来,用数据库的话效率会很低,除非你所在的公司愿意花钱用多台DB服务器来处理推荐系统的数据,即使是有多台DB服务器,做成缓存也是非常有必要的;如果推荐系统的数据是上亿级别的数据,则可以考虑用并行计算相等相关的技术,这样可以提高用户体验,加快用户的响应速度。同时用NoSQL就是一种比较不错的方案。

基于用户的协同过滤推荐算法随着用户数量的增多,计算量成线性加大,其性能会越来越差。而对于 Web 应用系统,响应速度绝对是影响用户体验的最重要因素之一。这一点极大的限制了基于用户的协同过滤技术在实际系统中的使用。

基于用户的协同过滤,简单理解就是计算用户之间的相似性,然后将与当前用户具体类似爱好的内容推荐给当前用户。

基于用户的协同过滤,通过比较目标用户的一系列行为选择和其他用户之间的相似性,来识别出一组相互具有类似喜好的用户,又可以称为“同好”。一旦系统能够识别一个用户的同好用户,就能够将他们最感兴趣的内容作为当前用户的推荐结果推荐给这个用户。也就是说,以前的行为选择与你相似的用户,在以后的行为中很可能也会和你相似。因此将这些用户做为基准来向你推荐内容。

5.基于Item的协同过滤
Amazon 更多地使用了基于项目(Item-based)的协同过滤技术,而且随着 Amazon 的成功,Item-based 方法也大为流行起来。豆瓣主要使用的也是 Item-based 方法。

推荐大家使用基于Item的协同过滤推荐算法,从Amazon的实践来看,这种算法相对来说更加准确一些。

6.基于关联规则推荐

基于关联规则的推荐(Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。关联规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。

算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。

7.如果要实现一个更加准确的推荐系统,最好要综合多种推荐算法,然后将各种结果汇总在一起,最后推荐给用户。

本文固定链接: http://www.chepoo.com/recommendation-system-algorithm-introduced.html | IT技术精华网

推荐系统算法介绍:等您坐沙发呢!

发表评论