APP下载

个性化推荐系统综述

2019-07-08代丽樊粤湘

计算机时代 2019年6期
关键词:推荐算法协同过滤推荐系统

代丽 樊粤湘

摘  要: 随着网络的发展,信息过载成为人们不得不面对的问题,个性化推荐系统便是解决该问题的有力工具,并受到了广泛的关注和研究。文章对推荐系统的定义进行了简单描述,分析比较了推荐系统目前较为流行的诸如关联规则、协同过滤类等推荐算法的含义和优缺点,提出了目前推荐系统尚未解决的问题。

关键词: 推荐系统; 推荐算法; 关联规则; 协同过滤

中图分类号:TP399          文献标志码:A     文章编号:1006-8228(2019)06-09-04

Abstract: With the development of the network, information overload has become a problem that people have to face. The personalized recommendation system is a powerful tool to solve the problem, and has received extensive attention and research. This paper briefly describes the definition of the recommendation system, analyzes and compares the meaning, advantages and disadvantages of the recommendation algorithms which are currently popular in the recommendation system, such as Association rules and Collaborative filtering etc., and puts forward some problems that are still unresolved in recommendation system.

Key words: recommendation system; recommendation algorithm; Association rules; Collaborative filtering

0 引言

大數据时代,人们一方面对信息的需求得到了很大的满足,另一方面在面对如此庞大的信息量时,常常感到束手无策。人们无法从中准确找到自己真正需要和感兴趣的信息,对信息的利用率不但没有增长反而有所降低,这就是信息时代经常出现的问题——信息过载。以信息检索和搜索引擎技术为核心的信息搜索系统就是为了解决这一问题而生的,如Google,Baidu等。用户通过使用这些检索系统,可以大大缩小搜寻对自己有价值信息的范围,在一定程度上缓解信息过载问题。

目前,这些系统都是面向大众的,并没有考虑每个用户所具有的不同特性。当不同的用户输入相同的关键字时,信息检索系统向其提供的信息资源都是相同的,仍然存在着大量的冗余信息,无法满足不同用户的不同需求。因此,这些系统应根据所掌握的用户的兴趣,行为特征以及其他个人信息来制定具有针对性的推荐策略,尽可能地提供满足不同用户需求的个性化服务,使他们能够在海量的信息中快速而准确的获得所需要的信息,即所谓的个性化推荐系统。该系统是电子商务和互联网技术发展的必然产物,而且现今被广泛运用到新闻网站,决策支持,学习推荐,数字图书馆,电子商务等各个方面,有越来越多的用户依赖于从网络上获取需要的信息,人们的生活方式正悄然变化。

可见,对个性化推荐系统的研究具有十分重要的现实意义。此外,其在理论上也受到了学术界越来越多的关注,并逐渐形成了一门独立的学科。本文接下来将从推荐系统的概念、定义和主要推荐算法对个性化推荐系统的研究情况进行综述。

1 推荐系统的概念及定义

最早提出推荐系统这一概念的是在Resnick 1997年发表的文献中,他认为在我们的生活中,常常需要对不了解的事务做出决策,在此种情况下,我们只能依据他人的口头意见、书评、影评、推荐信或者中立机构的调查结果来进行判断[1]。而推荐系统就是对人类这种行为的模拟,其通过使用相关算法对他人提供的信息进行分析处理,然后再将分析得到的结果提供给寻求推荐的用户。Burke认为任何可以输出个性化推荐信息或者是能够以个性化的方式引导用户在大量信息中寻求到合乎自己兴趣的或有价值的信息的系统都可以称为推荐系统[2]。Schafer则认为推荐系统是构成电子商务网站的一部分,通过对网站上客户消费行为的分析与学习,来对客户未来可能的消费行为进行预测,从而使电子商务网站能够根据不同客户的偏好来提供不同的服务[3]。

不同的学者从不同的角度出发,对推荐系统便会赋予不同的内涵。但无论其内涵如何不同,都涉及到了如下三个方面的内容:①用户、推荐算法以及推荐对象。而且各种推荐系统的大致流程也基本相同,即:收集用户的兴趣偏好和行为特征建立用户模型;②根据系统特定的推荐算法,将推荐对象模型的信息与用户模型匹配;③将与用户兴趣匹配的信息推荐给用户。用图1表示如下。

