Deep Learning在花椒直播中的應(yīng)用,推薦系統(tǒng)冷啟動算法實(shí)現(xiàn)

感謝參考原文-http://bjbsair.com/2020-04-01/tech-info/18298.html

引言

推薦系統(tǒng)是依據(jù)用戶的個(gè)人喜好盡可能推薦用戶喜愛的物品(視頻、新聞、商品、直播等),而用戶的興趣偏好則通過過往的行為數(shù)據(jù)體現(xiàn)出來。當(dāng)沒有歷史記錄可循時(shí),就存在推薦冷啟動問題。本文在接下來的篇幅首先講述冷啟動的相關(guān)概念,然后介紹一些業(yè)界常規(guī)的解決方法,最后會著重闡述花椒直播在解決用戶冷啟動方面的實(shí)踐。

  1. 冷啟動概念

推薦系統(tǒng)旨在通過用戶特征及交互行為和物品的特征來預(yù)測用戶對物品的偏好,從而進(jìn)行個(gè)性化推薦,當(dāng)物品或用戶缺少足夠的有效信息時(shí),即存在冷啟動問題。

冷啟動問題可以分為以下三種:

1.1 系統(tǒng)冷啟動

指整個(gè)產(chǎn)品剛剛上線,尚未積累足夠數(shù)據(jù)和用戶。此時(shí)主要依靠產(chǎn)品設(shè)計(jì)者和開發(fā)人員合作來完成系統(tǒng)的冷啟動,這其中包括對產(chǎn)品的定位,目標(biāo)群體的推廣,種子用戶的獲取等等。

1.2 物品冷啟動

指新加入的物品,本身沒有交互數(shù)據(jù)(直播被多少人觀看,商品有多少人點(diǎn)擊、購買,影視劇有多少人打分等),例如電商平臺新上架的商品,直播平臺新人主播等。

1.3 用戶冷啟動

對于沒有交互記錄的新注冊用戶,初期的使用體驗(yàn)幾乎決定了新用戶的去留,因而用戶冷啟動是推薦冷啟動中非常重要的部分。本文將主要介紹用戶冷啟動的解決方案以及花椒直播在用戶冷啟動方面的探索。

  1. 用戶冷啟動模型

用戶冷啟動在業(yè)界通常有如下幾類通用的方法

2.1 熱門內(nèi)容推薦

可以依靠專家經(jīng)驗(yàn),通過一些規(guī)則統(tǒng)計(jì)熱門內(nèi)容推薦給新用戶。這種方案比較簡單,但多數(shù)情況下缺乏變化,如果更新不及時(shí),會使用戶很快失去興趣。

2.2 基于群體代表推薦

向用戶提供幾個(gè)興趣標(biāo)簽或者物品,讓用戶進(jìn)行選擇。通過標(biāo)簽或者群體代表的物品來初始化用戶的興趣偏好,再給用戶推薦相關(guān)的物品。

深度學(xué)習(xí)在花椒直播中的應(yīng)用:推薦系統(tǒng)冷啟動算法

群體代表推薦優(yōu)點(diǎn)在于其相似度推薦可以基于矩陣分解,如果原推薦系統(tǒng)已有矩陣分解模型,則不需要做太多改動即可實(shí)現(xiàn)。同時(shí)該方案的可解釋性較強(qiáng)。由于需要修改前端交互邏輯,增加新用戶操作步驟,可能會降低用戶體驗(yàn)。

2.3 利用輔助信息

新用戶可以通過其他平臺帳號登錄,可以通過其他平臺已有的用戶畫像(例如社交平臺的好友關(guān)系、興趣愛好等)來實(shí)現(xiàn)用戶畫像擴(kuò)充,達(dá)到冷啟動推薦的效果。

輔助信息的利用能在一定程度上很好的解決用戶冷啟動問題,而由于隱私保護(hù)和平臺數(shù)據(jù)保護(hù)等原因,獲取平臺用戶畫像在實(shí)際實(shí)施過程中開發(fā)工作量比較大。

2.4 bandit算法(bandit 探索+利用)

