加载中…
正文 字体大小:

漫谈音乐推荐

(2013-01-18 19:28:33)
标签:

个性化

推荐

音乐

分类: 个性化推荐
     音乐是个好东西,每个正常的人都需要!而每个人都在不同程度需要音乐推荐,比如,在google.com.hk上搜索“音乐推荐”,可以找到高达 438,000,000 条结果
      听说阿里收购了虾米网,这是件令人惊奇、也有趣的事情。阿里在电子商务领域有着完美的布局,且一向强调不会去做与电子商务无关的事情。虾米网,作为一家异军突起、以音乐的社区分享为核心网站,也许能通过音乐的SNS给整个阿里带来更多的流量。
    目前,大一些的音乐网站几乎都在过音乐推荐,至于用不用机器算法不得而知。百度音乐正在做推荐,豆瓣听也做了推荐,新浪音乐也做过推荐。从页面展现来看,似乎虾米网也有推荐——当然,不是那么成熟,也不那么“规范”。
    所以,想基于自己的个人在电子商务等方面的推荐心得,来谈谈音乐推荐应该是怎么回事。

一、音乐推荐是很有意思的

    首先,音乐推荐是很有意思的事情!

    以推荐对象分类,包括电子商务网站商品推荐、图书推荐、电影推荐、音乐推荐、团购餐饮推荐等等。从推荐的角度而言,音乐和电影都非常适合做推荐。

    具体而言,具有以下特征的产品都很适合推荐:

 

       条目增长相对稳定:淘宝商品10亿,阿里巴巴中文站商品也有1亿多;而音乐和电影最多也就百万级别;

       能够获得快速反馈:用户对被推荐的对象,容易快速体验并迅速反馈感受;

       稀疏性、多样性和时效性的平衡:音乐和电影,其用户行为相对稠密,多样性也好,时效性没有新闻那么强,也有一定的要求——总之,是相对比较平衡的。

       最重要的,是具有媒体性的产品(Media Product)

     ü  口味(taste)很重要

     ü  有瀑布效应(information cascade)

     你想想,听着音乐、看着电影,又把工作做了,这难道不是一件很让人感到身心愉快的事情么。尤其是,要想做好音乐推荐,算法工程师必须深入、全面的了解音乐的各种分类,甚至去自己去唱一唱,感受一下不同歌曲的旋律和用户感受,成为一个音乐达人——从这个角度,做音乐推荐是很享受的。

实际上,豆瓣网最先实践的三个领域就是图书、电影和音乐。原因如上,这三个领域最容易推荐准确。


 

二、音乐推荐的主要研究内容

从我们的研究方法论而言,要做音乐推荐,主要需要研究三个方面的内容:

(1) 对音乐本身的研究

(2) 对用户的偏好研究

(3) 对音乐和用户的相关性的研究

从研究的方法或者说算法而言,包括:

(1)  基于业务理解的统计分析与数据挖掘

(2) 各种相关性算法:包括文本相关性算法、行为相关性算法

(3)  其他算法:例如,对高维向量进行降权计算相似度的SVD算法等

 

总体而言,音乐推荐的研究,可以用如下图来简单表达:

漫谈音乐推荐

 

1,对音乐的研究-音乐标签库

无论什么对象,首先最重要的就是分类。

以百度音乐为例,其音乐的分类比较简单清晰,包括:

l  热门分类:流金岁月 经典老歌 影视原声日韩 欧美 摇滚 儿歌 对唱 民谣 中国风网络歌曲 轻音乐 天籁 劲爆

l  曲风:慢摇 饶舌 电子 重金属 民谣 乡村 爵士蓝调 氛围 拉丁 另类 摇滚 前卫 古典原生态 民歌 舞曲 英伦摇滚 流行朋克

l  心情:想哭 伤感 思念 寂寞 安静 甜蜜 励志 舒服 怀念 浪漫 唯美 喜悦 深情 美好 平静 怀旧 轻松激情

