一、文献综述
(一)国内外研究现状
在这个信息爆炸的时代,我们可以接触到庞大浩瀚的网络资源,极大地便利了我们的生活。但是,通常情况下,用户不清楚自己的需求,不能归纳自己的兴趣爱好。而音乐推荐功能认识到了这个用户痛点,帮助用户发现自身的兴趣偏好,通过算法来实现智能个性化推荐,个性化推荐的音乐也成为现代很多人们日常生活不可缺少的精神伴侣。
面对在线音乐种类丰富、曲库更新很快而用户经常难以用具体的关键词描述自己对音乐的需求的情况,音乐门户网站的用户对音乐推荐系统的依赖越来越大。一个好的音乐推荐系统能够极大的提高用户的忠实度,有助于音乐网站和APP占领市场。由于算法原理所限,传统的离线推荐系统大多数从静态数据构建初始模型,然后随着新的数据块到来必须每隔一段时间在所有历史数据上重新训练模型,导致巨大计算资源消耗的同时也无法捕捉用户最近的兴趣变化,让其无法得到最新的推荐结果。随着音乐平台交互数据的产生速度越来越快,离线推荐算法的问题越来越突出,它们的效果已经比不上简单的在线算法。 [1]
传统的音乐发展模式已经逐步由线下发展到线上,现在的音乐平台是以音乐为核心、结合社交的音乐发展模式。同时,在巨大的市场需求下,许多音乐平台如雨后春笋般涌出,满足了不同用户对音乐的个性化需求。虽然在多样化的音乐平台不断涌出的过程中,给用户提供了许多选择,但是同时用户为了体验每个音乐平台就需要下载对应的App,这会给用户带来困扰。为了解决用户的这一困扰,通过PWA实现了一个免下载的在线音乐管理系统。在线音乐管理系统从功能需求和性能需求两个方面完成了系统需求分析。[2]由系统的功能需求设计出系统的功能模块,并抽象出用户、歌曲等等实体和实体之间的关系设计了在线音乐管理系统的数据库。在线音乐管理系统采用前后分离的开发方式,由Vue.js实现系统前端,搜索模块则是由Elasticsearch实现,系统结合Node.js完成了消息推送的功能,当用户有关于本平台的消息时,会在用户手机上的消息栏中展示相关的消息。在用户的音乐社交方面,提供了评论以及转发动态等等社交功能,让用户可以分享自己的爱好,而且用户还可以通过第三方接口将自己的动态分享到朋友圈、QQ空间等等大众的社交平台上。
(二)研究主要成果
互联网和电子商务是海量数据的生成器,导致信息超载。推荐系统(RS)解决了信息过载的问题。RS可以提供关于新产品、电影或音乐等的建议。本文是关于音乐推荐系统的,它将根据用户过去的历史品味,向用户推荐歌曲。在本文提出了一种基于用户和物品的协同过滤技术。其中第一个用户项目评分矩阵用于形成用户集群和项目集群,接下来这些集群用于查找与目标用户最相似的用户集群或最相似的项目集群,最后从最相似的用户和项目集群中推荐歌曲。所提出的算法在基准数据集 Last.fm上实现。该方法的性能优于最流行的基线法。[3]
协同过滤推荐算法是目前应用最广泛的个性化推荐算法。该算法的基本思想是“物以类聚,人以群分”。对于用户A,我们可以采用两种推荐方案:一是找到和用户A品味相同的用户群,把这些用户喜欢的物品推荐给A;二是以A当前喜欢的物品为参考,把和这个物品相似的物品集推荐给A。这两种解决方案分别描述的是两种模型,一种是基于用户的协同过滤(user-based),一种是基于物品(item-based)的协同过滤。[4]利用基于项目和基于用户的模型预测矩阵中的缺失值,大大增加了评价矩阵的密度。然后,利用填充的评价矩阵进行协同过滤,显著提高了推荐精度[5]。
基于元数据和协同过滤融合的音乐推荐方法由 4 个阶段组成,即提取音乐元数据、收听频次数据的规范化、基于元数据的音乐间相似性度量、用户偏好预测和音乐推荐。音乐推荐算法使用基于项目的协同过滤算法。[6]音乐元数据提取、收听频次的规范化、使用元数据度量音乐间的相似性、偏好预测和音乐推荐,与传统基于项目的协同过滤推荐相比,具有更好的推荐性能。
余弦相似度是最常用的相似度算法之一,它被广泛地应用于图像处理、文档检索等领域之中。在协同过滤推荐算法中,评分矩阵中的一行向量代表一个用户。设向量分别为A、B,元素值是用户对产品的评分值,0值代表用户对该产品没有评分。两个向量A、B之间的夹角余弦值就代表了这两个用户之间的相似度。计算公式如下:
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。