SSM个性化音乐推荐系统
摘 要
随着时代的发展,互联网技术融入到了人们的日常生活,也为各行各业带来了新生机,我们的生活方式也发生了很多改变。在平时生活中收听音乐成了人们休闲的一种方式,而人们收听音乐的方式也因为互联网的发展发生了很大的改变,从随身听里的一盘磁带转变到了在线收听。本系统采用SSM框架基于B/S模式以及MYSQL数据库作为开发工具。为用户提供一个全天的,更好,更快捷的在线音乐收听空间。依据目前市场现有的网站的设计原则,以在线音乐为主导,通过个性推荐系统作为辅助的一个综合性音乐平台。
本系统采用SSM框架组合进行设计,基于JavaWeb技术实现个人信息管理,用户登录注册,音乐在线试听以及音乐评价等功能。管理员通过系统后台对音乐信息进行管理。以收听音乐为主,个性推荐为辅的音乐系统也会很大程度上满足用户的基本需要。
关键词:个性化音乐推荐系统;SSM框架;MYSQL数据库;
SSM Personalized Music Recommendation System
With the development of the times, internet technology has integrated into people's daily lives, bringing new vitality to various industries, and our way of life has also undergone many changes. Listening to music has become a way for people to relax in their daily lives, and the way people listen to music has also undergone significant changes due to the development of the Internet, shifting from a cassette player to online listening. This system adopts the SSM framework based on B/S mode and MYSQL database as the development tool. Provide users with a full day, better, and faster online music listening space. Based on the current design principles of websites in the market, it is a comprehensive music platform dominated by online music and assisted by a personalized recommendation system.
This system is designed using a combination of SSM frameworks and is based on Java Web technology to achieve personal information management, user login registration, online music listening, and music evaluation functions. The administrator manages music information through the system backend. A music system that primarily focuses on listening to music, supplemented by personalized recommendations, will also largely meet the basic needs of users.
Keywords: personalized music recommendation system; SSM framework; MYSQL database;
目 录
1 绪论
1.1研究背景
随着大数据时代的到来,互联网技术、存储技术的快速发展,以及5G技术的兴起。在这个数字音乐流行的时期,各种技术给人们的生活带来了极大的便利,人们的听歌模式也发生了翻天覆地的变化,在线音乐播放成为了主流。但庞大的数字音乐数据库,让用户没有办法进行选择,一首首的试听显然效率低下,且会给用户带来非常不好的体验。传统的推荐系统虽然也能进行一定程度的筛选,但筛选过后的数据量仍然让人头疼。虽然还可以通过关键字进行搜索,但前提是用户需求明确,大多数情况下用户并不能清晰表达个人偏好,导致关键词搜索效果也不佳。因此,对于音乐推荐的研究将是一个很有潜力的发展方向。
网易云音乐作为一个广受欢迎的音乐播放器,在几年时间内,它的注册用户就实现了爆炸式的增长,这也从另一个方面体现了用户们对于音乐的需求。在它发布的音乐大数据报告中l,该报告通过分析该平台上2亿用户的听歌行为及其2万音乐人活跃行为,得到了用户听歌行为以及国内音乐市场所表现的一些明显的现象和趋势。音乐市场在发生变化的同时,用户对于听歌的需求却没有减少,作为日常用来放松的娱乐活动,人们对于听歌系统的要求也会逐渐增高。而且随着用户的听歌模式的改变,以及忙碌的生活节奏,人们已经没有太多的精力去主动发现,因此更加倾向于来自音乐推荐系统的推荐。因此,随着用户听歌方式的变化2l,人们更加倾向于被动的接受推荐。随听随播成为了主流,音乐做为人们日常生活中重要的娱乐方式,也促使了大批的播放器致力于个性化推荐的研究,希望在为用户提供良好体验的同时,提高自己的行业竞争力。
普通的推荐方法存在明显的问题,不能得到比较好的推荐效果,不能随着用户的爱好变化进行迁移,不能挖掘用户的潜在爱好,也不能根据用户的爱好进行精准的推荐。但随着大数据、人工智能的快速发展,在传统的推荐方式上进行改进成为了可能,为了适应用户如今的日常需要,利用大量数据分析用户的潜在喜好倾向、根据用户的历史倾向[3以及多种推荐算法协同推荐更能适应人们的需求。而且在人工智能的发展以及大数据的浪潮下,我们可以结合传统推荐方式以及新元素的优缺点,取长补短,因此新形势的音乐推荐系统也应该适应发展的潮流,这个时候设计实现一个精准好用、功能齐全的音乐推荐系统就显得异常必要,开发出让用户更具好体验的音乐推荐系统势在必行。
1.2国内外研究现状
个性化推荐系统是根据用户的需求、兴趣偏好,将用户感兴趣的内容或者产品等信息推送给用户的系统和搜索引擎相比,个性化推荐系统从研究用户历史信息入手,找到用户兴趣偏好信息,再根据用户的偏好进行信息的过滤,从而更加精确的得到用户需要的信息。随着这种更加智能化的,更加了解用户需求与偏好信息的发现机制的出现,推荐系统在面对海量的数据信息的时候,能够及时有效的发现用户的信息规律,按照用户的需求来进行信息的推送。随着推荐技术的发展,推荐引擎在不同行业领域都取得了很高的成就,不管是电子商务还是社交网站都取得了广泛的成功,推荐系统也越来越得到了人们的肯定与赞扬。
在学术界,从90年代中期出现的第一篇关于协同过滤的文章开始,推荐系统一直都保持着很高的研究热度,并逐渐形成了以推荐为核心的独立学科,各种推荐算法应运而生,这些算法涵盖了信息检索、认知科学、管理科学等众多学科,近些年来国际学术界也针对推荐系统的研究文献大量出现,ACM也在近几年举行有关推荐算法的有关比赛,国内外的许多知名大学与研究结构也纷纷开始这方面授课与研究个性化推荐在电子商务中应用的成功,给电子商务带来了前所未有的巨大的经济利益,根据有关研究部门的统计结果显示,Amazon的推荐系统产生的商品销售额大约占其同期总销售额的三分之一。个性化推荐系统引起了越来越多不同领域人的注意。互联网音乐行业也充分认识到了个性化推荐的魅力,纷纷将个性化推荐应用与自己的各个业务上来。
目前国内主要从事这方面研究的有豆瓣音乐,豆瓣也是目前在国内在音乐推荐领域处于一个领先的位置,还有虾米网的音乐推荐,以及目前正在开发的酷狗个性化音乐推荐系统。国外有美国的Pandora公司以及英国的last.fm都在音乐推荐领域比较超前的公司。音乐推荐中,用户首先面对的是大量歌曲信息,用户很难找到相对自己喜欢而.不熟悉的歌曲,这样音乐推荐引擎应运而生,它可以充分的满足用户的音乐需求,同样的也可以增加音乐的播放量。所以在音乐行业中,推荐系统的也开始普片应用起来。
1.3研究内容
该个性化音乐推荐系统的开发和设计根据用户的实际情况出发,对系统的需求进行了详细的分析,然后进行系统的整体设计,最后通过测试使得系统设计的更加完整,可以实现系统中所有的功能,在开始编写论文之前亲自到图书馆借阅SSM框架书籍,MYSQL数据库书籍等编程书籍,然后针对开发的个性化音乐推荐系统,去网上查找了很多别人做好的系统,参照他们的设计结果,来对自己的系统进行更加详细的系统的设计,将系统中所有的功能结果一一列举出来,然后进行需求分析,最后对所有的功能模块进行编码,最后完成系统的整体测试,实现系统的正常运行。
这次编写的论文包含了6个部分的内容,具体内容如下:
第一部分绪论:文章主要从课题背景以及国内外研究现状综合阐述了开发此系统的必要性。
第二部分相关技术:系统开发用到的各种技术都大致做出了简介。
第三部分系统分析:对系统的可行性分析以及对所有功能需求进行详细的分析,来查看该系统是否具有开发的可能。
第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。
第五部分系统实现:进行系统主要功能模块的界面展示。
2 相关技术介绍
2.1 SSM框架
当今流行的“SSM组合框架”是Spring + SpringMVC + MyBatis的缩写,受到很多的追捧,“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架,通常更简单的数据源。Spring属于一个轻量级的反转控制框架(IoC),但它也是一个面向表面的容器(AOP)。SpringMVC常常用于控制器的分类工作模式,与模型对象分开,程序对象的作用与自动取款机进行处理。这种解耦治疗使整个系统的个性化变得更加容易。MyBatis是一个良好的可持续性框架,支持普通SQL查询,同时允许对存储过程的高级映射进行数据的优化处理。大型Java Web应用程序的由于开发成本太高,开发后难以维护和开发过程中一些难以解决的问题,而采用“SSM组合框架”,它允许建立业务层次结构,并为这个问题提供良好的解决方案。
2.2 JAVA简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,SSM(java server pages),和XML技术。JAVA语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。
Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3 ECLIPSE 开发环境
ECLIPSE 支持广泛、兼容性高并且功能强大,是一个Eclipse 插件集合,普遍适应于JAVA和J2EE的系统开发,支持 JDBC,Hibernate,AJAX,Struts,Java Servlet,Spring,EJB3等市面上存在的几乎所有数据库链接工具和主流Eclipse产品 开发工具。
ECLIPSE 在业内是所熟知的开发工具,该平台在开发的过程中运用的就是该工具。ECLIPSE 又被称之为企业级的工作平台,它是以Eclipse IDE为基础的。ECLIPSE 可以帮助我们进行数据库的研发和J2EE的使用,除此之外,还可以提高系统的运营能力,这突出表现在服务器的整合过程中。ECLIPSE 的功能相当完备,能够为J2EE的集成提供必要的环境支持,从而完成编码、测试、调试及发布等功能。它可以支持SSM,HTML,SQL,Javascript,Struts, CSS等。
2.4 Tomcat服务器
Tomcat属于一种轻型的服务器,所以说在中小企业中并不具有普适性。但是当程序员需要开发或调试SSM 程序时,则通常会将该服务器作为首选。对于一个仅具有计算机基础知识的人来说,计算机系统具有一个好的Apache服务器,可以很好的对HTML 页面进行访问。Tomcat 虽然是Apache的扩展,但是它们都是可以独立运行的,二者是不互相干扰的。当配置正确的时候,Apache服务器为HTML 页面的运行提供技术支持,Tomcat 的任务则是运行Servle和SSM 页面。Tomca也具有一定的HTML页面处理功能。
2.5 MySQL数据库
数据库是系统开发过程中不可或缺的一部分。在WEB应用方面,MySQL AB开发了一个具有很大优势的MySQL关系数据库管理系统。 MySQL可以将数据存储在不同的表中,这非常灵活,并且还可以提高系统在实际应用中的速度。数据库访问最常用于标准SQL语言,MySQL用于SQL语言,因此它具有高度兼容性。数据库的操作是必不可少的,包括对数据库表的增加、删除、修改、查询等功能。现如今,数据库可以分为关系型数据库和非关系型数据库,Mysql属于关系性数据库,Mysql数据库是一款小型的关系型数据库,它以其自身特点:体积小、速度快、成本低等,Mysql数据库是目前最受欢迎的开源数据库。
在WEB应用技术中, Mysql数据库支持不同的操作系统平台,虽然在不同平台下的安装和配置都不相同,但是差别也不是很大,Mysql在Windows平台下两种安装方式,二进制版和免安装版。安装完Mysql数据库之后,需要启动服务进程,相应的客户端就可以连接数据库,客户端可通过命令行或者图形界面工具登录数据库。
3 系统分析
3.1 可行性分析
在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足用户需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。
3.1.1 技术可行性
本个性化音乐推荐系统采用SSM框架技术、java语言和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。
3.1.2经济可行性
我在设计该系统的时候主要是从节约成本出发,然后进行具体的系统的设计,在系统的设计过程中由于采用的所有工具以及技术支持全部都是免费的,因此不需要有任何的成本就可以进行该系统的设计。所用到的所有资源都是免费的,只要有网络就可以进行下载使用,不需要支付相应的费用,因此该项目在经济方面是完全可以实行的。
3.1.3操作可行性
本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。
从上面几个部分的可行性分析得出,这次开发的个性化音乐推荐系统在开发上面没有什么大问题,值得开发。
3.2 系统性能分析
(1)系统响应效率:页面响应时问应该在3秒以内,最长不能超过4秒,并支持至少10000人同时在线所有系统。
(2)界面简洁清晰:系统界面要求简单明了,容易操作,符合用户操作习惯。
(3)储存性高:因为个性化音乐推荐系统中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。
(4)易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。
(5)稳定性需求:开发的个性化音乐推荐系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
(6)稳定性:开发的个性化音乐推荐系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
3.3 系统功能分析
本个性化音乐推荐系统主要包括两大功能模块,即管理员功能模块和用户模块。
(1)管理员模块:系统中的核心用户是系统管理员,管理员登录后,通过管理员菜单来管理后台系统。主要功能有:后台首页、轮播图、公告信息管理、资源管理(音乐资讯、资讯分类)系统用户(管理员、系统用户)模块管理(音乐信息、音乐类型、热门歌曲、音乐标签)等功能模块。管理员用例图如图3-1所示。
图3-1 管理员用例图
(2)用户:首页、公告信息、音乐资讯、音乐信息、热门歌曲、我的(我的账户、我的收藏、个人中心)后台首页、音乐标签等功能模块。用户用例图如图3-2所示。
图3-2 用户用例图
3.4系统流程分析
3.4.1登录流程
登录模块主要满足管理员、用户的权限登录,登录流程图如图3-3所示。
图3-3 登录流程图
3.4.2注册流程
未有账号的用户可进入注册界面进行注册操作,用户注册流程图如图3-4所示。
图3-4 注册流程图
3.4.3添加信息流程
用户在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图3-5所示。
图3-5 添加信息流程图
3.4.4删除信息流程
用户可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图3-6所示。
4 系统设计
4.1系统概要设计
本个性化音乐推荐系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2系统结构设计
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
本个性化音乐推荐系统结构图如图4-2所示。
图4-2 系统功能结构图
4.3系统顺序图设计
4.3.1登录模块顺序图
登录模块主要满足了管理员、用户的权限登录,登录模块顺序图如图4-3所示。
图4-3 登录顺序图
4.3.2添加信息模块顺序图
管理员、用户登录后均可进行添加信息操作,添加信息模块顺序图如图4-4所示。
图4-4 添加信息顺序图
4.4数据库设计
一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计。
4.4.1数据库E-R图设计
本个性化音乐推荐系统采用的是MYSQL数据库,数据存储快,因为个性化音乐推荐系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确。
系统的E-R图如下图所示:
图4-5 系统E-R图
4.4.2数据库表设计
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
表article (文章:用于内容管理系统的文章)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
表article_type (文章分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表auth (用户权限管理)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表collect (收藏)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表comment (评论)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表hits (用户点击)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表music_information (音乐信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | music_information_id | int | 10 | 0 | N | Y | 音乐信息ID | |
2 | song_name | varchar | 64 | 0 | Y | N | 歌曲名称 | |
3 | song_cover | varchar | 255 | 0 | Y | N | 歌曲封面 | |
4 | music_type | varchar | 64 | 0 | Y | N | 音乐类型 | |
5 | name_of_singer | varchar | 64 | 0 | Y | N | 歌手姓名 | |
6 | mv_video | varchar | 255 | 0 | Y | N | MV视频 | |
7 | audio_frequency | varchar | 255 | 0 | Y | N | 音频 | |
8 | lyric | text | 65535 | 0 | Y | N | 歌词 | |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表music_label (音乐标签)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | music_label_id | int | 10 | 0 | N | Y | 音乐标签ID | |
2 | song_name | varchar | 64 | 0 | Y | N | 歌曲名称 | |
3 | song_cover | varchar | 255 | 0 | Y | N | 歌曲封面 | |
4 | music_type | varchar | 64 | 0 | Y | N | 音乐类型 | |
5 | name_of_singer | varchar | 64 | 0 | Y | N | 歌手姓名 | |
6 | mv_video | varchar | 255 | 0 | Y | N | MV视频 | |
7 | audio_frequency | varchar | 255 | 0 | Y | N | 音频 | |
8 | lyric | text | 65535 | 0 | Y | N | 歌词 | |
9 | system_user | int | 10 | 0 | Y | N | 0 | 系统用户 |
10 | music_label | varchar | 64 | 0 | Y | N | 音乐标签 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表music_type (音乐类型)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | music_type_id | int | 10 | 0 | N | Y | 音乐类型ID | |
2 | music_type | varchar | 64 | 0 | Y | N | 音乐类型 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表notice (公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表popular_songs (热门歌曲)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | popular_songs_id | int | 10 | 0 | N | Y | 热门歌曲ID | |
2 | song_name | varchar | 64 | 0 | Y | N | 歌曲名称 | |
3 | song_cover | varchar | 255 | 0 | Y | N | 歌曲封面 | |
4 | music_type | varchar | 64 | 0 | Y | N | 音乐类型 | |
5 | name_of_singer | varchar | 64 | 0 | Y | N | 歌手姓名 | |
6 | mv_video | varchar | 255 | 0 | Y | N | MV视频 | |
7 | audio_frequency | varchar | 255 | 0 | Y | N | 音频 | |
8 | lyric | text | 65535 | 0 | Y | N | 歌词 | |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表praise (点赞)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
表slides (轮播图)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表system_user (系统用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | system_user_id | int | 10 | 0 | N | Y | 系统用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | gender | varchar | 64 | 0 | Y | N | 性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表upload (文件上传)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
表user (用户账户:用于保存用户登录信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
表user_group (用户组:用于用户前端身份和鉴权)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 系统详细设计
个性化音乐推荐系统,在系统登录页面管理员填写账号、密码等信息滑动滑块进行验证登录,如图5-1所示。
图5-1管理员登录界面图
管理员登录进入个性化音乐推荐系统之后,就可以对所有的信息进行查看,可以查看到后台首页、轮播图、公告信息管理、资源管理(音乐资讯、资讯分类)系统用户(管理员、系统用户)模块管理(音乐信息、音乐类型、热门歌曲、音乐标签)等功能模块;并且还可以对其进行相应的操作管理,如图5-2所示。
图5-2 管理员功能页面图
个性化音乐推荐系统中的管理员在“系统用户管理”这一菜单是中可以对注册的用户以及管理员人员进行管控,如图5-3所示。
图5-3 系统用户管理界面图
个性化音乐推荐系统中的管理人员在“资源管理”这一菜单下主要是对音乐资讯以及音乐资讯所属的分类进行管控,包含了用户对音乐资讯提交的评论信息,如图5-4所示。
图5-4 资源管理页面图
轮播图管理:管理员可添加轮播图信息进行发布至前台展示,还可根据需要进行增删改查等操作,如图5-5 5-6所示
图5-5添加轮播图界面图
公告信息管理:管理员可添加公告信息进行发布至前台方便用户查看,还可根据需要进行增删改查等操作,如图5-5 5-6所示
图5-6添加公告通知界面图
音乐类型,在此页面编辑音乐类型进行分类管理,可根据需要进行删除、重置、查询等相应的操作,如图5-6所示。
图5-6音乐类型界面图
音乐标签,管理员在此页面可查看歌曲名称、歌曲封面、音乐类型、歌手名称、MV视频、音频等详细信息,可根据需要进行添加、删除、重置、查询等相应的操作如图5-7所示
图5-7音乐标签管理界面图
不是个性化音乐推荐系统中正式用户的是可以在线进行注册的,如果你没有本个性化音乐推荐系统的账号的话,添加“注册”,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。注册成功后在登录页面输入用户名、密码、图片验证进行登录,如图5-8 5-9所示。
图5-8用户注册界面图
图5-9用户登录界面图
音乐信息:用户在此页面可通过关键字、音乐类型等方式搜索查看音乐详细信息,比如:歌曲名称、音乐类型、歌手姓名、封面图片、MV视频、音频、歌词等信息,并可进行点赞、收藏、评论或打标签等操作,打标签的歌曲可在后台查看,如图5-10 5-11 5-12所示。
图5-10音乐信息界面图
图5-11打标签界面图
图5-12查看打标签歌曲界面图
音乐资讯:用户可在此页面搜索查看音乐资讯信息,对喜欢的音乐资讯可进行点赞、收藏、发表评论等操作,如图5-13所示。
图5-13音乐资讯界面图
热门歌曲:用户在此页面可可通过关键字、音乐类型等方式搜索查看热门歌曲信息,如:歌曲名称、音乐类型、歌手姓名、封面图片、MV视频、音频、歌词等详细信息,对喜欢的歌曲可进行点赞、收藏等操作,如图5-14 5-15所示。
图5-14热门歌曲界面图
图5-15详情界面图
6 系统测试
一个系统设计好后,就会进入测试阶段,测试的目标是检验设计好的网站是否可以正常无误的运行,尽可能的发现网站的问题,已使后期网站投入使用后网站尽少出错[12]。
6.1 测试定义
系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。
测试不仅是系统开发的开始,而且应该贯穿整个系统的整个生命周期。评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。系统错误,不一定是代码错误,可能是阶段的设计摘要和设计细节存在问题,问题也可能出现在需求分析阶段。从实际情况来看,最初的问题很可能是一个小错误,根据按钮的原理,按钮后的按钮位错将是所有位错。该系统的原因也同样适用,随着后续的开发工作,误差将越来越严重。因此就应该对系统进行测试,在一开始就发现系统中存在的问题,就能保证以后系统能够正常稳定的运行。在测试系统中,开发人员应该站在客户的角度来处理测试工作,而现在主要的测试方法是黑盒测试。测试的目的可以概括为以下几点:首先,用户界面和客户需求是一致的,设置界面和设计风格统一;第二,创新设计接口规范设计标准,具有独特的审美特征;最后,人类传统的接口以满足审美需求,不能盲目地追求一种独特的,合理的规划布局,符合审美标准。
6.2 测试目的
测试的目的在于要对系统的稳定和可操作性能进行对照检查。对于软件的开发利用最终的目的在最后的测试和试用,这是一个不可缺少的重要环节。对于软件开发者而言,在对每一个单独的功能进行编排时候,都要有单独的测试,并通过测试阶段才可以研发多个功能性软件,这样既缩短了研发时间,也可以在的单个的早期测试中发现问题,以免融合后的软件,在查找问题时就很难快速解决或者急速定位问题。
SSM个性化音乐推荐系统开发设计完成后,需要对其进行系统测试,测试的主要目的就是发现并找出系统中存在的问题,并及时的进行解决,确保系统可以正常稳定的运行下去,在进行系统测试的时候,在一定要非常的认真、仔细,切记不能粗心,不能放过一个漏洞,测试时候一定不要着急,要按照之前指定好的测试步骤一步一步进行,并且将测试的结果进行详细的记录,我们在进行测试的时候做好选择自动化的测试,这样既可以节省时间而且也能确保测试的准确性,如果采用人工测试的方法就不会这么的方便,由于人工测试有很多不确定的因素,在测试过程中很可能会出现一些问题,用机器测试就不会出现任何的问题,而且机器不会疲惫会一直二等工作下去。在测试的时候一定要非常专注,时刻关注着测试的结果,一但发现异常及时进行修改,最后,测试完之后的文档应该保存下来,方便以后测试时用到。系统测试的方法有很多,对于本个性化音乐推荐系统的测试,我们使用了测试用得最多的黑盒测试方法来对该系统进行测试。
6.3测试方案
对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试。
构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。
性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。
(1)模块测试
单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。
(2)集成测试:
集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:
软件耗费较少。
可以提前发现端口的错误。
更好的地位系统中错误的位置。
从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。
(3)验收测试:
终于到了结尾性的工作了。就是为了给用户看一下我们的系统功能是否达到了预期的效果。我采用了性能测试也就是黑盒测试对系统进行测试。
其结果是分别是:
有一定的差异在用户的需求。
再者就是结果与之差不了多少。
到了最后了,我们发现的问题都是与用户的需求存在一定的关联。
测试点:登录
测试的目标:输入账号密码以及验证码后系统会自动进行验证是否正确。
所用的环境:Windows10和IE浏览器。
输入信息:用户名、密码。
步骤:
(1)首先我们打来浏览器,进入该系统的登录界面。
(2)在进入页面登录部分以后可以进行对用户名、密码进行测试,具体测试输入情况如下表6.1所示。
表6.1 登录测试
情况 | 用户名输入 | 密码输入 | 期望结果 |
(1) | 15546219225 | 1244566 | 提示“用户名或者密码错误,或账号未经审核” |
(2) | aaaaa | 123456 | 提示“用户名或密码错误,或者账号未经审核” |
(3) | 15546219225 | hangguowei | 登陆成功 |
6.4系统分析
本个性化音乐推荐系统设计要求基本都可以达到,此系统具有完整的软件功能,良好的用户界面,能够正确的处理错误信息,而且能够准确的提出错误的种类。但是系统测试时也出现了一些系统的不足和缺陷,所以在今后的日子里我会对其视觉上的不足作出修改,其次系统的代码和数据库出现了非常多的冗余现象,都是因为对编程技术的应用不够熟练,在日后我会加强自己的自身学习和能力,减少这样的冗余现象。
经过对上述的测试结果分析,本个性化音乐推荐系统无论是在技术方面,还是操作方面,还是经济方面都是完全可以实行的,并且经过测试,该系统操作简单,所有的功能都可以实现,因此该系统可以满足人们的使用需求,值得被推广。
7 结论
本文研究了SSM个性化音乐推荐系统的设计与实现,在文章开端首先对个研究背景、国内外研究现状和研究内容作了简单的介绍,然后通过系统分析,引申出本系统研究的主要内容。
通过对SSM框架技术和MYSQL数据库的简介,从硬件和软件两反面说明了个性化音乐推荐系统的设计与实现的可行性,本文结论及研究成果如下:实现了SSM框架与mysql数据库相结合构建的个性化音乐推荐系统,通过本次个性化音乐推荐系统的设计与实现的研究与实现,我感触到学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它,一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。要想吸引更多的用户,系统的界面必须要美观、有特色、友好,功能要健全。
由于在此之前对于SSM知识并不了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过我不断的查阅相关的资料,以及向老师同学请教,最后出现的所有的问题都得到了解决,通过这次的系统开发,我学到了很多的知识,也明白了自己在哪些方面有不足的地方,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。
通过这次个性化音乐推荐系统的开发,让我学到了更多的知识,同时通过这次系统的设计也让我明白了自己在哪方面有不足,以后加以学习争取可以开发住更多有用的适用的系统软件,本次系统的设计提高了我的编程水平,为了我今后系统的开发打下了结实的基础。
参考文献
[1]任浩然,刘丹,景永强.JAVA在计算机软件开发中的应用研究[J].信息记录材料,2022,23(11):83-85.DOI:10.16009/j.cnki.cn13-1295/tq.2022.11.072.
[2]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.DOI:10.14004/j.cnki.ckt.2022.1517.
[3]曾凡聪. 个性化音乐推荐系统[D].电子科技大学,2021.DOI:10.27005/d.cnki.gdzku.2021.004832.
[4]王曲歌. 基于用户偏好的个性化音乐推荐系统应用与研究[D].东北石油大学,2020.DOI:10.26995/d.cnki.gdqsc.2020.000381.
[5]游聪. 个性化音乐推荐系统的设计与实现[D].华中科技大学,2019.DOI:10.27157/d.cnki.ghzku.2019.005244.
[6]曾秀芹,何梦,申梦莉,许文鹏.音乐推荐系统主观评价指标研究——以网易云音乐为例[J].新闻与传播评论,2019,72(06):94-107.DOI:10.14086/j.cnki.xwycbpl.2019.06.010.
[7]李家宇,邓良益,张慧芳,刘亮君,陈李想.基于大数据的个性化音乐推荐系统仿真[J].信息与电脑(理论版),2019,31(19):67-68+71.
[8]吴海金. 基于情境感知的个性化音乐推荐系统的设计与实现[D].福州大学,2019.DOI:10.27022/d.cnki.gfzhu.2019.000056.
[9]Bauer Christine,Schedl Markus. Global and country-specific mainstreaminess measures: Definitions, analysis, and usage for improving personalized music recommendation systems.[J]. PloS one,2019,14(6).
[10]. Convolutional Neural Networks; Reports from Chang Gung University Highlight Recent Findings in Convolutional Neural Networks (An Emotion-Aware Personalized Music Recommendation System Using a Convolutional Neural Networks Approach)[J]. Journal of Engineering,2018.
[11]. Convolutional Neural Networks; Reports from Chang Gung University Highlight Recent Findings in Convolutional Neural Networks (An Emotion-Aware Personalized Music Recommendation System Using a Convolutional Neural Networks Approach)[J]. Journal of Engineering,2018.
[12]邓腾飞. 个性化音乐推荐系统的研究[D].华南理工大学,2018.
[13]艾笔. 个性化音乐推荐系统的设计与实现[D].电子科技大学,2018.
[14]李丹丹. 个性化音乐推荐系统的设计和研究[D].武汉纺织大学,2018.
[15]管鹏,张键,顾杰.大数据背景下个性化音乐推荐方案探究[J].无线互联科技,2016(11):99-100.
[16]王云竹. 个性化音乐推荐系统的设计与实现[D].吉林大学,2015.
[17]李健. 基于风格相似的个性化音乐推荐系统研究[D].华中科技大学,2015.
[18]卢丽静,朱杰,杨志芳.基于大数据的个性化音乐推荐系统[J].广西通信技术,2015(01):24-27.
[19]隋占丽,李影,于娟,王波.基于协同过滤技术的音乐推荐系统的研究[J].福建电脑,2015,31(02):12-13+112.DOI:10.16707/j.cnki.fjpc.2015.02.053.
[20]谭学清,何珊.音乐个性化推荐系统研究综述[J].现代图书情报技术,2014(09):22-32.
致谢
本次毕业设计圆满的结束了,通过这次毕业设计我学到了很多的知识,也提高了我软件开发的能力,在系统开发设计的过程中,出现了很多的问题,但是通过老师和同学们的帮助,最后所有的问题都得到了解决,因此我要感谢在此过程中对我帮助的老师和同学们,感谢指导老师帮助我选课题,给我做详细的讲解,给我提供设计所需要的各种设备,也经常询问我进度与成果,再有难点的时候给我解决思路,帮助我顺利完成。没有他的指导,也不会有我今天所展现出的成果。
首先我要感谢我的指导老师,指导老师在教学任务繁忙的情况下,抽出时间帮助我纠正我在设计当中出现的问题,并耐性地为我的论文作校正,是他的定期检查和指导使得我们的毕业设计高质量完成。他在我整个课题开发和设计的过程中,为程序的设计、框架的设计、代码的撰写方面以及论文框架的设计提供了很多宝贵的意见,并且为我推荐了许多有用的资料和文献,他的指导和建议使我受益匪浅,有了指导老师的辅导和指点,我论文才能够顺利完成。老师的认真负责的工作态度和治学严谨之道使我们这些即将踏入社会的毕业生受益匪浅。
然后要感谢我的同学们,感谢大家对我这次毕业设计的帮助, 也感谢大家在大学生活中对我的陪伴,使得我的大学生活过的很快乐。
另外,我还要感谢父母,感谢一直以来对我的支持,让我能够顺利的完成我的学业,没有你们也就没有我的今天,感谢你们无私的付出,未来我一定会报答你们的。
最后,感谢在座的所有参加我论文答辩的老师们,感谢大家的聆听,你们辛苦了。
请关注点赞+私信博主,免费领取项目源码