中国教育热线_中国教育资讯门户网站
您当前的位置 : 中国教育热线  >  家居
「网易云音乐」歌单推荐算法-由技术同学体验反推
2020-03-31 10:44:09 来源:互联网 阅读:-

因为考虑到非技术从业者,这篇文章会写的非常通俗,不出现任何难懂的名词和概念,更不会有任何涉及到线代、算法底层的东西。

下文不会出现任何具体算法实现细节,但推荐算法其实是可以通过APP的表现来反推,不会100%准确,但应该也八九不离十。

推荐依据

推荐算法不是无根之水,它必须借助用户的数据才可以进行推荐。即使是冷启动,也需要获得你的微博、微信(你的登录方式)或其他已注册用户的热门喜好。具体的数据包括


  • 浏览记录

  • 页面停留时间

  • 歌曲播放次数

  • 点击歌曲但未播放记录

  • 点击歌曲且播放完成记录

  • 歌曲、歌单、歌手的收藏记录

  • 歌单播放次数和歌曲所属标签

  • 个人属性(性别,年龄,地理位置等)


……

这样的数据在算法模型里叫做特征,也就是通过这些历史行为数据中的特征,推荐算法可以进行非常精准的个性化推荐。在几年前,网易云音乐其实还没有那么“神”,很多推荐莫名其妙,但是现在的算法相对来说已经非常精准了。

推荐算法

在说歌单的同时,也会给大家看看网易云音乐这个APP里一共有哪些地方用到了推荐算法:

场景一:开屏广告(按用户画像推荐/全量发布)

「网易云音乐」歌单推荐算法-由技术同学体验反推

算法:有时候打开的广告会不一样,有时候会重复。全屏广告费用很高,假如不是独占类型的,那这块用到的可能有一些简单的人群匹配或者用户画像。如果是单次广告独占,则有可能是按照广告商的要求投放。18年之前没有这个广告功能,但是网易要恰饭的,能理解。

场景二:私人FM(实时推荐)

私人FM和电音位于个人主页的头部位置,用户点击率非常高。因为二者本质上很相似,这里只谈FM的算法。

「网易云音乐」歌单推荐算法-由技术同学体验反推

私人FM和单曲、歌单推荐的最大区别是,歌单推荐是一次性生成一个歌曲/歌单列表,但FM只推荐下一首,没有“上一首”功能,这意味着推荐算法会更关注你的瞬时兴趣。因为FM只有喜欢、听完、切歌三种反馈,相对来说比歌单推荐要简单很多,但相对的,信息也少了很多。

可以推算,FM用到的具体方式是由“播放、喜欢、切歌”来判断用户对推荐结果的喜好程度。使用的算法应该是相似性召回和基于用户、基于内容的协同过滤三合一,这一点和单曲推荐很相似,甚至两个功能都使用了用一套推荐算法。

FM有个额外的要求是实时推荐,可以将私人FM理解为一个由动态变化的推荐歌曲组成的歌曲序列,这里面应该使用了深度学习算法中的“下一项推荐”模型来生成,用到的可能有Transformer或GRU/RNN模型。

实时推荐的意思是,上一首是“lemon”,如果你听完了,那么下一首可能会给你推荐米津玄师的另一首歌,或者相似的日文歌。如果我在听小英雄的OP,但没听完就切歌了,那么序列中的下一首本来是冰海战纪的ED,此刻可能就会变为一首英文流行歌。

「网易云音乐」歌单推荐算法-由技术同学体验反推

场景三:主页推荐(这块包含的比较多,最主要的是“推荐歌单”功能)

「网易云音乐」歌单推荐算法-由技术同学体验反推

算法反推:页面可以拆开来看

「网易云音乐」歌单推荐算法-由技术同学体验反推


  • 每日推荐(多因素加权)


这里用到的是单曲推荐,具体算法不难想到,从我的每日推荐歌曲来看,基本是


  • 我听过的歌手的其他单曲

  • 我听过的歌曲所属分类的其他热门歌曲

  • 我听过、收藏过、评论过的歌曲

  • 听过我听过歌曲的人,听过的其他热门歌曲


每个部分都分配有不同权重,权重高的,推荐的位置(排序机制)就会靠前,权重低的则会靠后。比如我的列表里,蓝莲花排名第一,但是我最近并没有听过蓝莲花,也没听过许巍的歌。但是我听过民谣/摇滚标签类的歌曲,并且很容易猜到,听过这个标签的人,基本都会听蓝莲花(热门)。那么我的列表里,第1项和第4项的权重应该是更高的。

「网易云音乐」歌单推荐算法-由技术同学体验反推

现在的算法几乎都是千人千面,所以每个用户都有自己的个性化匹配机制,也就是张三的权重和李四的权重是不同的,这也反映出一种个人喜好。而相对于FM,这里的推荐更关注用户的长期兴趣。由用户最近一个月、一个周的行为数据构成。

