跨平台的音乐推荐算法2传媒

首先,我们先建立了一套完整的用于进行跨平台音乐推荐研究的数据集,不同于以往的单独的新浪微博数据或网易云音乐数据,我们构造了一组微博-音乐联合数据集。我们通过爬取新浪微博和网易云音乐上的数据,从中选取了1,425个同时拥有新浪微博和网易云音乐的原始用户,为保证用户是活跃用户,我们要求被选取的用户至少有2页微博数据(90条以上微博)和20首以上听过的歌曲,然后提取这些用户的前5页微博数据和他们喜欢听的前10首歌曲(网易云音乐对每个用户有一个按听歌次数排序的功能),并把它们共同作为一个用户的描述,最终得到了1,257个活跃用户。在这份数据集中,我们的数据总量是超过220,000条新浪微博的数据和9,271首歌曲,微博数据大小达到了4G以上,音乐数据达到了28G以上,基本满足了整个实验的数据要求。

4.2特征提取过程

对于每个用户我们要提取出它的文本特征(即新浪微博)和音频特征(即喜欢听的歌曲),文本特征我们选取了经典的TF-IDF文本特征[4],特征向量共有6,000维,这其中去除了相对比较常用的词和不常用的词,选取了一些比较有代表性的词频中等的词语。我们把每个用户的全部微博数据通过TF-IDF特征提取后作为该用户的文本特征向量。

音频特征我们选取了IS10特征集[7],可以用opensmile软件提取出来,共有1582维。这其中包含了音频的音色、音调、旋律、节奏、响度各个方面的数据,1582维的具体含义这里不再赘述,具体可参见opensmile说明文档。

这样,对于每个用户,我们获得了他文本特征的6000维数据和他喜欢的每首歌曲的1582维音频向量,这些数据会被输送到下一环节作为训练集。

4.3算法训练过程

本实验使用的算法是线性CCA算法,整个算法的流程可以描述如下:将每个用户喜欢的每首歌作为一个训练样本,每个样本包括6000维文本向量和1582维音频向量,将这两组向量共同投影到同一个隐空间中,我们的学习目标就是这两组向量投影到隐空间的投影矩阵。学习过程结束后,我们对于一个新用户的微博数据,我们先将其投影到这个隐空间中,然后找到这个投影向量最近的几个音频投影向量,这里我们使用余弦相似度计算隐空间中向量间的距离。它们对应的歌曲就是最终我们要推荐给用户的歌曲。这就完成了整个训练和预测的过程。在整个实验过程中,我们将选取900个用户作为训练集,357个用户作为测试集用于检验算法的准确程度。

4.4算法评测指标

本实验算法评测的指标共有3个:平均命中率(AverageHitRate),加权平均准确率(MeanAverageRate,MAP),召回率(RecallRate),具体做法如下:首先选择N首歌作为音乐全集,将这N首歌和每一位用户喜欢的前10首歌共同做一个推荐给该用户,排出系统的推荐顺序,然后按照这个顺序计算上述三种指标,其中,平均命中率是计算推荐给用户的前10首歌中有几首是用户原本就喜欢的,召回率是计算推荐给用户的前k首歌中用户原本喜欢的前10首歌的数目,本实验中k=20,30,加权平均准确率相对定义比较复杂,它是对每个用户i喜欢的前10首歌的顺序(1,2……10)与它们在推荐结果中的顺序(r_1,r_2,……r_10)的比值做平均,计算出每个用户i的平均准确率〖AP〗_i,然后对每个用户的AP再做平均获得全体用户AP的平均值。这个指标越接近1说明推荐的越好。这三个指标各自反映出推荐算法的一方面:平均命中率反映了算法推荐的正确程度,MAP反映了算法推荐的精度,召回率反映了算法推荐在各个层次上的正确程度,比平均命中率预测的范围更广。另外,在本实验中N=10,50。

4.5实验结果

在这里对表格中的内容做一个简要的说明,本次实验共包含了5个算法,第一个是完全随机预测,第二个到第五个都是CCA算法,隐空间维度由20维逐渐增加到训练矩阵的秩900维。我们也同时采用了5组指标,前两个是10首公共歌曲+10首用户最喜欢的歌曲共20首歌曲推荐的平均命中率(AHR)和加权平均准确率(MAP),后三个是50首公共歌曲+10首用户最喜欢的歌曲共60首歌推荐的AHR,MAP和召回率RecallRate。

从表中可以看出,最好的算法是高维隐空间的CCA算法,在50+10数据集中推荐成功的歌曲数可以比随机算法高出0.6首歌,MAP和RecallRate也达到了相对比其他算法更高的标准。

4.6原型系统

本实验采用了CCA算法作为原型系统,隐空间维数为200维,这是考虑到了一个算法运行速度和精确程度的平衡而确定的算法。本系统分为两个后端和一个前端。两个后端分别为:用Java(Tomcat)搭建的网站响应后端和用Python(Flask)搭建的数据处理后端。当用户输入一个微博uid时,网站响应后端响应用户输入,并将该数据传递给数据处理后端,数据处理后端获取到用户的微博数据,经过分词和TF-IDF处理获得文本向量,将其投影到隐空间后,找到与之距离相近的前N首歌,用字符串形式返回给网站响应后端,最后,网站响应后端访问网易云音乐获取这N首歌返回给用户,完成整个推荐过程。