多臂賭博機(jī)問題(multi-armed bandit, MAB) 是強(qiáng)化學(xué)習(xí)中關(guān)于探索和利用(exploration–exploitation, E&E)的經(jīng)典問題:多臂機(jī)的每個(gè)臂中獎概率不一樣,試驗(yàn)者要根據(jù)某種策略經(jīng)過多次嘗試,并根據(jù)每次的獲勝情況,迭代更新策略,從而獲得最大收益。bandit相關(guān)算法包括Epsilon-Greedy、UCB、LinUCB、Thompson sampling等。下面以Thompson sampling算法為例,簡單說明EE類算法的實(shí)施過程。

Thompson sampling

我們假設(shè)每個(gè)臂的獲勝概率服從Beta(win, lose)分布,則求解最大收益轉(zhuǎn)化為對每個(gè)臂的獲勝概率分布進(jìn)行參數(shù)估計(jì)。在每輪迭代中,我們可以對每個(gè)臂以當(dāng)前beta分布的win、lose參數(shù)生成概率p作為獲勝概率,選擇p最大的那個(gè)臂進(jìn)行下一輪嘗試,根據(jù)結(jié)果更新該臂的win、lose參數(shù)。

MAB問題中關(guān)于E&E問題非常適合用戶冷啟動的場景,bandit算法在兼顧用戶已知興趣的同時(shí),通過不同策略來探索用戶潛在的興趣,通過多次嘗試來發(fā)掘用戶興趣。這類算法也可用于提高推薦內(nèi)容多樣性。bandit算法需要不停的嘗試和更新來實(shí)現(xiàn)對用戶興趣的擬合,由于沒有利用任何先驗(yàn)知識,因而在前幾次的推薦效果可能會比熱門還要差。

2.5 深度學(xué)習(xí)

深度學(xué)習(xí)在花椒直播中的應(yīng)用:推薦系統(tǒng)冷啟動算法

深度學(xué)習(xí)由于多層網(wǎng)絡(luò)設(shè)計(jì)和dropout技術(shù),使得其能夠自動提取高階特征,泛化能力相對傳統(tǒng)機(jī)器學(xué)習(xí)模型要更好。在新用戶冷啟動場景下,用戶行為特征較少,此時(shí)可以訓(xùn)練模型學(xué)習(xí)群體特征,例如XX地區(qū)使用XX手機(jī)的XX歲男性,喜歡哪些類別的商品等。

這種群體特征可以通過特征交叉來實(shí)現(xiàn),比如Wide&Deep模型Wide部分的手動特征交叉,但手動交叉僅能學(xué)習(xí)到訓(xùn)練樣本中存在的交叉特征(如兩個(gè)特征A、B,分別有A1,A2, B1, B2,樣本中僅存在A1_B1,A2_B2,則無法學(xué)到A1_B2和A2_B1的權(quán)重)。

深度學(xué)習(xí)在花椒直播中的應(yīng)用:推薦系統(tǒng)冷啟動算法

DeepFM通過因式分解機(jī)(FM部分)用向量代表特征,通過向量內(nèi)積來實(shí)現(xiàn)特征自動交叉,同時(shí)解決了訓(xùn)練集里沒有共現(xiàn)的特征無法學(xué)到權(quán)重的問題。

深度學(xué)習(xí)在花椒直播中的應(yīng)用:推薦系統(tǒng)冷啟動算法

另一個(gè)思路是利用用戶的行為序列來進(jìn)行推薦(過去幾分鐘點(diǎn)擊的商品,瀏覽的頁面等),這種情況下用戶行為序列是實(shí)時(shí)構(gòu)建,不需要提前生產(chǎn)畫像,處理序列特征的模型包括RNN、LSTM、GRU、DIN等

  1. 花椒直播推薦的用戶冷啟動介紹

由于時(shí)間跨度較小,新用戶近期的交互記錄并不足以構(gòu)建用戶畫像(過去一段時(shí)間觀看的頻率、時(shí)長,發(fā)送的彈幕次數(shù)等),因而不適用老用戶的推薦模型。我們主要著重于基礎(chǔ)畫像以及短期的交互行為記錄,利用這些特征來解決新用戶的冷啟動問題。

3.1 熱門推薦

如2.1所述,可以根據(jù)一些規(guī)則(如直播間新用戶留存率排行,直播間熱度排行等)生成熱門主播列表,再推薦給新用戶。

3.2 熱門 + 實(shí)時(shí)行為反饋