l  场景:校园 旅行 背景音乐 胎教休闲 分手 白天 午后 夜店 酒吧 咖啡厅 婚礼 热闹 圣诞节 汽车

l  主题:搞笑 NBA TVB 格莱美我型我秀 广告歌曲 游戏 劲舞团 动漫 电视剧 偶像剧韩剧 仙剑奇侠传 武侠 情歌 好听 青春

l  语言&地域:英语 日语 韩语 俄罗斯 印度 泰国 藏歌 法语 闽南语 粤语

l  乐器&音乐:纯音乐 空灵 纯净 钢琴 吉他 提琴 女高音 男高音 男低音 童声

l  年代:红歌 70 80 90后儿歌 古风

    从以上的分类来看,也许普通用户不怎么会去“用”这个分类,但是对于推荐算法而言,分类很重要——因为涉及用户的偏好研究维度。

    另外一种分类方法是根据歌手划分。

l  根据歌手名字的第一个字母

l  华语:男歌手,女歌手,乐队组合

l  欧美:男歌手,女歌手,乐队组合

l  日韩:男歌手,女歌手,乐队组合

l  其他:印度、东南亚、拉丁、北欧、俄罗斯等等

   从虾米网的分类来看,在虾米网首页右侧有其相对粗略的分类:

   语种:国语 粤语 英语 日语 韩语 法语 德语

   地区:大陆 港台 日韩 欧美 印度 泰国

   风格:流行 摇滚 民谣 中国风 蓝调 慢摇 民歌轻音乐

   心情:好听 清新 幸福 寂寞 浪漫 孤单 安静抒情

    但是,虾米网作为一个相对更“专业”的音乐网站,其还有一个更详尽的音乐风格分类,更强调音乐人和消费用户的感知与接受度。

    比如,虾米网的音乐风格概览(分类)如下:

    漫谈音乐推荐


 

    仅粗略看看,也会觉得虾米网的分类更详尽、专业。

    拔高一些看,对于音乐,需要有很多标签描述,分类也只是一类标签。

