只是一種猜想:云音樂的推薦算法
根據查找的一些資料和自己的一些猜想,本文作者對推薦算法進行簡單說明和對云音樂的推薦算法進行猜想。
每日歌曲推薦banner左下角有一行字:“根據你的音樂口味生成,每天6:00更新”??梢姡埔魳防孟嚓P推薦算法每天運行,對每個用戶進行個性化推薦。不得不說,自己從每日歌曲推薦里找到好多喜歡的音樂和小眾歌手。同時,隨意在微博里搜了一下相關評論,看來個性化推薦真的做到好評如潮。
所以,接下來根據查找的一些資料和自己的一些猜想,對推薦算法進行簡單說明和對云音樂的推薦算法進行猜想。
什么是推薦算法?
簡單的說是一些函數。根據用戶的個人標簽和近期做了一些動作(如聽了某首歌、喜歡了某首歌、收藏了某個歌單…),然后后臺根據推薦算法給每個用戶推薦可能符合口味的商品。
構建推薦算法的目的是什么?
1、幫助用戶找到想要的商品,發掘長尾
想要幫用戶找到想要的東西,卻沒那么容易。在經濟學中,有一個著名理論叫長尾理論(The Long Tail)。
套用在互聯網領域中,指的就是最熱的那一小部分資源將得到絕大部分的關注,而剩下的很大一部分資源卻鮮少有人問津。這不僅造成了資源利用上的浪費,也讓很多口味偏小眾的用戶無法找到自己感興趣的內容。
2、降低信息過載
互聯網時代信息量已然處于爆炸狀態,若是將所有內容都放在網站首頁上用戶是無從閱讀的,信息的利用率將會十分低下。因此我們需要推薦系統來幫助用戶過濾掉低價值的信息。
3、提高站點的點擊率/轉化率?
好的推薦系統能讓用戶更頻繁地訪問一個站點,并且總是能為用戶找到他想要購買的商品或者閱讀的內容。
4、加深對用戶的了解,為用戶提供定制化服務?
可以想見,每當系統成功推薦了一個用戶感興趣的內容后,我們對該用戶的興趣愛好等維度上的形象是越來越清晰的。當我們能夠精確描繪出每個用戶的形象之后,就可以為他們定制一系列服務,讓擁有各種需求的用戶都能在我們的平臺上得到滿足。
推薦算法主要有哪些?
- 基于流量熱度推薦
- 基于內容推薦
- 協同過濾推薦
- 基于關聯規則推薦
- 基于知識推薦
- 組合算法推薦
云音樂推薦算法猜想
核心:協同過濾算法(CF)。
協同過濾算法有兩種,基于人(user)、基于歌曲(song):
- 基于人:eg、分析用戶user1、user2、user3的偏好;找到聽歌風格相近的用戶user1、user3;推薦user1聽user3聽過而user1沒有聽過的歌song5
- 基于歌曲:eg、分析user1喜歡聽的song1分別與song2、song3的相似性(每首歌有很多tag);推薦user1聽與song1相似風格的song3。
協同過濾算法利用余弦相似度計算向量間的相似性,結果范圍[-1,1]。
具體想發法如下:
(1)若是基于人的算法,可能會存在一些問題:要計算每個用戶間的相似度,計算量大;如果是一個新用戶,很難向他推薦音樂。
(2)所以云音樂在推薦上,極大可能是基于歌曲。即對每首歌進行標簽化,然后對歌曲之間進行計算。但是,不難發現,每首歌曲只有作者、專輯、包含歌單。所以,如果僅僅是根據每首歌曲的標簽也很難進行相似度計算。
(3)這時候,引入歌單,即云音樂后臺有大量用戶們自己創建的相似歌曲的歌單。每個收聽次數較多的歌單都有相應的標簽,即音樂的語種、風格等。將音樂表與歌單表相關聯,而后計算每個歌單里每首歌的相似度,進行推薦。
(4)個人覺得這也是最重要的一步:音樂評分體系。
每日歌曲推薦的大部分是評論+999的歌,所以在找到相似歌單同時,進一步篩選有質量的歌曲推薦給用戶。(這也只是自己的一個猜測而已)
這是自己最近看了一些參考文章和對云音樂推薦的大致猜想??傆X得自己還有很多地方沒考慮周全,所以歡迎留言多多交流。
相關參考
【1】推薦系統算法初探 ?http://dwz.cn/4HyI1v
【2】推薦算法 ?http://dwz.cn/4HLdi0
【3】推薦算法 https://www.zhihu.com/topic/19580544/hot
作者:MOMO
來源:微信公眾號:數據分析實習生(DA_Intern)
本文由 @MOMO 授權發布于人人都是產品經理,未經作者許可,禁止轉載。
余弦算法范圍【0,1】,百科是這樣寫的
一直覺得云音樂的推算方法很準,每天加班都會聽從而導致經常加班。。。 ??
哈哈
牛逼