摘 要
随着社会的发展,经济的进步,人们越来越注意身体和精神的放松。通过电影院看电影来释放生活、工作中的压力,已经成为了一种潮流。为此,各大制片商以科技化、现代化、信息化为其发展的设计目标,以克服传统电影产业所存在的弊端与缺陷。调查显示,传统的影院已日渐式微,其制作已无法满足当今消费者的需要。究其原因,主要是由于互联网的发展极其迅速,各类视频软件层出不穷,给影院带来巨大冲击。所以,如何设计出一个具有流畅性、科学性和易用性的影单推荐管理系统是至关重要的。
以协同过滤算法为基础,运用了Java语言、SpringBoot框架、MVC模型、Idea平台、 Mysql数据库技术,设计并实现了影单推荐管理系统。该系统的主要功能具体包括了以下内容:用户管理、电影类型管理、电影信息管理、热门电影推荐、个性化电影推荐、电影分类推荐、影单资讯管理、电影评价管理。经过测试证明,该系统的功能完备,能很好的满足用户的需求。
关键词:Mysql数据库;Java语言;影单推荐
ABSTRACT
Along with the social development and the economic level rise, people are more concerned about the relaxation of body and mind. In order to solve the shortcomings and shortcomings in the traditional movie industry, major manufacturers take science and technology, modernization and informatization as their development design goals. Studies have shown that the popularity of traditional cinemas is gradually declining, and their production can no longer meet the needs of modern customers. There are many reasons, the main reasons are the development of the network is extremely rapid, and the emergence of various video software has had a great impact on cinemas. Therefore, it is very important to design a movie recommendation management system with smooth and scientific operation and simple operation。
Based on the collaborative filtering algorithm, Java language, SpringBoot framework, MVC model, Idea platform and Mysql database technology are used, and the movie sheet recommendation management system is designed and implemented. The main functions of the system include the following contents: user management, movie type management, movie information management, popular movie recommendation, personalized movie recommendation, movie classification recommendation, movie list information management, movie evaluation management. After testing, it is proved that the system is complete in function and can well meet the needs of users.
Key Words:Mysql Database; Java Language; Movie Recommendation
目 录
第1章 绪论
1.1 研究背景
1.1.1 选题背景
1.1.2 研究的目的和意义
1.2 国内外研究现状
1.3 研究内容
第2章 相关理论和技术
2.1 Java简介
2.2 MySql特点
2.3 B/S模式
2.4 Vue技术
第3章 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.2 功能需求分析
3.3 用户用例分析
第4章 系统设计
4.1 功能模块设计
4.2 数据库设计
4.2.1 数据库需求分析
4.2.2 数据库概念结构设计
4.2.3 数据库逻辑结构设计
第5章 系统实现
5.1 实现环境
5.2 注册登录
5.3 影单资讯管理
5.4 用户管理
5.5 电影类型管理
5.6 电影信息管理
5.7 电影评价管理
5.8 个性化电影推荐
5.9 热门电影推荐
5.10 电影分类推荐
第6章 系统测试
6.1 测试目的
6.2 测试过程
6.2.1 登录测试
6.2.1 电影信息管理测试
6.2.1 电影信息推荐测试
6.1.5 电影搜索功能测试
6.2.2 电影分类管理测试
6.3 测试结论
结论
参考文献
致谢
第1章 绪论
1.1 研究背景
1.1.1 选题背景
随着社会的发展,经济的进步,人们越来越注意身体和精神的放松。随着中国电影市场的蓬勃发展,人们通过影院观看电影来释放自己的工作、生活压力,已逐步成为一种新的潮流,同时,我国的电影市场正处于蓬勃发展的时期,但是,传统的影院人力资源管理模式已无法对影单进行高效的系统化管理,导致了很多不合理、不完整、不能很好地满足观众需求等问题。现代的电影院,已经不再只是面对面的售票,或者是在电影院内部进行面对面的管理这么简单了。在顾客的要求越来越高的情况下,现代的电影院成为了一个集消费、娱乐、运动等议题为一体的休闲场所[1]。在进入电影院后,顾客可以根据自己的喜好,在看电影之前,选择做自己爱做的事情。例如,一个顾客喜欢运动,那么他可以到健身房去慢跑,一边等电影的开始。现代影院经营者与顾客的消费理念相结合,形成了多种影院。
1.1.2 研究目的和意义
在这样的社会环境下,许多厂家都在想方设法地把先进的技术和传统的电影院相结合,比如,3D,4D电影的出现,让人们在视觉上,甚至在触觉上都能感受到一种新鲜感。各大制片商以科技化、现代化、信息化为其发展的设计目标,以克服传统电影产业所存在的弊端与缺陷。调查显示,传统的影院已日渐式微,其制作已无法满足当今消费者的需要。究其原因,主要有两个:第一,互联网的发展极其迅速,各类视频软件层出不穷,给影院带来巨大冲击;二是由于影院自身的原因,其中包括影院工作人员对影院经营的不规范、影院经营方式的过时等。所以,要设计一个业务流畅、科学、操作简单的影单推荐管理系统,这样才能让顾客在不出门的情况下,就可以买到自己心仪的电影票,同时还能提升电影院的管理水平,提高电影的观影率。
1.2 国内外研究现状
1992年,Grouplens研究组首次提出了基于协同过滤(Collaborative Filtering,的算法思想,设计了一个新闻推荐系统并命名为Grouplens,为推荐系统建立了一个形式化的模型,对推荐系统后续的发展带来了深远的影响。随着人工智能技术的不断发展,越来越多的算法模型被提出并且运用到推荐系统中。协作筛选是一种利用人工智能技术实现推荐的方法,它是一种基于商品相似度的协作筛选方法,它不同于基于用户相似度的协作筛选方法,它是根据用户在该系统中使用的商品的历史信息,建立一个商品的共生矩阵,并对共生矩阵中的商品(如:皮尔逊相关)进行成对的相似度计算,从而得到一个商品的相似度矩阵。并且,以系统中用户提交的正向反馈数据为基础,去寻找类似的Top-k个物品,以形成类似的物品集合,然后在这个集合中对物品的相似性大小进行排序,从而产生最后的推荐列表。而 Usercf是根据用户间的相似性来进行推荐的。协同过滤毫无疑问是一种非常直观、具有很好的解释性的模式,但是它具有严重的马太效应,头部的热门项目更容易与大部分项目建立相似关系,而尾部项目的特征向量比较稀疏,比较难以与其它项目建立相似关系,从而难以进行推荐。
2006年,在Netflix举办的算法竞赛上通过以协同过滤共现矩阵为基础[2],对其共现矩阵进行分解,引入了隐向量去强化模型处理稀疏数据的能力。使其在一定程度上能够对稀疏数据进行处理,并且不再需要存储大量用户相似性矩阵以及物品相似性矩阵,只需要将用户和物品的隐向量进行存储,降低了存储所需要的空间复杂度。但无论是协同过滤还是矩阵分解,其在系统推荐时所用到的特征信息是十分简单的,无法通过一个全面的视角对用户进行推荐。仅仅依赖于用户和物品之间的交互行为所构建的共现矩阵,大大的浪费了推荐系统中所产生的有价值的信息。
逻辑回归将系统中各类有价值的信息进行融合推荐,将不同的特征分配相应的权重,最后在进行加权求和并输入Sigmoid函数中,获得最终的点击率,再根据点击率进行排序,就能获得最终的推荐列表。在深度学习未普及前,逻辑回归一直是推荐系统领域算法构建的主要选择之一,其符合人们直观的预估过程,可解释性强,且面对大规模的数据时,在GPU尚未普及的时代,高效的逻辑回归模型无疑是企业在推荐系统构建上的不二选择。可以见得,逻辑回归算法是一个简单、直观、高效的算法模型,但其最主要的问题就在于表达的能力不强,很多情况下特征之间存在着一定的关联性,而逻辑回归仅仅是对各个特征之间进行加权,往往会忽略了高维特征组合对推荐结果的影响。
为了解决两两特征之间的特征交叉问题,算法工程师们会通过人工的方式将不同的特征进行组合,再根据组合特征在推荐系统模型中重要程度进行特征筛选。这种做法既费时又费力,并且难以探究算法工程师经验之外的特征组合。于是Poly2模型基于逻辑回归模型将所有的特征进行两两的交叉组合,并赋予每个特征组合权重来衡量每一个特征组合的重要性。但由于在处理类别数据的时候常常使用独热码的方式来获得对应的特征向量,这就会导致Poly2在做暴力特征交叉的时候产生大量的稀疏向量,对应的特征权重难以收敛。2010年,Rendle等人提出了因子分解机算法(Factorization Machine,FM),相较于Poly2,提出了使用两个向量的内积形式代替了Poly2种所使用的权重系数大大减少了特征交叉时所需要学习权重的参数数量,能够较好解决特征交叉加重的数据稀疏问题。但是在因子分解机中的仅仅只是对二阶的特征进行交叉,若是直接引入更高阶的特征交叉,无疑会使因子分解机的计算复杂度过高。2014年,Facebook提出了一种将梯度提升树与逻辑回归进行组合的形式,梯度提升树部分将特征工程模型化并进行特征筛选,输出的离散向量作为逻辑回归模型的输入向量,逻辑回归模型再根据输入向量做点击率的预估。与后续深度学习时代所使用的各种模型结构有异曲同工之妙。
1.3 研究内容
基于协同过滤算法的影单推荐管理系统是一个可以帮助用户快速找到满意的电影的系统。系统使用SpringBoot作为框架,运用了Java语言、MVC模型、Idea平台、 Mysql数据库技术、B/S技术设计并完成。该系统的目标群体是一般用户和管理人员。普通用户能够实现注册并登录、查找电影影单信息和浏览电影院中电影信息、查找影单、查看电影院影单信息、在论坛中发言和回复其他用户的信息、查看自己的个人信息等功能;对于管理员能够实现登录的功能,管理影单,管理影院影单信息,管理影单记录,管理
第2章 相关理论和技术
2.1 Java简介
Java是一种面向对象的编程语言,它能够编写跨平台的应用程序。Java技术在通用性、高效性、平台移植性以及安全性等方面都表现出了突出的优势。它在个人电脑、数据中心、游戏控制台、科学超级计算机、手机以及互联网等领域得到了广泛的应用。与此同时,它还拥有着世界上最大的开发者专业社区。
2.2 Mysql特点
Mysql是由Oracle开发的,被称为关系型数据库,类似于微软的Sql服务器。Mysql数据库可以在 Solaris, Mac, FreeBSD, Windows, Linux等多个操作系统上运行。它的核心作用就是对数据进行处理,而最重要的作用,就是为数据提供存储空间。通常情况下,数据库并不是以数据存储为目标,而是由诸如表/索引之类的对象来进行存储。Mysql数据库是一种C/S模式(即客户端和服务端模型),客户端通过账号、密码来连接服务器,连接成功后进行数据库的操作(CRUD:增加、删除、变更、查询)。在网络中,Mysql通过IO重用和可扩展连接池来解决传统的高并发性问题。
2.3 B/S模式
其中,客户端软件是一个可以让用户直接和操作系统进行数据交互的模块。比如,一个服务器管理员,就是对一个多资源的系统进行快速、高效的管理。本文所称的B/S模式,就是一种新型的企业管理信息系统,以其为基础,以企业为依托,以企业的业务关系为基础,与企业的业务层次相交叉。从理论上来说,B/S模式是一个三层系统管理平台,其中,我们刚刚介绍的C/S模式是一个单个的服务器管理层,将它分成一个或多个服务器,或者是服务器和应用程序的组合,从而构建出一个三层系统管理平台,在用户和服务器之间传递信息。
2.4 Vue技术
Vue是一个JavaScript框架,用来建立使用者介面。它建立在标准的L, SS, T的基础上,并提供一组声明性的,可帮助开发人员有效的进行接口的开发。JS是一组逐步发展的框架,用来建立用户界面。不像其它的大型框架,Vue使用了一种自下而上的增量式开发。Vue的核心类库仅仅集中在视图层次上,而且很容易上手,可以很方便地与其他类库和现有的项目相结合。另一方面,Vue能够很好地利用单一文件部件以及Vue所支持的类库来驱动一个复杂的单页面程序。
第3章 系统分析
3.1 可行性分析
3.1.1 技术可行性
技术上的可行性是指在本次系统开发中,我们将会使用哪些技术,建立在何种平台上,将会采用什么样的框架,将会采取什么样的设计模式,在基础知识的介绍中,我们已经对此进行了详细的描述,本次开发是以协同过滤算法为基础的影单推荐管理系统,所使用的语言是 Java,在开发的过程中,主要是以 SSM框架为基础,而且整体开发思路采用 MVC设计模式,可以灵活地管理其代码。 Idea是目前做得最好的一款多语言集成开发环境,与此同时,与其相关的开发工具也都是免费的。
3.1.2 经济可行性
经济可行性是指我们的发展过程符合我们以前的发展预算,整个发展过程的开支都有明确的文件记载,符合发展过程的要求。该系统建成后,开发的基于协同过滤算法的影单推荐管理系统前景广阔,经济价值高,在系统开发前也在我们的考虑范围内。总之,我们认为设计开发这种基于协同过滤算法的影单推荐管理系统在经济上是可行的。
3.1.3 操作可行性
在系统交付给用户的时候,它很方便,也很方便地使用,大部分的“功能”都是由一个“人”的“人”来完成的,在“人”和“人”两种情况下,“人”可以自由地、无“人”地、有“物”地进行。整个系统必须简单、有效,而且不能对用户拥有同等的使用权限。根据这些因素,我们可以确定,这次的启动是否可行。
3.2 功能需求分析
在基于协同过滤算法的影单推荐管理系统当中,利用协同过滤算法将影单推荐智能的推荐给用户,实现在用户需求的角度出发,最快的给到用户的需求定位,智能的推荐给用户,用户留言给影单评价。
(1)用户登录和注册
目标:用户可以注册和登录系统。
需求:允许用户注册和创建账户;提供一个友好的登录页面,允许用户轻松访问应用程序。
(2)个性化推荐
目标:根据用户的偏好进行个性化的电影推荐。
功能:通过对用户的观影记录、收看记录等进行分析,为用户提供相应的影片推荐;基于用户喜好,向其推荐同类影片。
(3)影片搜索和过滤
目标:允许用户搜索和过滤电影
需求:提供电影的分类和标签,以便用户可以进行过滤
(4)管理员工具
目的:系统由管理员进行管理和维护
要求:能让系统管理员增加、修改、删除影片资料;使管理员能够对用户信息进行管理
3.3 用户用例分析
在影单推荐系统中, 用户首 先可以 进行账 号的注 册和登 录,在 登录到 本系统 中,用户可以 进行个 性化 影推荐 查看、 查看电 影信息 、进行 电影评 价、查看影单咨询等操作;管理员能够管理用户信息,管理影片信息,管理影片种类,管理影单信息,以及对影片的评论,如在图3.1,3.2中所示:
管理员
图3.2 管理员用例图编辑
编辑
编辑
编辑
编辑
编辑
编辑