比如,从虾米网可以看出,把标签分为三大类(艺人标签库、专辑标签库和歌曲标签库),具体如下(http://www.xiami.com/music/hottags):

 

Ø  艺人标签库

欧美 (42912) 女声 (42109) 日本 (41402) 民谣 (26490) 纯音乐 (25119) Jazz (17896) 好听 (15855) J-POP (14822) 电子 (14709) 清新 (14688) 摇滚 (14306) 钢琴 (14032) 小清新 (13985) 华语 (13868) ACG (13699) 英伦 (12693) post-rock (12631) Rock (12369) Electronic (12184) 经典 (11286) 男声 (11160) 迷幻 (10195) indie (9935) 台湾 (8786) 治愈系 (8730) New Age (8479) 中国摇滚 (8076) 动漫 (7883) Pop (7732) 東方Project (7422) OST (6980) Jazz-hiphop (6913) 同人音乐 (6632) 韩国 (6599) 古典 (6550) Folk (6497) 舒服 (6214) 英伦摇滚 (5946) 配乐大师 (5860) 后摇 (5733) 爵士 (5713) K-POP (5316) 电音 (5210) 独立 (4991) 吉他 (4860) 安静 (4850) Hip-Hop (4736) 电影配乐大师 (4706) 小提琴 (4364) nico歌い手 (4217) 声优 (4197) 古风 (4164) 中国风 (3764) 乡村 (3508) 慵懒 (3460) Trip-Hop (3456) 哥特金属 (3426) 配乐 (3349) Brit-pop (3334) ニコニコ (3224) 粤语 (3219) J-ROCK (3178) 香港 (3122) Punk (3057) 金属 (2792) 电影原声 (2775) Piano (2744) 新古典 (2716) 重金属 (2714) Soul (2712) 吉他大师 (2607) 法国 (2476) 怀旧 (2454) Rap (2437) 把音乐还给音乐 (2433) 黑金属 (2389) 流行 (2369) 爱尔兰 (2328) 大提琴 (2258) DJ (2235) 德国 (2218) 法语 (2129) 美国 (2050) black (2047) 轻音乐 (2043) 节奏 (2039) 民乐 (2027) R& (2016) 空灵 (1999) Classical (1898) vocaloid (1881) 新世纪 (1799) 声優 (1798) 瑞典 (1787) 爵士女伶 (1696) Alternative/Indie Rock (1680) 同人音楽 (1627) 哥特 (1589) Hard Rock (1579) 

Ø  专辑标签库

OST (27370) 日本 (20744) 纯音乐 (17692) 欧美 (17334) 电影原声 (17122) 女声 (14168) ACG (11537) Jazz (10460) 钢琴 (10248) 好听 (9529) 東方Project (9059) 动漫 (8324) 民谣 (7921) 经典 (7420) 古典 (7335) post-rock (6107) 电子 (6091) 华语 (5445) J-POP (4922) Electronic (4909) Rock (4564) 2012 (4180) 小提琴 (3792) 小清新 (3702) 清新 (3598) Jazz-hiphop (3588) 台湾 (3538) New Age (3475) 吉他 (3238) indie (2963) 韩国 (2938) 治愈系 (2885) 轻音乐 (2877) 摇滚 (2824) vocaloid (2740) 安静 (2705) 周杰伦 (2700) 舒服 (2611) 新世纪 (2465) 中国摇滚 (2365) 迷幻 (2360) 爵士 (2357) 电音 (2346) 男声 (2273) VOCALOID (2266) 同人音楽 (2211) 英伦 (2172) 后摇 (2154) Pop (2126) 好旋律。 (2072) 同人音乐 (2040) 古风 (2021) 陈奕迅 (1979) 怀旧 (1897) Folk (1890) 中国风 (1793) 大提琴 (1774) 古琴 (1748) Piano (1727) nico歌い手 (1661) 五月天 (1575) 曲婉婷 (1546) 游戏原声 (1540) 声优 (1510) 夜的钢琴曲 (1504) Adele (1495) Lounge (1457) drama (1442) K-POP (1438) Anime (1432) 久石让 (1412) 音乐剧 (1403) 民乐 (1395) 初音ミク (1383) 英伦摇滚 (1369) 香港 (1336) 日本动漫 (1322) 梶浦由記 (1317) 原声 (1295) Soundtrack (1293) ニコニコ (1292) Live (1282) 少年派的奇幻漂流 (1232) piano (1165) Taylor Swift (1138) Green Day (1128) 粤语 (1099) 同人 (1085) 钢琴曲 (1061) C83 (1054) Brit-pop (1038) jazz (1037) 日语 (1014) classical (983) 独立 (968) 石进 (965) 孙燕姿 (962) Trip-Hop (958) 卢广仲 (937) 

Ø  歌曲标签库

欧美 (10224) 纯音乐 (8226) 女声 (7160) 好听 (6154) 日本 (5641) ACG (4004) 华语 (3819) 经典 (3485) OST (2641) 动漫 (2549) 小清新 (2518) 清新 (2478) 民谣 (2471) 安静 (2386) 舒服 (2017) J-POP (2006) 男声 (1949) 钢琴 (1839) post-rock (1831) Jazz (1782) 摇滚 (1715) 节奏 (1551) 抒情 (1471) 東方Project (1434) 流行 (1409) 英文 (1388) 粤语 (1384) 电子 (1333) 治愈系 (1330) 轻快 (1268) Pop (1247) 电影原声 (1223) 英伦 (1180) 古风 (1071) 迷幻 (1036) Rock (1036) 陈奕迅 (934) 轻音乐 (934) 治愈 (861) indie (854) 后摇 (778) 怀旧 (748) Electronic (727) 日语 (704) mjymjy的净化器 (698) 古典 (688) 中文 (680) 韩国 (677) 欢快 (672) 慵懒 (648) 舒缓 (642) 周杰伦 (631) Jazz-hiphop (627) 爵士 (625) 温暖 (612) 吉他 (611) K-POP (595) 独立 (576) 小守 (576) 优美 (555) 中国风 (552) 中国摇滚 (539) 五月天 (529) 法语 (507) 台湾 (488) C (462) 悠然自在 (449) 电音 (446) 曲婉婷 (444) 同人音乐 (443) 深情 (441) 忧伤 (437) (437) Post Rock (431) Taylor Swift (430) New Age (423) 老歌 (411) 王菲 (405) 小提琴 (404) 同人 (402) 喜欢 (398) KTV (390) 英伦摇滚 (385) 伤感 (385) Adele (373) Indie Rock (369) K (368) 莫文蔚 (360) 安静 纯净 (360) vocaloid (345) 慢热的激情 (340) 英语 (337) Folk (335) 金属 (334) 香港 (329) 苏打绿 (328) Hip-Hop (322) 1 (322) 空灵 (320)

 在这里,对音乐打上各种各样的标签,工作量相当巨大。

1)在最初始时,可能需要去别的音乐网站爬一些已知音乐的标签数据

