基于Java(JSP)+MySQL实现深度学习的音乐推荐系统

基于深度学习的音乐推荐系统简述

本文简要介绍我做的基于深度学习的音乐推荐系统。主要从需求分析与设计实现的角度来进行介绍。

需求分析

基于深度学习的音乐推荐系统旨在以个性化音乐推荐模型为基础,使用B/S架构的形式实现。个性化推荐模型使用了 随机梯度下降(SGD)、 K近邻分类算法(KNN)、协同过滤等传统机器学习领域算法进行音乐推荐的,同时使用了类似于Word2vec的词袋模型和词向量模型来对歌词进行文本处理,构建了异构文本网络,来标识用户的歌曲偏好,然后在此基础上引入了一个Java方面深度学习库deepLearning4j来实现对音乐特征提取,对音乐进行标签化,分为古典、流行等类别。可参考来进行混合推荐的。

在本系统中,用户可以浏览音乐,还可以收藏音乐,同时还能为所喜爱的音乐点赞,同时还可以进行登录和注册。管理员除了可以实现普通用户所实现的功能外,还可以进行音乐、评论、用户的管理。系统通过隐式收集用户操作记录向用户推荐个性化的音乐,与此同时,该系统还具有排行榜、热歌推荐等普通音乐网站所具有的功能,其中排行榜分为日榜和月榜,热歌推荐是根据当天用户点击量最高的50首歌曲进行推荐给用户的。

|-------|---------------------------------------------------------------------------|
| 模块名 | 功能描述 |
| 用户管理 | 用户注册、登录,收藏、评论、点赞,浏览历史记录,搜索音乐,播放控制音乐,下载 |
| 管理员管理 | 对用户的查找、删除;对音乐的上传,对评论的查询、删除;对歌曲的查询、删除; |
| 个性化推荐 | 通过协同过滤推荐算法对用户进行操作数据的收集,从而对用户进行音乐推荐;通过用户播放歌曲的歌词作为分析数据结合深度学习领域相关算法对用户进行歌曲推荐 |
| 排行榜 | 分为日榜和月榜,分别为当日和当月播放量最高的歌曲推荐 |
| 热歌推荐 | 对播放量、用户评论量等数据进行综合分析,得出一些热门歌曲推荐给用户 |

概要设计

系统架构

本系统采用MVC模式作为架构,其中使用了MyBatis来作为数据持久化框架,进行数据库数据的映射。同时前端采用了JSP、JavaScript、CSS来进行开发,后端采用SSM框架来进行开发,该框架为当前企业中较为流行的一种框架。

系统总体设计图

数据库设计

数据库方面我主要设计了11个表,分别是歌曲收藏表、歌曲下载记录表、用户点赞表、音乐播放记录表、歌曲推荐表a、歌曲推荐表b、歌曲评论表、用户角色表、音乐详情表、用户信息表、用户角色表。下面是数据库关系图。

详细设计

所用技术

|---------|----------------------------------------------------|
| 开发 | 具体实现所用技术 |
| 数据库 | MYSQL、Navicat for MySql |
| 前端 | Bootstrap、jsp |
| 后端 | IDEA、SSM框架 |
| 个性化推荐模型 | 传统机器学习算法(KNN等)、词向量模型、java_tensorflow_music深度学习开源模型 |
| 需求、概要设计 | processOn、xmind |
| 架构 | b/s架构 |
| 设计模式 | mvc |
| 软件测试 | Junit、apache-jmeter-3.2 |
| 应用服务器 | tomcat7.0 |

具体模块设计

(1)用户注册模块

(2)用户登录模块

(3)管理员管理模块

(4)音乐播放模块

(5)歌曲排行榜模块

(6)个性化音乐推荐模块模块

相关推荐
ladymorgana几秒前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
hello早上好1 分钟前
JDK 代理原理
java·spring boot·spring
PanZonghui4 分钟前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
PanZonghui6 分钟前
Centos项目部署之Java安装与配置
java·linux
GreatSQL社区20 分钟前
用systemd管理GreatSQL服务详解
数据库·mysql·greatsql
掘根21 分钟前
【MySQL进阶】错误日志,二进制日志,mysql系统库
数据库·mysql
weixin_4383354023 分钟前
基础知识:mysql-connector-j依赖
数据库·mysql
锅挤28 分钟前
深度学习5(深层神经网络 + 参数和超参数)
人工智能·深度学习·神经网络
网安INF34 分钟前
深层神经网络:原理与传播机制详解
人工智能·深度学习·神经网络·机器学习
沉着的码农37 分钟前
【设计模式】基于责任链模式的参数校验
java·spring boot·分布式