音乐个性化推荐方案设计与实现(源码)【字数:7409】
摘 要伴随着互联网技术的迅速发展,音乐的消费形式逐渐从磁带、唱片等传统方式转为网络消费为主。用户在面对海量的音乐信息时,很难找到自己喜欢的音乐[1]。如何尽可能快速地让用户收听符合自己口味的音乐?音乐推荐系统的诞生解决了这一难题。音乐推荐系统不仅可以让用户快速地收听到自己喜欢的音乐,满足用户的体验,而且还可以为音乐网站带来好处。在今天推荐算法中,有两种主流的推荐算法,基于内容的推荐和基于协同过滤的推荐。两种推荐算法都能够计算歌曲之间的类似度,但是,这两种算法也存在自身的缺点,基于内容的推荐给用户推荐产品的精确率不是很高;基于协同过滤的推荐可扩展性低。为了解决这些问题,本文提出并改进了音乐个性化推荐算法,并且实现基于Spark分布式处理平台的并行化。首先,本文对于协同过滤算法进行了研究。在本文中,使用的是交替最小二乘算法(Alternating Least Squares ALS),ALS算法可以用于隐形数据矩阵分解,也可以利用输入数据是稀疏的这一特点,通过对多种参数组合进行测试,从而给出最优算法。其次,是海量数据的支持,本文采用开放的音乐数据集(国内或者国外的数据),基于Spark分布式、内存计算平台,从而解决传统计算模式下,对海量数据处理缓慢和效率低下问题。最后,基于交替最小二乘算法(Alternating Least Squares ALS)设计了个性化音乐推荐系统,实现了对用户可能喜欢的音乐推荐功能。
目 录
第一章 绪论 1
1.1研究的背景及意义 1
1.2研究现状 1
1.2.1推荐系统现状 1
1.2.2分布式计算的现状 2
1.3研究的目标及内容 3
1.4章节目录 3
第二章 相关知识与技术 5
2.1基于模型的协同过滤算法 5
2.2推荐质量的评价 5
2.3大数据的相关技术 6
2.3.1 Spark概念 6
2.3.2 Spark基本原理 6
2.4本章小结 7
第三章 基于Spark的协同过滤推荐算法 8
3.1基于ALS模型的推荐算法 8
3.2实验 9
3.2.1实 *好棒文|www.hbsrm.com +Q: ¥351916072$
验环境 9
3.2.2实验数据 10
3.3本章小结 11
第四章 音乐推荐 12
4.1数据采集 12
4.2导入和预处理 12
4.3构建模型 12
4.4逐个检查推荐结果 14
4.5本章小结 15
第五章 总结和展望 16
5.1全文总结 16
5.2展望 16
结束语 17
致 谢 18
参考文献 19
第一章 绪论
1.1研究的背景及意义
音乐作为传统的娱乐项目之一,其消费形式也渐渐由磁带消费变更为网络消费为主,于是国内外各式各样的音乐网站开始出现,但是,用户很难从中音乐网站中找到自己喜欢的音乐。因此,音乐推荐系统的诞生不仅给用户节省了搜索歌曲的时间和精力而且为音乐网站将用户转化为付费用户,在竞争中显得更具优势[3]。
在大数据时代,用户行为数据每时每刻都在增加,使用传统推荐系统的计算方法会被浪费大量的时间和精力。因此,一种新型的计算框架Spark诞生了。Spark在内存中具有良好的计算能力,其运行效率很高。因此本文就基于Spark计算框架实现了个性化音乐推荐系统。
1.2研究现状
1.2.1推荐系统现状
在推荐系统的研究过程中,大量借鉴了相关领域的研究成果,广泛应用于信息检索、科学知识、近似理论等多个领域的知识。随着互联网的发展,推荐系统得到了越来越多研究者的关注与研究,新的研究成果不断出现,这些成果被广泛应用于各个领域[4]。
当前主流的推荐算法有两种基于协同过滤的推荐和基于内容的推荐。基于协同过滤推荐又分为三种: 基于模型的协同过滤推荐、基于用户的协同过滤推荐和基于项目的协同过滤推荐。其中,基于模型的协同过滤推荐是基于样本用户偏好信息,建立一个模型,然后对用户进行预测推荐;基于用户的协同过滤推荐是根据用户之间的相似性给用户推荐产品;基于项目的协同过滤推荐则是根据产品之间的类似性给用户推荐产品。基于内容的推荐是将产品划分为某种类型,根据类型之间的相似性给用户进行推荐。
近年来,许多研究人员对传统的推荐算法进行了改进或者提出新的推荐算法[5]。随着深度的探索与研究,A.Ven Den Oord等人提出了一种基于内容的音乐推荐的新方法,卷积神经网络训练回归模型用于直接分析音频内容信号,预测收听偏好,避免了专家标注的麻烦[6],Y.Koren等人提出了基于矩阵分解模型的协同过滤算法并提出加入时间动态因素,矩阵分解模型缓解了数据稀疏的问题,加入的时间因素可以把握用户兴趣和音乐流行的变化,提高了推荐的稳定性和准确性[7]。
随着网络的迅速发展,音乐网站也在不断优化自己的推荐系统,希望在市场中占据更有利的地位。国内的网易云音乐和豆瓣电台通过用户给音乐留下的评论,为音乐打上例如语种、风格、情景、主题等标签。具体而言,上下文信息对于音乐推荐非常重要,用户的情绪、活动、地理位置都会影响音乐的需求。当用户连续收听劲爆的音乐时,可以认为用户非常高兴,可以给用户推荐DJ类型的歌曲,而当用户连续收听平缓的歌曲时,表明用户想要一个相对安静的环境,给用户推荐节奏相对较慢的舒缓的音乐效果会更好。
1.2.2分布式计算的现状
如今,“大数据”对人们而言不再陌生,我们每天的各种行为都会产生数据,海量数据的汇总就成 “大数据”。投资者们往往从这些数据中分析用户的行为,研发迎合大部分用户口味的相关产品,进而获取惊人的利润,可以说,数据就是财富。如何更有利的分析这些数据?研究者们提出了诸如机器学习和数据挖掘等方法。但是传统的算法和计算能力并不能满足大数据的“胃口”,于是分布式计算(Distributed Computing)就诞生了。Doug Cutting等人提出了Hadoop分布式计算平台, Hadoop迅速“走红”,横向扩展很快取代了垂直扩展。Hadoop的核心有两个主要部分[8], HDFS分布式文件系统和MapReduce分布式计算编程模型。HDFS分布式文件系统为用户提供了海量数据存储;而MapReduce分布式计算编程模型可以很好地解决传统算法中可扩展性差的问题。目前,Hadoop不断更新版本,优化自身的算法,得到越来越多的应用。
目 录
第一章 绪论 1
1.1研究的背景及意义 1
1.2研究现状 1
1.2.1推荐系统现状 1
1.2.2分布式计算的现状 2
1.3研究的目标及内容 3
1.4章节目录 3
第二章 相关知识与技术 5
2.1基于模型的协同过滤算法 5
2.2推荐质量的评价 5
2.3大数据的相关技术 6
2.3.1 Spark概念 6
2.3.2 Spark基本原理 6
2.4本章小结 7
第三章 基于Spark的协同过滤推荐算法 8
3.1基于ALS模型的推荐算法 8
3.2实验 9
3.2.1实 *好棒文|www.hbsrm.com +Q: ¥351916072$
验环境 9
3.2.2实验数据 10
3.3本章小结 11
第四章 音乐推荐 12
4.1数据采集 12
4.2导入和预处理 12
4.3构建模型 12
4.4逐个检查推荐结果 14
4.5本章小结 15
第五章 总结和展望 16
5.1全文总结 16
5.2展望 16
结束语 17
致 谢 18
参考文献 19
第一章 绪论
1.1研究的背景及意义
音乐作为传统的娱乐项目之一,其消费形式也渐渐由磁带消费变更为网络消费为主,于是国内外各式各样的音乐网站开始出现,但是,用户很难从中音乐网站中找到自己喜欢的音乐。因此,音乐推荐系统的诞生不仅给用户节省了搜索歌曲的时间和精力而且为音乐网站将用户转化为付费用户,在竞争中显得更具优势[3]。
在大数据时代,用户行为数据每时每刻都在增加,使用传统推荐系统的计算方法会被浪费大量的时间和精力。因此,一种新型的计算框架Spark诞生了。Spark在内存中具有良好的计算能力,其运行效率很高。因此本文就基于Spark计算框架实现了个性化音乐推荐系统。
1.2研究现状
1.2.1推荐系统现状
在推荐系统的研究过程中,大量借鉴了相关领域的研究成果,广泛应用于信息检索、科学知识、近似理论等多个领域的知识。随着互联网的发展,推荐系统得到了越来越多研究者的关注与研究,新的研究成果不断出现,这些成果被广泛应用于各个领域[4]。
当前主流的推荐算法有两种基于协同过滤的推荐和基于内容的推荐。基于协同过滤推荐又分为三种: 基于模型的协同过滤推荐、基于用户的协同过滤推荐和基于项目的协同过滤推荐。其中,基于模型的协同过滤推荐是基于样本用户偏好信息,建立一个模型,然后对用户进行预测推荐;基于用户的协同过滤推荐是根据用户之间的相似性给用户推荐产品;基于项目的协同过滤推荐则是根据产品之间的类似性给用户推荐产品。基于内容的推荐是将产品划分为某种类型,根据类型之间的相似性给用户进行推荐。
近年来,许多研究人员对传统的推荐算法进行了改进或者提出新的推荐算法[5]。随着深度的探索与研究,A.Ven Den Oord等人提出了一种基于内容的音乐推荐的新方法,卷积神经网络训练回归模型用于直接分析音频内容信号,预测收听偏好,避免了专家标注的麻烦[6],Y.Koren等人提出了基于矩阵分解模型的协同过滤算法并提出加入时间动态因素,矩阵分解模型缓解了数据稀疏的问题,加入的时间因素可以把握用户兴趣和音乐流行的变化,提高了推荐的稳定性和准确性[7]。
随着网络的迅速发展,音乐网站也在不断优化自己的推荐系统,希望在市场中占据更有利的地位。国内的网易云音乐和豆瓣电台通过用户给音乐留下的评论,为音乐打上例如语种、风格、情景、主题等标签。具体而言,上下文信息对于音乐推荐非常重要,用户的情绪、活动、地理位置都会影响音乐的需求。当用户连续收听劲爆的音乐时,可以认为用户非常高兴,可以给用户推荐DJ类型的歌曲,而当用户连续收听平缓的歌曲时,表明用户想要一个相对安静的环境,给用户推荐节奏相对较慢的舒缓的音乐效果会更好。
1.2.2分布式计算的现状
如今,“大数据”对人们而言不再陌生,我们每天的各种行为都会产生数据,海量数据的汇总就成 “大数据”。投资者们往往从这些数据中分析用户的行为,研发迎合大部分用户口味的相关产品,进而获取惊人的利润,可以说,数据就是财富。如何更有利的分析这些数据?研究者们提出了诸如机器学习和数据挖掘等方法。但是传统的算法和计算能力并不能满足大数据的“胃口”,于是分布式计算(Distributed Computing)就诞生了。Doug Cutting等人提出了Hadoop分布式计算平台, Hadoop迅速“走红”,横向扩展很快取代了垂直扩展。Hadoop的核心有两个主要部分[8], HDFS分布式文件系统和MapReduce分布式计算编程模型。HDFS分布式文件系统为用户提供了海量数据存储;而MapReduce分布式计算编程模型可以很好地解决传统算法中可扩展性差的问题。目前,Hadoop不断更新版本,优化自身的算法,得到越来越多的应用。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/81.html