2)其后,可以根据统计分析、聚类算法给音乐打上各种各样的标签

  3)最后,也是最强有力的方式,就是人工判别,对前两种方法的结果查漏补缺,形成最终结果。

 

2,对用户的研究-用户偏好知识库

    对用户的研究,也就是对音乐听众的研究。

     在构建出一个完善的音乐标签体系库的基础上,可以快速构建一个用户偏好知识库。具体方法,多用统计分析、数据挖掘等较为常规的算法。

    在用户兴趣向量模型的建立中,主要考虑4个原则:

   1)原则1:考虑时间衰减

          漫谈音乐推荐

   2)原则2:考虑不同行为的权重等等

 

       查看

       收藏

       收听

       分享评价

3)原则3:用户对物品的兴趣会随时间发生改变

      年龄增长:青年->中年

      生活状态变化:学生->工作

      社会热点影响:北京奥运会

4)原则4:季节效应的影响

    如下图,不同的电影,在不同季节受用户欢迎程度也有所不同。

     漫谈音乐推荐


 

3,音乐的相关性计算

    既然是做推荐,最核心的工作当然还是相关性算法。
    首先,基于音乐的标签体系,用content-based算法计算不同音乐之间的文本相关性。这个算法结果,可以用于音乐推荐的冷启动。
    但是,和电子商务推荐类似,行为相关性的效果一般都好于文本相关性。因此,还需要使用item-based KNN等算法,构建[用户,音乐,分数]矩阵,然后计算不同音乐之间的行为相关性。

    同样的,考虑音乐具有相当的流行性,因此根据综合行为数值,计算音乐的排行榜也至关重要。可以细分为周排行榜、月排行榜,以及根据多种分类的细分排行榜。

    以上都是相对传统更多音乐推荐思路与方法。

    老实说,光是把这个体系搭建完成、投入商业应用,就需要花费较长期的过程,还需要基于业务需求不断完善具体的推荐策略——实现在何时的场景、使用何时的推荐策略与算法、向具体某个用户推荐何时的音乐内容。

    国外一些音乐网站,也在尝试一些更高端、复杂的音乐相关性算法。具体而言,就是使用某种算法,将音乐标记为一个高维向量,然后使用SVD等算法计算不同音乐之间的相似度。不过,这种方法有许多问题:(1)将音乐标记为高维向量,使用什么算法标识,需要做大量的探索与尝试;(2)SVD算法的计算量很大,在商业应用上存在一定的制约,效果也需要反复尝试降维到多少维比较合适。


4,用户意图识别

人往往是最复杂、多变和难以捉摸的!
   一首同样的音乐,在心情好的事情听,是心灵鸡汤的正能量;在心情不好的时候听,也许就是一首悲催的伤感倾诉。
    我们需要分析识别出当前用户的意图。用户的心情是欢乐的、还是伤感的、甚至悲伤的。并且,用户是否有意愿去走出悲伤——如果有意愿,适当推荐一些适当欢快的音乐,否则只能迎合用户推荐一些伤感的音乐。

 

