AI與產品| 網易云音樂中的歌曲推薦算法

1 評論 3933 瀏覽 28 收藏 14 分鐘

編輯導語:推薦算法在產品設計中的應用十分廣泛,能夠很好的服務于產品和用戶,進而提升產品的體驗感。本篇文章作者分享了網易云音樂中的歌曲推薦算法,講述了推薦算法在網易云音樂中的應用以及網易云音樂的精排模型等內容,感興趣的一起來看一下吧。

網易云音樂是專注于發現與分享的音樂產品,依托專業的音樂人、好友推薦、算法推薦,以及社交功能,為用戶打造全新的音樂生活方式。

網易云音樂的一個優點是有一個非常受用戶喜愛的樂評社區,加深了人和人之間的聯系,用戶會經常分享與歌曲有關的想法,形成了一個比較溫暖的社區。

網易云另一個備受用戶好評的是云音樂精準推薦功能,它有很多推薦場景供用戶進行選擇,可以幫助用戶快速發現更多更優質的歌曲。

接下來讓我們一起來看看網易云音樂推薦算法是如何服務于網易云音樂的吧。

一、音樂推薦VS電商推薦

大家對電商推薦可能更加了解,所以我們先一起來看看音樂推薦和電商推薦有什么相同之處?又有哪些差異?

1. 音樂推薦和電商推薦這兩種推薦系統的相同點

  • 都是幫助用戶去更快速的獲取他們想要的資源;
  • 都是以用戶使用體驗為導向。

2. 音樂推薦和電商推薦的不同點

  • 電商領域推薦的是商品,音樂領域推薦的是音樂。商品具有特定的功能和用途,所以對于用戶來說,有一個確定的現實的作用。而對于音樂領域,不同用戶對歌曲的理解可能是千差萬別的,如何把握住用戶對音樂的感受是需要去關注的。
  • 商品是不可重復消費的,而音樂是可以重復消費的。例如用戶購買了一臺電視機,可能在較長的一段時間之內,用戶沒有電視機的需求了。但是對于音樂來說,完全可以重復消費。比如一周之前聽過的歌曲,可能今天還在聽;甚至一個月之前一年前的那些老歌,都能拿來反復的進行播放。這一點就是非常大的不同。
  • 同時,消費一首歌曲的時間成本是遠高于點擊商品的。通過瀏覽商品的圖片查看商品的標題,用戶就能在短時間之內大致的了解到這些商品。但是歌曲就不一樣,只有真正的去播放這首歌曲,甚至是需要播放到中間的副歌部分,才能真正感受到這首歌曲,對他的感覺,這就需要 1~2 分鐘的消費時間。

二、網易云音樂推薦功能場景

在網易云音樂內有非常多形式的推薦場景,供用戶自行選擇,我們來看看以下三種主要的推薦場景。

  1. 每日推薦:以列表形式展示,該場景會比較關注用戶長期的偏好,讓用戶每天在這個場景中獲得他喜歡的歌曲。
  2. 私人FM:一種流式推薦方式,能根據用戶實時播放行為去分析用戶對之前對推薦歌曲的反饋,從而去影響后續要給他推薦的內容。對于那些想要尋找一些新奇新穎歌曲的用戶,這種方式會是很不錯的場景。
  3. 歌單推薦:同時對于歌單這種特有的播放形式,在首頁和歌單廣場上,也會進行豐富的推薦。

三、網易云音樂召回體系

召回是推薦系統的第一階段,主要根據用戶和商品部分特征,從海量的物品庫里,快速找到用戶潛在感興趣的物品。

對于網易云音樂召回體系的建立,需要考慮兩個問題。

  1. 用戶的興趣點在哪里能夠體現出來?
  2. 用戶的興趣是單一不變的嗎?

基于這兩點,為大家介紹網易云音樂結合音樂相關知識的一些召回算法。

1. 實時興趣向量建模

這個模型用于實現實時且高效的在線召喚,比如當用戶實時點擊并播放了一個國風歌單時,系統就能及時為該用戶召回國風風格的歌曲。

  • 模型會將用戶和歌曲映射到同一個低維度的向量空間中,計算用戶和歌曲的相似值,取 top-k 作為最終的結果。
  • 模型還會使用self-attention 的網絡結構來挖掘內部間的聯系。在云音樂里面,歌曲經常是以列表形式播放的,所以更需要關注的是列表中歌曲之間的關系。
  • 另外模型會使用用戶點擊歌曲序列而不只是播放序列建模。經常有些用戶會將音樂一直播放著,成為一種背景音樂的形式,或者像是商場之類的公共場所,會不停地循環播放。但是,如果用戶有點擊,說明當前點擊的歌曲是在用戶主動意識下的一個行為,提高了置信度。
  • 在模型中還可以對樣本做一些處理。比如在用戶側引入非常豐富的用戶畫像信息,對于沒有行為序列的用戶,也可以觸發這個召回模式,為這些用戶召回歌曲。

2. 動態多興趣建模

這個模型主要是針對口味豐富的用戶,聚類出多個興趣點,如一個人喜歡粵語歌曲、流行歌曲、古風歌曲等, 就需要從各點出發召回用戶興趣歌曲.

方法是將用戶不同時刻的行為序列作為輸入。因為用戶聽歌記錄其實是多樣豐富的。

比如說用戶會在早上會聽一些節奏比較歡快的歌曲,下午工作時可能會聽一些舒緩的慢歌,周末可能會聽一些搖滾的歌曲。

