只是一种猜想:云音乐的推荐算法

4 评论 20246 浏览 40 收藏 7 分钟

根据查找的一些资料和自己的一些猜想,本文作者对推荐算法进行简单说明和对云音乐的推荐算法进行猜想。

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

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

什么是推荐算法?

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

构建推荐算法的目的是什么?

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

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

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

2、降低信息过载

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

3、提高站点的点击率/转化率 

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

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

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

推荐算法主要有哪些?

  1. 基于流量热度推荐
  2. 基于内容推荐
  3. 协同过滤推荐
  4. 基于关联规则推荐
  5. 基于知识推荐
  6. 组合算法推荐

云音乐推荐算法猜想

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

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

  1. 基于人:eg、分析用户user1、user2、user3的偏好;找到听歌风格相近的用户user1、user3;推荐user1听user3听过而user1没有听过的歌song5
  2. 基于歌曲:eg、分析user1喜欢听的song1分别与song2、song3的相似性(每首歌有很多tag);推荐user1听与song1相似风格的song3。

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

具体想发法如下:

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

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

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

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

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

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

相关参考

【1】推荐系统算法初探  http://dwz.cn/4HyI1v

【2】推荐算法  http://dwz.cn/4HLdi0

【3】推荐算法 https://www.zhihu.com/topic/19580544/hot

 

作者:MOMO

来源:微信公众号:数据分析实习生(DA_Intern)

本文由 @MOMO 授权发布于人人都是产品经理,未经作者许可,禁止转载。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 余弦算法范围【0,1】,百科是这样写的

    来自北京 回复
  2. 一直觉得云音乐的推算方法很准,每天加班都会听从而导致经常加班。。。 😥

    来自河北 回复
    1. 哈哈

      来自北京 回复
    2. 牛逼

      来自广东 回复