2 推荐算法

整个推荐系统中最关键的部分便是推荐算法了,因为系统的性能优劣很大程度上都是由推荐算法来决定的。目前,有许多学者都对推荐算法进行了研究,仅从中国知网上搜索推荐算法时便有6000多条文献记录。推荐算法种类的划分因缺少统一的标准而被分成了不同的类型。现今最为大家接受和流行的推荐算法分类如图2所示。

2.1 基于关联规则的推荐

基于关联规则推荐算法的核心思想就是从大量的数据中寻找满足一定支持度的频繁项集,然后再依据置信度从其中找到强关联规则,最后便可以根据该规则向用户推荐其可能感兴趣的事物。关联规则广泛应用于电子商务推荐系统当中,它通过利用用户交易数据库中的数据,分析用户每次购买产品之间的关系,生成用户的购买模式,当用户再次购买时,便可以进行相关推荐,实现交叉销售。目前较为经典的关联规则算法是Apriori算法、FP-Growth算法。该算法的缺点在于:在寻找频繁项时需要对数据集进行多次扫描,计算量较大,耗费时间长[4]。虽然可以离线计算,对推荐系统性能影响不大,但仍然会带来一定的不便;由于采用用户数据,不可避免地存在冷启动和稀疏性问题;存在热门项目容易被过度推荐的问题。

2.2 基于内容的推荐

基于内容的推荐算法的理论依据主要来自于信息检索和信息过滤。该方法的基本原理就是根据用户已经选择的对象来获得用户的兴趣描述,然后再将推荐对象的特征与用户的兴趣进行比较,最后将比较结果相似的推荐对象推送给用户。使用该算法进行推荐的步骤我们可以从闫东东等人写的文献中了解到[5],其具体内容如下。①建立推荐对象模型:根据各项目的特征制定关键字集合,用集合对项目进行评估,生成相应的描述文件。②建立用户兴趣模型:通过系统显式或者隐式的方式来跟踪用户的信息和行为,获取用户的特征,生成用户描述文件。③获取匹配程度进行推荐:通过计算推荐对象模型和用户兴趣模型的相似性,相似性越高的则匹配程度越高,最后按照匹配程度的高低进行推荐。例如,在进行图书购买推荐时,系统可以分析用户先前购买书籍的共性,然后再将这些共性与其他书籍特征进行比较,最后将相似度排名在前的书籍推荐给用户。

其中,建立用户兴趣模型的方法一般为机器学习领域的方法,如决策树分类算法,神经网络等。而物品特征提取目前主要研究集中在文檔特征提取,一般采用的算法为词频-倒排文档频率法(TF-IDF)。用户模型与推荐对象相似度比较最简单的方法就是向量夹角余弦法。

基于内容的推荐系统在进行推荐时只需要获取用户和推荐对象的描述文件,无需用户对该对象的评分。因此,它可以很好的解决新对象出现的冷启动问题,也不会出现评分信息稀疏性问题。但是该方法对图片视频等多媒体资源不太适合,因为目前对于这些资源特征的提取还没有有效的方法。而且用户比较难以获得新的推荐结果,因为推荐对象的特征都是与用户兴趣模型相匹配的,得到的推荐结果都是与以前相似的。该方法还存在新用户冷启动问题。对于新用户,系统无法获取用户的兴趣模型。

2.3 协同过滤推荐

协同过滤推荐算法是众多推荐算法中较为热门,应用较为广泛的一种[6],自出现以来大大地促进了推荐系统的发展。其核心思想就是利用与目标用户兴趣偏好相同的用户群体的喜好情况来推荐。该种推荐算法主要又可以分为两种形式:基于用户的推荐和基于物品的推荐。

基于用户的推荐的基本原理就是通过所有用户的历史数据发现他们对项目的偏好程度,通过计算找到与目标用户兴趣偏好相似的邻居用户组,最后根据邻居用户组的历史偏好信息向目标用户进行推荐。如图3所示。

根据计算可知,用户A和用户B相似,用户A偏好与物品A、B、C,用户B 偏好与物品A、C,因此可以将物品B推荐给用户B。

