基于协同过滤推荐算法的影单管理系统的设计(Bootstrap,nodejs,MySQL)(任务书,开题报告,论文15000字,程序代码,MySQL数据库)
摘要
层出不穷的电影网站和电影交流社区在为用户提供海量信息的同时也带来了信息过载的问题。信息过载使用户获取最有价值的电影信息的成本升高,用户需要耗费大量的时间和精力来筛选出最合适的电影,体验感较差。同时,很多用户希望可以有一款软件可以记录并管理自己看过电影。
为了解决信息过载问题和满足用户潜在需要,本论文首先对推荐功能进行研究分析。通过调研发现,目前绝大多数电影平台的推荐功能都采用基于内容的推荐算法来主动推荐,如爱奇艺,优酷等。虽然这种推荐模式可以有效地避免冷启动的问题,但是主动推荐也意味着用户要主动过滤,信息针对性不强,同时电影作为一种多媒体资源,很难提取内容特征,所以推荐误差也很大。而相比于基于内容的推荐算法,协同过滤推荐算法是将与用户具有相似兴趣的同类用户喜欢的物品推荐给用户,这种推荐模式可以通过收集用户的反馈不断矫正用户偏好,推荐的信息更加有针对性。而且基于用户的协同过滤推荐算法是最易于实现,不需要训练的一种算法。因此,选用基于用户的协同推荐过滤算法作为实现电影推荐功能和解决信息过载问题的基础。
考虑到用户希望可以管理影单的潜在需求,系统将推荐算法与影单管理有机结合,对电影爱好者观影交流的现状详细梳理,针对其中的存在问题提出项目目标并进行详细的需求分析,设计了用户进行影单管理和获取推荐的新业务流程,确定了用户在影单管理中的评分机制,并将评分数据归一化后作为推荐算法的输入数据。然后明确系统要具备的功能,主要包括用户注册登陆,好友管理,影单管理,评论管理,推荐电影等。
最后,做编码设计和数据库设计并编写程序代码。系统采用B/S的系统结构,前端使用Bootstrap框架,界面简洁美观,后端采用node+Express+MySQL框架模式,nodeJs是一门适用于高并发,非阻塞,I/O密集的后端开发语言,MySQL是中小型关系数据库,符合开发条件和需求。算法方面考虑到技术可行性以及系统需要,精简算法矩阵,以用户评分为主要因素加以应用。
经过不断调试和测试,系统成功地实现了所有预期功能,有效地解决了信息过载问题,满足了广大互联网电影用户的潜在需求。
关键词:协同过滤推荐算法;推荐算法;Express;NodeJs;个性化推荐;电影推荐;影单管理;
Abstract
The endless stream of movie websites and film exchanges have also provided users with massive information while also causing information overload. Information overload increases the cost for the user to obtain the most valuable movie information, and the user needs to spend a lot of time and energy to screen out the most suitable movie, which has a poor sense of experience. At the same time, many users want to have a piece of software that can record and manage the movies they have watched.
In order to solve the problem of information overload and meet the potential needs of users, this paper first analyzes the recommended functions. Through investigation, it has been found that most of the recommended functions of the movie platform adopt the content-based recommendation algorithm to actively recommend, such as iQIYI, Youku, etc. Although this recommendation model can effectively avoid the problem of cold start, active recommendation also means that the user should actively filter and the information is not targeted. At the same time, the movie as a multimedia resource is difficult to extract the content features, so the recommendation error is also very Big. Compared with the content-based recommendation algorithm, the collaborative filtering recommendation algorithm is to recommend the user-like items with similar interests of the user to the user. This recommendation mode can continuously correct user preferences by collecting user feedback, and the recommended information is further improved. Targeted. And the user-based collaborative filtering recommendation algorithm is the easiest to implement and does not require training. Therefore, the user-based collaborative recommendation filtering algorithm is chosen as the basis for implementing the movie recommendation function and solving the problem of information overload.
Considering that users hope to manage the potential demand of photocopies, the system organically combines recommendation algorithms with photocolumn management, carefully combing the current situation of moviegoers' viewing exchanges, and proposing project goals and detailed requirements analysis for the problems existing therein. , Designed the user to manage the photo album and obtain the recommended new business process, determined the user's scoring mechanism in the photo album management, and normalized the score data as the input data of the recommendation algorithm. Then define the functions that the system must have, including user registration, friend management, photo album management, comment management, and recommended movies.
Finally, do code design and database design and write program code. The system adopts the B/S system structure. The front end uses the Bootstrap framework. The interface is simple and beautiful. The back end adopts the node+Express+MySQL framework model. nodeJs is a back-end development language suitable for high concurrency, non-blocking, and I/O intensive. MySQL is a small and medium-sized relational database that meets development conditions and requirements. The algorithm considers the technical feasibility and the system needs, simplifies the algorithm matrix, and uses the user rating as the main factor.
After continuous debugging and testing, the system successfully implemented all expected functions, effectively solved the information overload problem, and met the potential needs of the majority of Internet movie users.
Keywords: collaborative filtering recommendation algorithm; recommendation algorithm; Express; NodeJs; personalized recommendation; movie recommendation;
研究内容
本文预期将协同过滤推荐算法与影单管理相有机结合,实现基于协同过滤推荐算法的影单管理系统。首先对电影爱好者观影交流的现状详细梳理,然后针对其中的存在问题提出项目目标并进行详细的需求分析,设计用户进行影单管理和获取推荐的新业务流程,并明确系统要具备的功能。系统具体目标如下:
(1)影单管理功能,用户登录后可以通过电影名获取电影信息,并将看过的电影添加到自己的影单里。同时还可以自定义子影单,分享给他人。
(2)用户可以对影单中的电影发表评论。
(3)实现登录注册和好友管理功能,作为下一阶段电影社交系统的基础。
(4)用户可以在自己的影单中对看过的电影进行评分,系统根据不同用户对不同电影的评分进行计算,当用户点击推荐按钮时,会被推荐一部电影。
目录
摘要 1
Abstract 2
1 绪论 1
1.1 开发背景及意义 1
1.2 国内外研究现状 2
1.2.1国外研究现状 2
1.2.2国内研究现状 3
1.3研究内容 3
2 系统分析 5
2.1 系统需求分析 5
2.2 业务流程分析 6
2.3 数据流程分析 9
2.4 数据字典 9
2.4.1数据项 9
2.4.2处理逻辑 12
2.5 技术可行性分析 13
3 系统设计 14
3.1 功能结构设计 14
3.2 编码设计 15
3.3 算法设计 15
3.4 数据库设计 17
3.4.1数据库概念设计 17
3.4.2数据库表结构 18
3.5 程序模块设计 20
3.6 输入输出设计 22
3.6.1输入设计 22
3.6.2输出设计 22
4 关键代码 23
5 系统实施 29
5.1系统开发环境 29
5.2模拟运行数据 29
5.1.1个人信息功能模块 29
5.1.2好友管理功能模块 31
5.1.3影单管理功能模块 32
5.1.4评论管理功能模块 34
5.1.5推荐管理功能模块 34
5.3系统调试和测试 34
6 结论 35
致谢 37
参考文献 38
|