网易首页 > 网易号 > 正文 申请入驻

懂你的不是网易云音乐们,而是这套神奇的算法

0
分享至

为什么总是网易云音乐最懂你?网易云音乐的歌单推荐算法是怎样的呢?最近有很多人关心这个问题。调查了一些网易云音乐的重度患者,带你来看一些路过大神的精辟分析。

文/pmcaff产品经理沙龙

分 析 一

“商品推荐”系统的算法( Collaborative filtering )分两大类:

第一类,以人为本,先找到与你相似的人,然后看看他们买了什么你没有买的东西。这类算法最经典的实现就是“多维空间中两个向量夹角的余弦公式”;

第二类, 以物为本直接建立各商品之间的相似度关系矩阵。这类算法中最经典是'斜率=1' (Slope One)。amazon发明了暴力简化的第二类算法,‘买了这个商品的人,也买了xxx’。

我们先来看看第一类,最大的问题如何判断并量化两人的相似性,思路是这样。

例子:有3首歌放在那里,《最炫民族风》,《晴天》,《Hero》。

A君,收藏了《最炫民族风》,而遇到《晴天》,《Hero》则总是跳过;
B君,经常单曲循环《最炫民族风》,《晴天》会播放完,《Hero》则拉黑了


C君,拉黑了《最炫民族风》,而《晴天》《Hero》都收藏了。


我们都看出来了,A,B二位品味接近,C和他们很不一样。

那么问题来了,说A,B相似,到底有多相似,如何量化?

我们把三首歌想象成三维空间的三个维度,《最炫民族风》是x轴,《晴天》是y轴,《Hero》是z轴,对每首歌的喜欢程度即该维度上的坐标,并且对喜欢程度做量化(比如: 单曲循环=5, 分享=4, 收藏=3, 主动播放=2 , 听完=1, 跳过=-1 , 拉黑=-5 )。

那么每个人的总体口味就是一个向量,A君是 (3,-1,-1),B君是(5,1,-5),C君是(-5,3,3)。 (抱歉我不会画立体图)

我们可以用向量夹角的余弦值来表示两个向量的相似程度, 0度角(表示两人完全一致)的余弦是1, 180%角(表示两人截然相反)的余弦是-1。