在純熱門推薦的基礎(chǔ)上,我們引入了用戶最近觀看記錄這一特征,使用協(xié)同過濾的方法,從候選集中召回與觀看記錄中相似的主播,經(jīng)過排序后推薦給用戶。如果用戶沒有觀看記錄,則直接推薦熱門列表。這種方案相對簡單,可以利用已有的協(xié)同過濾模型,不需要單獨(dú)訓(xùn)練模型。

3.3 bandit算法

多臂賭博機(jī)問題中,測試者根據(jù)策略多次嘗試選擇不同的臂,根據(jù)反饋來迭代更新各個(gè)臂的獲勝概率。直播推薦中,由于在線主播較多,而用戶同一時(shí)間只能觀看一個(gè)主播,且手機(jī)上屏幕較小,一屏內(nèi)僅能展示少數(shù)幾個(gè)主播。如果直接將主播對應(yīng)為多臂賭博機(jī)的一個(gè)臂,將一次展示(曝光)作為嘗試,一次點(diǎn)擊/觀看作為獲勝來進(jìn)行建模,則會有很多臂得不到更新。為此我們做了一些修改,對主播聚類,將類別作為臂,計(jì)算用戶對類別的bandit得分。

以Thompson采樣算法為例,我們先通過矩陣分解、item2vec等方法訓(xùn)練得到主播的向量,進(jìn)行K均值聚類,得到多個(gè)類別,bandit算法在線學(xué)習(xí)時(shí),根據(jù)用戶的觀看記錄,對各個(gè)類別的參數(shù)進(jìn)行更新,再與主播分?jǐn)?shù)相乘得到最后的分?jǐn)?shù)。與類別得分是基于單一用戶的bandit嘗試不同,主播分?jǐn)?shù)通過統(tǒng)計(jì)平臺所有用戶對該主播的曝光和點(diǎn)擊記錄,更新bandit參數(shù)后計(jì)算得到,如果沒有曝光點(diǎn)擊記錄,則賦一個(gè)隨機(jī)值。相比熱門和基于觀看記錄協(xié)同過濾的方案,bandit算法能夠給用戶推薦不同類型的直播,付出的代價(jià)是前幾次推薦效果可能較差。

深度學(xué)習(xí)在花椒直播中的應(yīng)用:推薦系統(tǒng)冷啟動算法

3.4 深度學(xué)習(xí)

新用戶除了沒有交互行為記錄以外,往往會有一些基礎(chǔ)畫像(性別、年齡)以及上下文特征(地區(qū)、設(shè)備型號、渠道、時(shí)間等),bandit算法并未利用到這些信息,而前面幾次的推薦嘗試存在不確定性,因而初始推薦效果比較一般。我們嘗試用深度學(xué)習(xí)基于這些基礎(chǔ)特征來學(xué)習(xí)群體的興趣偏好,在Wide&Deep中通過用戶上下文特征與主播的標(biāo)簽進(jìn)行手動交叉,通過DeepFM實(shí)現(xiàn)特征自動交叉,達(dá)到學(xué)習(xí)群體特征的效果。同時(shí),在模型的Deep部分,參考DIN模型,利用注意力機(jī)制來處理用戶的觀看序列特征,從行為序列學(xué)習(xí)到用戶的興趣向量,從而實(shí)現(xiàn)對用戶實(shí)時(shí)行為特征的學(xué)習(xí)。

深度學(xué)習(xí)在花椒直播中的應(yīng)用:推薦系統(tǒng)冷啟動算法

3.5 輔助信息使用

3.6 模型效果

在解決新用戶冷啟動的過程中,特征的挖掘和模型的更新缺一不可,在熱門基礎(chǔ)上加入用戶實(shí)時(shí)反饋信息后,相關(guān)指標(biāo)提升顯著,新用戶人均觀看時(shí)長等指標(biāo)提升50%以上,深度模型在此基礎(chǔ)上也有20%以上提升。

  1. 總結(jié)

新用戶和新物品的加入是平臺能夠保持活力的關(guān)鍵之一,推薦系統(tǒng)冷啟動方案在新用戶和新物品的加入起著非常重要的作用,業(yè)界在冷啟動這方面也有很多研究。在技術(shù)選型時(shí),要結(jié)合不同場景選擇合適的方案,可以在初始階段選擇相對簡單的方法使系統(tǒng)盡快上線,在系統(tǒng)相對穩(wěn)定時(shí)再繼續(xù)嘗試一些相對復(fù)雜的方案去迭代改進(jìn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容