基于Spark大数据处理的电影推荐系统设计与实现

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:dffder
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:文章指出,该系统的开发设计是使用了互联网著名且优化过后的MovieLens数据集当作基础,以网络中某个电影评分网站的数据业务框架作为前提,其中包括离线推荐和实时推荐体系,总体采用了协同过滤算法和基于内容的推荐算法实现混合推荐的目的。实现了前端可视化页面、后台业务处理、算法的设计与实现、环境的安装与部署等多种操作方式。
  关键词:推荐系统;混合推荐;协同过滤;Spark;ALS;机器学习
  0  引言
  随着网络碎片化管理视频的时代到来,不断产生的用户数据,促使基于用户的智能推荐影片的系统的实现非常重要。一个完善的推荐系统能够为用户提供实时需要的信息,正是如此推荐系统面对海量产生的数据信息,从中快速推荐出满足用户喜好的物品,对于一些“选择恐惧症”和没有明确需求的人是一道福音。
  以电影网站作为业务应用场景,实现基于统计的推荐、基于LFM的离线推荐、基于模型的实时推荐、基于内容的推荐等多个模块代码实现,并与各种工具进行整合互接,构成完整的项目,实现对大数据框架的整合以及典型机器学习前沿学习算法的应用[1-3]。
  1  推荐系统总体技术要求
  1.1  系统框架要求
  该推荐系统是基于Web开发的B/S系统,该前端架构是通过AngularJS框架用户可视化工具开发实现,该后端是通过Spring框架进行综合业务服务的实现。
  (1)系统采用的开发工具:IDEA;编程语言:Java、Scala。
  (2)由于业务处理请求在数据的存储模块有着差异,进行区别采用了不同的数据库,采用MongoDB管理平台内业务数据库并当做主数据库;采用Elasticsearch当做模糊搜索服务器实现匹配查询操作和基于内容的推荐;采用Redis当做缓存数据库实现实时推荐模块里对数据进行提取。
  (3)系统基于Spark平台,运用到了Spark部分生态组件。实时推荐部分中实现基于模型的推荐算法,采用Flume进行日志收集业务以及Kafka进行消息缓冲操作,使用Spark Streaming当做实时的推荐系统,接受Kafka对缓存的数据处理后合并更新到MongoDB数据库。
  1.2  系统架构
  该推荐系统的整体业务的实现将Web端由前端AngularJS用户可视化框架和后台响应业务请求的Spring框架组成,并结合MongoDB数据库和Spark生态服务部分组件完成[4-6]。系统架构如图1所示。
  2  电影推荐系统的结构设计
  系统的結构设计可以分为4个模块:系统初始化、离线推荐、实时推荐、业务实现。
  (1)系统初始化部分。在系统的初始化中主要任务是经Spark SQL将初始化后产生的数据加载进MongoDB和ElasticSearch里面。
  (2)离线推荐部分。首先,经Azkaban操作离线的统计请求对离线推荐服务进行调度,然后在预先设好的运行时间周期实现任务的触发执行操作。其次,实现离线统计服务在MongoDB业务数据库,其进行数据的加载,使电影的“平均评分统计”“评分个数统计”以及“最近评分个数的统计”的统计算法运行处理得到结果,然后将计算结果回写入MongoDB;实现离线推荐服务在MongoDB进行数据的加载,然后利用基于ALS的协同过滤算法进行处理,把“用户推荐结果矩阵”“影片相似度矩阵”写入MongoDB。
  (3)实时推荐部分。通过Flume在总体的服务架构下得到的运行日志里面读取信息,查看更新日志,然后让更新后的信息实时转发给Kafka;Kafka接收到日志信息后,经KafkaStream对获得的日志信息实现过滤处理操作,从而获得产生用户的评分数据流“UID | SCORE | TIMESTAMP”,并转入进其他的已经备好的Kafka队列中;Spark Streaming通过实现对Kafka队列的监听,可以及时接收到Kafka过滤后产生的有关用户的评分数据流,然后在Redis中的最近评分队列中实现融合存储操作,实时推荐算法接受并实现最新推荐结果的计算预测;算法处理结束后,将新产生的推荐结果和之前MongoDB业务数据库中原有的数据进行合并。
  (4)业务部分。第一,推荐系统的成果演示功能中在MongoDB和ElasticSearch里让最终的离线推荐、实时推荐以及内容推荐产生的所有结果实现混合,进而总体得到对应的数据。第二,信息查询业务功能连接MongoD进行电影信息的查询功能处理。第三,在电影评分功能当中,接收前台UI响应用户进行的评分操作,后端服务对数据库日志进行记录之后,把数据推送到Redis群当中,并且把之前设定好的日志框架输出到Tomcat的日志当中。第四,系统的检索功能ElasticSearch搜索服务器进行电影信息的模糊查询操作。第五,电影标签功能中主要是用户可以通过客户端对电影的标签进行手动添加。推荐效果如图2所示。
  3 结语
  通过设计并实现一个简单的个性化电影推荐系统,对大数据平台下Spark数据处理、机器学习基础以及推荐算法的架构有了进一步的学习,同时也初步了解了推荐算法的一些具体流程,本系统包含了电影的实时推荐离线推荐、热门电影推荐、基于ALS算法的协同过滤推荐、基于模型的推荐、基于内容的推荐、基于统计的推荐、用户注册登录和电影展示等功能。未来的学习研究任务将kmeans和深度学习等模型结合进行推荐,从而提高推荐的准确率和多样性。
  [参考文献]
  [1]项亮.推荐系统实践[M].北京:人民邮电出版社,2012.
  [2]史爱武,李险贵.基于Spark和微服务架构的电影推荐系统设计与实现[D].武汉:武汉纺织大学,2021.
  [3]雷畅.基于Spark的电影推荐系统的设计与实现[D].武汉:华中科技大学,2020.
  [4]张志威.个性化推荐算法研究综述[J].信息与电脑(理论版),2018(17):27-29.
  [5]林子雨.大数据技术原理与应用:概念、存储、处理、分析与应用[M].北京:人民邮电出版社,2017.
  [6]刘祥,熊晓明,王艺航,等.一种基于Spark的电影推荐系统及方法,CN:110717093A[P].广东:广东工业大学,2020.
  (编辑 傅金睿)
