推荐系统入门【分类、传统推荐算法、UserCF和ItemCF】
一、推荐系统分类
推荐系统根据推荐对象的特点,可分成两种类型:
一种是网页作为推荐对象的推荐系统,采用Web数据挖掘的方法与技术,为用户推荐符合其兴趣爱好的网页;
另一种是商品为推荐对象的个性化推荐系统,为用户推荐符合其兴趣爱好的各类产品,如各种书籍、音像等,这种推荐系统是一般意义上的推荐系统。
推荐系统按其实现的技术来分,可分为如下几类:
基于关联规则的推荐系统、基于内容的推荐系统、基于协同过滤推荐系统和混合式推荐系统。
由于实现技术各有优缺点,在实际应用中,经常采用混合式推荐思路,其中研究时间最久和应用最多的是基于内容的推荐系统和协同过滤推荐系统。
二、传统推荐算法
2.1 基于规则的推荐
在基于规则的推荐系统中,定义了许多的规则,根据规则来决定不同的情况下如何提供不同的服务,因此,推荐的质量依赖于规则的质量和数量。一个规则本质上是一个 如果-就 语句,规则之间具有不同的支持度。基于规则的推荐使用挖掘出的关联规则对用户进行推荐。
基于规则的系统一般分为3个部分:关键词层、描述层和用户接口层。
关键词层提供上层描述所需的关键词,并定义关键词间的依赖关系,在该层可定义静态属性的个性化规则。
描述层定义用户描述和资源描述,由于描述层是针对具体的用户和资源,所以描述层的个性化规则是动态变化的。描述层中的用户描述文件和资源描述文件需用由关键词层提供的相同的关键词集合来进行描述。
用户接口层提供个性化服务,根据上面两层定义的个性化规则将满足规则的资源推荐给用户。
推荐的具体过程如下:首先根据当前用户浏览过的感兴趣的内容,通过规则推算出用户还没有浏览过的感兴趣的内容,然后根据规则的支持度或重要程度将这些内容排序并展现给用户。
基于规则的系统简单、直接,可应用于所有领域,具有通用性,不仅可推荐与用户过去喜欢的项目相关的项目,还可以推荐与用户过去喜欢的项目不相关的项目。规则的建立可离线进行,因此可保证有效推荐算法的实时性要求。
但是,由于基于规则的推荐算法推荐给用户的项目一定是曾经被某个用户浏览过的,因此新加入的项目在任何一个用户浏览之前无法获得推荐,随着规则数量的增多,系统也将越来越难以管理。
2.2 基于内容的推荐
基于内容过滤推荐是最早被应用的一种个性化推荐技术,能够解决传统的协同过滤推荐中存在的稀疏性等问题。
基于内容的推荐系统利用信息内容和用户兴趣的相似性来过滤信息。基于内容的推荐,又被称为基于信息过滤的推荐,是由信息检索领域提出来的,因此使用了许多信息领域的技术。
基于内容的推荐的基本思想是:对每个用户,都用一个称作用户的兴趣模型的文件构成数据结构来描述其喜好;对每个项目的内容进行特征提取,使用这些特征构成资源描述文件。当需要对某个用户进行推荐时,把该用户的用户兴趣模型同所有项目的待征矩阵进行比较,得到二者的相似度,系统通过相似度推荐文档。
纯粹基于内容的推荐系统是忽略用户行为的,它只考虑信息和信息之间的相似关系,因此它可以解决在协同式过滤中出现的第一评价问题,稀疏问题,特殊用户问题等缺陷。其最大的优点就是建模和商品间的相似度量可脱机运化,因此它具有很快的推荐响应好间,系统简洁有效。
缺点主要包括下几点:
(1)模型的有效性问题。
比如在电子商务中,如果用特征向量模型描述商品特征的话,首先得建立一个商品的特征向量空间。选择商品的什么特征和怎么用这些特征能更好地表达一个商品是一件很困难的工作,如果这个工作做得不好的话,对推荐响应时间和推荐质量都会产生负面的影响。
(2)过度特征化问题。
由于基于内容的推荐系统过分依赖于信息的将征,使得用这种技术实现的模型并不能总是很好的表达信息之间关联性。导致系统只能发现和用户己有兴趣相似的资源,不能为用户发现新的感兴趣的资源。比如一些事实上是有很大关联性但从表面特征上看来它们并不是相关的信息就有可能得不到推荐。
(3)自我学习能为较差。
由于基于内容的推荐依赖于己经建立的商品特征向量,这种向量空间并不能快速自动地反映数据环境的变化,例如大量新增加商品或顾客购买行为的不断积累变化的情况,从一定程度上影响其推荐质量。
(4)基于内容的推荐系统在碰到相同主题的内容时,很难区分质量的离低。
例如,在对专业文章资源的推荐中,同一专业科目的文章经常会在内容近似,但实际水平相差较大,因此应具有不同的推荐度,但是基于内容的推荐系统不能识别其质量差异,也从一定程度上影响了其推荐质量。
2.3 基于协同过滤的推荐
协同过滤推荐是至今为止最成功的个巧化推荐技术,被应用到很多领域中。协同过滤通过分析用户兴趣,在用户群中寻找与目标用户具有相似兴趣的用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度进行预测。协同过滤的实现一般分为两步: