对于我这样一个音乐控来说,学习工作时没有音乐是万万不行的。在网易云音乐云音乐面世之前,我总是在QQ音乐,百度音乐等播放器之间徘徊,当时也不够文艺,不知道豆瓣FM的存在。
第一次接触云音乐被其吸引的原因有二,第一是开门见山先答十道题,根据答案生成个性化推荐,给人耳目一新的感觉。第二是每首歌下面的评论区,许多内容能和自己产生共鸣。这两点让我对这款软件颇有好感。
如今在云音乐听歌一万有余,之所以让我坚持下来的原因也有二,首先是对私人FM产生依赖,能通过私人FM发现新的精彩,其次是云音乐对评论区的维护,保持了云音乐评论文化的纯净,不像网易新闻那样烂俗,也没有QQ音乐弹幕那么幼稚。
其实云音乐的社区也是一个留住人的重要因素,在这里不表。
近日在美帝,发现QQ音乐、网易云音乐等客户端大部分音乐因为版权问题无法播放(这个时候开始念着墙内的好了)。我便探索了一下老美都在用什么播放器。
我发现了两款软件,一款叫Pandora,另一款叫Spotify。Pandora其实是一个网站,只提供在线的流媒体服务。
使用Pandora已经有几天,它就像云音乐的私人FM一样,只有电台功能。令我兴奋的是,这几日使用体验非常棒,超越了我对云音乐私人FM的体验。具体表现在他推荐的歌曲有90%我都听过,而这一切仅仅基于我对AC/DC一首《High To Hell》的点赞。
Pandora出色的体验激发了我对其音乐推荐机制的好奇心,今天就用这篇文章来给大家介绍一下目前主流在线音乐播放器的音乐推荐机制,以网易云音乐和Pandora为例。
1.亚马逊,推荐系统的鼻祖
推荐系统从字面理解就是给人们推荐东西的一个系统,关于推荐系统的研究可追溯到上世纪九十年代。互联网的出现,是推荐系统应用有了更广泛的空间和可能。真正把推荐系统应用到实际生活的是美国电子商务网站亚马逊,亚马逊于二十一世纪初率先在其商品详情网页推荐和这个商品类似的商品。
现在推荐系统一般是指“个性化推荐系统”。举个例子,我听周杰伦的《范特西》,你给我推荐《依然范特西》,这种推荐是无意义的,因为是人都知道同一歌手不同作品之间具有关联性,推荐系统显得多余。那么所谓个性化推荐系统就是指根据你个人的特点,给你提供针对你个人兴趣的个性化推荐内容。
从亚马逊开始,随着互联网的发展,电子商务网站例如淘宝等,也有了自己的推荐系统,到后来社交网络兴起,基于社交网络网络的社会化推荐开始成为热门话题,因为一个社交网站对你的第一印象很大程度上决定了你的去留,这就是为什么微博、Facebook等网站刚开始就要给你做推荐,让你填资料,让你做选择,都是为了能提供精准的好友、大V和兴趣推荐。
到如今,推荐系统的应用有多方面,例如以“今日头条”为代表的个性化新闻推荐客户端,以“豆瓣”为代表的个性化兴趣社区,以Foursquare为代表的基于地理位置的推荐系统,以Google Adsense为代表个性化广告服务提供商。当然,还有我们今天的主角,基于个性化推荐的音乐播放器。
2.云音乐如何推荐?
先介绍网易云音乐的推荐方法吧,这也是大多数播放器通用的推荐模式。目前互联网上还没有云音乐官方介绍其推荐机制的文章,不过根据云音乐这个软件的输入(用户行为、用户资料、社交关系、曲库、歌单等)以及输出(推荐歌单、私人FM、每日歌曲推荐、相似歌曲、喜欢这首歌的人等)可以大致判断它使用了什么推荐算法。
根据知乎上一个热门话题“网易云音乐的歌单推荐算法是怎样的?”(点击文末阅读原文查看)和我本人的粗浅理解,我认为目前网易云音乐主要运用了以下几种推荐方法:
1.基于item的协同过滤
2.基于user的协同过滤
3.基于tags的推荐
4.混合(Hybrid)推荐
前两种推荐方法都可以归结为协同过滤(Collaborative Filtering)。此算法乃是亚马逊发家之本,也是推荐系统领域最经典的算法。如何理解Collaborative这个词,可以理解为协作,即通过不同对象之间相互影响,共同作用,来从普通对象中过滤出合适的推荐对象。
那么算法1和算法2的区别是什么呢?我们先建立一个播放器使用场景:你已经在网易云音乐听过100首歌,现在正在听一首班得瑞的《SnowDream》并且对这首歌“红心”,现在在播放器要给你推荐歌曲。
如果使用基于item的协同过滤,即以歌曲为本,寻找和该歌曲相似的歌曲推荐给你。当然,这里的相似不是指歌曲风格、歌手、年代等这些元数据的相似,而是要构建歌曲的评价矩阵,矩阵的每一行是一个用户,每一列是一首歌,这些用户都是对《SnowDream》红心的用户对于《SnowDream》的矩阵,矩阵第一列就是《SnowDream》这首歌,第一行就是你这个用户,矩阵中每个元素代表用户对这首歌的喜爱程度。
对于喜爱程度的定义,是一个加权行为平均值,即通过给用户的不同行为(搜索、试听、下载、单曲循环、分享、评论、点赞评论、播放量,点红心、从不同入口进入)赋予相应权重,最后通过平均值来衡量其对歌曲的喜爱程度。
回到算法本身,建立起来矩阵之后,我们可以知道你对《SnowDream》这首歌的喜爱程度,也通过其余用户的行为得知他们对其余歌曲的平均喜爱程度,计算其余用户对某歌曲和《SnowDream》喜爱程度之差的平均值,越接近0说明这首歌和《SnowDream》越相似,我们便推荐这些均值最接近0的歌曲给你。
那么对于基于user的协同过滤来说,就是寻找和你相似的用户,给你推荐他喜欢的歌曲。怎么判断两个用户是相似的,同样根据之前提到的用户的不同行为和用户资料,构建一个多维特征向量空间模型,用户某种特定行为算是一个特征向量。比如说两个用户都是90后、男、北京人,自我介绍里面都提到New Age,那么的某些特征向量的长度就一样,同理还有长度不一样的向量。
向量空间点之间的距离和夹角
通过构建多维特征向量空间,我们可以把一个用户抽象为多维向量空间中的一个点,如果两个点离得越近,那么两个用户越相似。那么怎么衡量这个“近”呢?我们用到了余弦相似度。这个术语的细节在这里不讲,通俗来说就是计算两个点之间的夹角大小,夹角越小即两个点离得越近。
找到和你相似的用户之后,我们查询其喜欢的歌曲,发现他喜欢听《Cannon in D》,便推荐这首歌给你。我们发现这种推荐形式更有可能推荐给你不同风格的歌曲,因为大部分用户可能喜欢多种风格的音乐。所以,通过这种算法,可以让两个素不相识的用户产生神交的感觉。
相对于前两种推荐方法,第三种基于Tags的推荐就简单易懂了。比如说我们在云音乐歌曲详情页面看到的“相似歌曲”,就是利用标签来推荐与该歌曲相似的歌曲。这里的标签可以分为两种,一种是歌曲自带的标签,例如歌手、曲风、年代、时长、标题、歌词等。第二种播放器根据歌曲的播放情况后续补充的标签,例如播放量,榜单,评论内容等。通过标签之间的匹配,我们可以很容易找到彼此相似的歌曲。
与陈鸿宇《理想三旬》相似的歌曲
最后一种方法其实也不算是方法,无非就是把之前的几种算法融合一下,比如说网易云音乐首页的“每日歌曲推荐”便是以上几种推荐算法综合的结果。
除了上文提到的推荐算法,对于一个完整的推荐系统,它还包含着一些主动的推荐,例如OGC,即云音乐官方产生内容的推荐,比如你不定期收到的“云音乐小秘书”私信,还有在主页上展现的一些官方的采访和活动。另一部分便是UGC即用户创造的内容,我在文首也提过,云音乐良好的社区文化也促使大量的用户生产优质的内容,我们会在“朋友”Tab栏看到云音乐推荐的用户动态。在OGC与UGC之间还有一部分内容可以称得上PGC,即专业生产内容,比如一些专业的音乐人和音乐达人。还有一部分传统的推荐内容,即各大榜单以及云音乐自己的榜单。
在朋友动态界面推荐其他人的动态
纵观网易云音乐,我们可以看到,推荐的内容无孔不入。这类推荐系统有一个共同的特征,那就是越用越好使,因为随着你使用的深入,软件会积累你大量的用户行为,另一方面,随着数据量的累积,对于云音乐本身,它也在不断改进自己的推荐算法和推荐模型,两方面综合给你带来了“上瘾”的感觉。这也是为什么许多人第一次接触云音乐根本停不下来的原因,因为它总是对症下药。
3.Pandora如何推荐?
文首提到的Spotify和网易云音乐的推荐机制类似,但是Pandora就大不同。在这里要给大家介绍Pandora独有的Music Genome Project计划,可以称作音乐基因组计划。
音乐基因组计划是一个开始于1999年的项目(话说真的好早~),这个是Pandora在线音乐网站的前身。类比人类基因组计划,音乐基因组计划是测试音乐的基因,正如人类基因要比人类的表面特征复杂无数倍,音乐的基因也要比音乐表面上的标签复杂好多倍。根据音乐基因组计划官方网站的介绍,他们提供了450多种标签来区别不同音乐。
这些标签可以细化到一首歌是否有吉他的扫弦,是否有架子鼓,主唱的年龄等等。当然,这些标签必须通过人工分类,所以音乐基因组计划有着一群科学家专门在做音乐的分类工作,根据官方介绍,对一名音乐基因组科学家不仅有知识背景的要求,还要经过多轮测试和训练,才能正式参与音乐基因组工作。对每首歌的处理时间长达20-30分钟,而且对于部分歌曲还会引入第二人双重确认。
这种推荐方式也是基于一种经典的推荐系统算法,即基于content的推荐。要注意区分这里的“内容”指的是音乐所表现的内容,而不是表面的曲风、歌手、年代信息。
Pandora播放界面
一个好消息是,这样一个成本巨大的音乐网站,居然是免费的!一个坏消息是,Pandora的音乐服务只能在美国使用。如果你熟练翻墙技术(主要是得找到美国的VPN),喜欢欧美歌曲,习惯以电台方式听歌,那么Pandora似乎是个不错的选择。
大家会好奇这样的网站是如何盈利的,没错,是广告。当你在享受免费的音乐服务时,你会隔三差五地听到广告,就像广播电台那样,如果不想听,可以,付费呗。当然,面对大多数的免费用户,如何提高广告质量也是重中之重,这就涉及到在广告领域的个性化推荐了,此处不再延伸。
Pandora还有一点,这也算是老美的一种共性,就是对隐私的重视,我们可以看到在Pandora网页下端有隐私政策的跳转链接,其对隐私政策的介绍也十分详尽,它会告诉你它们都采用你的什么信息。我们可以看到,你的IP地址会被获取以供其提供更精准的广告服务。
Pandora隐私政策
所有Pandora电台的建立,都是基于一首歌曲或者一个歌手,根据你对后续歌曲的“喜欢”或者“不喜欢”,推荐符合你口味的歌曲。这种基于人工筛选内容的推荐被命中的概率是机器无法比拟的,但是也会有一个缺点,就是你听到的歌曲基本上风格类似。考虑到这一点,Pandora会允许你创建不同的电台,不同电台之间的歌曲也可以混合播放。
4.中国vs.美国
我发现中美音乐在线音乐播放器有以下几个区别:
首先是付费方式,众所周知在美国版权的重要性,这些歌你在线听没问题,但是要下载的话都得花钱,相比国内的少部分音乐付费,大部分音乐免费的模式,我们还是占了不少便宜。但是国内播放器现在的版权之争也日渐白热化,许多歌手的音乐版权被BAT其中一家垄断,导致我们欣赏音乐的连贯性体验很差。
第二是软件构建逻辑,在云音乐发布之前,酷我、酷狗、QQ音乐等播放器基本上大同小异,云音乐发布之后,一定程度上带来了播放器市场的创新浪潮,电台、歌单、社交化、弹幕等新鲜事物开始出现。在欧美,电台音乐依然是主流的形式,Last.fm和Pandora都是老牌的电台网站,当然Spotify这类基于个性化推荐的音乐播放器也逐渐兴起。
Spotify的构建逻辑和云音乐等软件有区别的是,它是基于播放列表的,每个人可以创建自己的播放列表,也可以查看别人的播放列表,甚至是明星大腕的播放列表(云音乐也有类似的功能)。
Spotify播放界面
第三是广告,要知道国外这些播放器如果不付费,会在歌曲中间插入广告的。这一点国内播放器优势明显,虽然也有广告,但至少不影响我们听歌体验。
总体来看,国外的播放软件无论从内容丰富程度还是体验多样性上都稍逊中国一筹。有时候想想,墙内也有墙内的福。