网易云音乐推荐算法分析

近年来,网易云音乐作为一匹黑马迅速在移动音乐app占据市场,2016年用户量就突破了2亿,而这与它优质的推荐系统必不可分。

当今,在这个信息爆炸的时代,我们可以接触到庞大浩瀚的网络资源,极大地便利了我们的生活。但是,通常情况下,用户不清楚自己的需求,不能归纳自己的兴趣爱好。而网易云音乐认识到了这个用户痛点,帮助用户发现自身的兴趣偏好,实现了智能个性化推荐,成为现代很多人们日常生活不可缺少的精神伴侣。

下面我将从网易云音乐的推荐分析、推荐算法分析、以及对推荐模块的建议三个部分展开论述。

一. 网易云音乐推荐分析

1. 各推荐模块介绍

(1)私人FM: 私人FM采集用户收藏歌单数据,收集用户听歌口味,以单曲形式推荐给用户。用户在界面左/右滑可以切换歌曲,左下角有垃圾桶标志,可删除当前歌曲让其不再出现在私人FM和每日推荐中。

(2)每日推荐:根据用户收藏歌单和播放的音乐大数据预测用户喜爱的音乐类型,并于每日凌晨6点推荐20首歌。

(3)推荐歌单:通过采集用户收藏歌单等用户偏好行为,每日推荐六个歌单。

(4)推荐视频:系统记忆用户点开的视频类型,并向用户推荐相似类型的视频。


2. 网易云音乐做四种推荐的原因分析

原因1:留住新用户

每日推荐时采集的用户收藏歌单和听歌记录记录,但是在新用户刚使用该网站时,系统并没有他的行为数据;系统获取该用户的音乐偏好资源不够,预测准确率低。

而私人FM成为一种很好的补充,增加了删除键,便于系统采集用户的音乐偏好。它改善了数据稀疏导致的冷启动,从而提高用户成为长期客户的可能性。

原因二:体验感由浅入深

每日推荐于每日六点向用户推送20首歌曲,让用户尊享一种音乐VIP定制的感觉。但是用户在听完这每日推荐后,还想有更多的音乐体验,这时候推荐歌单、私人FM,视频推荐就可以提高用户体验感。

原因三:扩大覆盖人群

相对于每日推荐,私人FM,视频推荐,推荐歌单里推出的是网易云音乐系统内的音乐制作人,DJ,或大部分的听歌用户的自建音乐单,极大地调动了用户创作歌单的积极性。

更重要的是,用户看到自己喜欢的歌单,可以关注建立歌单的用户,关注他的动态,这建立了一个良好的社交氛围网络,从而也会吸引其他未入驻用户加入该社交网络。


二. 推荐算法分析

推荐主要是基于用户过去的兴趣和行为对用户提供有价值的信息

根据系统日志可以提取的特征主要包括以下三类:用户的特征、歌曲的特征、用户对歌曲的行为特征。

(1)用户的特征:用户的性别、用户的年龄、用户地理位置等;

(2)歌曲的特征:歌曲和它对应的推荐源歌曲的热度值、语种、流派、年代、主题、场景等;

(3)行为特征:歌曲对应的歌手(语种、流派、年代、主题、场景)被切歌、垃圾桶、完整听歌、收藏占比,歌曲对应的推荐源歌曲操作类型(收藏、下载、分享、完整听歌、设置背景音乐、识曲、搜索、购买),用户收听该歌曲的时间等。

网易云音乐的推荐模块流程如下


目前流行的音乐推荐算法主要分为协同过滤推荐算法,基于内容的推荐算法,混合推荐算法。随着AI技术的发展,深度神经网络的应用也对音乐推荐做出了巨大贡献,从而创造更精确的推送。

1. 协同过滤推荐算法

基于协同过滤推荐算法分为基于用户的协同过滤基于商品的协同过滤。对应为俗话说的“人以群分”,“物以聚类”[1][2]

(1)基于用户的协同过滤:

当用户A需要个性化音乐推荐时,系统帮他找到和他有相似兴趣的用户群集合M,和该用户群喜欢的音乐集合N;之后系统会预测目标用户A对音乐集合N的评分,然后对音乐集合N按评分由高到低的顺序推荐给目标用户A。这就是基于用户的协同过滤。

举例:用户A喜欢歌曲a,歌曲c, 歌曲d。目标用户C喜欢歌曲a,歌曲c。即用户A、C可能有相同音乐偏好。所以系统把歌曲d推荐给用户C。


基于用户的协同过滤可分为两个步骤:

(1)计算出系统中与该用户具有相似音乐偏好的用户群

