ImageVerifierCode 换一换
格式:PDF , 页数:4 ,大小:938.98KB ,
资源ID:2331260      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/2331260.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(深度学习和Spark在电影推荐系统上的应用_黄宏昆.pdf)为本站会员(哎呦****中)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

深度学习和Spark在电影推荐系统上的应用_黄宏昆.pdf

1、第 39 卷 第 2 期 福 建 电 脑 Vol.39 No.2 2023 年 2 月 Journal of Fujian Computer Feb.2023 本文得到福建省教育厅中青年教师教育科研项目(No.JAT190742)、龙岩学院青年攀登项目(No.LQ2017005)、龙岩学院校级教改课题(No.2019JY25)资助。黄宏昆(通信作者),男,1990年生,主要研究领域为物联网应用、机器学习。E-mail:。彭明,男,1988年生,主要研究领域为机器学习、数据挖掘。E-mail:。深度学习和 Spark 在电影推荐系统上的应用 黄宏昆 彭明(龙岩学院数学与信息工程学院 福建 龙岩

2、364012)摘 要 为给用户提供简易高效的电影浏览体验,本文基于 Spark 和几种深度学习模型设计实现一个电影推荐系统。采用Spark 对数据进行处理并存储到 Redis 中供推荐模型使用;使用 Embedding 和局部敏感哈希等技术快速召回候选物品;利用深度学习推荐模型进行排序,借助 TensorFlow Serving 将推荐模型部署上线;通过 web 框架实现前后端搭建,最终将推荐物品列表呈现给用户。实践结果表明,该系统具有很好的稳定性和实时性,在一定程度上提升了推荐效果。关键词 电影推荐系统;Spark 数据仓库;深度学习模型 中图法分类号 TP391 DOI:10.16707/

3、ki.fjpc.2023.02.004 The Application of Deep Learning and Spark in Movie Recommendation System HUANG Hongkun,PENG Ming (Department of Mathematics&Information,Longyan University,Longyan,China,364012)Abstract In order to provide users with a simple and efficient movie browsing experience,this study des

4、igns and implements a movie recommendation system based on Spark and several deep learning models.Spark is used to process the data and store it in Redis for use by the recommended model;Quickly recall candidate items using technologies such as embedding and local sensitive hashing;Use the deep lear

5、ning recommendation model to sort,and deploy the recommendation model online with TensorFlow Serving;The front end and back end are built through the web framework,and finally the list of recommended items is presented to users.The practice results show that the system has good stability and real-ti

6、me performance,which improves the recommendation effect to a certain extent.Keywords Movie Recommendation System;Spark Data Warehouse;Deep Learning Model 1 引言 深度学习应用于推荐系统,能够极大地增强推荐模型的拟合能力和表达能力。由于深度学习模型的结构复杂度大大提高,使通过训练使模型收敛所需的数据量大大增加,这也反向推动了推荐系统大数据平台的发展,让推荐系统相关的大数据存储、处理、更新模块也一同迈入了“深度学习时代”1。推荐模型是推荐系统中

7、核心部分,经历了传统的基于内容推荐、协同过滤推荐和混合推荐到基于深度学习推荐的发展过程2。2013 年,百度率先在广告系统中应用了深度学习3,随着在 2015 之后,阿里提出并应用了从 MLR(Mixed Logistic Regression)到DIEN(Deep Interest Evolution Network)等一系列的深度学习模型4。国外的互联网巨头也不逞多让,从最早的 Google 的 Word2vec5,到 2015 年YouTube 的深度学习推荐系统6,再到之后的Facebook、Amazon、微软等等,几乎所有头部公司的成功应用,让深度学习如后浪般席卷推荐系统业界,将传统

8、的推荐模型逐渐取代。本文基于现有深度学习推荐模型,结合大数据处理生态设计并实现一个电影推荐系统。通过TensorFlow实 现Embedding MLP(MultiLayer 18 黄宏昆等:深度学习和 Spark 在电影推荐系统上的应用 第 2 期 Perceptron)、Wide&Deep、NeuralCF(Neural Collaborative Filtering)和DeepFM(Deep Factorization-Machine)等四种深度学习推荐模型,并借助 TensorFlow Serving 部署上线7-11;通过Spark、Hadoop HDFS、Flink 等大数据技术存

9、储、处理和更新推荐系统数据12。2 系统设计 2.1 系统架构 推荐系统的技术架构按照数据和信息、推荐系统算法和模型两部分展开的,其中数据和信息部分融合了数据离线批处理、实时流处理的数据流框架;算法和模型部分集训练(Training)、评估(Evaluation)、部署(Deployment)、线上推断(Online Inference)于一体。数据信息模块、推荐算法模型模块,再结合具体推荐系统的业务模块就构成了一个完整的推荐系统。基于此,设计出如图1 所示的电影推荐系统的技术架构。图 1 电影推荐系统架构 2.2 数据部分 推荐系统的“数据部分”主要负责“用户”、“物品”、“场景”信息的收集

