網上各種關于網易云音樂的個性推薦算法的詳解五花八門,但是官方從未現身說法!為了解開用戶們對每日推薦歌單背后算法的好奇心,我們闖進網易云音樂總部里的產品與技術部門,挾持了技術專家,把我們心中的疑惑全都吐了出來。
本文轉自:機器之能 撰文 | 宇多田
老鐵們,知道今天是什么日子嗎?
明知應該說聲節日快樂,但咱們也不能忘記在寒冷狗窩里坐等國家分配的單身汪們(仿佛說的不是我自己)。
今天一早,當發現朋友圈撒的狗糧已經夠吃 一年后,我還是打開了網易云音樂,想在熱鬧的評論區尋找同類:另一群單身狗們。
沒想到,他們除了搞出個“單身元年特別訪談”,每日推薦給我推的第一首歌竟然是:
好吧,歌詞“我不會自暴自棄,不要喚醒我,這是我人生中最美好的一天”,讓我嚴重懷疑,網易云音樂的個性推薦已經洞悉了所有單身狗用戶的生活常態:
“別總在評論區呆著了,請在下個元年來之前,找到自己的幸福。要不然,狗年一過,你的頭銜就會變成‘單身豬’。”
情人節快樂,狗年快樂。
在知乎上,“網易云音樂的歌單推薦算法是怎樣的”與“網易云音樂到底好在哪里”這兩個問題,分別占據了“網易云音樂”熱門話題的第三與第八位。
而很大程度上,第一個問題成就了第二個問題。
或許網易云音樂在知乎上好評一邊倒的原因五花八門(有人說雇了大量水軍,如果是這樣,那應該是筆重金投入。我不會告訴你兩個平臺的社群重合度很大的),但歌單質量硬,且個性推薦對比國內競品相對精準,是讓一部分用戶發展成為網易云音樂死忠粉的關鍵原因之一。
以及,第一個問題也可以解釋,為何你在很多歌的評論區里,都會看到像“日推第一”、“日推第二”、“日推+FM同時推薦”這類的大量評論。
然而,有人把網易云音樂比作是”獨立且小眾音樂愛好者的天堂“其實并不十分貼切。將那些被大眾忽視的歌重新曝光于你的眼下,很多時候是技術在背后起的作用。
就像你今天下載了一首周杰倫的歌,系統第二天是推給你周杰倫另一首曲風類似的熱門歌曲,還是推一首曲風類似的冷門歌曲,更會讓你感到新奇?
不過倒是讓人有點驚訝,網易云音樂從來沒有官方披露過自己的推薦算法與產品應用細節。但這不妨礙大眾對其技術與產品融合的過程產生興趣。
因此,網易云音樂里的算法模型與 AI 應用,基本已經被知乎用戶們扒了個底朝天了。
你完全可以在“網易云音樂的歌單推薦算法是怎樣的”這個知乎話題里找到非常棒的解答與推測(里面的高贊答案比媒體的報道簡直不要清楚太多,講的明白易懂)。
而我們之所以要拜訪網易云音樂的數據挖掘工程師徐家與產品經理沈博文,與其說是揭開算法秘密,不如說是驗證此前(包括網絡上)的種種猜測,以及幫用戶們解答在使用網易云音樂過程中產生的疑惑。
實際上,網易云音樂個性化推薦的算法與今日頭條、B 站還有很多 O2O 電商平臺應用的基礎推薦算法大同小異。這個得到了徐家的認證,就是我們熟知的那類基礎算法:
這個算法要歸功于亞馬遜工程師的發明——一個客戶買了這個東西,那么他也可能買另一個東西。
簡單來說,該算法的預測標準取決于人與人之間相似的消費模式。譬如,我喜歡這兩首歌,而你的歌單里也有這兩首歌,所以你歌單里有可能存在其他我喜歡的歌。
以上的說法只是便于理解。實際上,協同過濾算法其實應該分為兩類:基于用戶與基于項目(單曲)。
1、基于用戶:我與小明收藏的歌單相似度很高,那么在判斷我們口味相似的基礎上,可以給小明推薦我歌單里她沒收藏過的單曲。
2、基于項目(單曲):就是將用戶對一首歌的偏好作為向量計算單曲之間的相似度,比對相似度后,根據這個用戶歷史偏好為另一位用戶推薦單曲。
舉個例子,小歆下載了《勇氣》《小情歌》兩首單曲,而小宜下載了《勇氣》《天黑黑》和《小情歌》,而小藝下載了《勇氣》…
那么根據這些用戶的歷史偏好,網易云音樂可以判斷《勇氣》與《小情歌》是相似的,喜歡《勇氣》的可能也會喜歡《小情歌》,那么可以把《小情歌》推薦給小藝。
總之,如果你覺得對于“協同過濾”這種算法仍然理解困難,那可以只記住一個詞:人以群分。
在這里要歪個樓:正是這種本質上基于用戶偏好相似度的推薦模型,在無形中讓用戶在聽音樂中組成了一個個“彼此聊得來”的社群。
因此,沈博文并沒有把“以后可能會發展成全國最大的婚戀交友網站”看作是一個無厘頭的笑話。而是認為這種基于音樂喜好的社交趨勢,反而比當下的交友平臺更靠譜:
好奇心日報之前曾做過一個調查,有關于人類找到靈魂伴侶的主要參考標準是什么?——是音樂品味。
神經網絡模型下的“物以類聚”
可以看到,這種推薦算法絕對缺不了用戶歷史數據的支撐。在數據量龐大且足夠干凈的時候,協同過濾算法是非常強大的。
那么反過來想,假如我是一個新用戶,或者我使用網易云音樂的頻率特別低。也就是說,在數據稀少的情況下,網易云音樂該怎么獲知我的口味?
這種冷啟動問題,意味著不同算法模型交叉使用的必然性。或許下面的第二大類算法能在一定程度上消除這個障礙。
基于內容的推薦算法。