本系统主要由主界面(图1)和推荐音乐界面(图2)组成。

本系统只是一个简单的demo,展示了本项目最基本想要实现的功能,距离商业化还需要一些用户设计上的支持。

5.总结与展望

在音乐推荐领域,目前做的相对较好的是豆瓣FM,然而,我们也同时注意到,豆瓣FM的推荐也未能完美的解决的冷启动问题,依然是采用基于传统的音乐推荐算法的改进。而相比之下,本文所使用的算法不仅能够解决冷启动问题,还能够依靠用户的微博数据来为其做更加个性化和更加精准的推荐。另外,本系统还是一个十分灵活的应用,无论我们的音乐总量有多少,无论音乐库中的歌曲是新歌还是老歌,算法都能够平稳的运行,为用户做出精准的推荐,这在音乐推荐领域是一个创新。另外,在本实验中,我们构造了一组微博-音乐联合数据集,专门用于做跨平台的音乐推荐,这对于跨平台推荐系统的发展有重要的科研价值。然而,本次实验的成果还有这诸多的不足。这些可以在后续的研究中逐步的加强与改进。总结需要改进的地方主要有以下几点:

(1)特征提取可以得到加强。本次实验目前采用了相对比较简易的TF-IDF文本特征和IS10音频特征,由于特征数量太多,产生了过拟合的现象,导致CCA算法的精确程度并未达到一个理想的状态。在后续实验中,可以尝试LDA文本特征和mirtoolbox提取的音频特征以期达到更好的效果。

(2)事实上正如2.3节中提到的那样,除了CCA还有其他一些算法可以被用于音乐推荐,后续实验可以尝试更多种多样的算法,比如Corr-AE和Hypergraph方法等等。另外还可以将传统的基于用户历史数据的推荐算法与跨平台算法结合起来以提升推荐算法的准确程度。

(3)目前的系统只是一个简单的demo,还并不能真正的成为一个商业化的应用,在后续的实验中可以对这个系统进行改进,提升用户体验。

未来的推荐系统一定是支持跨平台的,而且是一种趋势。因为只有跨平台才能够对用户的兴趣爱好有一个更加全面准确的了解,这样推荐系统才能为用户提供更加精准的推荐。

6.参考文献

[1]XuC,TaoD,XuC.Asurveyonmulti-viewlearning[J].arXivpreprintarXiv:1304.5634,2013.

[2]FengF,WangX,LiR.Cross-modalretrievalwithcorrespondenceautoencoder[C]//ProceedingsoftheACMInternationalConferenceonMultimedia.ACM,2014:7-16.

[3]AndrewG,AroraR,BilmesJ,etal.Deepcanonicalcorrelationanalysis[C]//Proceedingsofthe30thInternationalConferenceonMachineLearning.2013:1247-1255.

[4]RamosJ.Usingtf-idftodeterminewordrelevanceindocumentqueries[C]//Proceedingsofthefirstinstructionalconferenceonmachinelearning.2003.

[5]XianyuH,XuM,WuZ,etal.Heterogeneity-entropybasedunsupervisedfeaturelearningforpersonalitypredictionwithcross-mediadata[C]//MultimediaandExpo(ICME),2016IEEEInternationalConferenceon.IEEE,2016:1-6.

[6]SarwarB,KarypisG,KonstanJ,etal.Item-basedcollaborativefilteringrecommendationalgorithms[C]//Proceedingsofthe10thinternationalconferenceonWorldWideWeb.ACM,2001:285-295.

[7]YangYH,ChenHH.Machinerecognitionofmusicemotion:Areview[J].ACMTransactionsonIntelligentSystemsandTechnology(TIST),2012,3(3):40.

[8]BuJ,TanS,ChenC,etal.Musicrecommendationbyunifiedhypergraph:combiningsocialmediainformationandmusiccontent[C]//ProceedingsoftheinternationalconferenceonMultimedia.ACM,2010:391-400.

[9]CuiP,WangF,LiuS,etal.Whoshouldsharewhat:item-levelsocialinfluencepredictionforusersandpostsranking[C]//Proceedingsofthe34thinternationalACMSIGIRconferenceonResearchanddevelopmentinInformationRetrieval.ACM,2011:185-194.

[10]JiangM,CuiP,LiuR,etal.Socialcontextualrecommendation[C]//Proceedingsofthe21stACMinternationalconferenceonInformationandknowledgemanagement.ACM,2012:45-54.

[11]AdomaviciusG,TuzhilinA.Towardthenextgenerationofrecommendersystems:Asurveyofthestate-of-the-artandpossibleextensions[J].KnowledgeandDataEngineering,IEEETransactionson,2005,17(6):734-749.

[12]CuiP,WangZ,SuZ.WhatVideosAreSimilarwithYou:LearningaCommonAttributedRepresentationforVideoRecommendation[C]//ProceedingsoftheACMInternationalConferenceonMultimedia.ACM,2014:597-606.

