网易云音乐每日歌曲推荐的原理是什么?

(路人甲:此篇文章是我同步发在知乎的一篇回答,文章中有链接打不开可以点击阅读原文)

 

用过网易云音乐的都知道网易云的每日推荐功能,有时候每日推荐真真确确的能推荐给我们很惊喜的歌,那么这么神奇的每日推荐的原理是什么,你思考过吗?

 

最基本的原理就是在海量的用户数据(行为记录等)中对用户进行划分,对同一群体的用户推荐其余用户喜欢的音乐。

这样说起来很粗糙,这其中的算法很复杂,涉及到具体的推荐算法网易云音乐肯定不会对外公布,但是再厉害的算法都是有建立的基础的,刚好在前几日看到一篇类似的推荐思路,这里可以推荐给大家:个性化推荐算法:为什么网易云音乐推荐歌单那么精准
 

1.给音乐进行归类并建立评分规则

这是我们前面说到的给内容分类,是每个平台推荐前要做好的准备。简单说就是把音乐贴标签,把相同/相似标签的音乐归到一块,所以一首歌可能会被归到多个类别里,比如说同一个歌手的歌、同种曲风或者表达某一个情绪等等。

其次对用户听音乐行为建立评分规则有助于更好分析用户的喜好从而进行更精确的推荐,比如以下行为:

640?wx_fmt=jpeg仅作举例,规则应该根据用户明确的行为来建立
 

2.建立用户模型

制定评分规则后,就可以得到每个用户和该用户相关的每首歌的一个得分,那么根据这些数据就可以给用户建立相应的模型从而为其做精确推荐。640?wx_fmt=jpeg

同为举例随意列的数字

 

3.寻找相似的用户

是时候介绍一下专业的词了,常用的计算相似度评价值的体系有两种:欧几里得距离和皮尔逊相关度。后者有点复杂,这里简单介绍欧几里得距离。

欧几里得距离非常直观,如下图,根据上面得出的评分,我们可以制作二维图,简单明了看出用户在哪个位置,比如 A 用户就与 D 用户距离最近,所以可以给 A 推荐 D 喜欢的歌曲。640?wx_fmt=jpeg

有人说还没看懂,那我说一个简化版本的。你经常听民谣,喜欢的歌曲很大一部分都是民谣,于是网易云音乐把你归到了民谣这个群体。

民谣这个群体里面还有一个人叫赵雷,有一天赵雷听了一首歌叫《成都》并且点了喜欢和收藏,推荐系统发现你并没有听过这首歌,于是在后面的某一天,网易云音乐悄悄的把这首歌放进了你的每日推荐里面,你一听,真好听。

这只是最简单的情况,而网易云音乐的推荐远没有这么简单。

 

随手点点广告、转发到朋友圈、打赏是对路人甲以及原创文最大的支持。