5,音乐推荐策略知识库

    音乐是一种艺术!如果如前面而言,一个工科毕业的算法工程师通过一些机器算法就能满足推荐的“精准、多样性和新奇性”,那显然不那么现实,不可能看上去那么美。

    就如国外评价苹果公司的成功:苹果的员工,本身就是文学家、音乐家、地理学家甚至历史学家,当然他们另外也是非常厉害的计算机工程师。

    用户体验良好的音乐推荐,就是要:实现在何时的场景、使用何时的推荐策略与算法、向具体某个用户推荐何时的音乐内容。


 

三、其他关键技术问题

     正如豆瓣的杨勃(阿北)所言,至于算法本身,在任何领域里,超出基本的普通推荐算法之后,就没有亢龙有悔一招打遍天下的东西。可以说全是细节。这个是不断积累、观察、学习、创造的过程,而且每天在持续变化。做推荐是在一条没有终结的马路上一边攒车一边开车,教科书、论文里的东西都是基本的零件,中间碰到各种奇奇怪怪的算法都可能被捡起来装到车上。

1,聚类音乐服务专题

    多数音乐网站,都会将某些维度相似的音乐组织在一起,形成不同的专题。这个工作,可以完全由运营人员完成。但是,更建议使用算法将音乐先尝试做聚类,让运营人员在此基础上进一步组织完善。

2,关于人的推荐

     物以类聚,人以群分。音乐爱好者们,往往喜欢扎堆。根据一些算法(比如user-based),向用户推荐其可能按兴趣的好友,从而在音乐的喜好基础上,构建出SNS网络,能够更有效的留住用户、提升用户体验。

3,热门音乐推荐

最好不要只是简单的排行榜,还要能够结合社会热点,比如各种政治经济文化等大事件。

4,兴趣广泛的用户更难推荐

某个豆瓣音乐听众表示:“没用以前还不明白为啥有那么多人听豆瓣,用了之后就不得不佩服它推荐的音乐非常符合我的口味,收藏的音乐越多,它推荐越精准,就像鞋子一样越穿越合脚。不过,要是收藏太多音乐的话,准确性就会有所下降,可能这时候,连你自己都不知道自己究竟喜欢哪类音乐了,更何况是个软件。”

如上所言,如果用户的兴趣过于宽泛,也许连自己都不知道自己最喜欢哪类音乐,勿论机器和算法?!

因此,对于兴趣图谱比较狭窄的用户,推荐才可能最精准。

另外,推荐系统如果能侦测到当前用户的偏好类别,也能够大大缩小推荐对象的范围,提升精度。

 

5,热闹的音乐社区更有利于做好推荐

    构建一个成熟、热闹的音乐社区,能够获取大量的用户行为数据,基于这些数据,能够尝试各种音乐推荐策略。比如,有人失恋了,心有不甘,就在社区中看前恋人在听什么样的歌,猜测他们此时的心情。

 

6,创造尽可能多的用户行为显示收集用户喜好

    除了用户收藏、收听音乐,还可以有更多的用户行为吗?当然,对于音乐而言,喜欢与否只需要也许30秒!喜欢就给个“红心”,不喜欢就给个“垃圾”,没感觉也可以“跳过”。

7,用户因素引入到推荐中

    如果能够收集到一些用户自身数据,可以用于推荐中。比如,用户血型代表用户的性格倾向,可以用于推荐;用户星座也可以用于音乐选择中。

8,用户之外的外在因素

   你对一首歌是否喜欢听,取决于很多因素,比如环境安静还是嘈杂,今天天气晴朗还是乌云,你心情是否舒畅,甚至用户当前所处地域。

比如,如果在新疆则推荐刀郎,在拉萨则推荐藏语歌手的歌曲,冬季在海南推荐一些欢快的歌曲。

