1 项目介绍
本次的研究是基于使用自动编码器,通过与卷积神经网络相结合,以挖掘音频、歌词本身的非线性特征,来实现很好的音乐推荐、音乐查找识别的功能实现,并将内容特征与协同过滤共同作用,训练紧耦合模型。通过此次的系统搭建与开发,能够通过深度学习的方式让系统可以实现按照用于的喜好来进行音乐的推荐的功能实现。
2、项目技术
项目后端框架:Java+ssm
项目前端框架:vue2,ssm
3、开发环境
后端:开发语言:python
框架:python,django
python版本:python3.6.8版本向上兼容
数据库:mysql5.7+
数据库工具:Navicat11+
开发软件:pycharm
前端:nodejs,vue,html
数据库:mysql
4系统设计
4.1系统的整体设计
本次的设计中,通过三层架构的方式来进行系统的整体开发,通过三层架构的方式开发的目的是降低音乐推荐系统中所存在的耦合情况,并且能够更好的实现扩展能力的提升。本次的架构通过表示层的开发来打造音乐推荐系统的服务界面,在服务层的设计上主要集中在数据的服务设计,通过数据的交互设计来将数据信息存储在数据库中。
整体的设计和推荐过程实现的步骤如下:
第一步,通过对用户的历史行为数据进行筛选,构建出一个标准的能够反映出用户和音乐之间的关系,形成一个矩阵,并且能够通过隐语的模型设计来完成用户的偏好特征以及音乐的偏好特征的关系表象;
第二步,通过对原始音乐进行标签的划定,来提取音乐的特征;
第三步,通过卷积神经模型来进行进行以频谱图为基础的网络模型的设计,通过KNN模型的加入来实现机器的深度学习以及训练,从而能够输出模型的基本真值;
第四步,在用户进行搜索的过程中,通过KNNbaseline来进行兴趣度的排列,从而进行特征的准确预测,实现相似度高的歌曲排名,为用户提供排名前十的相似歌曲推荐。
整体设计的模块图如下所示:
图4.1深度学习音乐推荐系统功能模块图
4.2数据库的设计
数据库的设计上首先是对数据库E-R模型的设计,此次设计的E-R模型图有以下一些方面:
- 用户E-R模型:
- 推荐E-R模型:
- 系统管理员E-R模型
本次所设计的数据库表格主要有以下的一些内容:
- 歌曲信息表:
- 推荐歌曲表:
5系统的实现
5.1系统的首页
此次设计的深度学习的音乐推荐系统的首页展示如下:
图5-1 系统的首页
5.2音乐播放界面的实现
当点击一首歌之后,可以进入到音乐的播放界面中,在该界面中能够看到有歌名、作者、演唱者、流派以及歌词等内容,并且可以进行歌曲下载,点评以及收藏。如下所示:
图5-2 音乐播放界面
5.3音乐推荐功能的实现
在音乐推荐功能的使用中,在文本框中通过输入歌名,点击提交会推荐与之相关的一些歌曲,如下图所示:
图5-3 音乐推荐功能实现
5.4后台管理系统的实现
在后台的管理界面中,管理员能够对网站内的歌曲信息进行相应的管理,如下图所示:
图5-4 后台管理的实现