计算机毕业设计Python+Spark音乐推荐系统 音乐大数据 音乐数据分析 音乐可视化
一、本课题研究的主要背景、目的和意义
互联网在如今的爆发式发展已经改变了我们的生活方式,互联网上资源的爆发式增长让获取有效信息成为了新的难题。用户接触到的信息非常有限。于是很多提出帮助用户快速精准找到所需信息的解决方案诞生了,例如搜索引擎,推荐系统等。
目前大型的音乐门户类网站的歌曲库规模往往包含上千万首的歌曲,这些歌曲被划分成不同的语种、流派、年代、主题、心情、场景等,包含的信息非常的丰富,存在着严重的信息过载。对于系统中每一位音乐用户来说,都不可能去收听曲库内的每一首歌, 很多时候用户的需求往往是“一首或几首好听的歌曲”这种模糊的需求,如何根据用户在系统中产生的行为信息去庞大的歌曲库中挖掘出用户可能感兴趣的音乐,这就需要个性化音乐推荐系统综合考虑用户偏好、时间、地点、环境等各种复杂的特征,准确的从上千万的海量歌曲库中挑选出此时此刻最适合这个用户聆听的个性化音乐,给广大的用户带来美的享受,真正做到众口可调。
二、本课题研究已有的工作基础,附证书、报告、文献翻译
经过河南工学院两年的培养,掌握基础Mysql语言外,另外学习了基础的Python、Java、Android、Html/CSS、JavaScript等编程语言,可设计一些由上述所需要的语言所完成的基础软件系统。此外可熟练使用Java语言进行编程工作,对于完成该系统所使用的Intellij IDEA编程软件以及NavicatPremium15数据库软件可以灵活运用,以及对于Tomcat、maven、 SpringBoot的环境的搭建等也有应用能力并且使其运用到所做的项目当中去。通过学习清楚了解其分析方法,并使用Java语言编程实践了过一些项目。在学习Java开发的过程中,曾与同学多次合作参与Java有关的项目,比如基于JavaEE的油画商城、基于JavaEE的通讯录管理系统等。
本课题主要是通过spring boot框架来完成整个设计工作。音乐推荐系统的前台设计主要使用的Vue + Vue-Router + Vuex + Axios + ElementUI技术来添加进入整体页面所需要的元素和整体页面的框架,使用CSS技术对原来的页面进行一些修饰与调整,最后使用JS与jQuery技术来实现基础页面的呈现与效果。后台设计则是使用Java技术来实现每个页面模块的响应与实现,以及数据库之间的搭建,然后使用数据库技术来实现每个页面模块数据的操作,最后通过SpringBoot架构来实现每个模块应实现的功能。从而从用户偏好、时间、地点、环境等各种复杂的特征,准确的从上千万的海量歌曲库中挑选出此时此刻最适合这个用户聆听的个性化音乐,给广大的用户带来美的享受,真正做到众口可调。
三、研究的内容和可行性论证
论文主要研究的是基于多模式协同过滤算法而开发的音乐推荐系统。设计思路是用户通过登陆进入系统,根据用户选择至少5位艺人进行收藏,以此来初步确定用户欣赏音乐的倾向。另外,用户还可以从大家的推荐中搜索自己 喜爱的音乐,或者从品味相似的好友中找到适合自己的音乐。在不同需求下,完成用户信息的管理、歌曲打分的管理、歌曲推荐的管理、等功能。
通过详细的需求分析和成功经验的借鉴,采集到足够的信息。采用先进科学和适合需求的设计方法,有助于实现对系统进行科学、严谨、全面、完整的设计,简化设计流程,降低出错率。本系统是利用NavicatPremium15创建了数据库,NavicatPremium15是一个功能强大、高性能的数据库管理系统软件,提供了一整套数据库管理体系结构,功能可靠。给音乐推荐系统提供了一个良好的技术保障。Intellij IDEA是一种基于Windows的优秀的计算机程序开发语言软件,它采用可视化的开发方法,是一种易用、快速、高效的应用软件开发工具。自问世以来经历了多个版本的更新,日渐完善,它强大的功能为实现用户的要求提供保证。Intellij IDEA为开发人员提供了强大的兼容应用程序的有效工具,从而将Java程序设计语言提高到了一个新境界,已经成为程序开发人员的最佳选择,而且也是方便快捷的开发功能完善的数据库应用程序的出色工具。
对本系统从以下三个方面进行可行性论证:
1、技术可行性
该平台的开发需要掌握Java、Mysql、Html/Css、JavaScript等基础语言的应用以及Tomcat、Maven、SpringBoot框架的使用,由于有些语言是开过课程的,关于这方面的编程书也有很多,学习与使用起来也更方便一点。
2、操作可行性
该软件系统开发操作虽然有一定难度,但是只要克服框架这一些难点,其余的大部分还是跟平常自己所使用技术相关。
3、经济可行性
在经济方面,所用到的软件编译环境都能从网上下载,并且可以免费安装到自己的电脑上,所以在经济可行性方面,完全没有问题,符合经济的可行性。
四、拟解决的关键问题及难点
1. 平台的搭建。在课题开始之前需要安装开发环境,其中框架需要配置正确的参数和安装环境,这里的参数配置是相对困难的。
2. 系统里的数据从网易云中获取,存放到自己的数据库中,网易云网页版爬取时有反扒机制,并不容易获取。
3. 推荐算法的实现。系统选择使用协同过滤算法。算法的正确实现是推荐页面实时更新的关键。算法实现不仅要求数据格式正确还要求算法代码的正确编写。
4. 推荐页面实时更新。前端页面能够运行起来是很容易的,在后端数据推荐算法的实现后,前端的信息能够及时变化是非常必要的。在系统开发完成之后,一位用户获取一次推荐是比较容易的,多位用户获取多次推荐,且要得到及时反映是比较困难的。
五、拟采取的研究方法(方案、技术路线等)
本课题根据人们的需求随着数据量的不断增大在不断的增加,而且人们对音乐的追求也随着也随着这些不断的增多。个性化推荐系统的产生顺从了时代的发展,在不远的将来,个性化推荐系统必能大放异彩。
1、本课题实施的技术路线
(1)掌握 java基础语言的应用,实现对 SpringBoot 框架的应用。
(2)研究分析这项新技术的研发,可以有效避免音乐推荐的商业化行为。因为它完全不用比较音乐的点击率、用户关注度和评价信息,因此不会产生冷启动、稀疏性和扩展性问题,而对于用户心理或情绪上的波动又具有明显的针对性,不失为一种人性化的音乐推荐技术。
2、针对本课题研究的内容,确定使用如下方案。
(1)根据课题要求查阅资料,查阅文献。
(2)根据查询的相关资料,结合任务书需求,进行需求分析。
(3)合理的系统设计。
(4)各模块正常实现。
(5)测试功能实现是否正常



















