1. 研究目的与意义
1.1 大数据时代的到来
(1)什么是大数据
目前大数据没有一个明确的定义。根据文献[1]大数据指的是其规模、涌现速度和其处理难点超出目前常规技术能管理、处理和分析的数据[1]。
(2)大数据有什么特征
大数据的特征可用三个V来描述:
① 数量大(Volume):2008年谷歌一天处理的数据量是20PT;根据2012年淘宝双十一数据,一分钟支付宝交易成功笔数为9.2万笔;按照Teradata的数据,一架波音737客机飞行6小时产生的传感器数据达到240TB。随着信息量的不断增长,企业也流行采用PB级(1PB=1024TB)的存储设备。随着科技发展、社会进步,人们对数据的依赖性越来越大,获得的数据量呈指数级增长,如何处理这些数据成为一个难题。
② 高速性(Velocity):数据被创建和移动的速度快。企业创建实时数据流,快速处理、分析并返回给用户,以满足用户的实时需求。
③ 种类多(Variety):有结构化的数据,也有半结构化和非结构化的数据,如网络日志、视频、音频、地理信息等。
1.2 大数据时代下的电子商务与推荐系统
(1)信息过载问题
随着互联网服务更加普及,移动互联网发展更加迅速,用户已经不再满足于传统的被动接受信息的角色,开始主动地寻找自己需要的信息和制造信息。在这种强烈需求的刺激下,同时为了提高用户的满意度,各企业加大了信息内容的建设。例如淘宝网在2013年就可提供超过8亿条商品信息。在如此庞大的数据面前,用户想要找到符合自己需求的信息资源颇为不容易。而企业很难通过挖掘用户的行为特征来改善自己的服务,产生了所谓的“信息过载”(Information Overload)问题。
(2)搜索引擎的局限性
搜索引擎为用户提供了一种快速检索所需信息的解决方案。搜索引擎通过用户输入的关键字进行比对和查找,为用户提供符合条件的资源。但是搜索引擎终究只是在关键字层面满足用户的需求,其智能化程度较低,无法根据用户的偏好进行过滤,导致用户需要进行手动筛选。除此之外,在面对中文信息的时候,搜索引擎还存在着以下问题[3]:
① 中文网络信息质量较低;
② 检索结果的排序质量差;
③ 检索结果的重复率高;
④ 获取成本较高。
(3)推荐系统
针对上述信息过载问题及搜索引擎的局限性,学术界和业界提出了推荐系统(Recommender System)。推荐系统可以根据用户的历史行为,主动为用户提供符合需求和兴趣的信息资源。作为信息过滤的有效手段,推荐系统在电子商务、数字图书馆等领域得到了广泛的应用和实践,如表1所示[6]。
表1 国内外主要推荐系统
| 国外 | 国内 |
视频类 | Netflix,Youtube | 优酷,爱奇艺 |
资讯类 | Google news | 网易新闻 |
音乐类 | Yahoo music | 网易云音乐 |
社交类 | Facebook,Twitter | 微博,QQ |
电子商务类 | Amazon,EBay | 淘宝,天猫 |
1.3常见的推荐算法
推荐系统发展到今天,形成了以下几种常见的推荐算法。
(1)协同过滤算法
协同过滤算法的原理是通过找寻和用户偏好相似的用户,将他们感兴趣的内容推荐给用户。主要的协同过滤算法分为基于记忆的方法和基于模型的方法。基于记忆的方法可分为基于用户和基于项目的方法,而基于模型的方法有朴素贝叶斯分类、基于线性回归等方法。
(2)基于内容的推荐算法
基于内容的推荐算法重视项目和用户本身的特征,如电影的导演、演员、发布时间,用户的地理、性别等等。基于内容的推荐算法一般有文本推荐、基于潜在语义分析等方法。
(3)混合推荐算法
混合推荐算法结合了协同过滤算法和基于内容推荐算法的优点,将两者的结果进行融合。
(4)基于关联规则的推荐算法
基于关联规则的推荐算法根据大量的用户购买数据,为用户推荐有相似购买行为的人购买过的商品,如美国沃尔玛超市的“啤酒 尿布”,看似没有关联的商品一起销售,能取得意想不到的效果[4]。Apriori是经典的关联规则挖掘算法,在此基础上又提出了FP-Growth算法,显著提高了运行效率。
1.4推荐系统面临的挑战
随着大数据时代的来临,传统的算法很难适应用户规模、评分数据规模的快速增长,同时还会造成推荐的质量下降,造成用户的满意度下降,甚至用户的流失。概括起来,推荐系统主要面对的问题有:
(1)项目内容特征描述问题:早期的互联网信息主要集中于可解析的文本数据,通过一定的模型可以对其进行描述。随着时代的发展,视频、图像等多媒体资源在互联网的占比越来越大,对其解析的技术尚未成熟,一定程度上制约了推荐系统的发展。
(2)稀疏性问题:用户对项目的评分一定程度上反映了用户的兴趣。用户的评分数据可以用用户-评分矩阵来描述,该矩阵是协同过滤算法的主要依据。随着用户和评分规模不断扩大,该矩阵内部存在大量的未访问项,一般用“0”表示。用户-评分矩阵的稀疏度可达到99%。高稀疏性会导致协同过滤算法的推荐质量下降。协同过滤算法依赖大量的数据去进行相似性的计算和评分的预测,过少的数据使得推荐质量难以保证。
(3)冷启动问题:系统中出现新用户时,该用户未做任何评分,推荐系统也没有任何关于此用户的知识。系统中出现新的项目时,同样也没有任何被打分的记录。对于基于内容的推荐算法,可以通过分析文本计算相似度,而对于协同过滤算法来说,由于缺失历史数据,严重影响推荐质量。
(4)伸缩性问题:推荐系统是针对海量信息空间的信息过载提出的解决方案。传统的算法有其适应的数据规模。随着数据规模的不断增长,算法的伸缩性成为影响推荐系统发展的一个重要因素。
(5)概念漂移问题:用户的兴趣不是一成不变的,会受到社会、家庭、重大事件等因素的影响。传统的算法并未对用户评分的时间加以区分,导致用户在不同时间点的评分的地位是相同的。当用户的兴趣发生突变时,推荐质量会急剧下降。
1.5 Hadoop与大数据处理
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,核心是HDFS(Hadoop DistributedFile System)和MapReduce。
HDFS具有高容错性和高扩展性等特点,允许用户将Hadoop部署在价格低廉的服务器上,形成分布式系统。作为编程模型的MapReduce 允许用户在不了解底层细节的情况下开发并行应用程序。MapReduce将分布式编程分为Map(映射)和Reduce(化简)两个阶段,基于MapReduce的并行程序可将一项任务分发到多台机器组成的集群上,并行处理大量数据。
目前Hadoop已应用于云存储、数据查询、数据挖掘、数据分析等领域。在国外,Facebook、IBM都在使用Hadoop平台,国内如中国移动、淘宝也在使用Hadoop平台。百度用Hadoop每周处理200TB的数据[8]。
1.6本课题研究目的及意义
通过上述对推荐系统应用背景的回顾,结合推荐系统存在的问题,本课题通过深入研究推荐算法,在此基础上探究如何使推荐算法的效率更高,如何降低稀疏性的影响、解决冷启动、伸缩性和概念漂移等问题,基于Hadoop MapReduce,设计实现一个较完善的推荐系统。2. 研究内容和预期目标
2.1研究内容
对movielens数据集进行分析,将数据集划为两部分,一部分为训练集,一部分为测试集,分析训练集的用户历史评分等信息,对用户评分预测,与测试集做比较。
2.2准确度指标
3. 研究的方法与步骤
3.1 学习主流的推荐算法
学习目前主流的推荐算法,将其在hadoop上实现并测试,统计它们的rmse、mae。
3.2 在主流算法上进行改进
4. 参考文献
[1] 顾君忠.大数据与大数据分析[j].软件产业与工程,2013年第4期
[2] 甘丽新.大数据时代电子商务的机遇与挑战探讨[j].科技广场,2013年3月30日
[3] 费巍.搜索引擎检索功能的性能评价研究[d].武汉大学,2010年5月1日
5. 计划与进度安排
2022.1.5 ---- 2022.2.28 查阅资料, 撰写开题报告
2022.3.1 ---- 2022.3.15 需求分析,熟悉开发工具
2022.3.15 ---- 2022.3.20 概要设计
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。