(2)得到相似偏好的用户群后,从中筛选出K个兴趣相近用户,将这些用户所喜欢的物品推荐给目标用户。

\bullet 计算相似用户群

用下面jaccard表达式计算相似度。{M}\cap{N} 代表用户u和用户v同时喜欢的歌曲,M\cup{N}代表用户u和用户v喜欢的歌曲集合,

                                          I=\frac{M\cap{N}}{M\cup{N}}

用户A用户C喜欢的歌曲有2首重合,他们喜欢歌曲的并集为3。则用户A用户C的相似度为I_{AC}=\frac{2}{3} \approx 0.67

用户A用户B喜欢的歌曲有1首重合,他们喜欢歌曲的并集为3。则用户A用户B的相似度为I_{AB}=\frac{1}{3} =0.33

\bullet 根据相似用户群推荐音乐

得出目标用户最相似的用户群后,计算用户u对音乐i的喜欢程度(即评分)。

                                   p(u,i)=\sum\nolimits{I_{uv}r_{vi}}

比如,假设目标用户有6个维度,0代表没听过,1~5代表喜欢程度(1是不喜欢,2是一般,3是喜欢,4是较喜欢,5是特别喜欢)

假设用户A对于歌曲d的喜欢程度是4; 用户C对于歌曲b的喜欢程度是4

根据上式可分别计算出

                                        p(C,d)=I_{CA} r_{Ad}=\frac{2}{3}\times4 \approx 2.67

                                          p(C,b)=I_{CB} r_{Bd}=\frac{1}{2}\times4 = 2

则用户C对音乐d的兴趣值(得分)为2.67,对用户b的兴趣值为2。实际推荐系统中,往往按照喜欢程度得分进行排序,取靠前的音乐给用户推荐。

举例:

(2)基于商品(音乐)的协同过滤

根据所有用户对音乐的偏好,计算系统中任意两个音乐间的相似度,然后根据用户的历史偏好物品列表,将列表中物品相似度较高的物品推荐给目标用户。

举例:假设用户A喜欢歌曲a,b,c;用户B喜欢a,c,d.可以看出喜欢了歌曲a的用户都喜欢了歌曲c,则分析得出歌曲a和c比较相似。系统发现用户C喜欢了歌曲a,则可以把歌曲a的相似歌曲c推荐给用户C。


基于音乐的协同过滤可分为两个步骤:

(1)计算音乐间的相似度

(2)结合用户的历史行为按照物品相似度排序推荐给目标用户

\bullet 计算音乐间的相似度

jaccard表达式计算相似度I。M代表喜欢歌曲M的用户个数;N代表喜欢歌曲N的用户个数;{M}\cap{N}代表同时喜欢歌曲M歌曲N的用户个数。M\cup{N}代表喜欢歌曲M和歌曲N的用户总和。

                  I=\frac{M\cap{N}}{M\cup{N}}

上图中,同时喜欢歌曲a歌曲c的有2个,喜欢歌曲a或歌曲c的总人数有3个。则

歌曲a和歌曲c的相似度为I_{ac}=\frac{2}{3} \approx 0.67

\bullet 根据音乐间的相似度推荐音乐

计算出音乐间的相似度后,可通过下式计算用户u对一个音乐i的兴趣值

                     p(u,i)=\sum\nolimits{I_{uv}r_{vi}}

假设用户C对于歌曲a的喜爱程度为5

用户C对歌曲c的兴趣值为p(C,c)=0.67\times5=3.35

则用户C对歌曲c的兴趣值(得分)为3.35。实际推荐系统中,往往按照喜欢程度得分进行排序,取靠前的音乐给用户推荐。

举例:

2. 基于内容的推荐算法

基于内容的推荐算法是提取新物品的特征加以推荐,不存在新物品的冷启动

利用用户的听歌历史,获取用户的音乐偏好信息,推荐的是和用户之前听的相似度很高的歌[2]。

举例:用户A喜欢歌曲a(特征:华语、摇滚) ;用户B喜欢歌曲b(特征:欧美、爵士)。当一个新的歌曲c提取到的特征是(欧美、爵士),由歌曲c和用户B的高匹配度可以将歌曲c推荐给用户B。


基于内容的推荐算法需要以下三个步骤:
(1)提取音乐的特征:如提取用户A听过的歌曲a的特征:华语、摇滚

(2)构建用户画像模型:根据用户的操作历史,分析用户喜欢的音乐特征,再根据这些音乐类型特征构建用户画像模型

(3)计算用户画像模型和音乐特征之间的相似度,按照相似度排序对目标用户推荐音乐

