云音乐推荐算法之头脑风暴

Posted 互联网er的早读课

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云音乐推荐算法之头脑风暴相关的知识,希望对你有一定的参考价值。


图片来源:echo回声

上篇文章讲到猪厂产品云音乐,传送门:,其实最吸引我的是云音乐里的每日歌曲推荐。


每日歌曲推荐banner左下角有一行字:“根据你的音乐口味生成,每天6:00更新”。可见,云音乐利用相关推荐算法每天运行,对每个用户进行个性化推荐。不得不说,自己从每日歌曲推荐里找到好多喜欢的音乐和小众歌手。同时,随意在微博里搜了一下相关评论,看来个性化推荐真的做到好评如潮。

云音乐推荐算法之头脑风暴

所以,接下来根据查找的一些资料和自己的一些猜想,对推荐算法进行简单说明和对云音乐的推荐算法进行猜想。


什么是推荐算法?    

简单的说是一些函数。根据用户的个人标签和近期做了一些动作(如听了某首歌、喜欢了某首歌、收藏了某个歌单...),然后后台根据推荐算法给每个用户推荐可能符合口味的商品。

云音乐推荐算法之头脑风暴

构建推荐算法的目的是什么?(来源:推荐系统算法初探  http://dwz.cn/4HyI1v

①帮助用户找到想要的商品,发掘长尾

想要帮用户找到想要的东西,却没那么容易。在经济学中,有一个著名理论叫长尾理论(The Long Tail)。

云音乐推荐算法之头脑风暴
套用在互联网领域中,指的就是最热的那一小部分资源将得到绝大部分的关注,而剩下的很大一部分资源却鲜少有人问津。这不仅造成了资源利用上的浪费,也让很多口味偏小众的用户无法找到自己感兴趣的内容。


②降低信息过载

互联网时代信息量已然处于爆炸状态,若是将所有内容都放在网站首页上用户是无从阅读的,信息的利用率将会十分低下。因此我们需要推荐系统来帮助用户过滤掉低价值的信息。


③提高站点的点击率/转化率 

好的推荐系统能让用户更频繁地访问一个站点,并且总是能为用户找到他想要购买的商品或者阅读的内容。


④加深对用户的了解,为用户提供定制化服务 

可以想见,每当系统成功推荐了一个用户感兴趣的内容后,我们对该用户的兴趣爱好等维度上的形象是越来越清晰的。当我们能够精确描绘出每个用户的形象之后,就可以为他们定制一系列服务,让拥有各种需求的用户都能在我们的平台上得到满足。


推荐算法主要有哪些?

①基于流量热度推荐

②基于内容推荐

③协同过滤推荐

④基于关联规则推荐

⑤基于知识推荐

⑥组合算法推荐

(具体可阅读:百度百科推荐算法  http://dwz.cn/4HLdi0)


云音乐推荐算法猜想

核心:协同过滤算法(CF)。

协同过滤算法有两种,基于人(user)、基于歌曲(song):

①基于人:eg、分析用户user1、user2、user3的偏好;找到听歌风格相近的用户user1、user3;推荐user1听user3听过而user1没有听过的歌song5

②基于歌曲:eg、分析user1喜欢听的song1分别与song2、song3的相似性(每首歌有很多tag);推荐user1听与song1相似风格的song3。

云音乐推荐算法之头脑风暴

协同过滤算法利用余弦相似度计算向量间的相似性,结果范围[-1,1]。


具体想发法如下:

①若是基于人的算法,可能会存在一些问题:要计算每个用户间的相似度,计算量大;如果是一个新用户,很难向他推荐音乐。

云音乐推荐算法之头脑风暴


②所以云音乐在推荐上,极大可能是基于歌曲。即对每首歌进行标签化,然后对歌曲之间进行计算。但是,不难发现,每首歌曲只有作者、专辑、包含歌单。所以,如果仅仅是根据每首歌曲的标签也很难进行相似度计算。

云音乐推荐算法之头脑风暴

③这时候,引入歌单,即云音乐后台有大量用户们自己创建的相似歌曲的歌单。每个收听次数较多的歌单都有相应的标签,即音乐的语种、风格等。将音乐表与歌单表相关联,而后计算每个歌单里每首歌的相似度,进行推荐。



④个人觉得这也是最重要的一步:音乐评分体系。

每日歌曲推荐的大部分是评论+999的歌,所以在找到相似歌单同时,进一步筛选有质量的歌曲推荐给用户。(这也只是自己的一个猜测而已)



更多阅读:

知乎推荐算法 https://www.zhihu.com/topic/19580544/hot


这是自己最近看了一些参考文章和对云音乐推荐的大致猜想。总觉得自己还有很多地方没考虑周全,所以欢迎留言多多交流。

以上是关于云音乐推荐算法之头脑风暴的主要内容,如果未能解决你的问题,请参考以下文章

近5年来头脑风暴优化算法的研究热点

推荐|网易云音乐分析之推荐算法

网易云音乐分析之推荐算法

干货网易云音乐分析之推荐算法

基于MATLAB的头脑风暴优化算法

优化算法头脑风暴优化算法(BSO)含Matlab源码 497期