时间: 2021-07-30 09:20:05 人气: 9 评论: 0
根据查找的一些资料和自己的一些猜想,本文作者对推荐算法进行简单说明和对云音乐的推荐算法进行猜想。
每日歌曲推荐banner左下角有一行字:“根据你的音乐口味生成,每天6:00更新”。可见,云音乐利用相关推荐算法每天运行,对每个用户进行个性化推荐。不得不说,自己从每日歌曲推荐里找到好多喜欢的音乐和小众歌手。同时,随意在微博里搜了一下相关评论,看来个性化推荐真的做到好评如潮。
所以,接下来根据查找的一些资料和自己的一些猜想,对推荐算法进行简单说明和对云音乐的推荐算法进行猜想。
简单的说是一些函数。根据用户的个人标签和近期做了一些动作(如听了某首歌、喜欢了某首歌、收藏了某个歌单…),然后后台根据推荐算法给每个用户推荐可能符合口味的商品。
想要帮用户找到想要的东西,却没那么容易。在经济学中,有一个著名**叫长尾**(The Long Tail)。
套用在互联网领域中,指的就是最热的那一小部分资源将得到绝大部分的关注,而剩下的很大一部分资源却鲜少有人问津。这不仅造成了资源利用上的浪费,也让很多口味偏小众的用户无法找到自己感兴趣的内容。
互联网时代信息量已然处于爆炸状态,若是将所有内容都放在网站首页上用户是无从阅读的,信息的利用率将**十分低下。因此我们需要推荐系统来帮助用户过滤掉低价值的信息。
好的推荐系统能让用户更频繁地访问一个站点,并且总是能为用户找到他想要购买的商品或者阅读的内容。
可以想见,每当系统成功推荐了一个用户感兴趣的内容后,我们对该用户的兴趣爱好等维度上的形象是越来越清晰的。当我们能够精确描绘出每个用户的形象之后,就可以为他们定制一系列服务,让拥有各种需求的用户都能在我们的平台上得到满足。
推荐算法主要有哪些?
核心:协同过滤算法(CF)。
协同过滤算法有两种,基于人(user)、基于歌曲(song):
协同过滤算法利用余弦相似度计算向量间的相似性,结果范围[-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 授权发布于人人都是产品经理,未经作者许可,禁止转载。