目 录
1 前言 1
1.1研究背景及意义 1
1.2国内外研究现状 2
1.3本文研究思路与结构 3
2 个性化音乐推荐系统相关技术 4
2.1 推荐系统 6
2.2 用户偏好模型 7
2.3音乐推荐技术研究 10
2.4相似度计算方式 12
3 音乐推荐模型 13
4音乐推荐系统的设计与实现 17
4.1可行性分析 17
4.2 具体设计与实现 18
4.3 基于 CURNN 模型和混合推荐模型推荐引擎 21
4.4 音乐推荐的实现 26
4.5歌手推荐实现 28
4.6后台数据管理实现 29
4.7小结 29
5 总结 30
参考文献 32
致 谢 33
1 前言
如何从海量的音乐数据中为用户精选出他们所希望的歌曲,这是个性化音乐推荐系统的重要目标之一。在现有推荐的技术手段之中,协同过滤推荐技术被广泛应用 于歌曲推荐领域[1]。但鉴于互联网的迅猛扩展,大数据的累积已经逐渐变为主流趋势。单纯地采用传统推荐方式已经不能满足个性化用户推荐的高需求,因此混合推荐算法已经逐步成为当前的主流发展方向。
1.1研究背景及意义
21世纪互联网飞速发展,数据量指数扩张已经成为一种趋势。据第47次《中 国网络发展情况的统计报告》可知,截至 2020 年底,我国网上冲浪人数10 亿人左右,互联网普及率接近71%。其中数字音乐市场巨大,由《2020 中国音乐产业发展报告》可知,在世界经济低迷不振、中美经贸摩擦的背景下,网络音乐产业依然高速增长,增长率达 8%以上。由此可见数字音乐发展潜力巨大。推荐技术经过许多年的发展与完善[2],这项技术已经在众多行业中得到了广泛的运用,包括但不限于短视频产业、新闻出版领域、股票交易领域以及电子商务行业等等。随着网络空间的迅速扩张,数据过多的难题逐渐凸显,特别是在音乐领域,歌曲资源不断增多并规模不断扩大,导致消费者发现迅速查找他们喜欢的音乐作品变得困难。多数人倾向于通过软件的查找能力,来搜寻以前熟悉的歌手或者他们喜欢的歌曲类别。但是,搜索结果不会考虑到使用者是个体,对于音乐的偏好也是不同的,这可能会导致用户满意度不高。假如我们能精确地为顾客打造个性化的歌曲推荐,音乐播放平台有望进一步提高玩家的保存能力,增强他们对平台的依赖,为后续的付费服务打下坚实的支撑,从而使音乐平台获得利润[3]。综上所述,一个能够根据用户历史和特点为用户提供个性化歌曲推荐的系统非常关键。歌曲推荐系统可以有效地解决这个问题,它可以根据用户过去的听歌习惯和歌曲自身的特性,来推测用户对不同类型歌曲的喜好程度,并据此个性化地向用户推送他们的歌曲。因此,该研究的价值主要体现在我们能够为用户量身打造可能的受欢迎歌曲,同时该软件还允许用户对听歌页面进行维护和管理,例如:收藏喜欢的歌曲、查看歌词[4]、歌曲的演奏者等功能。这一系统不仅可以精确推荐客户喜爱的音乐,而且还能满足他们的基本音乐需求,从而极大地提升了客户对音乐的兴趣。因此,这个系统具有极佳的实用性场景。
1.2国内外研究现状
自从上世纪90年代提出的协同过滤算法后,发展至今推荐系统已成为计算 机人工智能领域的重要研究方向[5]。这一方案的核心理念是,通过量化用户或物品之间的类似度,以进行类似的产品推荐。协同过滤技术已从最初仅仅依赖相似性的邻近法,进步到现在运用机器学习的矩阵分解技术,研究者们持续在努力寻找更为精确和高效的推荐方法。但是,仅仅依赖协同过滤方法不可避免地会带来两个主要问题:一是由于评分数据稀疏性造成的推荐效果降低,二是新用户或物品出现的“冷启动”困境。为了解决这两个问题人们将 用户或物品的内容信息纳入推荐系统当中[6],已经发展为目前的主导混合推介系统。尽管内容信息本身具有价值,但它常常展现出分布不一致、构造复杂度、多模态以及稀疏性等复杂属性,为传统的合并技术提出了巨大的挑战。深度学习方法的兴起为学者们提供了一个全新的问题解决路径,通过这种方式,可以把多源的异构数据作为输入数据,利用一种从一端到另一端的非线性的深入网络结构来将不同的数据转移到一个相对统一的低维特征空间,从而实现数据在低维空间的统一表示。基于这一前提并整合传统的推荐技术,能够充分利用来自各种来源的异构辅助信息,进而有效解决传统推荐系统中的冷启动和数据稀疏的挑战。Wang与其团队在音乐推荐这一领域,采用了深度信念网络(Deep Belief Network DBN)来从音频频谱中精炼方向性特征。之后,这些建设性的特征被融入到概率矩阵分解技术中。卷积神经网络,亦称CNN,已成为目前在计算机视觉领域非常受欢迎和热门的深度学习网络,CNN在推荐系统中应用较为广泛[7],该方法主要是用于从图片、文字、音频等多个信息中抽取物品的隐秘特质,进而获得物品的低维向量表示,结合传统的推荐方式给用户进行推荐操作。在音乐推荐的领域里,Dieleman等学者采用从音频文档中抽取的对数压缩梅尔频谱图像作为CNN的输入数据,进而输出歌曲的隐式特性,并计算这些特性与解析评分矩阵生成的可能歌曲的均方误差。这一回归任务的优化被视作该模型损失函数优化的核心目标,从而得到可用于歌曲推荐的特征表示[8]。许多物品的内容特性,如它们的视觉属性,在如时尚、零售和娱乐这几个领域都具有很高的重要性。例如,CNN能够自动提取这些视觉特性。He等研究人员提出了VBPR算法,该算法通过使用预先训练的CNN来提取商品图片的视觉特征向量,并将这些特征融入传统推荐算法中,从而增强了实验的效果。
特别是栈式自编码器在自动编码方面具有很强的能力,能够处理物品或用户的各种内容信息,如评分数据、文本和音频等,进行重构并学习到其低维压缩的隐藏表示[9]。 这种思路与在传统推荐算法中应用的矩阵分解技术保持一致。在协同主题模型的基础上,世界大学大学的研究人员Wang Hao及其他同仁提出了一个创新的贝叶斯概率的混合推荐模型,名为协同深度模型。在从文章中抽取隐藏特性的时候,协同深度模型采纳了栈式降噪自动编码器来替换协同主题模型内部的潜在狄利克雷分布,从而解决了当数据稀疏时无法有效提取隐藏特征的缺陷[10]。
深度学习中的自动编码器具备了对输入网络结构所产生数据类型高度灵敏的特性,从而拥有灵活的网络结构作为其核心优点,逐渐成为了如今深度学习混合推荐领域的研究热门[11], Zhang和他的团队对过去十年内深度学习混合推荐领域涉及的网络策略进行了总结和统计,可以参见图1-1。从2012年开始,论文数量开始经历一个急剧的增长,其中最明显的增长方式是采用自动编码器的网络设计。
图1-1 每年不同深度网络的论文发表数量
1.3本文研究思路与结构
在音乐推荐服务中,为每位用户提供个性化的音乐建议和帮助他们解决问题、提高其满意度,对于满足用户个性化歌曲推荐有着至关重要的作用。本篇文章关注的核心研究主题如下:
(1)研究涵盖了音乐推荐系统在国内外的当前成长情况,并且基于深度神经网络的框架,设计了CURNN这种音乐分类模型。在空间特征方面,CURNN模型不仅比传统的CNN更为复杂,而且参数量也相对于RNN模型要少。因此,CURNN的性能更为轻盈,并能够从模型中提取出时序特征,这使得对歌曲进行更为精确的分类变得更加有效。此外,本文还通过实验手段对比了先前提出的CURNN音乐分类模型与HCRNN、FCN6、DielemanCNN等其他音乐分类方法的结果。
(2)我们呈现了一个结合了协同过滤和音乐属性的混合推介模型。通过这两者之间的加权结合,充分地应对了数据稀疏性高的难题。通过记录用户的听歌历史,我们能够在各种音乐推荐场合中具有极高的灵活性和掌控能力。并且,实验数据证明了混合推荐模型表现出了高度的准确性。
(3)本研究对网易云音乐服务端中的用户信息、音乐资料和用户过去的行为记录进行了爬取,并将这些数据命名为,名为EaseSong数据集。当面临无法直接获得网易云音乐用户评分信息的难题时,文章提出了一种利用用户播放历史内潜在数据来构建对音乐的评分矩阵的新算法,该算法将用户与音乐的隐式评分矩阵用作网易云用户对多种风格音乐的初步评价。
(4)借助Python 技术,我们成功构建了一个小型的音乐推介系统,此系统能够呈现基于EaseSong 数据集的音乐推荐成果。
结构如下:
第 1 论文首次总结了个性化音乐推荐系统的研究背景与其重要性,并详细描述了研究的焦点和论文的框架结构。
第 2 ,对个性化音乐推荐平台相关技术的概述进行了深入描述。首先,对推荐引擎的工作机理进行了阐述,然后系统地介绍和分析了当前最普遍应用的推荐算法,并详细解释了神经网络推荐算法。最后,总结了相似度计算技术和推荐系统评价的各项标准。
第 3 ,我们对个性化音乐推介系统的加权推荐策略进行了深入研究与规划,并提出了结合串联式卷积神经与循环神经网络的音乐分类方式,CURNN,以及融合协同过滤和音乐属性推荐技术的混合推荐策略。文章详细阐述了音频特性的呈现和培训技巧。在面对无法直接获得网易云音乐用户评分数据的挑战时,我们进一步提议使用用户播放过去的隐含数据创建用户音乐评分矩阵的方法。最后,我们与之前的音乐推荐模型进行了比较实验,并对该模型的推荐效果进行了评价。
第 4 ,对个性化音乐推荐系统的实施可能性与市场需求进行了深入探索。文章还详细叙述了系统的架构设计、推荐引擎的设计等各方面的细节。在完成本系统需求的分析与系统摘要设计之后,我们实施了一个个性化的音乐推介系统。
第 5 点回顾了本文所进行的主要任务,并对个性化音乐推荐系统所面临的局限性提出了前瞻性的意见和建议
2 个性化音乐推荐系统相关技术
1:推荐引擎工作原理 :推荐器引擎整合了推荐算法和推荐的原因,这使得用户的特性和所推荐内容得以关联,进而有可能基于这样的关联为用户推介他们关心的目标内容。推介引擎综合考虑用户的教育背景、年等资料以及即将推荐项目的标签和基因描述等关键信息,结合用户对不同项目的喜好,可能会包含用户对产品的评价、用户的点击历史等,最终得出推荐的结论。
2:我们采用内容驱动的推荐策略,从用户和对象中提取特征,并建立了用户的特定偏好模型。之后,将这些选择的特点与用户的偏好模型进行对比,以得到最终的推荐输出。基于内容的传统推荐方法首先识别与用户有过互动的项目,并根据用户为这些项目提供的赞或评价等类似的主动反馈,得出用户的选择模式。用户在项目反馈中提供了隐性和显性的内容。前一个是用户在系统使用过程中留下的日志,显示用户对该系统的各种兴趣点,如浏览歌曲的歌词、播放频率等;而后一个则是用户在系统内进行的常规浏览后,呈现的具体内容,例如收藏某歌曲或分享某首歌。
3:随着互联网技术的飞速发展和进步,基于协同过滤的推荐策略在app中变得越来越重要。这种推荐策略是基于用户生成内容,进而产生和演变的。其核心目的是,根据用户对某一项目的喜好来挖掘用户与项目之间或者项目本体的关联性,然后依据这些关联来为用户提供推荐服务。
4:基于神经网络的推荐策略,在前述描述中的传统推荐技术中,提高其推荐效果的方法大多是对其本身进行的优化,这并没有根本上改进现有的推荐手段。随信息网络技术的进步,数据量快速以几何级数增加,同时,事物的特性维度也随之迅速扩张,这导致当前的推荐算法在应对这种复杂场景时显得相当不适应。此外,为了使得推荐的歌曲更加贴近用户的喜好,有必要从歌曲的频谱图像和其内含的音频序列中挑选出相关信息,然后对这些信息进行歌曲分类处理。在使用传统推荐算法处理图形与音频序列信息之后,对歌曲进行分类并整合到推荐模型中存在技术难度。有效地利用这些图数据和音频时间序列对推荐结果产生关键作用十分重要。可以使用神经网络推荐算法来处理图数据和音频时间序列,从而对歌曲进行精准分类;进一步将这些分类好的数据整合到推荐模型中,以获得更高精确度的推荐结果。在自然语言处理和人脸识别等多个领域里,神经网络技术已经得到了全面而成熟的应用,而且该技术在相关推荐领域同样也具有广泛的适用性和背景。在音乐推荐这一领域,如果输入用户对某歌曲的喜好程度,那么会产生一套专为用户设计的歌曲推荐列表。神经网络的锻炼成果,旨在找到最佳的系数来培训这个模型。
推荐歌曲列表=f(用户对歌曲的兴趣)
2.1 推荐系统
2.1.1 推荐系统综述
推荐系统为一种可以向用户推荐实用物品的软件工具以及技术手段132-341,这种理念对众多用户在生活中作出各种决策,如决定购买何种物品、想听何种音乐,都具有很好的实用性、在线浏览什么书籍等[12]。通常,有一个推荐系统只会对某个确定的物品进行预测和推荐,这导致推荐系统在可视化、算法逻辑以及核心技术上都仅对指定的物品显示出效用。这个推荐系统可分为两个核心部分:个性化和非个性化的推荐选项。非个性化推荐是一个相当简洁的分类清单,包括热门的前10个销售名和热门单曲的前10个列表。尽管这在某种程度上为用户做出决策提供了帮助,但该领域并未将其作为推荐研究的核心内容。
个性化推荐方法是通过分析用户的喜好数据以及其他相关限制来估算用户最渴望的商品,接着根据该商品的需求程度进行适当的排名。为了完成这类数值计算任务,推荐系统需要获取能表达用户偏好的信息[13],用户的购买行为,如点击行为、购买和浏览时长等,大部分信息均来自于这些数据,这包括他们对物品的个人评价、个人背景、社交联系。典型的为个性化设计的推荐步骤涵盖了:数据的收集、构建模型、进行计算,以及最终的推荐结果。
采集数据:个性化推荐系统的决策依赖于获取用户的基础数据和他们的行为信息,因此,数据采集成为系统实现的先决条件。这些收集来的数据主要用于展示用户的基础资料以及隐藏的用户操作信息。个性化推荐系统研究通常依赖于相对成熟和有一定知名度的数据集作为基础,或者是由研究人员自己撰写并获取爬取的数据[14]。
数据建模:将真实的用户数据进行抽象操作,然后存储于数据库中作为算法实现的基础。
数据计算:将获取的数据进行计算是推荐系统最重要的部分,计算方式的选取会对推荐结果造成直接的影响,可以说是推荐系统研究的主要内容。
结果推荐:经过数据收集[15]、数据建模、数据计算后,就产生了相应的推荐结果,最终将结果通过某种方式显示给用户。
市面上一般的个性化推荐平台的原理、过程大致相似,大部分的个性化推荐系统的过程如图 2-1 所示。
图 2-1 推荐系统过程
2.2 用户偏好模型
2.2.1 用户偏好模型概述
个性化推送系统最核心的部分是用户的音乐偏好模型,其构建方法涉及对用户音乐喜好相关的数据进行整合,接着依据这些收集来的数据,创建一个计算机可以理解并精确描述用户对音乐的喜好的数学模型。每次当用户在系统内执行活动,生成数据信息时,推荐系统都能构建完整的用户模型,对用户生成的行为数据进行处理和计算,并将得到的结果反馈给用户。推荐的算法依据已构建的用户喜好模型进行运算,这样做有助于显著提升用户获取信息的速度。通过构建一个优质的用户模型,可以大大增强推荐的最后结果和准确性。
2.2.2 数据提取
在构建用户喜好模型前,必须从系统数据库中提炼数据,这包括用户的喜好、特性以及行为特点和其他相关信息。所抽取的数据主要可以划分为明确类型和隐性类型,其数据提取步骤如下图2-3展示:
图 2-2 用户偏好模型构建
对于用户的显式数据,
图2-3 用户偏好模型构建
有许多途径可以选择。本文介绍了如何帮助用户在初次使用系统时,通过要求新用户录入或选择各种个人资料,例如其年龄、职业和性别,或者从已提供的个人资料中筛选出用户的首选音乐。为此,我采用了一种数据获取方法,它能帮助我们理解用户希望听到的特定音乐风格;此系统还允许在用户浏览时,获取关于主管的评价信息。举例来说,在个性化的音乐推荐平台上,用户需要在系统的界面上明确评估音乐内容或歌曲列表,然后选择他们喜欢的曲目。这样,用户就可以利用音乐评分的数据和音乐收藏的凭证来构建他们的偏好模型。这种方法的一大特点是执行简便,同时也为用户在初次使用时提供了提出个性化建议的机会。可是,一个用户在使用系统达到一定阶段前,必须对自己的倾向有深入的了解,以构建全面的用户偏好模型。随着时间的推移,用户越来越频繁地与系统互动,这种做法不仅未能给用户带来便利,反倒削弱了用户对系统操作的整体体验。
2.2.3特征表示
不同用户偏好模型的特性展示手法对推荐系统的计算复杂度和最终推荐效果具有极其关键的影响。以下是用户偏好模型的常用表述方法:
1.本研究提出了一个n维的特征向量{(v1 w1) (v2 w3) … (wn,vn )},用以描述用户的偏好模型。其中,iv(1≤i≤n)代表偏好的某些特征,而i w(1≤w≤n)则是代表用户对iv偏好的程度,由此我们可以计算出用户偏好模型中的相对权重[30]。TF-IDF(Term Frequency-Inverse Document Frequency)是一个广泛使用的加权技术,它能够准确并高效地为消费者偏好权重做决策。TF代表词的频率,而IDF则意味着与之相反的文档频率。该技术有特定的计算方法:
其中,N表示用户总数,Dj表示标签集,n表示使用过标签jt的用户数,wij表示特征项 ti的 权重,tfij表 示用户ui 使 用过标签ti 的 次数。
2.基于用户-项目评分矩阵的表示方法
当用户在系统里进行评分行为时,他们会建立一个与用户相关的评分矩阵。这矩阵里的行向量通过评分方式展示用户的偏好,例如,在第一行和第二列中的元素代表第二个项目的第i个用户评价。普遍情况下,这个分数位于[0 5]的区间,通过用户给出的评分,我们可以清晰地观察到用户对该项内容的偏好。这种表现方式主要应用于用户为基础的协同滤波推荐系统,旨在计算用户之间的相似度B11.
3.基于布尔模型的表示法
以布尔模型为基础的表述方法是使用关键字的权重设为0或1,其中1代表用户对此项目的喜爱度,而0则意味着他们对此项目不感兴趣。相较于其他的表示法,这种方法更为简洁,仅存在或根本不会有两种选择。利用基于布尔模型的展示方式来表示用户偏好模型的优势是其易于理解、直观并容易执行,但这种方法也有其缺点,如它主要关注用户对项目的兴趣程度,无法深入探究用户偏好之间的相互关系。
4.基于本体的用户模型表示方法
Neches[32]及其团队为本体做出了定义:“这包括组成主题的核心词汇和它们彼此的联系,进而结合这些词汇和联系来界定新的规定”。这种定义基于提供相关领域的基本词汇,从而能够通过本体展现用户模型,这要求研究人员对研究主题有深入的了解。此外,这个方法需要大量的手工操作来建立基本的规则关系,以便准确地表述基于本体的用户模型。虽然它能够帮助获取的用户模型更易于人类思维模式的理解,但它的执行技术和理论框架却过于理想化,未能实现良好的实际应用效果。
从上述的用户喜好模型展示方法可以明确认识到,用户倾向模型存在多种不同的表示方式。在研究个性化的音乐推介系统中,本篇文章采纳了向量空间的模型以及用户与项目之间的评分矩阵模型的展现技巧。这两种模型的设计目标是为了确保用户喜好的精准呈现,从而助力于推荐系统实现更卓越的推荐体验。
2.3音乐推荐技术研究
2.3.1基于内容的推荐算法
内容基础的推荐技术是最早期且最基础的方法之一,早期这种技术主要应用于数据检索和筛选,也已广泛地融入到文本分类等相关领域。为了更精确地展示用户的喜好,基于内容的建议首先结合天然语言处理、机械技术、AI及概率分析技术构建用户的偏好模型,这样可以更好地展示用户的个人兴趣和偏好。一个内容为导向的推荐算法为每个项目提炼特定的特征来表示它,并通过利用用户过去对某些项目的偏好或不喜欢的特性来进一步探索用户的偏好特点。通过对项目内部的信息及其相关性进行分析,我们向使用者推介了相似的项目内容。
以音乐为例,尽管用户只听过Music1和Music2,但通过深入比较,他们发现两者在“华语”和“流行”的标签上高度一致,同时也在“欧美”和“古典”标签上有所对应,这表明两者之间的相似度相当高,因此可以为用户提供Music3和Music4的推荐。推荐流程是依据图2-4展示的内容来展开的。
图2-4 基于内容的推荐方法
2.3.2基于协同过滤的推荐算法
1.基于用户的协同过滤的推荐算法
基于用户间的协同过滤,我们可以根据相似用户对特定项目的偏好关系,为音频推荐系统推荐合适的音乐。具体的计算步骤包括:根据用户对音乐的具体感受,评估用户间的相似度,寻找到相似用户。对于相似用户喜爱但目标用户尚未浏览过的音乐,系统会提取。然后,相邻的用户会按照自己的喜好对所选曲目进行排序,从而选择并推荐一个列表中的歌曲,之后再将这些音乐推向用户手中。根据用户需求的协调过滤机制详见图2-5展示:
图2-5 基于用户的协同过滤
2.基于项目的协同过滤的推荐算法
采用基于项目的协同过滤的方法与用户为基础的方式类似,但它们之间的区别在于,基于项目的协同过滤推荐算法是基于各项目相似性进行算法计算的。我们通过探究不同用户对于各种音乐项目的喜好差异,从而算出各个项目之间的相似度,并据此推荐给目标用户与其偏好项目有类似特性的其他音乐作品。比如,在一个音乐推荐系统里,如果有用户同时对音乐i与音乐j有偏好并将这些喜好记录在用户收藏列表里,系统则可根据这些列表中的音乐联系计算出项目的相似度,并据此为用户推荐与他们的历史音乐纪录一致的新音乐。该理论是通过图2和图6来展示的:
图2-6 基于物品的协同过滤
2.4相似度计算方式
2.4.1皮尔逊相关系数
皮尔逊相关系数(Pearson)是一个工具,其主要功能是衡量两个变量间的线性关系,也就是说,两个变量可能是同时增加或减少。当一个数值介于1与-1时,我们会看到它是一个特定值;此值更接近0意味着两个变量之间的相关性较低;而随着数值更趋近于1时,这两个变量之间的关联性就变得更为突出。皮尔逊相关性的系数计算方程式如)展示:
其中,iX、 i Y分别表示用户X和用户Y对项目i的评分值。
2.4.2余弦相似度
余弦相似度用来计算向量角的余弦,它表示两个项目间的相似度,并且偏向于衡量
两个向量方向具有的差异性。在协同过滤推荐算法中,余弦相似度用于计算用户X和Y 之间的余弦相似度,余弦相似度计算公式如(2-3)所示:
值得注意的是,分母是用户X和Y的操作向的点积结果,两者之间的相似性最高达到1。在这个环境中,用户评价项目的各种活动被视为空间向量中的一个参考点。通过将这一特定点位与坐标系统原点进行连接,从而构成射线向量。接下来,计算两条射线之间方向和角度的余弦值,以此来确定两个实体之间的相似性。余弦的数值可以表示两个项目间的相似性。且当角度角度接近180度时,两个项目之间的相似程度较低,但当相似度趋近于1时,意味着两者用户间的相似性相对较高。
3 音乐推荐模型
此章节将深入讨论如何结合卷积和循环神经网络来提取音乐的特性,同时还涉及到协同过滤模型和音乐属性模型,并将探讨这两种网络的综合推荐技巧。本研究所提供的音乐推荐模型实际上是多个其他模型的结合,目的是增强音乐推荐的合理性和准确性,并借助不同算法的特性来解决音乐推荐过程中出现的各种问题。现在大部分商业化进行运营的音乐系统都具备了社交功能属性。对第三第三方的调查者而言,无论是获取用户的社交联系还是评价他们在社交中的亲近度,都构成了一大挑战。因此,这篇文章在研究中并没有涉及用户的社交联系,而只是关注用户本身、音乐本身和用户与音乐的交互关系。
在网易云音乐用户评分数据难以直接取得的场景中,我们提出了一种基于隐性数据来间接创建用户评分的矩阵技巧。已经提出了CURNN模型,它结合了CNN与RNN进行深度学习。原音乐梅尔波频谱图在时间轴上的维度高达17000,但即使经过降维处理后的维度依然存在1700,即使采用了GRU模型,这一维度对RON神经网络来说依然是高维数据。因此,我们使用CurNN的前置XCNN对数据进行了连续的滚动池化处理,得到了在时间轴上进一步下降,并在时间轴上分组的频域数据,这使得RNN 对其训练和学习更为有利。在推荐模式中我们采纳了协同过滤和依据音乐特性的混合模型方法,实验数据显示,与单一模型、SVD++模型和 K-Means 模型相比,此混合模型显示出了更加出色的推荐能力。
AE代表一种无需监管的机器学习策略,它结合了编码(Encoder)与解码(Decoder)的步骤,对输入资料进行了再次构建,从而深入挖掘输入资料的隐藏表达。AE被描述为一个三层非循环神经网络:输入层(Input Layer)、隐藏层和输出层(Output Layer),这三层之间的规模大小是一致的。在重构中,输入与输出数据间的偏差被设定为最小化值,这导致隐藏层必须努力学习到输入数据在隐层中的优质表示方式,其具体的结构图请查阅图3-1。
图3-1 自动编码器AE结构示意图
AE主要包含以下两个过程:
-
从输入层到隐藏层的编码过程:
-
从隐藏层到输出层的解码过程:
其中:W和b为特征的权重和偏置项,如果W’=WT,这时的权重被称为tied weights。
DAE的核心思想是在确保对初始输入数据进行重建的前提下,进一步期望能建立一个网络,此网络可以对加入有噪声的数据进行编码和解码后产生无噪声的结果。
图3-2 DAE结构示意图
因此,将多个DAE模型合并为一个深度模型有助于更加有效地理解输入数据的隐层结构。这种新型模型被普遍称作栈式降噪自动编码器,也就是简称为SDAE的Stacked Denoising Autoencoders模型。
图3-3 SDAE过程示意图
3 仅基于自动编码器的推荐系统
Sedhain及其团队在2015年提出了一个名为AutoRec[20],以I-AutoRec为基础。在AE的输入层面,评分矩阵内的每一列都会被输入,这就是每一件物品(i)r都会根据用户的得分来进行向量的描述,目的是在输出层里对这些向量进行重构。图8-4展示了I-AutoRec的结构图解:
图3-4 I-AutoRec的结构示意图
AutoRec模型的目标函数 为:
在采用该模型来做预测时,我们首先会将模型与其重新生成的输入向量所关联的输出向量区域视为一个预测值 :
AutoRec的推导结果也是类似的,我这里不再详细说明。根据该作者的实验成果,I-AutoRec 的性能明显优越于U-AutoRec,这两种方法在性能上都明显超越了传统的矩阵分析技巧。CFN系统能够整合用户端或者物品侧的补充资料到推荐方案中,从而降低由于数据稀疏及冷启动带来的不利影响。
图3-5 CFN结构示意图
损失函数表示为:
CDAE是用来对 用户的偏好进行预测:
图3-6 CDAE的结构示意图
重构过程被表示为:
其中Vu∈R表示用户节点的权重矩阵, 权重矩阵对每个用户都是唯一的。通过
最小化重建误差来学习参数:
损失函数可以是平方损失或二项损失,并且采用L2范数来约束正则项而非F范数。
4音乐推荐系统的设计与实现
在进行系统分析时,核心步骤是明确音乐推荐系统的任务目标、进行技术筛选、确定系统模型、通过使用用例图等方式描述需求、分解系统架构并设计实施策略。此章会首先系统地分析,在音乐推荐系统中引入CURNN模型和混合推荐方法。经过前端和后端的开发,我们能在EaseSong数据集中看到与音乐有关的数据,以及基于这些数据产生的推荐效果。
4.1可行性分析
分析在当前约束条件下构建音乐推荐系统的可行性,从技术、操作等方面进行可行性分析。
技术可行性:
音乐推荐的系统以Python为其核心开发语言,利用基于Pytorch的深层学习框架来进行CURNN模型的培训,旨在最终达到音乐的分类效果。分类的结果会被呈现为音乐-标签结构,并且会被录入MySQL数据库中。在数据集的构建上,我们使用Python语言来执行数据爬取的程序,通过捕获网易云公开接口来收集所需的数据,这样可以轻松获得音乐、歌手、用户、歌曲列表、声音、播放记录等原始音乐信息。在展示数据方面,前端部分采用VueJS语言实现,而后端功能则是基于Django框架进行管理。后端数据和前端展示之间是通过NodeJS来为服务器提供连接的。前文所述的语言和框架均是开放资源、完全免费的产品,这些产品在社区上都得到了成熟的支持,能够满足音乐推荐系统的开发规模,并且可以降低开发的复杂性。技术层面,系统的建立具有可操作性。
2. 操作可行性:
操作系统的操作可以被划分为模型培训操作和系统数据展示的操作。在模型的培训阶段,我们首先依据Pytorch框架完成模型的构建阶段,随后在GTX1660显卡环境下应用CUDA加速技术,并持续对参数进行迭代训练,以便确定最适宜的模型参数配置。操作系统的功能是允许操作人员通过访问浏览器来使用的。在Windows10的主机端,系统的部署是完全可行的,从操控角度看也是可行的。
3. 经济可行性:
音乐推荐系统的所需技术和工具均可免费获取,开发工具名为IDEA,它还可提供学生版的免费版本。在硬件设计方面,个体所用的中级硬件,包括电脑主服务器和中等规模的显卡,均可被视为软件开发的硬件环境。开发在经济层面上具备实施可能性,这并不需要投入额外的人力和时间开销。总体而言,音乐推荐系统的开发在大体上是可行的。
4.2 具体设计与实现
我们将那些已经被标记并分类的歌曲音频转化的梅尔频谱图输入CURNN模型进行训练。经过训练,这个模型能用于对未被分类的音乐进行分类,并完成在不同分类基准下的标签注释工作。歌曲的推荐采用的是混合推荐模式。这个流程首先利用歌曲的音频创建其梅尔频谱图。不同的歌曲因其音调、音色和响度的差异会有不同的梅尔频谱图产生。卷积神经网络在图像数据处理上具有优越性能。利用CNN对梅尔频谱图进行训练以提取高频特性,然后将这些特性再次输入到循环神经网络。这种网络对时间数据处理能力十分强,并能进一步利用循环神经网络对歌曲特征进行分类,从而得出音乐属性模型。接下来,我们利用了调整后的余弦相似性和杰卡德相似度系数的权重组合,从而获得了爬取的数据信息,并据此得出了相似度。在测量到相似度之后,我们使用混合推荐方法来确定用户的最终相似度,这进一步为歌曲提供了建议,从而产生了TopN推荐;通过运用杰卡德