3. 混合推荐算法

利用加权混合将不同的推荐算法和影响因素进行加权求和,实现更细致的挖掘用户与喜好音乐之间的关系,从而提升推荐精准度[3]。

λ指不同的权重系数,s_{n}(u,i) 代表不同的推荐算法,e_{k}代表其他对用户听歌偏好影响的因素(如:用户所处天气、地理位置、时间)。

4. 基于深度神经网络的推荐算

现今人工智能技术逐渐成熟,比如深度神经网络技术在计算机视觉,人脸识别中发挥出色,可以将其应用到音乐推荐上来。下面介绍一种利用深度神经网络(DNN)进行通过切歌率预测用户对歌曲的喜爱程度,可以提高推荐预测的正确率[3]。

这项切歌行为的纳入,可以作为一个另一个指标考核,可以帮助用户规避一些用户会切歌的歌曲,从而提高用户体验。


神经网络模型分为输入层,隐藏层,输出层。数据集(包括系统日志提取的特征,切歌与否各自对应的向量)分为训练集和测试集。令切歌行为是向量(0,1),不切歌行为是向量(1,0)。


DNN网络训练和预测数据的全过程分为以下三个步骤

(1) 数据预处理

对于此深度神经网络的输入层,首先对训练集进行以下处理:归一化预处理,独热编码,分箱处理(将一个特征按照一定规则划分为多个子区间,例如对不同的年龄段进行自定义区间划分),组合特征(将不同的年龄段、音乐流派进行组合),数据清洗(根据推送历史剔除由挂机行为导致没有切歌的歌曲)。

(2)训练网络

之后,选定激活函数,网络层数,各层神经元数,权重值等。输入层的神经元等于输入特征的维数,输出层设置两个神经元(对应两种情况:切歌和不切歌)。

将处理过的训练数据输入该模型,会预测得到一个二维向量y’(例如向量(0,1),表示用户切换了歌曲)。再将它与切歌行为的真实值y求差,通过反向传播算法将差值传回整个DNN网络。以最小化误差为目的,整个神经网络的权重值,激励函数会更新、调整并最终确定.

(3)预测用户对某歌曲的喜欢概率

最后,向该训练好的网络输入测试集,可预测用户对某歌曲的喜欢概率,从而预测出用户对某首歌是否会切歌的行为。


三.对网易云音乐推荐功能的建议

1. 根据用户的听歌偏好和当时所处的情境进行歌曲推荐。在推荐音乐中,考虑不同时间,不同天气,不同地理位置的因素;

2.像在第二部分提到的,利用神经网络实现对用户切歌率的预测,对现有预测算法进行补充;

3. 在移动客户端增添人脸识别功能,利用识别表情,推测出用户当前心情,再根据心情向用户推荐合适的歌曲,是一个提高用户新鲜感和体验感的好方法。

改进后的网易云音乐推荐流程模块如下图

参考文献:

[1] Z. Hyung, J. S. Park, and K. Lee, “Utilizing context-relevant keywords extracted from a large collection of user-generated documents for music discovery,” Info. Processing and Management, vol. 53, no. 5, pp. 1185-1200, 2017.

[2] Nabizadeh A H, Yu Y, Yu Y. Predicting User Preference Based on Matrix Factorization by Exploiting Music Attributes[C]. International C* Conference on Computer Science & Software Engineering. ACM, 2016:61-66.

[3]  邓腾飞. 个性化音乐推荐系统的研究[D]. 华南理工大学,2018.


本文由 @南樱小欣 原创发布于简书。未经许可,禁止转载。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • 作者 | HCY崇远 01 前言 本文源自于前阵子连续更新的推荐系统系列,前段时间给朋友整理一个关于推荐系统相关的...
    daos阅读 5,655评论 0 77
  • 文章目录 1、市场分析 2、用户分层、场景需求分层、产品定位 3、核心功能产品逻辑(功能结构 +用户行为) 4、竞...
    韦歌wege阅读 4,488评论 6 28
  • 基础算法:人以群分 实际上,网易云音乐个性化推荐的算法与今日头条、B 站还有很多 O2O 电商平台应用的基础推荐算...
    盼盼学士阅读 10,624评论 4 9
  • 网易云音乐产品体验报告 竞品:QQ音乐、虾米音乐 首先说说我的分析思路。 我们都知道,开发一个产品最重要的是“为什...
    huaxing512阅读 2,896评论 0 11
  • 每天在我们的身边都会发生各种各样的事情,一些事情会带给我们快乐;一些事情会带给我们成长,但我们每天晚上是否都会对今...
    重启人生阅读 289评论 2 7