科技新闻「网易云音乐」单推荐算法:技术同学体验反推

科技新闻 2020-02-03114未知admin

  原标题:「网易云音乐」单推荐算法:技术同学体验反推

  推荐算法可以通过APP表现进行反推,不会100%准确,但应该也不离十。

  推荐依据

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

  具体的数据包括:

  ……

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

  推荐算法

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

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

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

  场景三:主页推荐-每日推荐、单推荐、推荐(搜索召回排序、多因素加权)

  场景四:云村推荐-云村广场、好友动态(搜索召回排序、多因素加权)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  (3)推荐(搜索召回排序)

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

  场景四:云村推荐

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

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

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

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

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

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

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

  问题

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

  问题1:马太效应

  19年之前网易云的推荐算法存在一个明显的问题:什么热门推什么。

  比如下面这个单,在我的推荐单列表中出现过不下100次,我怀疑给每个听过英文的用户都推了这个单,在座的如果有人听过,麻烦评论区留个“1”,一起验证一下。

  这样的问题在于,越是热门的单越容易得到,越多也就越热门,而新单就很难得到。这个问题在很多APP上都存在,解决方法也比较成熟。

  可以看到,从2019年开始,云音乐的算法团队做了改进,把基于热门的召回降低了权重,所以现在这种现象在逐渐减少。(也不排除是我的听口味变了)

  问题2:重复推荐

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

  这其实是推荐算法中著名的EE(Exploitation,Exploration)问题。EE问题中的Exploitation()就是:对用户比较确定的兴趣,当然要尽可能迎合用户口味,而Exploration(探索)就是:光对着用户已知的兴趣使用,用户很快会腻,所以要不断探索用户新的兴趣才行。

  如何解决这个问题,我想云音乐一定使用了BANDIT一类的强化学习方法来优化,下面举个例子帮助大家理解:

  一个赌徒,要去摇,走进赌场一看,一排,外表一模一样,但是每个吐钱的概率可不一样,他不知道每个吐钱的概率分布是什么,那么每次该选择哪个可以做到最大化收益呢?

  最好的办法是去试一试,不是盲目地试,而是有策略地快速试一试,这些策略就是Bandit算法。假设我们已经通过一些数据,得到了当前每个的吐钱的概率,如果想要获得最大的收益,我们会一直摇哪个吐钱概率最高的,这就是Exploitation。

  但是,当前获得的信息并不是吐钱的真实概率,可能还有更好的吐钱概率更高,因此还需要进一步探索,这就是Exploration。

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

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

  欢迎在文末或者关注留言交流~

  作者:图灵的猫,中文大学 (深圳) 计算机博士;微信:「图灵的猫」

原文标题:科技新闻「网易云音乐」单推荐算法:技术同学体验反推 网址:http://www.comparecreditcardservices.com/kejixinwen/2020/0203/8574.html

Copyright © 2002-2020 勾心斗角新闻网 www.comparecreditcardservices.com 版权所有  

联系QQ:1352848661