基于python的电影个性化推荐系统

                                                          

摘  要

随着互联网与移动互联网迅速普及,网络上的电影娱乐信息数量相当庞大,人们对获取感兴趣的电影娱乐信息的需求越来越大,个性化的电影个性化推荐系统成为一个热门话题。然而电影信息的表示相当复杂,已有的相似度计算方法与推荐算法各有优势,导致单一的相似度计算方法与推荐算法难以合适地应用于电影个性化推荐系统中。大量的电影数据的管理运营随着数据量的增长也变得越来越复杂,因此,如何综合各种算法的优势给用户可靠的电影推荐结果,并保证用户能访问到正确的推荐数据成为推荐系统设计中需要解决的一个重要问题。

该系统采用了B/S结构,将所有业务模块采用以浏览器交互的模式,选择MySQL作为系统的数据库,开发工具选择My Eclipse来进行系统的设计。基本实现了电影个性化推荐系统应有的主要功能模块,本系统包括管理员和用户两大功能模块。管理员功能模块包括首页、个人中心、用户管理、电影管理、系统管理;用户功能模块包括首页、电影、系统公告、个人中心等操作。

经过系统测试,改善了程序逻辑和代码,并确保系统中所有程序能够正常运行,所有功能能够操作。该系统具有良好的操作体验,实现了对管理员和用户的双赢。

关键词:电影个性化推荐系统;MySQL;B/S结构;Django;Python。

Abstract

With the rapid popularization of the Internet and mobile Internet, the amount of movie entertainment information on the network is quite large, and people's demand for obtaining interesting movie entertainment information is growing. Personalized movie recommendation system has become a hot topic. However, the representation of movie information is quite complex, and existing similarity calculation methods and recommendation algorithms each have their own advantages, making it difficult to apply a single similarity calculation method and recommendation algorithm appropriately in movie recommendation systems. The management and operation of a large amount of movie data has become increasingly complex with the growth of data volume. Therefore, how to integrate the advantages of various algorithms to provide users with reliable movie recommendation results and ensure that users can access the correct recommendation data has become an important problem that needs to be solved in the design of recommendation systems.

The system adopts a B/S structure and adopts a browser interactive mode for all business modules. MySQL is selected as the system database, and My Eclipse is chosen as the development tool for system design. The main functional modules of the movie recommendation system have been basically implemented, and this system includes two major functional modules: administrator and user. The administrator function module includes homepage, personal center, user management, movie management, and system management; The user function module includes operations such as homepage, movies, system announcements, personal center, etc.

After system testing, the program logic and code have been improved, ensuring that all programs in the system can run normally and all functions can be operated. The system has a good operating experience and achieves a win-win situation for both administrators and users.

Keywords: movie recommendation system; MySQL; B/S structure; Django; Python.

目   录

摘  要

Abstract

第1章  前  言

1.1  研究背景

1.2  研究现状

1.3  系统开发目标

第2章  技术与原理

2.1  开发技术

2.2  MVVM模式介绍

2.3  MySQL数据库

2.4  B/S结构

2.4  Django框架介绍:

第3章  需求分析

3.1  需求分析

3.1.1 功能需求分析

3.2  系统可行性分析

3.2.1 技术可行性

3.2.2 经济可行性

3.2.3 操作可行性

3.3  项目设计目标与原则

3.4  系统流程分析

第4章  架构设计

4.1  系统体系结构

4.2  数据库实体设计

4.3  数据库表设计

第5章  系统实现

5.1  系统功能模块

5.3  管理员功能模块

第6章  系统测试

6.1  测试目的

6.2  测试方法

6.3  功能测试

6.4  测试结论

第7章 结  论

参考文献

致  谢

第1章  前  言

1.1  研究背景

在信息技术不断发展和普及的今天,电子商务作为一种重要的商业模式,正在全球范围内蓬勃发展。电子商务的快速增长为商家和消费者带来了巨大的商机和便利,同时也带来了一系列新的挑战和机遇。在这个背景下,研究人员对电子商务领域展开了深入的研究,旨在解决各种问题,提高用户体验和交易效率。

电子商务领域涵盖了诸多关键议题,其中之一是电子支付系统的研究和应用。随着移动支付、虚拟货币等新型支付方式的兴起,电子支付系统的安全性、便捷性和效率成为研究的重点。研究人员致力于设计和优化各类电子支付系统,以满足用户日益增长的支付需求,同时保障交易安全和数据隐私。