基于项目的推荐的基本原理同基于用户的推荐很相似,只需要将计算用户之间相似性变为计算项目之间的相似性,然后找到未评分项目的最近邻居,根据用户对最近邻居的评分来预测相应未评分项目的分数,最后将排名靠前的预测项目反馈给用户。如图4所示。

在图中,根据所有用户对物品的偏好可知,喜欢物品A的用户都喜欢物品C,可认为物品A与物品C相似,用户C也喜欢A,所以可将物品C推荐给用户C。

不同于基于内容的推荐算法对信息对象内容的过分依赖,协同过滤算法可以完全不依赖内容实现推荐。另外,协同过滤算法还可以进行联想性推荐,为用户提供新颖的信息。因此,其应用领域更为广泛。但协同过滤算法也存在着难以克服的问题。如:冷启动问题,当推荐系统中出现新的用户个体时,该用户没有对任何信息对象给出评分,所以推荐系统无法获得其信息需求从而为其提供推荐。如稀疏性问题,推荐系统中的信息项目数量规模往往非常巨大,而用户对信息项目的评分往往只能涉及到很少一部分,这将导致用户项目评分矩阵的稀疏度非常高,从而影响推荐系统的整体准确性[7]。

2.4 混合推荐

基于混合推荐算法的系统是推荐系统研究的另一大热点。它是指将多种推荐算法结合,弥补彼此的缺点,从而达到更好的推荐效果。所以,在实际应用中,我们可以针对具体问题采用合适的组合策略。目前基于内容的推荐和协同过滤推荐的组合是研究和应用较多的组合。

3 结论与展望

本文围绕着个性化推荐系统这一主题,对推荐系统的概念和当前较为流行的几种推荐算法进行介绍,并列举出了各推荐算法的优点和缺点。因此在实际应用中,我们应该根据实际需求选择合适的推荐算法。就目前而言,个性化推荐技术远还没有达到成熟的地步,除了传统的冷启动和稀疏性问题,还有其他很多问题有待解决。①用户兴趣偏好改变问题。在现实生活中,用户的兴趣爱好随着时间的推移而变化的情况比比皆是,如果在建立用户兴趣模型时,未考虑这个问题,则无法掌握用户的当前爱好,推荐结果也就不会令用户满意。②推荐系统的安全问题。随着个性化推荐技术在电子商务中的广泛应用,一些商家或者黑客受到眼前利益的趋势,便会采取非法手段来攻击推荐系统,进行危害用户利益的非法营销。③推荐系统的隐私问题。在建立用户兴趣模型时,系统会通过显式或者隐式的方式来收集用户各种信息,这种行为涉及到了用户的隐私。因此如何在提高推荐系统个性化服务的同时又能很好地保护用户的隐私问题还有待研究。

参考文献(References):

[1] Resinick P, Varian H R. Recommender systems[J].Communications of the ACM,1997.40(3):56-58

[2] Robin Burke. Hybrid Recommender Systems: Survey andExperiments[J].User Modeling and User-Adapted Interaction,2002.4.

[3] J.Ben Schafer, Joseph A. Konstan, John Riedl.E-Commerce Recommendation Applications[J]. Data Mining and Knowledge Discovery,2001.1.

[4] 郝海涛,马元元.基于加权关联规则挖掘算法的电子商务商品推荐系统研究[J].现代电子技术,2016.39(15):133-136

[5] 罔东东,李红强.一种改进的基于内容的个性化推荐模型机.软件导刊,2016.15(4):11-13

[6] 毛勇.基于协同过滤的推荐算法研究[J].计算机时代,2018.7:28-31

[7] 包志强,宋静霞.结合关联规则填充的协同过滤改进算法[J].现代电子技术,2019.42(3):78-81,86

猜你喜欢

推荐算法协同过滤推荐系统
基于用户偏好的信任网络随机游走推荐模型
基于链式存储结构的协同过滤推荐算法设计与实现
基于相似传播和情景聚类的网络协同过滤推荐算法研究
基于个性化的协同过滤图书推荐算法研究
社交网络推荐系统
个性化推荐系统关键算法探讨
基于协同过滤算法的个性化图书推荐系统研究
混合推荐算法在电影推荐中的研究与评述
浅谈Mahout在个性化推荐系统中的应用
一种改进的基于位置的推荐算法