基于推荐算法的在线影音系统
2022-11-17 15:45:01
论文总字数:20824字
摘 要
随着互联网的不断发展,用户数量以及用户产生的数据量以指数倍上升。面对如此繁杂的信息数据,用户的选择显然更加艰难。况且,如今人们的生活节奏也随之加快,时间碎片化俨然成为了人们做出选择的绊脚石。倘若能有一套系统能够帮助用户更好地去筛选出自己需要的数据,那么用户的使用效率会大大提升。不仅如此,用户会对这套系统钟爱有加,用户的粘着度以及活跃度也会更加可观。
本文首先对常用的影音方面的推荐算法以及实现形式作了分析和研究,并比较他们的优缺点,最后选出适合本课题的方案,并作出优化。此次本课题将采用Python语言作为算法的设计语言,因为Python更适用于数据分析、数值计算等,解释型语言在编写上也极为方便。
其次,我们在使用Python实现传统的基于用户协同过滤算法基础上,为了提高精确度,我们引入了K邻近算法(K-Nearest Neighbor,KNN),其基本原理是从最近的K个相近用户中选出一个出现次数最多的类别作为判定类别。KNN将会作为冷启动时数据不足的一个解决方案,假如用户没有标明自己的性别,我们可以利用KNN来预测用户性别,再根据性别做出推荐。
最后,设计的实现是基于Python下的网站框架Django,一个典型的MVC思想的框架。数据库采用MySQL,图片存储采用了分布式的FastDFS。用户可以通过网页直接使用。
结果表明,采用KNN算法以后,我们推荐的信息准确率大大提升,推荐结果也能很好的反映了用户对影音作品的喜好、兴趣。
关键词:推荐算法;K邻近算法;影音推荐;标签类别
Online Video and Audio system based on recommendation algorithm
Abstract
Moreover, now people's pace of life has also accelerated, time fragmentation has become a stumbling block for people to make choices. If there is a system that can help users better screen out the data they need, then the efficiency of users will be greatly improved. Not only that, users will love the system, users will be more adhesive and active.
In this paper, the commonly used audio and video recommendation algorithms and implementation forms are analyzed and studied, and their advantages and disadvantages are compared. finally, the suitable scheme for this topic is selected and optimized. This topic will adoptPythonLanguage is used as the design language of the algorithm becausePythonIt is more suitable for data analysis, numerical calculation and so on, and the explanatory language is also very convenient to write.
Second, we're usingPythonBased on the traditional user collaborative filtering algorithm, in order to improve the accuracy, we introduceKProximity algorithm (K-Nearest Neighbor, KNN), the basic principle of which is from the most recentKOne of the similar users selected the category with the most frequent occurrence as the decision category.
Finally, the implementation of the design is based onPythonThe website framework under theDjangoA typicalMVCThe framework of thought. Database adoptionMySQLThe picture storage adopts distributedFastDFS. Users can use it directly through the web page.
The results show that the use ofKNNAfter the algorithm, the accuracy of the recommended information is greatly improved, and the recommendation results can also reflect the preferences and interests of users for audio and video works.
Keywords:Recommended algorithm;KProximity algorithm; audio and video recommendation; label category
目录
第一章 引言 1
1.1背景及意义 1
1.2 国内在影音推荐系统及推荐系统的现状 1
1.3 研究内容 1
1.4 论文结构 1
第二章 相关技术介绍 3
2.1 Django框架 3
2.2 MVC介绍与与原理分析 3
2.3 推荐系统相关算法介绍 3
2.3.1 基于用户的协同过滤算法 3
2.3.2 kMeans聚类算法 4
2.3.3 KNN——K近邻算法 5
第三章 基于用户的协同过滤推荐算法的算法设计 6
3.1 基于用户的协同过滤算法 6
3.2 KNN——冷启动的一种解决方案 7
第四章 系统的设计与实现 8
4.1 数据库的设计 8
4.1.1 模型类的设计 8
4.1.2 数据库模型类的详细设计 9
4.2 方法函数设计 10
4.2.1 注册模块设计 10
4.2.2 账号激活模块设计 11
4.2.3 登陆模块设计 12
4.2.4 后台模块设计 12
4.2.5 用户历史浏览记录模块设计 13
4.2.6 用户点击记录模块设计 14
4.2.7 音乐播放模块 14
第五章 系统的部署和测试 15
5.1 相关服务部署 15
5.1.1 redis服务 15
5.1.2 celery服务 15
5.1.3 MySQL数据库 16
5.1.4 web服务 17
5.2 网站功能的测试 18
5.2.1 注册以及激活邮件的发送 18
5.2.2 后台添加数据 19
5.2.3 用户登陆保持状态 22
5.2.4 用户点击的标签记录 23
5.3 出现的问题以及解决方案 23
5.3.1 同步任务与异步任务 23
5.3.2 历史记录存储媒介的选择 24
5.3.3 冷启动 24
第六章 结束语 25
6.1 推荐算法的思想与提升 25
6.1.1 推荐算法的思想 25
6.1.2 算法的优化 25
6.2 模型类的设计优化 27
6.3 网站交互体验的提升 27
致谢 29
参考文献 30
附录 31
第一章 引言
1.1背景及意义
现阶段娱乐减压显得尤为重要。闲暇之余,打开手机听歌显然成为首选。但是,人们怎样才能在短暂的时间里快速找到自己想要听的歌?况且,数据库信息庞大而繁杂,用户不可能去一一检索。
剩余内容已隐藏,请支付后下载全文,论文总字数:20824字