AI與產(chǎn)品| 網(wǎng)易云音樂(lè)中的歌曲推薦算法
編輯導(dǎo)語(yǔ):推薦算法在產(chǎn)品設(shè)計(jì)中的應(yīng)用十分廣泛,能夠很好的服務(wù)于產(chǎn)品和用戶(hù),進(jìn)而提升產(chǎn)品的體驗(yàn)感。本篇文章作者分享了網(wǎng)易云音樂(lè)中的歌曲推薦算法,講述了推薦算法在網(wǎng)易云音樂(lè)中的應(yīng)用以及網(wǎng)易云音樂(lè)的精排模型等內(nèi)容,感興趣的一起來(lái)看一下吧。
網(wǎng)易云音樂(lè)是專(zhuān)注于發(fā)現(xiàn)與分享的音樂(lè)產(chǎn)品,依托專(zhuān)業(yè)的音樂(lè)人、好友推薦、算法推薦,以及社交功能,為用戶(hù)打造全新的音樂(lè)生活方式。
網(wǎng)易云音樂(lè)的一個(gè)優(yōu)點(diǎn)是有一個(gè)非常受用戶(hù)喜愛(ài)的樂(lè)評(píng)社區(qū),加深了人和人之間的聯(lián)系,用戶(hù)會(huì)經(jīng)常分享與歌曲有關(guān)的想法,形成了一個(gè)比較溫暖的社區(qū)。
網(wǎng)易云另一個(gè)備受用戶(hù)好評(píng)的是云音樂(lè)精準(zhǔn)推薦功能,它有很多推薦場(chǎng)景供用戶(hù)進(jìn)行選擇,可以幫助用戶(hù)快速發(fā)現(xiàn)更多更優(yōu)質(zhì)的歌曲。
接下來(lái)讓我們一起來(lái)看看網(wǎng)易云音樂(lè)推薦算法是如何服務(wù)于網(wǎng)易云音樂(lè)的吧。
一、音樂(lè)推薦VS電商推薦
大家對(duì)電商推薦可能更加了解,所以我們先一起來(lái)看看音樂(lè)推薦和電商推薦有什么相同之處?又有哪些差異?
1. 音樂(lè)推薦和電商推薦這兩種推薦系統(tǒng)的相同點(diǎn)
- 都是幫助用戶(hù)去更快速的獲取他們想要的資源;
- 都是以用戶(hù)使用體驗(yàn)為導(dǎo)向。
2. 音樂(lè)推薦和電商推薦的不同點(diǎn)
- 電商領(lǐng)域推薦的是商品,音樂(lè)領(lǐng)域推薦的是音樂(lè)。商品具有特定的功能和用途,所以對(duì)于用戶(hù)來(lái)說(shuō),有一個(gè)確定的現(xiàn)實(shí)的作用。而對(duì)于音樂(lè)領(lǐng)域,不同用戶(hù)對(duì)歌曲的理解可能是千差萬(wàn)別的,如何把握住用戶(hù)對(duì)音樂(lè)的感受是需要去關(guān)注的。
- 商品是不可重復(fù)消費(fèi)的,而音樂(lè)是可以重復(fù)消費(fèi)的。例如用戶(hù)購(gòu)買(mǎi)了一臺(tái)電視機(jī),可能在較長(zhǎng)的一段時(shí)間之內(nèi),用戶(hù)沒(méi)有電視機(jī)的需求了。但是對(duì)于音樂(lè)來(lái)說(shuō),完全可以重復(fù)消費(fèi)。比如一周之前聽(tīng)過(guò)的歌曲,可能今天還在聽(tīng);甚至一個(gè)月之前一年前的那些老歌,都能拿來(lái)反復(fù)的進(jìn)行播放。這一點(diǎn)就是非常大的不同。
- 同時(shí),消費(fèi)一首歌曲的時(shí)間成本是遠(yuǎn)高于點(diǎn)擊商品的。通過(guò)瀏覽商品的圖片查看商品的標(biāo)題,用戶(hù)就能在短時(shí)間之內(nèi)大致的了解到這些商品。但是歌曲就不一樣,只有真正的去播放這首歌曲,甚至是需要播放到中間的副歌部分,才能真正感受到這首歌曲,對(duì)他的感覺(jué),這就需要 1~2 分鐘的消費(fèi)時(shí)間。
二、網(wǎng)易云音樂(lè)推薦功能場(chǎng)景
在網(wǎng)易云音樂(lè)內(nèi)有非常多形式的推薦場(chǎng)景,供用戶(hù)自行選擇,我們來(lái)看看以下三種主要的推薦場(chǎng)景。
- 每日推薦:以列表形式展示,該場(chǎng)景會(huì)比較關(guān)注用戶(hù)長(zhǎng)期的偏好,讓用戶(hù)每天在這個(gè)場(chǎng)景中獲得他喜歡的歌曲。
- 私人FM:一種流式推薦方式,能根據(jù)用戶(hù)實(shí)時(shí)播放行為去分析用戶(hù)對(duì)之前對(duì)推薦歌曲的反饋,從而去影響后續(xù)要給他推薦的內(nèi)容。對(duì)于那些想要尋找一些新奇新穎歌曲的用戶(hù),這種方式會(huì)是很不錯(cuò)的場(chǎng)景。
- 歌單推薦:同時(shí)對(duì)于歌單這種特有的播放形式,在首頁(yè)和歌單廣場(chǎng)上,也會(huì)進(jìn)行豐富的推薦。
三、網(wǎng)易云音樂(lè)召回體系
召回是推薦系統(tǒng)的第一階段,主要根據(jù)用戶(hù)和商品部分特征,從海量的物品庫(kù)里,快速找到用戶(hù)潛在感興趣的物品。
對(duì)于網(wǎng)易云音樂(lè)召回體系的建立,需要考慮兩個(gè)問(wèn)題。
- 用戶(hù)的興趣點(diǎn)在哪里能夠體現(xiàn)出來(lái)?
- 用戶(hù)的興趣是單一不變的嗎?
基于這兩點(diǎn),為大家介紹網(wǎng)易云音樂(lè)結(jié)合音樂(lè)相關(guān)知識(shí)的一些召回算法。
1. 實(shí)時(shí)興趣向量建模
這個(gè)模型用于實(shí)現(xiàn)實(shí)時(shí)且高效的在線(xiàn)召喚,比如當(dāng)用戶(hù)實(shí)時(shí)點(diǎn)擊并播放了一個(gè)國(guó)風(fēng)歌單時(shí),系統(tǒng)就能及時(shí)為該用戶(hù)召回國(guó)風(fēng)風(fēng)格的歌曲。
- 模型會(huì)將用戶(hù)和歌曲映射到同一個(gè)低維度的向量空間中,計(jì)算用戶(hù)和歌曲的相似值,取 top-k 作為最終的結(jié)果。
- 模型還會(huì)使用self-attention 的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)挖掘內(nèi)部間的聯(lián)系。在云音樂(lè)里面,歌曲經(jīng)常是以列表形式播放的,所以更需要關(guān)注的是列表中歌曲之間的關(guān)系。
- 另外模型會(huì)使用用戶(hù)點(diǎn)擊歌曲序列而不只是播放序列建模。經(jīng)常有些用戶(hù)會(huì)將音樂(lè)一直播放著,成為一種背景音樂(lè)的形式,或者像是商場(chǎng)之類(lèi)的公共場(chǎng)所,會(huì)不停地循環(huán)播放。但是,如果用戶(hù)有點(diǎn)擊,說(shuō)明當(dāng)前點(diǎn)擊的歌曲是在用戶(hù)主動(dòng)意識(shí)下的一個(gè)行為,提高了置信度。
- 在模型中還可以對(duì)樣本做一些處理。比如在用戶(hù)側(cè)引入非常豐富的用戶(hù)畫(huà)像信息,對(duì)于沒(méi)有行為序列的用戶(hù),也可以觸發(fā)這個(gè)召回模式,為這些用戶(hù)召回歌曲。
2. 動(dòng)態(tài)多興趣建模
這個(gè)模型主要是針對(duì)口味豐富的用戶(hù),聚類(lèi)出多個(gè)興趣點(diǎn),如一個(gè)人喜歡粵語(yǔ)歌曲、流行歌曲、古風(fēng)歌曲等, 就需要從各點(diǎn)出發(fā)召回用戶(hù)興趣歌曲.
方法是將用戶(hù)不同時(shí)刻的行為序列作為輸入。因?yàn)橛脩?hù)聽(tīng)歌記錄其實(shí)是多樣豐富的。
比如說(shuō)用戶(hù)會(huì)在早上會(huì)聽(tīng)一些節(jié)奏比較歡快的歌曲,下午工作時(shí)可能會(huì)聽(tīng)一些舒緩的慢歌,周末可能會(huì)聽(tīng)一些搖滾的歌曲。
所以需要通過(guò)建模,把用戶(hù)內(nèi)部的多個(gè)興趣點(diǎn)挖掘出來(lái)。
3. 音樂(lè)知識(shí)圖譜
通過(guò)建立音樂(lè)知識(shí)圖譜,可以得到不同實(shí)體之間一步、二步甚至多步的關(guān)系。
比如表面上看起來(lái)可能毫不相干的兩個(gè)藝人,因?yàn)檫@兩位藝人同時(shí)給同一個(gè)電視劇演唱的關(guān)系,就形成了一個(gè)關(guān)聯(lián)關(guān)系。
方法是建立音樂(lè)數(shù)據(jù)中不同實(shí)體之間的關(guān)系。
用每一條知識(shí)表示成主謂賓的三元組,比如說(shuō)”忘記時(shí)間屬于專(zhuān)輯仙劍三”,”此生不換屬于專(zhuān)輯仙劍三”,”胡歌演唱忘記時(shí)間”。然后,將這些知識(shí)表示建立起相關(guān)關(guān)系, 最后進(jìn)行一步甚至多步的召回。比如當(dāng)用戶(hù)聽(tīng)了此生不換時(shí),就可以給用戶(hù)召回歌曲忘記時(shí)間甚至其他仙劍三的原聲音樂(lè)或者胡歌演唱的其他歌曲。
4. 長(zhǎng)短興趣挖掘
用戶(hù)的近期聽(tīng)歌記錄對(duì)召回很有幫助,用戶(hù)遠(yuǎn)期聽(tīng)歌記錄亦然。用戶(hù)的遠(yuǎn)期聽(tīng)歌記錄,表示該用戶(hù)過(guò)去的偏好,而音樂(lè)能一直給用戶(hù)傳遞情感,故遠(yuǎn)期偏好也是值得關(guān)注的點(diǎn)。
所以需要對(duì)用戶(hù)的長(zhǎng)期興趣和短期興趣都進(jìn)行挖掘。
方法是對(duì)用戶(hù)行為序列根據(jù)時(shí)間節(jié)點(diǎn)進(jìn)行長(zhǎng)期和短期的劃分,分別進(jìn)行興趣挖掘。
四、網(wǎng)易云音樂(lè)的精排模型
精排是推薦系統(tǒng)中的重要部分,一般在召回之后。它會(huì)將召回的結(jié)果進(jìn)行排序,并選擇topk的結(jié)果作為推薦的最終輸出。
先簡(jiǎn)單介紹下用戶(hù)在云音樂(lè)中的行為鏈路。我們以每日推薦場(chǎng)景來(lái)做具體的介紹。用戶(hù)進(jìn)入日推,首先歌曲會(huì)得到曝光。
用戶(hù)可能會(huì)點(diǎn)擊某些歌曲,也可能直接進(jìn)行了播放。在播放的過(guò)程中或者結(jié)束時(shí),用戶(hù)會(huì)進(jìn)行顯隱式的反饋。
比如進(jìn)行收藏行為或者是切歌的行為,甚至可以將歌曲標(biāo)注為不感興趣,當(dāng)然也可以什么都不做,繼續(xù)播放下一首。
在用戶(hù)整個(gè)行為里面,可以看到收藏、點(diǎn)擊、完整播放,這些 action 是屬于用戶(hù)正向的反饋;而曝光不播放或者是曝光時(shí)間非常短,不感興趣的,都是一些負(fù)反饋。
對(duì)用戶(hù)這些行為進(jìn)行累積,我們可以對(duì)他之前的語(yǔ)種偏好、風(fēng)格偏好、藝人、年代熱度等等,進(jìn)行重新調(diào)整,從而更好的進(jìn)行下一次推薦。
1. 用戶(hù)行為序列建模
這個(gè)建模的作用是在用戶(hù)多樣的興趣點(diǎn)中,重點(diǎn)關(guān)注會(huì)影響到當(dāng)次推薦的歷史行為。
對(duì)用戶(hù)行為使用attention 機(jī)制,attention 機(jī)制可以讓模型更加關(guān)注到它認(rèn)為有用的信息,著重的影響本次推薦的行為。對(duì)于歌曲畫(huà)像,會(huì)包含歌曲的風(fēng)格、語(yǔ)種、藝人信息、專(zhuān)輯信息等等。豐富的歌曲畫(huà)像,可以讓模型更好的關(guān)注到用戶(hù)本次點(diǎn)擊的興趣點(diǎn)在哪里。
2. 用戶(hù)興趣演化模型
用戶(hù)的興趣是不斷變化的,用戶(hù)越新的行為,越能夠反映用戶(hù)當(dāng)時(shí)的興趣,對(duì)于推測(cè)之后的行為發(fā)揮的作用也是越大的, 而舊的行為發(fā)揮的作用就相對(duì)弱一些。
特別是在音樂(lè)中,外界的流行趨勢(shì)會(huì)發(fā)生非常大的改變??赡茉趲啄陜?nèi),甚至是幾個(gè)月內(nèi)流行的方向,就發(fā)生一次非常大的改變。
方法是在模型中,要考慮捕捉用戶(hù)興趣的演化路線(xiàn)??梢允褂糜脩?hù)實(shí)時(shí)的完整播放序列進(jìn)行建模,模型除了使用attention機(jī)制外,還加入ARGRU網(wǎng)絡(luò)結(jié)構(gòu),這樣既可以保留原先的注意力機(jī)制,又能捕獲用戶(hù)歌曲興趣發(fā)展的路徑。
3. 基于會(huì)話(huà)的多行為域模型
對(duì)于用戶(hù)行為,不只有歌曲播放的行為,還有各種其他的行為。我們觀察播放的整個(gè)詳情頁(yè),里面有很多的控件,比如收藏按鈕,表示用戶(hù)將歌曲加入紅心收藏歌單中,這是用戶(hù)非常強(qiáng)烈的行為。
同樣下載歌曲或者分享,都是明顯的正向行為。用戶(hù)的評(píng)論信息也很重要, 如果用戶(hù)對(duì)這首歌曲標(biāo)了不感興趣,甚至是拉黑了歌曲或者藝人,那么這就是顯著的負(fù)向行為。
還有比較隱蔽的負(fù)向行為,就是用戶(hù)在播放的過(guò)程中進(jìn)行切割操作,這是一個(gè)沒(méi)有消費(fèi)完全的狀態(tài),對(duì)用戶(hù)來(lái)說(shuō)是不好的體驗(yàn)。
方法是不僅使用用戶(hù)完整的播放歌曲序列建模,還要加入紅星收藏序列和跳過(guò)序列。對(duì)于評(píng)論信息,要具體分析評(píng)論的內(nèi)容,利用 NLP 技術(shù)進(jìn)行情感分析,去判斷用戶(hù)真正情感。
通過(guò)對(duì)用戶(hù)行為的不斷擴(kuò)充,把用戶(hù)正向和負(fù)向的行為,進(jìn)行完整的刻畫(huà)。
五、音樂(lè)推薦場(chǎng)景AI思考
音樂(lè)是反映人類(lèi)現(xiàn)實(shí)生活中,一種情感的藝術(shù)。AI 是一個(gè)理性的產(chǎn)品,它為人們提供便利的生活。
理性和感性的結(jié)合,并不是相互抵消的過(guò)程,反而能發(fā)揮出更大的效果。健康良性的音樂(lè)系統(tǒng),通過(guò) AI 技術(shù),可以幫助用戶(hù)去發(fā)現(xiàn)更多感興趣的音樂(lè),讓用戶(hù)能夠沉浸在音樂(lè)帶給他的快樂(lè)當(dāng)中。
更多用戶(hù)的使用行為可以幫助挖掘更多長(zhǎng)尾歌曲,挖掘那些小眾但是優(yōu)質(zhì)的音樂(lè),使優(yōu)質(zhì)的歌曲都能得到合理的分發(fā)。
本文由 @灼華一品 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議。
小小的細(xì)節(jié)里面大有深意呀。那這背后的具體的代碼、算法模型呢。還想再多了解一下。