THE END
1.算法训练平台猜你喜欢:算法训练平台将模型部署成数据集,同时管理,将模型管理和开发的算法提供模型管理,用户部署上线流程。前提条件已在ModelArts中创建可用的数据集,并已将用于训练的数据上传至OBS目录。已在OBS创建至少1个空的文件夹,用于存储训练输出的内容。由于训练作业运行需消耗资源,确保帐户未欠费。确保您使用的OBS目录与Modelhttps://www.huaweicloud.com/zhishi/edits-17561326.html
2.算法训练营(17.3GB)百度网盘资源下载第01课丨01数据结构与算法总览.docx- 14KB 第20课丨3字符串匹配算法.docx- 14KB 第20课丨2高级字符串算法.mp4- 1.0GB 第01课丨01数据结构与算法总览.mp4- 542.8MB 第20课丨3字符串匹配算法.mp4- 515.2MB 文件大小:16.1GB 算法训练营.极客时间 https://www.iizhi.cn/resource/detail/0f7f7c53304b45f78b806a986c3c4957
3.极客时间训练营算法训练营将通过录播、直播的形式进行教学,课时共 10 周,总时长约 40+ 小时;同时我们会通过直播答疑、助教答疑、随堂自测、阶段考试、不定期分享等帮你巩固学习。 Q:课程学完后能到什么水平? 课程以帮助顺利通过大厂算法面试为目标。 Q:直播是否有回看? 直播的录播视频会上传到学习平台方便大家回看,但为了更好https://u.geekbang.org/subject/algorithm3rd
4.AI入门指南(二):算法训练模型大模型是什么?人工智能(AI)已经成为现代科技的热门话题,但对于刚接触这个领域的人来说,其中的一些基本概念可能会感到困惑。本文将带你了解AI的几个关键概念:算法、模型、训练和大模型,并通过生活中的例子和实际应用来深入浅出地解释这些概念。 二、算法是什么? 概念 https://blog.csdn.net/weixin_41076816/article/details/141178706
5.训练神经网络的五大算法互联网下图是Levenberg-Marquardt算法训练过程的流程图。第一步计算损失值、梯度和近似海森矩阵。然后衰减参数和衰减系数。 由于Levenberg-Marquardt算法主要针对平方和误差类的损失函数。因此,在训练这类误差的神经网络模型时速度非常快。但是这个算法也有一些缺点。首先,它不适用于其它类型的损失函数。而且,它也不兼容正则项。最https://www.iteye.com/news/31902
6.程序员进阶之算法练习(十一)有感而发而在这个集体中生活,几年下来所累积的收获,绝不仅仅是和道友们在算法训练上的相互交流、扶持。(更何况大家都是靠自学,一起训练的意义主要还是为了制造竞争的氛围) 更多的是在三观上的互相影响,价值取向上的彼此升华。 和这样一群有趣的人在一起,也并不会觉得万般皆下品,唯有ACM最高。相反,作为一群平日里更喜https://www.jianshu.com/p/ee39c9c9158b
7.最新训练神经网络的五大算法腾讯云开发者社区神经网络模型的每一类学习过程通常被归纳为一种训练算法。训练的算法有很多,它们的特点和性能各不相同。 问题的抽象 人们把神经网络的学习过程转化为求损失函数f的最小值问题。一般来说,损失函数包括误差项和正则项两部分。误差项衡量神经网络模型在训练数据集上的拟合程度,而正则项则是控制模型的复杂程度,防止出现过https://cloud.tencent.com/developer/article/1090593
8.算法竞赛入门经典.训练指南.pdf大小:14.74 MB 字数:约小于1千字 发布时间:2018-11-21发布于陕西 浏览人气:782 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币(10金币=人民币1元) 算法竞赛入门经典.训练指南.pdf 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全文 https://max.book118.com/html/2018/1119/6212152215001231.shtm
9.深度学习高手笔记卷1:基础算法第二篇主要介绍深度学习在自然语言处理方向的重要突破,主要介绍几个基础序列模型,如LSTM、注意力机制、Transformer等(第4章),以及近年来以BERT为代表的10余个预训练语言模型(第5章)。第三篇(第6章)将介绍模型优化的经典策略,分为两个方向,一个方向是Dropout及其衍生算法,另一个方向是以批归一化、层归一化为代表https://www.epubit.com/bookDetails?id=UB7d8623610d375
10.算法训练营(进阶篇)《算法训练营(进阶篇)》是2021年4月电子工业出版社出版的图书,作者是陈小玉。作品简介 本书以海量图解的形式,详细讲解常用的数据结构与算法,并结合竞赛实例引导读者进行刷题实战。通过对本书的学习,读者可掌握22种高级数据结构、7种动态规划算法、5种动态规划优化技巧,以及5种网络流算法,并熟练应用各种算法解决https://baike.baidu.com/item/%E7%AE%97%E6%B3%95%E8%AE%AD%E7%BB%83%E8%90%A5%EF%BC%88%E8%BF%9B%E9%98%B6%E7%AF%87%EF%BC%89/58546416