其他文献
摘 要:在信息时代背景下,计算机网络发展有效地优化了社会生活方式,计算机应用更加广泛,分层技术是计算机软件应用中最为广泛的技术。为此,文章重点探寻计算机软件开发中应用的分层技术。  关键词:计算机软件;软件开发;分层技术;探寻策略  0 引言  计算机技术的不断普及使得人们对计算机软件的使用提出了更高的要求。因此,计算机人员只有不断创新技术才能够让其发挥更大的作用。其中,分层技术作为计算机技术中非
摘 要:操作系统是目前计算机系统中重中之重的一个系统软件。事实上,OS已经是中国现代IT操作系统、处理器和计算机系统的系统设计软件了。文章主要分析计算机开发操作系统的核心和技术变迁,简单的分析和分析操作系统的功能、开发和排序,并预测计算机系统的未来发展。  关键词:计算机操作系统;发展历程;新技术;发展趋势  1 操作系统概述  操作系统,是一种电脑程序,它管理软件支持的硬件和资源,为使用者提供与
摘 要:针对落地苹果收集过程中的费时、费力等问题,文章基于自动控制技术,设计了一款仿生无人化苹果收集机器人。详细阐述苹果自动收集机器人的结构特点和工作原理,并利用结构和数据方面进行推导,分析整个装置的可行性。与传统的收集果实方式相比较,仿生无人化苹果收集机器人不仅能够适应多种场合的复杂地形,还可以自动收集在地上散落的果实,将收集过程中对果实的损害降到最低,更有利于提高果农的效益,促进社会生产力的发
摘 要:空中交通管理作为我国的民航运输发展中重要的构成部分,是决定民航运输综合服务水平和运行效率的关键要素。文章对基于管制运行关键指标的管制质量评估重要性进行了探讨,结合管制运行关键指标分析,提出了优化管制质量相关策略。  关键词:管制;运行;关键指标;质量评估  0 引言  空管系统运行中,具体的服务过程与民航系统的安全稳定运行之间有着密切的关联,随着质量管理体系引进,空管服务与原有的安全管理体
摘 要:文章通过对市场需求进行分析,开发了一个基于HTML5技术的公共社交平台,该平台采用响应式布局,可实现一次开发多终端适配。使用市场主流框架react.js搭配ant design mobile完成社交平台基本界面的实现,在整个设计中严格采用MVVM模式开发。该公共社交平台实现了用户注册、用户登录、用户个人中心、首页动态、好友列表、好友聊天功能,具有使用便携的特点。  关键词:社交平台;HTM
摘 要:针对老年阿尔茨海默症患者易走失这一难以解决的现实问题,文章主要研究以GPS定位系统、GIS地理信息系统为主的物流动态跟踪技术及条码技术对阿尔兹海默症患者走失情况可提供的技术性帮助。监控设备自动储存患者的身份信息并且在患者出现生命安全的问题时,会自动定位最近的医院向其发送患者的身份信息和生命特征信息,从而寻求帮助。  关键词:GPS;GIS;数据库系统;阿尔兹海默症  0 引言  当今社会老
摘 要:近年来,新能源发电技术突飞猛进地发展。但因为新能源丰富地区的地理位置和环境差异,能源很难集成发挥作用。新能源的发电电源和单位量不稳定。因此要确保电力供需平衡、供应稳定,既要有安全的电力设备,也要有准确的运营渠道。做这些都要有数字化的监视、通信和管理体系来保证电网的自动化系统运营。因此,文章指出,数字化变电站是非常重要的一环,将数字化变电站的二次设备通过计算机实现资源共享的综合系统化系统是构
摘 要:为了提升梨在采摘期的品质,文章设计了基于红外光谱的梨糖度无损检测系统,该系统光电探测器采集红外光照射样品梨所产生的漫反射光信号,并将其转换成相应电压值,然后,通过最小二乘法来建立其电压值与梨糖度的相关模型,再与单片机技术结合,就可以实现对梨糖度的无损检测。  关键词:红外光谱;梨糖度;无损检测;单片机  0 引言  随着人们生活水平的日益提高,消费者在购买水果时,人们不仅注重水果的形状、大
摘 要: 德国现代哲学家赫费的《政治正义性》和罗尔斯的《正义论》堪称是研究政治正义问题的双子星座。罗尔斯的公平原则契约是一种程序正义,赫费的利益契约体现了一种实质正义;赫费将现代的正义设计理解为建构一种法和国家理论,他倡导强制权力,重叠共识理念则构成了罗尔斯正义论的核心部分;罗尔斯的人民社会理念是一个“现实的乌托邦”,赫费倡导的辅助性及联邦制的世界共和国是一个具有建构性的全球治理实体。这两位哲人的