另一个备受关注的议题是个性化推荐系统的研究与应用。随着互联网和移动互联网的快速发展,用户获取电影、商品等信息的途径变得更加多样化和便捷化。个性化推荐系统通过分析用户的历史行为和偏好,为其推荐相关内容,提高用户体验和信息获取效率。研究人员不断探索推荐算法和模型,致力于提升推荐系统的准确性和个性化水平,以满足用户多样化的需求。

在电子商务领域的研究中,还涉及数据安全、电子合同、供应链管理等多个方面。研究人员通过不懈努力和创新,致力于推动电子商务领域的发展和应用,为商家和消费者创造更加便利和安全的交易环境。电子商务的持续发展为全球经济的增长和创新注入了新的活力,也为学术界提供了广阔的研究空间和机遇。

1.2  研究现状

当前,电子商务领域的研究呈现出多样化和深入化的趋势。在电子支付系统方面,研究者致力于提升支付系统的安全性和效率,探索新型支付技术如区块链和生物识别支付的应用。个性化推荐系统的研究也备受关注,研究者通过优化推荐算法,实现个性化推荐的精准性和实时性。

数据安全方面,随着数据泄露和网络攻击频发,研究者在加密算法、隐私保护和安全认证等领域进行深入研究,以应对日益复杂的网络安全挑战。电子合同和在线交易的研究也在不断深化,涉及合同自动化、智能合约等新兴技术的应用,以提高电子商务交易的效率和可信度。

供应链管理方面,研究者关注供应链协同、信息共享和智能物流等问题,通过信息技术的应用优化供应链网络,提高供应链的灵活性和反应速度。跨境电子商务和社交电商等新兴领域也成为研究热点,研究者致力于探索新的商业模式和市场机遇。

综合来看,电子商务领域的研究呈现出多方面的发展态势,涵盖了支付系统、推荐系统、数据安全、合同管理、供应链等多个领域。研究者们通过不断创新和合作,推动着电子商务技术和应用的进步,为数字经济时代的发展和普及贡献着重要力量。

1.3  系统开发目标

对于网站的前台设计,要保证主界面的整洁有序,能够抓住人的眼球,不会产生视觉疲劳,更重要的是,带给人容易操作的直观感受,这样才能留住用户去进行使用,增加三分热度的延续期。在系统的后台设计上,要采取非常简洁有效的技术,开发方便的同时,便于以后的维护。我们不但要确保所有的功能都能够满足用户的需求,用户还要能自己主动通过网站去实现想要的操作,而管理者的简单通过网站对用户的需求情况进行了解和管理。为达到这一目的,提出以下目标:

(1)用户可以实时查看最新的电影信息,以及相关资讯;

(2)用户可以对比各大电影的信息,选择自己较为满意的电影;

(3)用户可以通过论坛互相交流观看电影心得;

(4)管理员可以在后台方便管理前台网页的各种信息;

(5)管理员可以方便查询、汇总用户的使用状态。


第2章  技术与原理

2.1  开发技术

本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于python的Django框架进行开发。

前端部分:前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示。

后端部分:采用Django作为开发框架,同时集成Redis等相关技术。

2.2  MVVM模式介绍

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频视频3D动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

2.3  MySQL数据库

mysql数据库具有很多的优点,他操作起来非常的简单,只需要编写一小段代码就可以实现相应的功能,而且编写出的代码可以在任何的平台下进行使用,对使用平台没有任何的要求,因此任何的软件开发人员都可以利用mysql数据库来进行系统的开发设计,同时他也可以为软件开发节省了很多的开销,mysql数据库由于存储量大、操作简单。功能强大因此将他最为该系统的数据存储是完全可以的。

mysql数据库是一个开放的架构,任何软件开发员都可以进行使用,随着计算机网络的不断发展,MySQL数据库也在功能方面不断的进行提升,也更加适应所有的系统的开发,我们在对数据库进行操作的时候,是非常简单易上手的,我们只需要编写一小段的代码就可以实现相应的功能,而且编辑出的代码可以在任何的平台上使用,不需要在进行二次的编译。由于MySQL数据库具有以上非常多的优点,我们将它最为数据库的首选应用到系统的开发中,由于他的体积非常小,开发的成本也非常的低,所有受到很多软件开发者的喜欢,被更多的运用到系统的开放中,所以本系统也是利用MySQL数据库来对所有的数据进行存储和编辑。

2.4  B/S结构

B/S(浏览器/服务器)结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员作出决策,这样就可以避免学校的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。

图2-1  B/S模式三层结构图

2.4  Django框架介绍:

程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Django框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:

1.6.1 用于创建模型的对象关系映射;

1.6.2 为最终用户设计较好的管理界面;

1.6.3 URL 设计;

1.6.4 设计者友好的模板语言;

1.6.5 缓存系统。