上面这4种只是主要推荐方式,在具体应用时,算法团队会有更多机制来筛选这些歌曲并在列表内排序,提高对新用户、不活跃用户的推荐精度,而这里用到的算法有协同过滤,基于内容召回以及相似性召回等。对算法具体原理感兴趣的可以自行搜索,这里不展开讲。

2. 歌单推荐(搜索召回排序)

点进“歌单”按钮,会跳到一个歌单广场,但是我平时不怎么用,这里和主页推荐歌单放在一起讲,因为两个模块的算法应该是一样的。

推荐歌单是网易云音乐的主要流量通道,95%以上的用户每天打开APP会首先看这些推荐歌单。推荐歌单算法,网易云在全球范围内都属于做的很不错,因为歌单这个东西和歌曲不一样,里面有很多首歌组成,并且每首歌的调性有可能相似,也有可能不同,比传统推荐要更难。B站、Youtube都有类似算法,比如通过用户的收藏夹推荐相似的收藏夹。

「网易云音乐」歌单推荐算法-由技术同学体验反推

歌单有个特点就是UGC(用户生成内容),UGC歌单是实时的,即用户有收听歌曲行为后可实时带来推荐变化,比如刷新一下,会推送不一样的歌单给你。

具体的推荐过程大概如下图,大家只需要知道“召回”和“排序”就行。


  • 召回,是从数以百万计的曲库进行初步筛选,选出几百个相对符合用户口味的候选歌曲

  • 排序,是把这几百个候选歌曲通过深度学习、因子分解机等算法进行精准的个性化排序


「网易云音乐」歌单推荐算法-由技术同学体验反推

召回的三种主要方式我大概解释一下


  • 协同过滤,基于用户的行为数据,如听过的歌曲或者个人标签找到相似用户或者相似内容

  • 基于内容,内容标签化,构建完整的用户画像,然后根据内容相似度进行匹配

  • 基于热门 ,和你相似品味的用户聚合成一个圈,圈里的人喜欢什么,就推给你什么


这一块涉及技术太多,感兴趣的同学也可以自行搜索。

3. 电台推荐(搜索召回排序)

电台推荐就是以前的FM频道,现在整合了很多栏目。基本的流程和推荐算法其实和上面的歌单推荐一样,只不过歌单变成了电台,推荐的依据也从歌单里的歌曲、评论、收藏、用户,变成了电台的听众、主播、标签等

「网易云音乐」歌单推荐算法-由技术同学体验反推

场景四:云村推荐


  • 云村广场(搜索召回排序)


网易云音乐以前总是被人说清高、不接地气、评论太文青。现在这个云村广场(为了回答这个问题,我第一次点进去看),就是云音乐开始接地气的证明。点进去,我以为自己打开了抖音+快手。

「网易云音乐」歌单推荐算法-由技术同学体验反推

这里用到的短视频推荐算法应该和快手、抖音一样,使用短视频的属性、标签和用户的口味、标签做匹配,相似性高的或者比较热门的就进行推荐。具体流程也是先召回再排序,可使用的模型较多,这里不好猜。不过短视频时代,最吸引眼球的就是图里这种内容,比什么算法都好使。

2. 好友动态(时间倒序)

这里的动态推荐算法和朋友圈一样,但是比朋友圈简单,就是按你的关注的人的动态,以时间倒序(最新的排在最前面)进行排序。

「网易云音乐」歌单推荐算法-由技术同学体验反推

场景五:视频推荐(根据历史行为精准推荐)

视频是云音乐后来推出的一大功能,应该也是按照短视频推荐的方法来进行精准推荐,不同点在于这些视频主题更加明确,比如第一个就是华晨宇的采访,直接推送给听过华晨宇歌曲、买过华晨宇专辑的用户即可。

「网易云音乐」歌单推荐算法-由技术同学体验反推

问题分析

用云音乐这么久,有一些问题大家肯定也比较困惑,这里做个简单分析

问题1:马太效应

19年之前网易云的推荐算法存在一个明显的问题:什么热门推什么。比如下面这个歌单,在我的推荐歌单列表中出现过不下100次,我怀疑给每个听过英文歌的用户都推了这个歌单,在座的如果有人听过,麻烦评论区留个“1”,一起验证一下。

「网易云音乐」歌单推荐算法-由技术同学体验反推

这样的问题在于,越是热门的歌单越容易得到曝光,曝光越多也就越热门,而新歌单就很难得到曝光。这个问题在很多APP上都存在,解决方法也比较成熟。可以看到,从2019年开始,云音乐的算法团队做了改进,把基于热门的召回降低了权重,所以现在这种现象在逐渐减少。(也不排除是我的听歌口味变了)

问题2:重复推荐

现在很多推荐算法存在一个致命问题,就是重复推荐。在云音乐里,当你听过一些歌曲,就使劲推送相似的歌曲,比如我有一次听了小鳄鱼,之后就使劲给我推儿歌,这很容易引起用户的反感。

