小型音乐推荐系统毕业论文
2021-11-07 21:17:34
摘 要
大数据时代背景下,互联网让人们随时随地都可以获取数据,但也让人们被信息过载的问题所困扰。传统的信息分类和信息搜索已经越来越满足不了用户的需求,推荐系统开始迅速发展并广泛应用于各个领域,其中就包含了音乐推荐。
本文主要研究基于协同过滤和卷积神经网络的小型音乐推荐系统,利用KKBOX数据集实现了基于SVD算法的协同过滤推荐技术,除此之外,还通过卷积神经网络来提取音乐的音频特征,从而对相似音乐进行推荐。文章最后根据小型音乐推荐系统的功能需求,采用PyQt5的框架设计并实现了一个音乐播放器,以可视化的形式,展示了两种算法的音乐推荐结果。
关键词:音乐推荐;协同过滤;卷积神经网络;可视化
Abstract
Against the backdrop of the big data era, the Internet has made data available to people anytime, anywhere. But it has also left people overwhelmed with information overload. Traditional information classification and information search has become increasingly inadequate to meet the needs of users, and recommendation systems are rapidly evolving and being used in a wide range of fields, including music recommendation.
In this paper, we study a small music recommendation system based on co-filtering and convolutional neural network, and implement a co-filtering recommendation technique based on SVD algorithm using KKBOX data set. In addition to this, the audio characteristics of the music are extracted through convolutional neural networks to make recommendations for similar music. The article concludes with the design and implementation of a music player using the framework of PyQt5 according to the functional requirements of a small music recommendation system, presenting the music recommendation results of two algorithms in a visual form.
Key Words:music recommendation;collaborative filtering;convolutional neural network;visualization
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 1
1.3 主要工作 2
1.4 本文结构 3
第2章 音乐推荐相关技术 4
2.1 推荐算法 4
2.1.1 基于内容的推荐算法 4
2.1.2 协同过滤推荐算法 5
2.1.3 混合推荐算法 6
2.2 卷积神经网络 6
2.3 相似度计算 8
2.4 评价指标 9
2.5 本章小结 9
第3章 基于协同过滤和CNN的音乐推荐 10
3.1 音乐数据集 10
3.2 协同过滤推荐 10
3.2.1 SVD算法 10
3.2.2 实验及分析 11
3.3 基于CNN的推荐系统 15
3.3.1 CNN结构 15
3.3.2 实验及分析 16
3.4 本章小结 17
第4章 构建小型音乐推荐系统 18
4.1 系统功能设计 18
4.2 系统界面设计 18
4.2.1 主界面设计 18
4.2.2 “我喜欢”界面设计 19
4.2.3 协同过滤推荐界面设计 19
4.2.4 CNN推荐界面设计 20
第5章 总结与展望 21
参考文献 22
致 谢 24
第1章 绪论
1.1 研究背景及意义
在大数据时代背景下,每一天,全世界都有海量的数据产生,数据量以指数级的速度增长,大量的商品、知识、视频、音乐等内容资源可供使用者选择,但是这些信息却远远超出了用户的处理能力,并且这些信息很多都是用户不需要或是无关紧要的信息,这就是信息过载带来的困扰[1]。信息过载是大数据时代的副产物,为了解决信息过载这个问题,人们先后提出了信息分类、信息搜索以及推荐系统等解决方案。
信息分类是一种分类技术,它使用一定的分类策略,根据信息的本质,依托于设计好的体系结构,让收集到的信息有序地排列起来,方便用户在相应的目录下对需要的信息进行寻找。但是由于互联网的快速发展,信息量的急剧增长,信息分类也逐渐力不从心,无法将所有的信息都进行分类,只有一些热门信息才能够被展示出来。信息搜索是一种检索技术,它使用特定策略根据用户输入的关键字和某些算法从Internet检索指定的信息,并将其反馈给用户。而实际上用户需要不断调整关键词反复搜索处于长尾的信息,并且随着信息的指数式增长,用户在搜索过程中会遇到信息过载的问题,从而使得用户不得不花费大量的时间对这些搜索出来的结果进行筛选,既费时又费力,有时候甚至浪费了精力却仍未筛选出自己想要的信息。于是人们提出了推荐系统这个方法,推荐系统是一种推荐技术,它以用户的历史数据为基础,运用一些特定的算法策略,从海量数据中挖掘出用户可能感兴趣的信息,使得用户不需要再去寻找就能获得自己需要的信息,大大提升了用户体验。
如今,推荐系统已经深入人们的生活并在各个领域中发挥着至关重要的作用。淘宝、京东、亚马逊等电商平台根据用户的浏览和购买记录进行精准的商品推荐;哔哩哔哩、抖音等视频类软件根据用户的观看历史进行精准的短视频推荐;网易云音乐、QQ音乐、虾米音乐等音乐类软件根据用户的收听、收藏记录进行精准的音乐推荐……本文主要集中研究的是推荐系统在音乐领域方面的应用。
1.2 国内外研究现状
推荐系统虽然很早就出现了,但是那时候人们还没有明确这个概念,直到1997年Resnick 等人首次明确提出“推荐系统”(RS)的定义[2],在此之前就已经出现了Tapestry邮件推荐系统[3]、GroupLens新闻推荐系统[4]、Ringo音乐推荐系统等[5],这些都是基于协同过滤所实现的推荐系统。
1998年亚马逊开始将推荐系统应用于商品推荐并且从中获取了巨大的利益,而后推荐系统如雨后春笋般开始广泛应用于电子商务领域和其他互联网应用,如 Facebook 的好友推荐, Last.fm 的音乐推荐等。经过多年的发展和研究,在2005年 Adomavicius 等人将推荐系统主要分为基于内容的推荐方法、协同过滤方法以及混合推荐方法三类[6]。2006年,网飞公司为了提升自己的产品竞争力,特意拿出百万美元奖金举办了一场算法竞赛,这场比赛引起了全世界的震动,吸引了四万多个团队的参加,在这比赛持续的三年里涌现了数百种预测算法,其中矩阵分解和玻尔兹曼机被网飞公司成功应用到他们的产品中并取得了不错的效果。这场比赛极大地促进了推荐系统的发展,也将推荐系统带到了风口浪尖,为后续的研究奠定了雄厚的基础。