Django(发音:[`dʒæŋɡəʊ]) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。

Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。

由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SD Times评选为2013 SD Times 100,位列“API、库和框架”分类第6位,被认为是该领域的佼佼者。

第3章  需求分析

3.1  需求分析

开发系统的过程中,去调查用户的功能诉求,对需要存在的功能进行需求分析是特别重要的,且对于系统的开发有着实际的意义,设计电影个性化推荐系统通过对用户的需求进行分析,结合实际情况进行开发研究,对用户的所有需求做出一个完整的基本的框架,然后一步一步的完成、实现。需求分析可以为系统的开发提供一个目标,只有按照这个目标进行开发设计,才能进行完整的开发,这样设计出的系统才有使用的意义,才能在竞争激烈的软件市场中生存,才能真正的帮助人们解决问题,提高实际的效率。

3.1.1 功能需求分析

 电影个性化推荐系统在功能上划分为注册用户管理员两种角色。

注册用户:
(1)注册登录:用户注册并登录系统,可对个人信息进行增删改查,比如个人资料、头像和密码修改。

(2)首页:注册用户登录后台后,可以直观地看到网站的首页布局。他们可以编辑轮播图、调整电影资讯的展示顺序,以及推荐热门的电影信息。这些信息按照热度和点击量进行排序,确保用户首先看到最受欢迎的内容。

(3)电影论坛:用户可以在电影论坛中浏览其他用户的帖子,也可以自己发布新的内容。论坛功能支持文本、图片、视频等多种形式的内容展示,让用户能够轻松地与其他电影爱好者交流心得。

(4)网站公告:注册用户有权查看和编辑网站公告信息。他们可以随时发布新的公告,如活动通知、系统更新等,确保用户及时获取网站的最新动态。

(5)电影资讯:用户可以查看电影资讯,并对感兴趣的内容进行点赞、收藏和评论。此外,他们还可以利用局部搜索功能快速找到特定关键词的资讯内容。

(6)在线留言:用户可以发布新的留言,并管理自己的留言内容。他们可以查看留言的标题、内容等详细信息,还可以对其他用户的留言进行回复。留言功能支持标题和昵称的搜索,方便用户快速定位到感兴趣的内容。

(7)电影信息:注册用户可以在电影信息页面查看各类电影的基本信息,如类型、地区、上映日期等。他们可以通过电影名称、类型和地区进行搜索,并对喜欢的电影进行点赞、收藏和评论。此外,用户还可以按照上映时间进行排序,以便更好地浏览和选择电影。

(8)我的账户与个人中心:在我的账户和个人中心页面,用户可以管理自己的个人信息、密码、联系方式等。他们还可以查看自己的历史订单、收藏夹等内容,以便随时了解自己在网站上的活动记录。

(9)电影论坛:在电影论坛中,注册用户还可以享受更多的高级功能。他们可以查询、重置、删除自己的帖子内容,查看其他用户的评论,并通过标题或分类进行搜索,以便快速找到感兴趣的话题。

(10)在线留言:除了基本的留言功能外,注册用户还可以查询、重置、删除自己的留言内容,查看其他用户的回复,并通过标题和昵称进行搜索,以便更好地管理自己的留言记录。

(11)收藏:在收藏夹页面,用户可以查看自己收藏的电影、资讯、帖子等内容。他们可以随时删除不再需要的收藏项,以便保持收藏夹的整洁和有序。同时,用户还可以对收藏的内容进行点赞、评论等操作,与其他用户分享自己的喜好和观点。

管理员:

(1)登录:管理员的账号是在数据列表中直接设置生成的,不需要进行注册,可直接输入账号密码登录,同时可对管理员资料进行增删改查。

(2)后台首页:作为管理员,管理员登录后台首先会看到简洁明了的首页。这里会展示最新动态等重要信息,帮助管理员快速了解系统运行状态和各项数据指标。

(3)系统用户管理:管理员可以全面管理后台的用户信息,包括注册用户、管理员账号等。他们可以查看、编辑、删除用户资料,确保用户信息的准确性和安全性。同时,管理员还可以根据需要对用户角色进行权限分配和调整。

(4)电影信息管理:管理员可以实时更新和维护电影信息列表,包括添加新电影、编辑电影详情、查看用户评论等。此外,他们还具备强大的搜索功能,可以通过电影名称、类型、地区和上映日期等关键词,快速定位到特定的电影信息。

(5)系统管理:管理员可以管理网站的轮播图,包括上传、编辑、删除等操作,确保轮播图内容的时效性和吸引力。同时,他们还可以监控系统的运行状态,保障网站的正常运行。

(6)留言管理:管理员可以查看并回复用户的在线留言,与用户进行有效的互动和沟通。他们还可以根据需要对留言进行筛选、查询、重置和删除等操作,保持留言区的整洁和有序。

(7)网站公告管理:管理员可以发布、编辑和删除网站公告,确保用户能够及时获取到重要的信息和通知。同时,他们还可以查看公告的查看详情,了解公告的发布情况和用户反馈。

(8)资源管理:管理员可以管理电影资讯和资讯分类。他们可以添加、编辑、删除电影资讯,查看资讯的评论和详情。同时,他们还可以对资讯分类进行管理和维护,确保分类的准确性和完整性。

3.2  系统可行性分析

3.2.1 技术可行性

本系统采用了目前应用广泛的技术框架 Django 作为主要的技术支持。Django 是一个基于 Python 的开源 Web 应用框架,具有高度成熟和稳定的特点。Python 作为一门流行的编程语言,在软件开发领域发挥着重要作用。利用 Django 框架编写的程序可以直接在 Web 环境中运行,无需额外的翻译器转换,因此在技术方面具备良好的可行性。

3.2.2 经济可行性

本项目开发的初衷就是为了节约,因为系统开发的所有过程都是我自己开发的我,而且在开发过程使用到的技术也都是市面上常见的容易操作的,所以不需要请专业的人士花资金来进行系统的开发,而且在项目开发的过程中我也学到了更多的知识。开发的这个软件可以在网络中进行免费的下载,对计算机的软硬件没有很高的要求,因此这个项目是非常实惠的,在经济方面是完全可性的。

3.2.3 操作可行性

操作可行性也就是系统的可用性,一个系统的操作是否容易决定着这个系统的使用度,在系统的操作方面的设计我都是采取简洁易懂的方式,操作的整个菜单界面整齐有序,所有的功能都有序的排列,不会出现重叠或者需要转换的现象,用户想要哪方面的操作都可以直接进行操作,所以该系统任何人都可以进行操作,不需要有相关专业的技术这样用户在操作起来就容易很多。

3.3  项目设计目标与原则

1、关于电影个性化推荐系统的基本要求

(1)功能要求:管理员可以对所有的用户进行查看管理,可以对信息进行管理,可以及时的查看管理的情况,还可以对评论进行查看和管理等功能模块。

(2)性能:因为电影推荐中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。

(3)安全与保密要求:用户都必须通过管理员审核才能进入系统。

(4)环境要求:支持Windows系列、Vista系统等多种操作系统使用。

2、开发目标

电影个性化推荐系统的主要开发目标如下:

(1)用户可以实时查看最新的电影信息,以及相关资讯;

(2)用户可以对比各大电影的信息,选择自己较为满意的电影;

(3)用户可以通过评论互相交流观看电影心得;

(4)管理员可以在后台方便管理前台网页的各种信息;

3、设计原则

本电影个性化推荐系统采用Django框架,Mysql数据库开发,充分保证了系统稳定性、完整性。

(1)系统运行稳定性:由于是电影个性化推荐系统,因此需要系统在长时间运行过程中保持稳定性,能够支持大量用户同时访问和使用。用。

(2)界面简洁清晰:系统界面要简单有序,所有的功能一目了然。

(3)储存性高:因为是电影个性化推荐系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。

(4)易学性:系统的设计一定要简单,使得人们使用起来非常好的顺手。

(5)稳定性需求:该系统在使用过程中必须保持稳定,不要出现卡顿、模糊等情况。

(6)稳定性:由于是电影个性化推荐系统,因此系统运行必须要十分的稳定。

3.4  系统流程分析

用户需要拥有属于自己的账号和密码,且必须正确,这样才能顺利登录到系统中。进入网站后,用户可以自行查询各种电影,在自己满意的电影的详情页面的最后,可以直接选择购买操作。具体流程如下图3-1所示:

图3-1 用户操作流程图

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。其具体登录流程图如图3-1所示:

图3-1 系统操作流程图


第4章  架构设计

4.1  系统体系结构

电影个性化推荐系统的结构图4-1所示:

图4-1 系统结构

登录系统结构图,如图4-2所示:

图4-2 登录结构图

系统结构图,如图4-3所示:

图4-3 系统结构图

4.2  数据库实体设计

数据库的功能就是对系统中所有的数据进行存储和管理。所有的数据可以在数据库中产时间的进行存储,方便用户的使用。而且所有的数据库中的数据也应该具有一定的共享性,任何的系统可以对一些数据进行使用,同时还应该保持一定的独立性,每一个数据库中的数据都有很强的安全性,可以被很好的存放到数据库,没有进行身份的验证是不能对这些数据进行查看和使用的。数据库的设计需要明确每一个实体之间的联系,系统的E-R图如下图所示:

图4-4用户管理实体属性图

电影信息管理实体属性图如图4-5所示。

图4-5电影信息管理实体属性图

4.3  数据库表设计

当电影个性化推荐系统在运行的时候,数据库要能确保自己的独立性,想要哪部分的数据就选择相应的设置选项,对应的数据就会以表格的形式展现出来。当对这一个功能进行设置,他就会与数据库进行连接,会在对话框中弹出相应的数据源。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表forum (论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

forum_id

mediumint

8

0

N

Y

论坛id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用户ID

4

nickname

varchar

16

0

Y

N

昵称:[0,16]

5

praise_len

int

10

0

Y

N

0

点赞数

6

hits

int

10

0

N

N

0

访问数

7

title

varchar

125

0

N

N

标题

8

keywords

varchar

125

0

Y

N

关键词

9

description

varchar

255

0

Y

N

描述

10

url

varchar

255

0

Y

N

来源地址

11

tag

varchar

255

0

Y

N

标签

12

img

text

65535

0

Y

N

封面图

13

content

longtext

2147483647

0

Y

N

正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

16

avatar

varchar

255

0

Y

N

发帖人头像:

17

type

varchar

64

0

N

N

0

论坛分类:[0,1000]用来搜索指定类型的论坛帖

表forum_type (论坛分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

name

varchar

16

0

N

N

分类名称:[2,16]

3

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

4

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

5

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

6

icon

varchar

255

0

Y

N

分类图标:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表message (留言板)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

message_id

int

10

0

N

Y

留言板ID:

2

user_id

int

10

0

N

N

0

用户ID:

3

title

varchar

64

0

Y

N

标题:

4

content

longtext

2147483647

0

N

N

内容:

5

nickname

varchar

32

0

N

N

昵称:

6

avatar

varchar

255

0

Y

N

头像:

7

email

varchar

125

0

Y

N

留言者邮箱

8

phone

varchar

11

0

Y

N

留言者手机号码

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

11

reply

longtext

2147483647

0

Y

N

回复

12

reply_state

tinyint

4

0

Y

N

0

回复状态

表movie_information (电影信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

movie_information_id

int

10

0

N

Y

电影信息ID

2

movie_title

varchar

64

0

Y

N

电影名称

3

movie_poster

varchar

255

0

Y

N

电影海报

4

movie_ratings

int

10

0

Y

N

0

电影评分

5

movie_genre

varchar

64

0

Y

N

电影类型

6

film_region

varchar

64

0

Y

N

电影地区

7

release_date

datetime

19

0

Y

N

上映日期

8

actor_list

text

65535

0

Y

N

演员列表

9

movie_introduction

longtext

2147483647

0

Y

N

电影简介

10

hits

int

10

0

N

N

0

点击数

11

praise_len

int

10

0

N

N

0

点赞数

12

recommend

int

10

0

N

N

0

智能推荐

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表registered_users (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_users_id

int

10

0

N

Y

注册用户ID

2

mobile_phone_number

varchar

16

0

Y

N

手机号码

3

examine_state

varchar

16

0

N

N

已通过

审核状态

4

user_id

int

10

0

N

N

0

用户ID

5

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

第5章  系统实现

5.1  系统功能模块

电影个性化推荐系统,在系统的首页可以查看首页、电影论坛、网站公告、电影资讯、在线留言、电影信息、我的账户等信息进行相关操作,如图5-1所示。 

图5-1系统首页界面图

用户注册,在用户注册页面可以填写账号、密码、姓名、昵称、手机等信息进行注册操作,如图5-2所示。在个人中心页面可以填写账号、密码、手机等信息进行更新操作,如图5-3所示。

图5-2用户注册界面图

注册的关键代码如下:

def Register(self, ctx):

        print("===================注册=====================")

        userService = service_select("user")

        body = ctx.body

        if "username" not in body and body["username"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名不能为空",

                }

            }, ensure_ascii=False))

        if "user_group" not in body and body["user_group"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户组不能为空",

                }

            }, ensure_ascii=False))

        if "password" not in body and body["password"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "密码不能为空",

                }

            }, ensure_ascii=False))

        post_param = body

        post_param['nickname'] = body["nickname"] or ""

        post_param['password'] = md5hash(body["password"])

        obj = userService.Get_obj({"username": post_param['username']}, {"like": False})

        if obj:

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名已存在",

                }

            }, ensure_ascii=False))

        ret = {

            "error": {

                "code": 70000,

                "message": "注册失败",

            }

        }

        bl = userService.Add(post_param)

        if bl:

            ret = {

                "result": {

                    "bl": True,

                    "message": "注册成功"

                }

            }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

图5-3个人中心界面图

电影论坛:用户可以在电影论坛中浏览其他用户的帖子,也可以自己发布新的内容。论坛功能支持文本、图片等多种形式的内容展示,让用户能够轻松地与其他电影爱好者交流心得,如图5-4所示。

图5-4电影论坛页面图

用户可以查看电影资讯,并对感兴趣的内容进行点赞、收藏和评论。此外,他们还可以利用局部搜索功能快速找到特定关键词的资讯内容,如图5-5所示。

图5-5电影资讯界面图

注册用户可以在电影信息页面查看各类电影的基本信息,如类型、地区、上映日期等。他们可以通过电影名称、类型和地区进行搜索,并对喜欢的电影进行点赞、收藏和评论。此外,用户还可以按照上映时间进行排序,以便更好地浏览和选择电影,如图5-6所示。

图5-6电影信息界面图

5.3  管理员功能模块

管理员登录,管理员通过输入界面上显示的信息然后点击登录就能登录到系统进行系统的使用了,如图5-7所示。

图5-7管理员登录界面图

登录关键代码如下:

 def Login(self, ctx):

        print("===================登录=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账户不存在",

            }

        }

        body = ctx.body

        password = md5hash(body["password"]) or ""

        obj = service_select("user").Get_obj(

            {"username": body["username"]}, {"like": False}

        )

        if obj:

            user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

            if user_group and user_group['source_table'] != '':

                user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},                                                                       {"like": False})

                if user_obj['examine_state'] == '未通过':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未通过审核",

                        }

                    }

                    return ret

                if user_obj['examine_state'] == '未审核':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未审核",

                        }

                    }

                    return ret

            if obj["state"] == 1:

                if obj["password"] == password:

                    timeout = timezone.now()

                    timestamp = int(time.mktime(timeout.timetuple())) * 1000

                    token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

                    ctx.request.session[token] = obj["user_id"]

                    service_select("access_token").Add(

                        {"token": token, "user_id": obj["user_id"]}

                    )

                    obj["token"] = token

                    ret = {

                        "result": {"obj": obj}

                    }

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "密码错误",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "用户账户不可用,请联系管理员",

                    }

                }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

管理员登录进入系统之后,就可以对首页、个人中心、用户管理、电影信息管理、系统管理等信息进行相应的操作管理,如图5-8所示。

图5-8管理员功能界面图

系统用户管理:管理员可以全面管理后台的用户信息,包括注册用户、管理员账号等。他们可以查看、编辑、删除用户资料,确保用户信息的准确性和安全性。同时,管理员还可以根据需要对用户角色进行权限分配和调整,如图5-9所示。

图5-9系统用户管理界面图

电影信息管理:管理员可以实时更新和维护电影信息列表,包括添加新电影、编辑电影详情、查看用户评论等。此外,他们还具备强大的搜索功能,可以通过电影名称、类型、地区和上映日期等关键词,快速定位到特定的电影信息,如图5-10所示。

图5-10电影信息界面图

第6章  系统测试

6.1  测试目的

随着互联网不断的发展,目前各大领域都利用互联网进行了信息的管理,因此产品能否存货,质量问题是很重要的标准,也决定着是否有更多的人使用。所以软件的质量我们必须要把关,必须要把软件做好,做到位,少出不必要的问题,这样才能有更多的用户使用,并且得到更多的推广。所以,我们在开发完系统后,需要进行大量的测试,以确保系统的稳定性和可使用性,并要确定系统的质量能否做到满足不同人的需求。这是系统在开发设计中非常重要的环节,测试的结果直接关系到系统的好坏。

集成测试:在系统测试当中会出现很多的问题,我们要及时的进行标注并且在进行测试的时候要采取自动化的测试,这样即准确又快速,而且不会出现疲劳,手动的测试很容易出现疲劳期,而且测试的结果也有时候会出错,所以在测试的时候才去自动测试时最好的测试方法。

在测试的过程中及时的发现问题,并且进行问题的解决,这样设计出的系统可以正常稳定的运行,不会出现重大的问题。我所进行的软件测试参照以下三个步骤进行测试:

(1)模块测试:对系统中的每一项都进行针对的测试,发现并找到问题。

(2)系统测试:让系统长时间进行各种情况下的运行,反馈运行期间的稳定性问题并解决。

(3)验收测试:其他测试完成后,最后检测阶段,确保软件准备就绪。

6.2  测试方法

在对系统进行测试的时候我们主要应用到两种测试的方法,通过测试我们就能找出可能存在的问题保证系统成功运行。

从软件的内部构造和具体实施是否有关系的观点来看:黑盒测试和白盒测试。

1)黑盒测试:测试系统功能,当用户进行相应的操作时,系统是否能够及时且准确的反馈数据,并执行相应功能。需要对功能以及使用方法进行详细的测试,保证所有的操作信息都能够完整的输出输入。

2)白盒测试:主要是对系统的结构进行测试,了解系统在运行过程中是否可以正常的工作。

电影个性化推荐系统的测试也会从下面几方面进行:

(1)窗体测试:例如用户登录界面,在用户名和密码输入时,需要界面窗口弹出,给予用户反馈,我对窗口的设计进行了测试,确保每一个窗口在用户进行相应操作后,能够及时的弹出。

(2)数据跟踪:进行数据跟踪,我们就能知道系统功能是否在顺利的执行当中。将数据库中的相关的信息进行调动,弹出我们需要的相对应的数据信息。同时,在追踪过程中,我们也更容易的发现系统的问题所在,便于解决问题和维护系统。

(3)综合测试:完成上述测试后,需要对系统进行由内而外的重新检测,来宏观的发现系统中存在的问题,并且及时的进行解决,系统的设计要结合实际的使用情况有针对性的进行开发,可以满足不同人的需求。

6.3  功能测试

本电影个性化推荐系统设计基本达到我理想的开发状态,在各个功能的运行方面,表现较为良好,基本满足用户的使用需求,及时矫正了较多的错误信息。总体说来,软件通过了相应的测试。

表6-1:用户登录测试表

模块名称

测试用例

预期结果

实际结果

是否通过

登录模块

用户名:admin   密码:123  

弹出错误提示,提示密码错误

弹出错误提示,提示密码错误

通过

登录模块

用户名:123   

密码:admin   

弹出错误提示,提示用户名错误

弹出错误提示,提示用户名错误

通过

登录模块

用户名:admin   

密码:admin   

管理员登录成功

管理员登录成功

通过

表6-2:修改密码测试表

模块名称

测试用例

预期结果

实际结果

是否通过

修改密码模块

原密码:666

新密码:123

确认密码:123  

弹出错误提示,提示原密码错误

弹出错误提示,提示原密码错误

通过

修改密码模块

原密码:admin   新密码:123

确认密码:333  

弹出错误提示,提示确认密码不一致

弹出错误提示,提示确认密码不一致

通过

修改密码模块

原密码:admin   新密码:123

确认密码:123  

密码修改成功

密码修改成功

通过

6.4  测试结论

测试的过程要按照指定好的计划一步一步的实行,测试时候一定不要着急,并且将测试的结果进行详细的记录,我们在进行测试的时候做好选择自动化的测试,这样更加的准确也更快捷,如果采用人工测试的方法就不会这么的方便,很可能会出现一些问题,而且极其测试不会疲劳也不会出现问题。在测试的时候一定要非常专注,时刻关注着测试的结果,一旦发现异常及时进行修改,;最后,测试完之后的文档应该保存下来,方便以后测试时用到。

通过测试,我们也可以直观的感受到,在我们最开始进行系统设计的时候,先把思路理清楚,才能有机会把代码写好。有好的逻辑性的代码在后期的测试中才能避免出现问题,也可以给我们节省很多的时间和不必要的操作。


第7章 结  论

电影个性化推荐系统为用户提供了公平、包容、操作便捷的使用体验,基本满足了用户的需求和我最初设定的开发目标。在开发过程中,Python语言和MySQL数据库等技术是我构建系统的基石,这些技术各有优势,掌握它们至关重要。通过这些优秀技术的整合设计,系统能够稳定运行,同时满足用户需求。经过详细需求分析和模块设计,系统经过测试能够正常运行,完成了电影个性化推荐系统的设计。

在本次开发过程中,采用了 Django 技术作为主要支持,Python 技术的简单编码、平台无关性、面向对象性使其成为系统运行的可靠基础。Python 技术的成熟和稳定性确保了系统的正常运行和功能实现。在设计过程中遇到困难时,得到了老师和同学的帮助,顺利完成了系统设计。

除了系统设计方面,从商业角度看,该网站具有良好的商业前景。电影个性化推荐系统不同于实体店,品牌价值在购买决策中的影响相对较小,且各种新兴电影不断涌现,使得消费者在选择电影时面临复杂多样的选择。网站的设立旨在统计规划各类电影信息,方便消费者横向比较,提供最新的电影资讯和报道。同时,网站运营成本较低,具有预算优势。

通过 Django 技术的应用,使系统运行更加稳定、可靠,为用户提供优质的电影推荐服务,进一步提升了系统的用户体验和商业竞争力。


参考文献

[1]Medina E M ,Roque O L D M V ,Gil H S , et al. drexml: A command line tool and Python package for drug repurposing [J]. Computational and Structural Biotechnology Journal, 2024, 23 1129-1143.

[2]徐圣方,王金阳. Python爬虫获取豆瓣观众影评数据及可视化分析 [J]. 网络安全技术与应用, 2024, (04): 59-62.

[3]江国粹. 基于高阶思维能力培养的“MySQL数据库技术”课程教学改革研究 [J]. 安徽电子信息职业技术学院学报, 2024, 23 (01): 39-43.

[4]周晨曦,赵天驰,张玲玲. 基于用户画像和链路预测的电影个性化推荐研究 [J/OL]. 系统科学与数学, 1-23[2024-04-16].

[5]任建宝,邹锟,周元元. 融合电影属性和交互信息的电影推荐算法研究 [J]. 苏州市职业大学学报, 2024, 35 (01): 66-70.

[6]李朝阳,周维贵,张小锋,等. 一种麒麟系统下基于Django的网络性能管理系统设计与实现 [J]. 计算机应用与软件, 2024, 41 (03): 130-133.

[7]王宇哲. 基于内容的电影推荐算法研究 [J]. 信息系统工程, 2023, (12): 117-120.

[8]黄奕宸. 基于用户画像的电影推荐系统的设计与实现 [J]. 铜仁学院学报, 2023, 25 (06): 75-83+108.

[9]张彬,董雅倩,徐建民. 基于蕴含情感要素用户正负偏好的电影推荐方法 [J]. 河北大学学报(自然科学版), 2023, 43 (06): 653-664.

[10]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.

[11]韩文杰. 基于混合算法的电影推荐系统研究[D]. 南京邮电大学, 2023.

[12]韩斌彬. 基于聚类协同过滤和图自编码器的个性化推荐系统研究[D]. 南京邮电大学, 2023.

[13]司品印,齐亚莉,王晶. 基于协同过滤算法的个性化电影推荐系统的实现 [J]. 北京印刷学院学报, 2023, 31 (06): 45-52.

[14]刘晓伟. 基于协同过滤的个性化电影推荐系统[D]. 山东大学, 2023.

[15]李甜. 基于知识图谱的自适应个性化推荐系统[D]. 吉林大学, 2023.

[16]孙强. 社交网络中基于深度学习的个性化推荐系统研究[D]. 江苏大学, 2023. [17]Xiya Y ,Xianhe L ,Changping W , et al. Design and Deployment of Django-based Housing Information Management System [J]. Journal of Physics: Conference Series, 2023, 2425 (1):

[18]许张贤. 基于深度学习与对象感知的个性化电影推荐系统[D]. 南京邮电大学, 2022.

[19]张潇. 基于知识图谱的个性化推荐系统研究[D]. 江南大学, 2022.

[20]张鹏飞. 基于数据挖掘的个性化电影推荐系统设计与实现[D]. 杭州电子科技大学, 2022.

致  谢

光阴似箭,一晃大学生活即将过去了。一直以严谨的态度和积极的热情投身于学习和工作中,虽然有竞争,也有泪水,但是通过我不断学习和奋斗不断的完善自己,不仅很好的完成了我的学业而且也让我的各方面得到了发展,取得了很大的进步。

大学的生活也即将结束,虽然也有许多的不舍,但是终究是要告别的。回想大学的学习生活,有泪水也有汗水。在此期间我严格要求自己,凭着对知识的强烈追求,刻苦钻研,勤奋好学,态度端正,目标明确,牢固的掌握了一些专业知识和技能,做到了理论联系实际。除了专业知识的学习外,我还不断的扩展我的知识面,从不同的领域以不同的方式来获得新的知识。争取成为一名各方面都很合格的大学生。

这次的毕业设计,是我独自完成周期最长,也是耗力最大的一个项目。值得庆幸的是,在我毕业设计完成的过程当中,有许多帮助我的同学和老师。在几个月的开发过程中,我遇到了大大小小无数个问题。是我的舍友和老师,不断地帮助鼓励。

我的指导老师,在自身工作十分繁忙的情况下,依然能做到及时恢复我们发去的问题邮件,并抽时间对我们进行线下的辅导。指出我们设计上的失误,逻辑错误以及产品力规划问题,可以说没有导师的帮助,我的毕设会陷入死胡同,是导师为我指点了迷津,像迷雾中的路灯,为我指明方向!

点赞+收藏+关注  →私信领取本源代码、数据库

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值