再比如,阴雨连绵时推荐一些和雨有关的音乐;阳光灿烂的周日早晨,推荐摇滚或者高频音乐。

四、个性化推荐流程

     推荐的流程,无论音乐电影还是商品,基本都是一样的。不过,对于音像电子产品,因为时效性比较强,有一些特殊的处理方式。

    以下简要分析豆瓣音乐的实现方式,来阐述音乐推荐的流程。

    1)豆瓣会计算和每首歌最近似的歌曲集合,使用item-based KNN即可;

2)豆瓣会为每个用户维护一个线性的播放列表,可以基于item-base KNN + user-based KNN混合构建;

3 每当用户对一首歌曲给出正向反馈(标识“红心”),系统会取出与这首歌相似的歌曲列表中的几首,插入用户当前的播放列表(歌曲的特殊性导致用户在具体某一时刻,只能体验具体一首歌曲)。

4)如果一个用户给出负向反馈,系统会从这个列表中删除那些与这首歌相关性高的歌曲:建议先基于item-basedKNN删除;如果用户再次删除,需要分析一下是否删除的都是同一曲风风格的歌曲,如果是则删除后续所有该曲风的歌曲;如果用户继续删除,还需要进一步分析,这些歌曲是否是来自歌手或组合,如果是则删除所有来源相同的歌曲。

    显然,在这里系统要能够支持实时的数据分析与推荐结果的线上调整。

    5 豆瓣实现了自更新模块,主要依赖于内部的自动配置协议,能够动态的配置新算法或者一个算法的参数,同时分配一定比例的用户给一个新的推荐模块(也就是动态AB测试)。在进行评测之后,再自动的进行调整。 这个实现倒也不难,但是工程量有点大。

         6)时间因素:豆瓣似乎会根据当前的时间来推荐不同的歌曲,例如在工作时间会倾向于推荐一些较为柔和的歌曲;晚间8点推荐一些比较欢快活波甚至激昂的音乐,接近凌晨则推荐一些音域宽广的音乐。

 

五、潘多拉:音乐推荐中的亚马逊

     2011年上市的美国高科技公司中,在线音乐电台服务提供商潘多拉是最耀眼的明星之一。作为第一个以"收费在线音乐服务"概念上市的公司,潘多拉给正逐渐衰落的音乐产业带来了一丝曙光。人们在以潘多拉为代表的众多在线音乐电台身上,看到了互联网科技和音乐产业重新拥抱的希望。

    正如一家人因为某些基因相同长相和行为会相似一样,潘多拉基于遗传学利用某些音乐的相似之处向用户推荐。表面上看起来,潘多拉是基于产品推荐,但是它的创新之处在于,音乐产品的相似性是通过"基因"组成来衡量的。

    在潘多拉算法中,根据每一首歌都有400种不同的属性,聘请一位音乐学家,使用20分钟给这首歌的所有可能的属性打分。这样一来每一首歌都被一组数标记了属性。潘多拉的目标是建立一个包含所有歌曲的数据库,称之为"音乐基因组计划"。而推荐算法的原理是,如果你表示喜欢一首歌,程序会自动寻找跟这首歌的"基因"相同的歌曲,并猜你也会喜欢。随着播放的进行你可以随时表示喜欢或是不喜欢一首歌,程序会通过网络自动提供各种你可能喜欢的歌曲。

    潘多拉的独到之处在于它完全可以根据一首歌的本身属性探究音乐相似性背后的因素,不需要了解用户的喜好就可以把用户黏住,真正实现了通过技术向用户智慧地推荐音乐。

    随着"基因"概念的普及,人们很自然的想到,可不可以把这种推荐方法应用于其他产品呢?比如图书,视频,电影,食物等等。这时,"标签"就发挥了作用。

    但是,潘多拉的投入成本是巨大的,每首歌400种不同的属性,聘请大量的音乐学家来人工鉴定上万首歌,这对很多企业来说并不轻松。

 

 




 

 

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有