所以需要通過建模,把用戶內部的多個興趣點挖掘出來。

3. 音樂知識圖譜

通過建立音樂知識圖譜,可以得到不同實體之間一步、二步甚至多步的關系。

比如表面上看起來可能毫不相干的兩個藝人,因為這兩位藝人同時給同一個電視劇演唱的關系,就形成了一個關聯關系。

方法是建立音樂數據中不同實體之間的關系。

用每一條知識表示成主謂賓的三元組,比如說”忘記時間屬于專輯仙劍三”,”此生不換屬于專輯仙劍三”,”胡歌演唱忘記時間”。然后,將這些知識表示建立起相關關系, 最后進行一步甚至多步的召回。比如當用戶聽了此生不換時,就可以給用戶召回歌曲忘記時間甚至其他仙劍三的原聲音樂或者胡歌演唱的其他歌曲。

4. 長短興趣挖掘

用戶的近期聽歌記錄對召回很有幫助,用戶遠期聽歌記錄亦然。用戶的遠期聽歌記錄,表示該用戶過去的偏好,而音樂能一直給用戶傳遞情感,故遠期偏好也是值得關注的點。

所以需要對用戶的長期興趣和短期興趣都進行挖掘。

方法是對用戶行為序列根據時間節點進行長期和短期的劃分,分別進行興趣挖掘。

四、網易云音樂的精排模型

精排是推薦系統中的重要部分,一般在召回之后。它會將召回的結果進行排序,并選擇topk的結果作為推薦的最終輸出。

先簡單介紹下用戶在云音樂中的行為鏈路。我們以每日推薦場景來做具體的介紹。用戶進入日推,首先歌曲會得到曝光。

用戶可能會點擊某些歌曲,也可能直接進行了播放。在播放的過程中或者結束時,用戶會進行顯隱式的反饋。

比如進行收藏行為或者是切歌的行為,甚至可以將歌曲標注為不感興趣,當然也可以什么都不做,繼續播放下一首。

在用戶整個行為里面,可以看到收藏、點擊、完整播放,這些 action 是屬于用戶正向的反饋;而曝光不播放或者是曝光時間非常短,不感興趣的,都是一些負反饋。

對用戶這些行為進行累積,我們可以對他之前的語種偏好、風格偏好、藝人、年代熱度等等,進行重新調整,從而更好的進行下一次推薦。

1. 用戶行為序列建模

這個建模的作用是在用戶多樣的興趣點中,重點關注會影響到當次推薦的歷史行為。

對用戶行為使用attention 機制,attention 機制可以讓模型更加關注到它認為有用的信息,著重的影響本次推薦的行為。對于歌曲畫像,會包含歌曲的風格、語種、藝人信息、專輯信息等等。豐富的歌曲畫像,可以讓模型更好的關注到用戶本次點擊的興趣點在哪里。

2. 用戶興趣演化模型

用戶的興趣是不斷變化的,用戶越新的行為,越能夠反映用戶當時的興趣,對于推測之后的行為發揮的作用也是越大的, 而舊的行為發揮的作用就相對弱一些。

特別是在音樂中,外界的流行趨勢會發生非常大的改變??赡茉趲啄陜?,甚至是幾個月內流行的方向,就發生一次非常大的改變。

方法是在模型中,要考慮捕捉用戶興趣的演化路線。可以使用用戶實時的完整播放序列進行建模,模型除了使用attention機制外,還加入ARGRU網絡結構,這樣既可以保留原先的注意力機制,又能捕獲用戶歌曲興趣發展的路徑。

3. 基于會話的多行為域模型

對于用戶行為,不只有歌曲播放的行為,還有各種其他的行為。我們觀察播放的整個詳情頁,里面有很多的控件,比如收藏按鈕,表示用戶將歌曲加入紅心收藏歌單中,這是用戶非常強烈的行為。

同樣下載歌曲或者分享,都是明顯的正向行為。用戶的評論信息也很重要, 如果用戶對這首歌曲標了不感興趣,甚至是拉黑了歌曲或者藝人,那么這就是顯著的負向行為。

還有比較隱蔽的負向行為,就是用戶在播放的過程中進行切割操作,這是一個沒有消費完全的狀態,對用戶來說是不好的體驗。

方法是不僅使用用戶完整的播放歌曲序列建模,還要加入紅星收藏序列和跳過序列。對于評論信息,要具體分析評論的內容,利用 NLP 技術進行情感分析,去判斷用戶真正情感。

通過對用戶行為的不斷擴充,把用戶正向和負向的行為,進行完整的刻畫。

五、音樂推薦場景AI思考

音樂是反映人類現實生活中,一種情感的藝術。AI 是一個理性的產品,它為人們提供便利的生活。

理性和感性的結合,并不是相互抵消的過程,反而能發揮出更大的效果。健康良性的音樂系統,通過 AI 技術,可以幫助用戶去發現更多感興趣的音樂,讓用戶能夠沉浸在音樂帶給他的快樂當中。

更多用戶的使用行為可以幫助挖掘更多長尾歌曲,挖掘那些小眾但是優質的音樂,使優質的歌曲都能得到合理的分發。

 

本文由 @灼華一品 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自 Unsplash,基于 CC0 協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 小小的細節里面大有深意呀。那這背后的具體的代碼、算法模型呢。還想再多了解一下。

    來自浙江 回復