根据余弦公式, 夹角余弦 = 向量点积/ (向量长度的叉积) = ( x1x2 + y1y2 + z1z2) / ( 跟号(x1平方+y1平方+z1平方 ) x 跟号(x2平方+y2平方+z2平方 )

可见 A君B君夹角的余弦是0.81 , A君C君夹角的余弦是 -0.97 ,公式诚不欺我也。

以上是三维(三首歌)的情况,如法炮制N维N首歌的情况都是一样的。


假设我们选取一百首种子歌曲,算出了各君之间的相似值,那么当我们发现A君还喜欢听的《小苹果》B君居然没听过,相信大家都知道该怎么和B君推荐了吧。

第一类以人为本推荐算法的好处我想已经很清楚了,那就是精准!代价是运算量很大,而且对于新来的人(听得少,动作少),也不太好使,所以人们又发明了第二类算法。

假设我们对新来的D君,只知道她喜欢最炫民族风,那么问题来了,给她推荐啥好咯?

第二类算法的好处大家也看出来了,简单粗暴好操作(也适合map-reduce),可精度差了点。

所以,各家网站真正的推荐算法,是他们在综合上述两类算法的基础上,各自研制并且不断地改进调节的,外人不得而知!

多谢 @刘彦彬 给了一个非常专业的评论 ,不贴出来可惜了。

“这个只能说是理论基础。歌曲不考虑热门冷门,同时不考虑用户数和歌曲数计算复杂度的话第一一天内离线数据计算不完的(当然网易云音乐用户量小全量暴力计算当我没说),实际应用起来复杂很多了。现在的推荐系统并不存在一种算法通吃,除了算法上的问题,还需要考虑基础数据的影响因素,比如两张歌单有多少歌曲重合,歌单的质量是怎么样的。”
“向量夹角余弦” 解决的是“量化顾客口味相似度”的问题(是最经典的解法,也有别的解法),不是有了它就能轻易实现第一类算法的,难处在后面。

继续第一类算法的话题,目标“每日歌曲推荐”(其实题主感兴趣的是这个吧,旁边‘根据你喜欢的xxx推荐的yyy歌单’我觉得不咋样)

首先就是如何定维度。直接用‘歌’当维度是不行的,第一是太多了算不过来,第二维度数一直猛涨也不是个事。

用‘歌单’或者‘专辑’,‘演唱/演奏者’呢?也有类似的困难。说到这里大家应该都意识到了,咱不是还有‘tag’嘛!

云音乐初期,tag是可以由大家自己填的,我记得我填过‘莫扎特’,‘钢协’,‘交响’这样的tag,现在都不见了吧。一段时间之后,tag无法自填了,只能从云音乐给的tag lib中选,这肯定有原因的。

我的推测就是,他们需要用tag来当作维度,所以不希望tag数经常变化。

第一阶段,他们需要搜集用户的输入来做出tag lib。

第二阶段,他们构建了多维度空间,就不希望再动维度了,因此关闭了自填tag的功能。

假设就用tag做为维度,那么第二个难处在于,维度上的'刻度'必须有正有负才好使,用户没有机会直接表达对tag的好恶(不能收藏,播放,跳过一个tag),如何定刻度呢。

我认为每一首歌背后是有其所属tags这个属性的,这个属性在UI上看不到很可能是因为比较容易引起口水。

歌往往隶属于很多歌单,而那些歌单都是有tags的,根据那些歌单的播放数收藏数分享数可以决定其“权威性”,取“权威性”高的歌单的tag,就可以得到每首歌的tag属性。

然后用户在表达对一首首歌的好恶的时候,其实就不知不觉地影响了他在相应维度上的刻度。

假设维度和刻度都这样解决,那么我们可以对每个用户做出“口味向量”了,接下来的难处是,啥时候算/如何保存“用户相似性”?所有用户两两算一下相似性,存为一个NxN的矩阵,这种事情不是闹这玩的。

其实到了这一步,不考虑‘以人为本’,直接根据我喜欢的tag,从各tag里挑一些人气高的,或者蹿升快的歌来推荐也算是能交差了。

不过那样的话,就容易同质化,也就不易让用户‘惊艳’了。让我们继续沿着第一类算法的思路琢磨琢磨。

多维度空间还有一大好处是,有‘像限’这种的概念,比如我们可以粗暴地假设,和我同一个像限的人,就是和我‘相似’的人,如果因为维度太多,或者初期用户太少等原因找不到同像限的人, 还可以去‘相邻’的像限找嘛。

OK,假设我们根据tag以及自己的象限,找到了一批和自己‘气味相投’的人。再丛这批人中,选几个‘和我夹角余弦’最大(再综合一下个人名声比如星标,粉丝数,和我的互动度等,更好)的人,从他们听过而我没听过的歌中,再选一批他们喜欢,或者他们新听到,新收藏,或者总人气高的等等,就可以说是“根据我的口味生成”的“每日歌曲推荐”了。

分 析 二

这里我想给大家介绍另外一种推荐系统,这种算法叫做潜在因子(Latent Factor)算法。

这种算法是在NetFlix(没错,就是用大数据捧火《纸牌屋》的那家公司)的推荐算法竞赛中获奖的算法,最早被应用于电影推荐中。我下面仅利用基础的矩阵知识来介绍下这种算法。

这种算法的思想是这样:每个用户(user)都有自己的偏好,比如A喜欢带有小清新的、吉他伴奏的、王菲等元素(latent factor),如果一首歌(item)带有这些元素,那么就将这首歌推荐给该用户,也就是用元素去连接用户和音乐。每个人对不同的元素偏好不同,而每首歌包含的元素也不一样。我们希望能找到这样两个矩阵:

一、用户-潜在因子矩阵Q,表示不同的用户对于不用元素的偏好程度,1代表很喜欢,0代表不喜欢。比如下面这样:

二、潜在因子-音乐矩阵P,表示每种音乐含有各种元素的成分,比如下表中,音乐A是一个偏小清新的音乐,含有小清新这个Latent Factor的成分是0.9,重口味的成分是0.1,优雅的成分是0.2……

利用这两个矩阵,我们能得出张三对音乐A的喜欢程度是:张三对小清新的偏好*音乐A含有小清新的成分+对重口味的偏好*音乐A含有重口味的成分+对优雅的偏好*音乐A含有优雅的成分+……

即:0.6*0.9+0.8*0.1+0.1*0.2+0.1*0.4+0.7*0=0.69

因此我们队张三推荐四首歌中得分最高的B,对李四推荐得分最高的C,王五推荐B。

如果用矩阵表示即为:

下面问题来了,这个潜在因子(latent factor)是怎么得到的呢?

由于面对海量的让用户自己给音乐分类并告诉我们自己的偏好系数显然是不现实的,事实上我们能获得的数据只有用户行为数据。我们沿用 量化标准:单曲循环=5, 分享=4, 收藏=3, 主动播放=2 , 听完=1, 跳过=-2 , 拉黑=-5,在分析时能获得的实际评分矩阵R,也就是输入矩阵大概是这个样子:

和实际的评分矩阵不要相差太多,也就是求解下面的目标函数:

这里涉及到最优化理论,在实际应用中,往往还要在后面加上2范数的罚项,然后利用梯度下降法就可以求得这P,Q两个矩阵的估计值。这里我们就不展开说了。例如我们上面给出的那个例子可以分解成为这样两个矩阵:

这两个矩阵相乘就可以得到估计的得分矩阵:

将用户已经听过的音乐剔除后,选择分数最高音乐的推荐给用户即可(红体字)。

在这个例子里面用户7和用户8有强的相似性:

从推荐的结果来看,正好推荐的是对方评分较高的音乐:

(本文系转载仅代表作者观点,侵删)

热门

“现金贷”产品的获客之道,纯干货分享 逐条解读现金贷新规

中国现金贷突袭东南亚,同行才是最大对手

招行要做金融科技银行,平安要做科技公司

大圣数据独家产品:

火眼名单集成国内多家大型网络借贷业务平台,与市场上常见的泛黑名单不同,火眼名单提供的是纯净M2不良借款,为放款机构提供风控参考依据。

火眼逾期宝:集成国内多家大型网络借贷业务平台,纯净逾期记录,为放款机构提供风控参考依据。

火眼常贷客:基于大圣数据平台数百家机构用户的业务访问,挖掘统计当天、近3、7、15、30、60、90天的实用报告,信息即时更新。

祥云比对:通过对用户多维度数据的交叉比对,多层次校验用户信息的真实性和用户当前状态的可信度。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
火箭一夜4消息!两大名记看好超47.5胜,杜兰特利好+魔鬼开局曝光

火箭一夜4消息!两大名记看好超47.5胜,杜兰特利好+魔鬼开局曝光

锅子篮球
2026-08-15 11:18:57
费兰·托雷斯5000万欧转会巴黎圣日耳曼

费兰·托雷斯5000万欧转会巴黎圣日耳曼

浮萍足球
2026-08-16 01:07:12
一个家庭最大的灾难是:夫妻到了六十岁,还处于这两种状态

一个家庭最大的灾难是:夫妻到了六十岁,还处于这两种状态

心理观察局
2026-06-22 07:17:31
伺候瘫痪岳母17年,她刚走,老婆提离婚,我同意,出民政局她傻了

伺候瘫痪岳母17年,她刚走,老婆提离婚,我同意,出民政局她傻了

磊子讲史
2025-07-11 15:45:31
罗马诺:纽卡3500万欧签下德迪奇

罗马诺:纽卡3500万欧签下德迪奇

伟少说球
2026-08-16 00:07:53
想“征服”一个五六十岁的女人,别送礼,别打电话,而是这样!

想“征服”一个五六十岁的女人,别送礼,别打电话,而是这样!

朗威谈星座
2026-08-14 07:54:53
美国不拦,中俄拦不住日本拥核,但既然拦不住,就没必要打嘴皮子官司,他做初一我们做十五?

美国不拦,中俄拦不住日本拥核,但既然拦不住,就没必要打嘴皮子官司,他做初一我们做十五?

扶苏聊历史
2026-08-14 11:43:32
曼联5-4点球险胜后再遇旧帅!阿莫林率AC米兰反戈,卡里克迎最后热身考

曼联5-4点球险胜后再遇旧帅!阿莫林率AC米兰反戈,卡里克迎最后热身考

快乐加载中21
2026-08-15 21:25:59
当年抢破头,如今没人要?这7样“神物”的崩盘,你踩中了几个?

当年抢破头,如今没人要?这7样“神物”的崩盘,你踩中了几个?

阿莱美食汇
2026-08-09 09:25:55
郭台铭出轨50岁离异带娃舞厅女,一周三次别墅约会,女方钟爱短裙

郭台铭出轨50岁离异带娃舞厅女,一周三次别墅约会,女方钟爱短裙

全球时尚号
2026-08-14 19:46:03
历史不会重演,但会惊人相似:中国房地产极可能重走2015年老路?

历史不会重演,但会惊人相似:中国房地产极可能重走2015年老路?

混沌录
2026-06-08 23:38:31
高市早苗向靖国神社供奉祭品

高市早苗向靖国神社供奉祭品

界面新闻
2026-08-15 07:21:03
悲哀!10人小群里剩自己“干净”,30岁女生称身体忠于丈夫被孤立

悲哀!10人小群里剩自己“干净”,30岁女生称身体忠于丈夫被孤立

番外行
2026-05-20 08:19:19
只给名分!C罗结婚财产协议曝光,C罗10亿美元资产与乔治娜完全切割

只给名分!C罗结婚财产协议曝光,C罗10亿美元资产与乔治娜完全切割

喜欢历史的阿繁
2026-08-15 08:49:55
17岁少年从确诊到离世仅一个半月!以为是肠胃炎,一查竟是癌症晚期!医生痛心提醒→

17岁少年从确诊到离世仅一个半月!以为是肠胃炎,一查竟是癌症晚期!医生痛心提醒→

福建卫生报
2026-08-15 19:45:32
普京被欧盟逼到墙角,扭头就在亚太点了把火,这火是烧给中国看的

普京被欧盟逼到墙角,扭头就在亚太点了把火,这火是烧给中国看的

浯江孤舟
2026-08-15 09:40:36
中企拆完设备刚走,印尼矿工烧了国企大楼,局势已完全失控

中企拆完设备刚走,印尼矿工烧了国企大楼,局势已完全失控

流史岁月
2026-08-15 11:52:02
伏明霞一家五口参加晚宴,48,岁的她完全富婆样,23,岁大女儿似明星

伏明霞一家五口参加晚宴,48,岁的她完全富婆样,23,岁大女儿似明星

何嗀爱捕渔
2026-08-14 19:41:34
预售33.99万元起 FREELANDER神行者8开启预售

预售33.99万元起 FREELANDER神行者8开启预售

太平洋汽车
2026-08-14 22:49:25
比没钱更糟糕!郑爽美国近况被曝,经济状况被扒,这辈子再难翻身

比没钱更糟糕!郑爽美国近况被曝,经济状况被扒,这辈子再难翻身

娱瓜酱
2026-08-14 14:56:30
2026-08-16 01:32:49
大圣数据金融
大圣数据金融
金融行业最前沿的分析与咨询
131文章数 20关注度
往期回顾 全部

头条要闻

"榜一大哥"打赏女主播超千万要求陪睡 女方拒绝被起诉

头条要闻

"榜一大哥"打赏女主播超千万要求陪睡 女方拒绝被起诉

体育要闻

体系球员与体系本身

娱乐要闻

宋慧乔晒自拍照 微笑拍照心情佳

财经要闻

便利蜂加盟遭立案:"0元加盟"生意被查

科技要闻

600亿美元收购落地 马斯克正式杀入

汽车要闻

杨洋成001号车主 岚图追光S正式上市

态度原创

艺术
家居
亲子
旅游
数码

艺术要闻

细思极恐!这30张创意照片,看懂一半算你厉害,全看懂的都是有故事的人!

家居要闻

2026建博会(广州) 公装联探展交流活动

亲子要闻

奥特百宝罐之软胶赛罗

旅游要闻

太行山铺开漫天橘色霞光

数码要闻

AI热潮加剧供应紧张,显卡短缺或推高PC价格

无障碍浏览 进入关怀版