各大音乐软件都有本身的排行榜,大多数经过播放量、分享、下载等进行计算排名,那么热门歌曲是否是有必定的规律?是旋律优美,仍是歌词感人?咱们看下Dorien是如何利用数据科学从不同的角度——音频属性预测热门歌曲的。html
算法能够预测热门歌曲吗?让咱们来探索如何使用音频特征构建热门歌曲分类器,正如个人文章Dance Hit Song Prediction所述(文末有连接)。
算法
在个人博士研究期间,我看到了Pachet&Roi(2008)的一篇题为“热门歌曲科学还不是一门科学”的论文。我以为颇有趣,这使我开始探索是否能够预测热门歌曲。关于这个主题的研究很是有限,更完整的文献综述,请参阅Dance Hit Song Prediction(2014年)。咱们以为该模型的有效性能够经过专一于一个特定的流派来优化:舞曲。这对我来讲是很直观的,由于不一样的音乐类型的热门歌曲有着不一样的特色。网络
为了进行热门歌曲预测,咱们首先须要一个热门歌曲/非热门歌曲的数据集。热门歌曲的列表是很好找的,但不热门歌曲的列表却很难找。所以,咱们决定改成对热门列表中的高排名和低排名歌曲进行分类。咱们进行了一些实验来看哪一种分割效果最好,如表1所示,这产生了三个数据集(D1,D2和D3):
dom
表1 - 来自Herremans等人的热门数据集(2014年)ide
每一个数据集类的分布都有略微的不平衡:性能
图1 - Herremans等人的类分布(2014年)测试
热门歌曲列表的两个来源是:Billboard(BB)和Original Charts Company(OCC)。下表显示了收集的热门歌曲数量。请注意,歌曲会在排行榜停留数周,所以独特歌曲的数量要小得多:优化
表2 - 来自Herremans等人的热门数据集(2014年)人工智能
如今咱们有了一个歌曲列表,还须要它们的音频特征。咱们使用The EchoNest Analyzer(Jehan和DesRoches,2012)来提取一些音频特征。这个漂亮的API容许咱们根据艺术家姓名和歌曲标题得到许多音频特征(Echo Nest由Spotify收购,现已集成到Spotify API中)。看看咱们提取了什么:设计
包括持续时间,速度,时间戳,模式(主要(1)或次要(0)),Key,响度,可舞蹈性(由回声巢计算,基于节拍强度,节奏稳定性,总体节奏等等,能量(由回声巢计算,基于响度和段持续时间)。
因为歌曲随时间而变化,咱们根据Schindler&Rauber(2012)添加了许多时间上聚合的特征。它们包括~1s段的平均值,方差,最小值,最大值,范围和80百分位数。这是为了如下特征:
好哒!如今咱们有一个很好的音频特征集合,以及他们的顶部图表位置。像任何一个好的数据科学项目应该开始同样,让咱们作一些数据可视化。咱们注意到的第一件事是点击量随时间变化。十年前的热门歌曲不必定是今天的热门歌曲。随着时间的推移,当咱们将咱们的特征形象化时,这就变得明显了:
图2 - Herremans等人的交互式气泡图。(2014)
有趣的是,咱们看到舞曲的热门歌曲变得更短,更响亮,而且根据EchoNest的“舞蹈”特征,不是那么让人能够跳起舞来!
图3 - Herremans等人随时间推移的热门特征的演变(2014年)
有关特征完整可视化,请查看我关于可视化热门歌曲的简短文章:
http://dorienherremans.com/sites/default/files/dh_visualiation_preprint_0.pdf
http://musiceye.dorienherremans.com/clustering.html
咱们探索了两种类型的模型:可理解模型和黑盒模型。正如预料,后者更有效率,但前者让咱们能够深刻了解为何一首歌能够成为热门歌曲。
为了使决策树适合页面,我将修剪设置为高。这使得树很小且易于理解,可是在D1上的AUC低至0.54。咱们看到只有时间特征留下来了!这意味着他们必定很重要。特别是Timbre 3(PCA音色矢量的第三维)反映的重点(锐度),彷佛对预测热门歌曲有影响。
图4 - Herremans等人的决策树(2014年)
使用RIPPER,能够获得一个与决策树很是类似的规则集。Timbre 3再次出现。此次,咱们的AUC在D1上为0.54。
表3 - Herremans等人的规则集(2014年)
朴素贝叶斯,Logistic回归,支持向量机(SVM)
有关这些技术的简单描述,请参阅 Dance Hit Song Prediction
在进入结果以前,我应该强调在这里使用通常分类“准确性”是没有意义的,由于这些类是不平衡的(见图1)。若是要使用准确性,则应该是特定于类的。这是一个常见的错误,但要记住这一点很是重要。所以咱们使用ROC和AUC和混淆矩阵来正确评估模型。
咱们得到了数据集1(D1)和数据集2(D2)的最佳结果,没有特征选择(咱们在遗传搜索中使用了CfsSubsetEval)。全部特征在训练前都已标准化。因为D3在热门和不热门之间具备最小的“分裂”,所以这种结果是有意义的。整体而言,逻辑回归表现最佳。
表4 - Herremans等人的 AUC结果(2014年),有/没有特征选择(FS)
看下面的ROC曲线,咱们看到模型优于随机预言机(对角线)。
图5 -来自Herremans等人的 Logistic回归的ROC (2014年)
经过查看混淆矩阵能够看出分类准确性的细节,这代表正确识别不热门的歌曲并不容易!可是,热门的正确识别率可达68%。
表5-来自Herremans等人的 Logistic回归的混淆矩阵(2014年)
咱们还使用了按时间顺序排列的“新”歌曲做为测试集,而不是10折交叉验证。这可让性能进一步提高:
表6-来自Herremans等人的分裂与10倍CV的AUC (2014年)
有趣的是,该模型能够更好地预测新歌。致使这种偏斜的缘由是什么?也许它学会了预测趋势是如何随时间变化的?将来的研究应该着眼于,随着时间的推移音乐偏好的演变。
仅关注音频特征,Dance Hit Song Prediction预测了,若是一首歌的AUC达到80%,将会进入热门歌曲前10名。咱们能作得更好吗?可能的!咱们在本研究中所看到的特征是有限的,所以要经过使用低级和高级音乐特征来扩展它,能够实现更高的精度。此外,在后续研究中,我研究了社交网络对热门预测产生的重大影响(Herremans&Bergmans,2017)。
相关连接
https://towardsdatascience.com/data-science-for-hit-song-prediction-32370f0759c1
https://www.tandfonline.com/doi/abs/10.1080/09298215.2014.881888?casa_token=w0GGhjQd194AAAAA%3AV_YGtWJeIR869x4fYUfyyfFrPiCWhb56ddybPADsO9s9D-k8WaTZI4ADKxgILlufl3UbICsVZEWB5Q&journalCode=nnmr20
参考文献
做者:Dorien Herremans博士 - dorienherremans.com,新加坡科技与设计大学助理教授,负责人工智能音乐和音频实验室。
本文选自:towardsdatascience
本文转载自:TalkingData数据学堂
封面图来源:pexels by Rene Asmussen
点此阅读英文原文