只是一種猜想:云音樂的推薦算法

4 評論 20254 瀏覽 40 收藏 7 分鐘

根據查找的一些資料和自己的一些猜想,本文作者對推薦算法進行簡單說明和對云音樂的推薦算法進行猜想。

每日歌曲推薦banner左下角有一行字:“根據你的音樂口味生成,每天6:00更新”??梢姡埔魳防孟嚓P推薦算法每天運行,對每個用戶進行個性化推薦。不得不說,自己從每日歌曲推薦里找到好多喜歡的音樂和小眾歌手。同時,隨意在微博里搜了一下相關評論,看來個性化推薦真的做到好評如潮。

所以,接下來根據查找的一些資料和自己的一些猜想,對推薦算法進行簡單說明和對云音樂的推薦算法進行猜想。

什么是推薦算法?

簡單的說是一些函數。根據用戶的個人標簽和近期做了一些動作(如聽了某首歌、喜歡了某首歌、收藏了某個歌單…),然后后臺根據推薦算法給每個用戶推薦可能符合口味的商品。

構建推薦算法的目的是什么?

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的歌,所以在找到相似歌單同時,進一步篩選有質量的歌曲推薦給用戶。(這也只是自己的一個猜測而已)

這是自己最近看了一些參考文章和對云音樂推薦的大致猜想??傆X得自己還有很多地方沒考慮周全,所以歡迎留言多多交流。

相關參考

【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. 牛逼

      來自廣東 回復