Press "Enter" to skip to content

音乐软件为什幺总能猜到你的口味?

古有“高山流水遇知音”,伯牙和钟子期的故事耳熟能详;今有“中国好声音”、“我是歌手”等歌唱综艺节目,市面上音乐APP花式百出。每年新歌的发布数量不计其数,我们好像无时无刻不在跟音乐打交道。

 

我们在庞大的音乐库中主动找一首自己满意的歌曲,可能会花费很长时间,但当我们选择推荐的方式“被动接收”音乐网站推给我们的歌曲时,往往会有意想不到的惊喜。

 

 

当你打开音乐APP,点开每日推荐时,是不是也曾发出过“这个APP很懂我爱听什幺歌”的感叹呢?流行、摇滚、民谣、轻音乐各种风格应有尽有,有没有很好奇在海量音乐中,APP是如何找到符合自己口味的歌曲呢?下面我们就来认识下音乐推荐系统中最亲密的“合作伙伴”。

 

目前常用的推荐方式

 

基于内容的推荐

 

基于内容的推荐原理简单分为三步:

 

 

    1. 为每个物品构建一个物品的属性资料

 

    1. 为每个用户构建一个用户的喜好资料

 

    1. 计算用户喜好资料与物品属性资料的相似度,相似度高意味着用户可能喜欢这个物品。

 

 

在音乐行业中,基于内容的推荐可以理解为根据用户的听歌时间、点击次数、收藏、下载等行为,建立用户画像,并分析曲目的特征信息,对音乐数据库进行遍历搜索,根据两者的相似程度,推荐合适的曲目给该用户。这种推荐方法需要考虑到用户的历史数据,在具体的推荐过程中,如果用户的喜好资料发生变化,那幺推荐出来的音乐类型也会发生改变。所以这种方法的优劣势也非常明显,首先这种方法不存在物品的冷启动问题,对于一首全新的歌曲也可以得到一定程度的曝光,从而目标用户接收的推荐曲目并不是单一的热门歌曲;但是由于这种方法只考虑到目标用户偏好与歌曲的相似度,判断质量的好坏就显得比较困难,推荐出来的歌曲质量可能不如人意。

 

 

基于协同过滤的推荐方法

 

基于协同过滤的推荐方法基本原理是根据用户的偏好计算他们之间的相似度,确定与目标用户相似值最高的用户集合,并根据后者对产品的评价确定目标用户偏好,再依此进行推荐。比如两个听歌品味相似的用户,将其中一个用户喜欢或者单曲循环的歌曲推荐给另一用户。

 

相对基于内容的推荐算法,这种推荐算法可能给用户推荐出完全不同类型的歌曲,增添了惊喜性;除此之外,还可通过用户群的集体行为来判断歌曲质量,从而一定程度上保证了推荐质量。但是这种方法比较依赖于历史数据,因此不能很好的解决冷启动问题。

 

 

基于标签的推荐方法

 

目前很多音乐APP都支持给歌曲打标签的功能,基于标签的推荐即用标签来表示音乐的内容信息,根据用户与标签的关联和音乐与标签的关联建立用户-音乐模型,从而向目标用户推荐音乐,基本流程分为以下三步:

 

 

    1. 根据大量用户标注的标签信息,统计出他们最常用的标签

 

    1. 对其中的标签,计算出标记此标签次数最多的曲目

 

    1. 计算目标用户使用频率最高的标签,基于这些标签进行曲目推荐

 

 

这种推荐方法的准确率依赖于标签的准确率,因为并不是所有的标签都能够反映用户的兴趣,所以需要对标签取其精华、去其糟粕,筛选出有意义的优质标签,往往能提升推荐的准确率。一般而言,推荐方式都各有优缺,很多时候会采用混合推荐的方法,分别进行不同推荐方法的预测,然后将他们组合起来,有时比单纯一种推荐方法更准确。对于一首歌曲来说,最重要的部分无非歌词莫属,透过歌词,我们可以品出一段故事,甚至可以看到一个人生的缩影:

在“我知道,我一直有双隐形的翅膀,带我飞,飞过绝望”读出了信仰
在“多少人曾爱你青春欢唱的时辰爱慕你的美丽、假意或真心只有一个人还爱你虔诚的灵魂爱你苍老的脸上的皱纹”读出了爱情的浪漫
在“往事不要再提,人生已多风雨,纵然记忆抹不去,爱与恨都还在心里”中读出了悲伤……

这些信息可以反映一首歌的感情趋势,是不是也可以应用到推荐系统中呢?

 

基于精彩评论或者歌词的推荐方法

 

因为精彩评论和歌词是文本的形式,可以通过将每一篇歌曲的歌词和精选评论进行分词处理,并去除掉没有意义的词语,筛选出一些特征词,进而可以计算特征词的权重,可以利用特征词在文本中出现的次数,或者TF-IDF的方式来确定权重,这个权重在一定程度上可以反映除歌曲的情感倾向和类型,作为向目标用户推荐的依据。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注