10、与处理。根据处理数据量和处理实时性的不同,用到三种不同的数据处理方式,按照实时性的强弱排序:客户端与服务器端实时数据处理、流处理平台准实时数据处理、大数据平台离线数据处理。在实时性由强到弱递减的同时,三种平台的海量数据处理能力则由弱到强。2.3 模型部分 推荐系统的“模型部分”是推荐系统的主体。模型的结构由“召回层”、“排序层”以及“补充策略与算法层”组成。其中,“召回层”由高效的召回规则、算法或简单的模型组成,让推荐系统能快速从海量的候选集中召回用户可能感兴趣的物品。“排序层”则是利用排序模型对初筛的候选集进行精排序。而“补充策略与算法层”,也被称为“再排序层”,是在返回给用户推荐列表之前,

11、为兼顾结果的多样性、流行度、新鲜度等指标,结合一些补充的策略和算法对推荐列表进行一定的调整,最终形成用户可见的推荐列表。模型的训练方法分为“离线训练”和“在线更新”两部分。其中,离线训练的特点是可以利用全量样本和特征,使模型逼近全局最优点,而在线更新则可以准实时地“消化”新的数据样本,更快地反应新的数据变化趋势,满足模型实时性的需求。模型部分还包括“离线评估”和“线上 A/B 测试”等多种评估模块,用来得出线下和线上评估指标,指导下一步的模型迭代优化。2.4 业务部分 推荐系统的“业务部分”分为后台服务和前端展示交互,电影推荐系统后台部分使用 Jetty 作为Web Server,前端部分使用

12、 Ajax 和 HTML 完成页面展示交互。电影推荐系统业务功能简洁,仅实现电影推荐的核心功能,它具备“相似推荐”、“猜你喜欢”等经典的推荐功能,在页面设置上,主要由“首页”、“电影详情页”和“为你推荐页”组成。3 推荐系统的构建 如图 1 所示,推荐系统的核心是推荐模型,根据实际业务选择最适合的推荐模型是关键,利用特征工程手段方法给模型源源不断地输送高价值的数据能极大的提高推荐模型的推荐效果。本节介绍如何基于深度学习推荐模型构建一款电影推荐系统,业务部分的开发非讨论范围。本文主要探讨:数据处理、几种推荐模型、推荐模型的评估和推荐模型的部署。3.1 数据处理 在推荐系统领域有许多公开的数据集2

13、,选择使用 MovieLens 数据集。MovieLens 由明尼苏达大2023 年 福 建 电 脑 19 学发布,主要包括三部分,分别是 movies.csv(电影基本信息数据)、ratings.csv(用户评分数据)和 links.csv(外部链接数据),相关文件的信息如表 1所示。表 1 数据文件的相关信息描述 文件名 文件功能 数据格式 备注 movies.csv 电影基本信息 movieId,title,genres 电影的 ID,电影名,影片风格 ratings.csv 用户评分数据 userId,movieId,rating,timestamp 某个用户在某个时间戳对某个电影的评

14、分 links.csv 外部链接数据 movieId,imdbId,tmdbId 当前影片对应IMDB,TMDB中的 ID 推荐系统中可用的特征分为物品特征、用户特征和场景特征,所有的特征又可以分为两大类别:类别型特征与数值型特征。进行数据处理的目的,是把所有的特征全部转换成一个数值型的特征向量以便推荐模型使用。对于数值型特征,直接把这个数值放到特征向量上相应的维度上;对于类别型特征则使用 One-hot 与 Multi-hot 编码,分别使用Spark MLlib的OneHotEncoderEstimator与MultiHotEncoderEstimator 完成转换。在实际处理时遇到问题及

15、解决方法为:One-hot 与 Multi-hot 编码特征太稀疏、数值型特征的特征尺度问题、数据型特征的特征分布问题。使用 Embedding 技术解决特征稀疏,使用归一化和分桶技术解决数值型特征问题。在 Spark MLlib 中,分 别 提 供 了 两 个 转 换 器MinMaxScaler和QuantileDiscretizer,来进行归一化和分桶的特征处理,提供了 Item2vec 模型进行 Embedding 处理。3.2 推荐模型 推荐模型分成三个阶段:召回阶段、排序阶段与补充策略算法阶段。召回阶段使用简单高效的模型快速的从海量物品中筛选候选物品,排序阶段则利用复杂强大的模型对候

16、选物品进行精排序,最后结合补充策略对结果进行调整避免信息茧房。本文在排序阶段试验四种深度学习推荐模型并对它们进行了评估。3.2.1 Embedding MLP 微 软 的 深 度 学 习 模 型 Deep Crossing7是Embedding MLP 模型的代表。Embedding MLP 五层结构的重点:对于类别特征,先利用 Embedding层进行特征稠密化,再利用 Stacking 层连接其他特征,输入 MLP 的多层结构,最后用 Scoring 层预估结果。3.2.2 Wide&Deep Wide&Deep8模型由 Google 的应用商店团队Google Play 提出,它是由左侧的 Wide 部分和右侧的 Deep 部分组成的。Wide 部分的结构简单,把输入层直接连接到输出层,中间没有做任何处理。Deep 层的结构稍复杂,是一个 Embedding MLP 的模型结构。Wide 部分的主要作用是让模型具有较强的“记忆能力”(Memorization),Deep 部分的主要作用是让模型具有“泛化能力”(Generalization),这样的结构特点,能让模型兼具逻辑回归和

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2