毕业设计(论文)文献综述
毕业设计(论文)题目 | 基于ASP的个人图书管理系统 |
文献综述题目 | 个性化推荐算法的研究综述 |
学 院 | 计算机学院 |
专 业 | 软件工程 |
姓 名 | 万佳琦 |
班 级 | 13108411 |
学 号 | 13108103 |
指导教师 | 傅婷婷 |
一、前言
随着互联网的出现和普及,Web已经成为现代人类获取信息的一个重要途径。我们也逐渐从信息匮乏的时代进入到信息超载的时代,由于Web信息的日益增长,人们不得不花费大量的时间去寻找自己想要的信息。尤其是网络小说的兴起,使得无数的写手投入到写小说的队伍中。导致网络上的小说的质量参差不齐。人们很难在其中找到自己合意的小说。仅通过现有的Google、百度等搜索引擎来搜索有用信息就好像是大海捞针。而各个小说网站也不够齐全,各有各的偏重点,很难从一个中找出所有满意的。这就需要有一个具有良好用户体验的系统,会将海量信息进行筛选、过滤,将用户最关注最感兴趣的信息展现在用户面前[1]。
在此背景下,推荐系统出现了,推荐系统的任务就是解决上述的问题,联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对他感兴趣的人群中,从而实现信息提供商与用户的双赢。一个成功个性化推荐系统,往往选择了合适的推荐算法作为系统核心。推荐算法在很大程度上决定了推荐系统类型和性能的优劣。除此之外,能否处理好新用户的冷启动问题和数据过多导致的稀疏问题,也是推荐系统面临的一大挑战。因此,开发人员在选择一种推荐算法之前,必须综合考虑实际应用场景、各推荐算法的特征与性能等要素。下文选择了几种推荐算法,就他们的特点以及优缺点进行分析综述。
二、主题
(1)推荐算法特点
1)基于内容的推荐
基于内容的信息推荐方法的理论依据主要来自于信息检索和信息过滤,所谓的基于内容的推荐方法就是根据用户过去的浏览记录来向用户推荐用户没有接触过的推荐项。它的核心思想[2]是根据推荐物品或内容的元数据,发现物品或者内容的相关性,然后基于用户以往的喜好记录,推荐给用户相似的物品。系统首先对物品(图1中举电影的例子)的属性进行建模[3],图中用类型作为属性。在实际应用中,只根据类型显然过于粗糙,还需要考虑演员,导演等更多信息。通过相似度计算,发现电影A和C相似度较高,因为他们都属于爱情类。系统还会发现用户A喜欢电影A,由此得出结论,用户A很可能对电影C也感兴趣。于是将电影C推荐给A。这种推荐系统[4]多用于一些资讯类的应用上,针对文章本身抽取一些tag作为该文章的关键词,继而可以通过这些tag来评价两篇文章的相似度。
图1 基于内容的推荐举例
2)基于协同过滤的推荐
协同过滤是一种在推荐系统中广泛采用的推荐方法。这种算法[5]基于一个“物以类聚,人以群分”的假设,喜欢相同物品的用户更有可能具有相同的兴趣。基于协同过滤的推荐系统[6]一般应用于有用户评分的系统之中,通过分数去刻画用户对于物品的喜好。协同过滤被视为利用集体智慧的典范,不需要对项目进行特殊处理,而是通过用户建立物品与物品之间的联系。这种算法主要分为3个步骤[7]:
一,用户评分。可以分为显性评分和评分两种。显性评分就是直接给项目评分(例如给百度里的用户评分),评分就是通过评价或是购买的行为给项目评分 (例如在有啊购买了什么东西)。
二,寻找最近邻居。这一步就是寻找与你距离最近的用户,测算距离一般采用以下三种算法: 1.皮尔森相关系数。 2.余弦相似性。 3调整余弦相似性。 调整余弦 相似性似乎效果会好一些。
三,推荐。产生了最近邻居集合后,就根据这个集合对未知项进行评分预测。把评分最高的N个项推荐给用户。 这种算法存在性能上的瓶颈,当用户数越来越多的时候,寻找最近邻居的复杂度也会大幅度的增长。
图2 协同过滤推荐流程
3)基于关联规则推荐
基于关联规则[8]的推荐是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。关联规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。
4)其他推荐
基于效用[9]的推荐是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。
基于知识[10]的推荐,在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。
(2)推荐算法优缺点比较[11]
表1 推荐算法优缺点比较
推荐方法 | 优点 | 缺点 |
基于内容推荐 | 推荐结果直观,容易解释; 不需要领域知识 | 新用户问题; 复杂属性不好处理; 要有足够数据构造分类器 |
协同过滤推荐 | 新异兴趣发现、不需要领域知识; 随着时间推移性能提高; 推荐个性化、自动化程度高; 能处理复杂的非结构化对象 | 稀疏问题; 可扩展性问题; 新用户问题; 质量取决于历史数据集; 系统开始时推荐质量差; |
基于规则推荐 | 能发现新兴趣点; 不要领域知识 | 规则抽取难、耗时; 产品名同义性问题; 个性化程度低; |
基于效用推荐 | 无冷开始和稀疏问题; 对用户偏好变化敏感; 能考虑非产品特性 | 用户必须输入效用函数; 推荐是静态的,灵活性差; 属性重叠问题; |
基于知识推荐 | 能把用户需求映射到产品上; 能考虑非产品属性 | 知识难获得; 推荐是静态的 |
综上所述,可看出以上几种推荐算法虽然很普及,但也存在一定的弊端。因此在实际应用中,往往需要针对不同的情况来进行组合推荐。[12]组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,比如在保证推荐准确性的同时增加推荐的多样性,使特殊喜好的用户得到推荐或更好的利用用户的实时反馈数据强化推荐算法。以后的推荐算法可以在考虑时间,空间,任务等因素的情况下,来更好的完成推荐。
参考文献
[1] 张培颖.基于模糊隶属度的个性化网页推荐系统[J].计算机系统应用.2008.(11)
[2] 百度百科.推荐算法.[EB/OL]:
http://baike.baidu.com/link?url=WT1Gpc5-GfZ_Ux0MbJ1Fx6gqWssqayIcqL2Q0rEAWC_bpGMkqioZJkiBiLlONhFCf6CHAHOa_CoQ5VciLZwPOgyg371XneOLoYiLRtT25HkH0MT_rt4wZHw2tYsx2lbZ
[3] 沉沦风帆.常用的推荐算法解析.[EB/OL]:
http://blog.csdn.net/u014605728/article/details/51274814,2016-04-28
[4]博客园.推荐系统的常用算法概述.[EB/OL]:
http://www.cnblogs.com/luchen927/archive/2012/02/04/2334316.html,2012-02-04
[5] 王义,马尚才.基于用户行为的个性化推荐系统的设计与应用[J].计算机系统应用.2010.19.(08)
[6] 王卫平,刘颖.基于客户行为序列的推荐算法[J].计算机系统应用,2006.(9)
[7] 马丽.电子商务个性化推荐技术分析及比较[J].计算机系统应用.2008.(12)
[8] 张培颖.基于Web内容和日志挖掘的个性化网页推荐系统[J].计算机系统应用.2008.(9)
[9] 吴兵,叶春明.基于效用的个性化推荐方法[J].计算机工程.2012.38.(04)
[10]许海玲,吴潇,李晓东,阎保平.互联网推荐系统比较研究[J].软件学报. 2009.20(02)350-362
[11] 数盟.推荐系统的常用算法对比.[EB/OL]:
http://dataunion.org/32.html
[12] 王子政,姚卫东.一种改进的组合推荐算法研究[J].军民两用技术与产品.2015.(23):46-47
文献综述考核表
"
指导教师对文献综述的评语:
指导教师 (签名)
2016 年 9 月 29 日 | ||||
建议成绩 | ||||
" 评阅小组或评阅人对文献综述的评语: 评阅小组负责人或评阅人 (签名)
2016 年 9 月 29 日 | ||||
建议成绩 |