这其实是推荐算法中著名的EE(Exploitation,Exploration)问题。EE问题中的Exploitation(开发)就是:对用户比较确定的兴趣,当然要尽可能迎合用户口味,而Exploration(探索)就是:光对着用户已知的兴趣使用,用户很快会腻,所以要不断探索用户新的兴趣才行。如何解决这个问题,我想云音乐一定使用了BANDIT一类的强化学习方法来优化,下面我举个例子帮助大家理解:

一个赌徒,要去摇老虎机,走进赌场一看,一排老虎机,外表一模一样,但是每个老虎机吐钱的概率可不一样,他不知道每个老虎机吐钱的概率分布是什么,那么每次该选择哪个老虎机可以做到最大化收益呢?最好的办法是去试一试,不是盲目地试,而是有策略地快速试一试,这些策略就是Bandit算法。假设我们已经通过一些数据,得到了当前每个老虎机的吐钱的概率,如果想要获得最大的收益,我们会一直摇哪个吐钱概率最高的老虎机,这就是Exploitation。但是,当前获得的信息并不是老虎机吐钱的真实概率,可能还有更好的老虎机吐钱概率更高,因此还需要进一步探索,这就是Exploration。

最后,云音乐里很多模块的推荐算法其实都非常相似,但因为具体实施的算法团队不同,细节上肯定有所差异,效果也不会完全一样。对于EE问题的解决,以及如何提高用户粘性,想必算法团队也做了很多尝试,所以才有了这几年界面、体验的不断改善。

其实,有个问题不解决,推荐算法做的再好也没用——版权,网易云音乐的未来将何去何从,让我们保持关注吧。


本文由作者@图灵的猫 在PMCAFF社区发布,转载请注明作者及出处。


推荐阅读:旗龙网

频道推荐
  • 132平经典耐看的美式风,超好看的主卧室,一长排衣柜整体又实用
    132平经典耐看的美式风,超好看的主卧室,一

    装修风格:经典耐看的美式风格实际面积:132㎡空间格局:3房2厅设计师:千里莺项目位置:湖南省长沙市装修造价:全包21W业主自白:没有参与装修的人生是不完整的人...

    2020-08-03
  • 水中植物只认识荷花,尴尬!赏水景不能错过的好看植物,建议收藏
    水中植物只认识荷花,尴尬!赏水景不能错过的好

    热爱生活,热爱自然,想要认识生活常见花卉,跟植物做朋友,可以点击上方“关注”,我会跟你分享相关内容呦。滨水景观是具有较强观赏性和使用功能的一种城市公共绿地的边缘...

    2020-08-03
  • 2020年最流行的4大装修风格盘点,你喜欢哪种风格呢?
    2020年最流行的4大装修风格盘点,你喜欢哪

    现代简约风格现代简约风格设计理念能够作为两块理解,现代化的设计理念+简约的设计理念,什么是现代化设计理念:便是选用现代化建筑材料,现代装饰,较大 的特性便是时尚...

    2020-08-03
  • 260m²波西米亚美式,衣帽间比卧室还大,每天都期待回到梦想的家
    260m²波西米亚美式,衣帽间比卧室还大,每

    屋主家有男宝女宝各一个,男宝哥哥,女宝妹妹,大家千万不要羡慕!女主回想当时,店头事情有多,宝宝有需要照顾,可是忙得无暇分身的。还好小宝一天天长大,房子一天天装好...

    2020-08-03
  • 装修一定要记住这5处尺寸,减少死角,入住少做一半家务活
    装修一定要记住这5处尺寸,减少死角,入住少做

    在装修过程中,需要注意方方面面的细节!比如水电改造、空间布局等,其中最让人头疼的就是空间布局,对于普通家庭而言,缺乏设计经验的弊端会一一体现在装修上。例如鞋柜、...

    2020-08-03
  • 晒晒北京夫妇250㎡的家,买顶层就是好,还送了一个阁楼,太值了
    晒晒北京夫妇250㎡的家,买顶层就是好,还送

    一直以来,顶楼都是大家所嫌弃的一个楼层,原因无它,无非是冬冷夏热还渗水,其实前者倒也好解决,毕竟有空调,就是得多费点电,如果优惠足够,这点完全可以忽视;后者的话...

    2020-08-03
  • 一家三口住45㎡二手房,重新改造后,成小区最美,室内温馨又精致
    一家三口住45㎡二手房,重新改造后,成小区最

    我们中国人对于孩子教育的重视,那真可谓是不顾一切的,为了让自己孩子有更好的学习成长环境,很多家庭都会选择住在破旧的二手学区房里,陪伴一起成长。在一线城市中的学区...

    2020-08-03
  • 如果你家打算封阳台,建议看看这篇封阳台干货
    如果你家打算封阳台,建议看看这篇封阳台干货

    最近收到很多关于阳台的咨询,其中咨询到底要不要封阳台这个问题的占了一大部分。我整理了一些关于封阳台的干货,和大家分享,希望能解决大家的疑虑。图片来自网络阅读导航...

    2020-08-03