推荐系统:主要推荐方法

推荐系统:主要推荐方法
2006-10-16 01:25

本文是关于推荐系统的系列研究文章之一,其他内容将陆续发布。这些内容,大多数来自我在2004年底完成的一篇项目方案建议书。放在这里,抛砖引玉,供大家讨论之用。
-------------------------------------------------

在推荐系统简介中,我们给出了推荐系统的一般框架。很明显,推荐方法是整个推荐系统中最核心、最关键的部分,很大程度上决定了推荐系统性能的优劣。目前,主要的推荐方法包括:基于内容推荐、协同过滤推荐、基于关联规则推荐、基于效用推荐、基于知识推荐和组合推荐。

一、基于内容推荐

基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。

基于内容推荐方法的优点是:
 1)不需要其它用户的数据,没有冷开始问题和稀疏问题。
 2)能为具有特殊兴趣爱好的用户进行推荐。
 3)能推荐新的或不是很流行的项目,没有新项目问题。
 4)通过列出推荐项目的内容特征,可以解释为什么推荐那些项目。
 5)已有比较好的技术,如关于分类学习方面的技术已相当成熟。

缺点是要求内容能容易抽取成有意义的特征,要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。

二、协同过滤推荐

协同过滤推荐(Collaborative Filtering Recommendation)技术是推荐系统中应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。协同过滤最大优点是对推荐对象没有特殊的要求,能处理非结构化的复杂对象,如音乐、电影。

协同过滤是基于这样的假设:为一用户找到他真正感兴趣的内容的好方法是首先找到与此用户有相似兴趣的其他用户,然后将他们感兴趣的内容推荐给此用户。其基本思想非常易于理解,在日常生活中,我们往往会利用好朋友的推荐来进行一些选择。协同过滤正是把这一思想运用到电子商务推荐系统中来,基于其他用户对某一内容的评价来向目标用户进行推荐。

 基于协同过滤的推荐系统可以说是从用户的角度来进行相应推荐的,而且是自动的,即用户获得的推荐是系统从购买模式或浏览行为等隐式获得的,不需要用户努力地找到适合自己兴趣的推荐信息,如填写一些调查表格等。

 和基于内容的过滤方法相比,协同过滤具有如下的优点:
1) 能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等。
2) 共享其他人的经验,避免了内容分析的不完全和不精确,并且能够基于一些复杂的,难以表述的概念(如信息质量、个人品味)进行过滤。
3) 有推荐新信息的能力。可以发现内容上完全不相似的信息,用户对推荐信息的内容事先是预料不到的。这也是协同过滤和基于内容的过滤一个较大的差别,基于内容的过滤推荐很多都是用户本来就熟悉的内容,而协同过滤可以发现用户潜在的但自己尚未发现的兴趣偏好。
4) 能够有效的使用其他相似用户的反馈信息,较少用户的反馈量,加快个性化学习的速度。

虽然协同过滤作为一种典型的推荐技术有其相当的应用,但协同过滤仍有许多的问题需要解决。最典型的问题有稀疏问题(Sparsity)和可扩展问题(Scalability)。

三、基于关联规则推荐

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

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

四、基于效用推荐

基于效用的推荐(Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可得性(Product Availability)等考虑到效用计算中。

五、基于知识推荐

基于知识的推荐(Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。

六、组合推荐

由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。

在组合方式上,有研究人员提出了七种组合思路:
1)加权(Weight):加权多种推荐技术结果。
2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。
3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。
4)特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。
5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。
6)特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。
7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。

 七、主要推荐方法的对比

各种推荐方法都有其各自的优点和缺点,见表1。

表1 主要推荐方法对比
推荐方法
优点
缺点
基于内容推荐
推荐结果直观,容易解释;
不需要领域知识
稀疏问题;新用户问题;
复杂属性不好处理;
要有足够数据构造分类器
协同过滤推荐
新异兴趣发现、不需要领域知识;
随着时间推移性能提高;
推荐个性化、自动化程度高;
能处理复杂的非结构化对象
稀疏问题;
可扩展性问题;
新用户问题;
质量取决于历史数据集;
系统开始时推荐质量差;
基于规则推荐
能发现新兴趣点;
不要领域知识
规则抽取难、耗时;
产品名同义性问题;
个性化程度低;
基于效用推荐
无冷开始和稀疏问题;
对用户偏好变化敏感;
能考虑非产品特性
用户必须输入效用函数;
推荐是静态的,灵活性差;
属性重叠问题;
基于知识推荐
能把用户需求映射到产品上;
能考虑非产品属性
知识难获得;
推荐是静态的

 

 

 

 

推荐系统:Recommender Systems 简介
2006-10-14 01:08

本文是关于推荐系统的系列研究文章之一,其他内容将陆续发布。这些内容,大多数来自我在2004年底完成的一篇项目方案建议书。放在这里,抛砖引玉,供大家讨论之用。
-------------------------------------------------

一、引言

