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

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

(一)需求分析

  基于深度学习的音乐推荐系统旨在以个性化音乐推荐模型为基础,使用B/S架构的形式实现。个性化推荐模型使用了 随机梯度下降(SGD)K近邻分类算法(KNN)、协同过滤等传统机器学习领域算法进行音乐推荐的,同时使用了类似于Word2vec的词袋模型和词向量模型来对歌词进行文本处理,构建了异构文本网络,来标识用户的歌曲偏好,然后在此基础上引入了一个Java方面深度学习库deepLearning4j来实现对音乐特征提取,对音乐进行标签化,分为古典、流行等类别。可参考来进行混合推荐的。在本系统中,用户可以浏览音乐,还可以收藏音乐,同时还能为所喜爱的音乐点赞,同时还可以进行登录和注册。管理员除了可以实现普通用户所实现的功能外,还可以进行音乐、评论、用户的管理。系统通过隐式收集用户操作记录向用户推荐个性化的音乐,与此同时,该系统还具有排行榜、热歌推荐等普通音乐网站所具有的功能,其中排行榜分为日榜和月榜,热歌推荐是根据当天用户点击量最高的50首歌曲进行推荐给用户的。

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

(二)概要设计

1、系统架构

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

2、系统总体设计图

在这里插入图片描述

3、数据库设计

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

(三)详细设计

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

在这里插入图片描述

(2)用户登录模块

在这里插入图片描述

(3)管理员管理模块

在这里插入图片描述

(4)音乐播放模块

在这里插入图片描述

(5)歌曲排行榜模块

在这里插入图片描述

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

在这里插入图片描述

(五)实现

已经将完整项目上传github,可参考:基于深度学习的音乐推荐系统

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章