Internet的迅猛发展将人类带入了信息社会和网络经济时代,对企业发展和个人生活都产生了深刻的影响。一方面,基于Internet的虚拟企业不再需要像传统的物理环境下企业那样的实体投资,企业与顾客、供应商等建立起更直接的联系,电子商务模式为企业发展提供了更多的机会;同时,Internet的发展正在极大地改变我们每个人的生活,人们不出家门就可随心所欲地得到自己想要的商品,网上购物的经历让我们感受到电子商务带来的惊喜。

在电子商务的虚拟环境下,商家所提供的商品种类和数量非常多,用户不可能通过一个小小的计算机屏幕一眼就知道所有的商品,用户也不可能象在物理环境下那样检查挑选商品。因此,需要商家提供一些智能化的选购指导,根据用户的兴趣爱好推荐用户可能感兴趣或是满意的商品,使用户能够很方便地得到自己所需要得到的商品。而且,从现实经验来看,用户的需求经常是不明确的、模糊的,可能会对某类商品有着潜在的需求,但并不清楚什么商品能满足自己的模糊需求。这时,如果商家能够把满足用户模糊需求的商品推荐给用户,就可以把用户的潜在需求转化为现实的需求,从而提高产品的销售量。

在这种背景下,推荐系统(Recommender Systems)应运而生,它是根据用户的特征,比如兴趣爱好,推荐满足用户要求的对象,也称个性化推荐系统(Personalized Recommender Systems)。实际中应用最多的,是在网上购物(尤其是B2C类型)环境下的、以商品为推荐对象的个性化推荐系统,它为用户推荐符合兴趣爱好的商品,如书籍,音像等。

二、概念

现在被广泛引用的推荐系统(Recommender System)的定义是Resnick & Varian 在1997年给出的:“它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程”。

推荐有三个组成要素:推荐候选对象、用户、推荐方法,如图1所示。推荐活动在我们日常生中普遍存在,根据不同的推荐对象和推荐方法,推荐活动形式多样,如,超市购物导购员为用户推荐用户喜爱的产品,提高销售能力;现实生活中朋友间相互推荐喜爱的电影;推销员向用户推销产品等,都是推荐活动,可以说,只要存在多个候选对象,就存在选择问题,存在选择就有推荐问题存在。

推荐系统:主要推荐方法

三、作用

个性化推荐的最大的优点在于,它能收集用户特征资料并根据用户特征,如兴趣偏好,为用户主动作出个性化的推荐。而且,系统给出的推荐是可以实时更新的,即当系统中的商品库或用户特征库发生改变时,给出的推荐序列会自动改变。这就大大提高了电子商务活动的简便性和有效性,同时也提高了企业的服务水平。

总体说来,一个成功的个性化推荐系统的作用主要表现在以下三个方面:
1) 将电子商务网站的浏览者转变为购买者:电子商务系统的访问者在浏览过程中经常并没有购买欲望,个性化推荐系统能够向用户推荐他们感兴趣的商品,从而促成购买过程。
2) 提高电子商务网站的交叉销售能力:个性化推荐系统在用户购买过程中向用户提供其他有价值的商品推荐,用户能够从系统提供的推荐列表中购买自己确实需要但在购买过程中没有想到的商品,从而有效提高电子商务系统的交叉销售。
3) 提高客户对电子商务网站的忠诚度:与传统的商务模式相比,电子商务系统使得用户拥有越来越多的选择,用户更换商家极其方便,只需要点击一两次鼠标就可以在不同的电子商务系统之间跳转。个性化推荐系统分析用户的购买习惯,根据用户需求向用户提供有价值的商品推荐。如果推荐系统的推荐质量很高,那么用户会对该推荐系统产生依赖。因此,个性化推荐系统不仅能够为用户提供个性化的推荐服务,而且能与用户建立长期稳定的关系,从而有效保留客户,提高客户的忠诚度,防止客户流失。

个性化推荐系统具有良好的发展和应用前景。目前,几乎所有的大型电子商务系统,如Amazon、eBay等,都不同程度的使用了各种形式的推荐系统。各种提供个性化服务的Web站点也需要推荐系统的大力支持。在日趋激烈的竞争环境下,个性化推荐系统能有效的保留客户,提高电子商务系统的服务能力。成功的推荐系统会带来巨大的效益。

四、现有推荐系统

目前,推荐系统已经运用到多个行业中,推荐对象包括书籍、音像、网页、文章、新闻等,如表1。大多数的推荐系统主要应用在电子商务和Web中,其中已应用到商业中的推荐系统主要有电子商务、电影和音乐等领域。这反映推荐系统想要运用到商业中,必须能够为用户提供一个确实有价值的推荐功能,从而为商业企业带来一定的经济价值。

表1 主要推荐系统一览表
领域
推荐系统
电子商务
Amazon.com,eBay,Levis,Ski-europe.com
网页
Fab,Foxtrot,ifWeb,MEMOIR,METIOREW,ProfBuilder,QuIC,Quickstep,R2P,Siteseer,SurfLen
音乐
CDNOW,CoCoA,Ringo
电影
Moviefinder.com,MovieLens,Reel.com
新闻过滤
GroupLens,PHOAKS,P-Tango

你可能感兴趣的:(推荐系统)