感謝參考原文-http://bjbsair.com/2020-04-01/tech-info/18298.html
引言
推薦系統(tǒng)是依據(jù)用戶的個(gè)人喜好盡可能推薦用戶喜愛的物品(視頻、新聞多望、商品芙粱、直播等)肢专,而用戶的興趣偏好則通過(guò)過(guò)往的行為數(shù)據(jù)體現(xiàn)出來(lái)。當(dāng)沒有歷史記錄可循時(shí)缤苫,就存在推薦冷啟動(dòng)問(wèn)題。本文在接下來(lái)的篇幅首先講述冷啟動(dòng)的相關(guān)概念,然后介紹一些業(yè)界常規(guī)的解決方法冈欢,最后會(huì)著重闡述花椒直播在解決用戶冷啟動(dòng)方面的實(shí)踐。
- 冷啟動(dòng)概念
推薦系統(tǒng)旨在通過(guò)用戶特征及交互行為和物品的特征來(lái)預(yù)測(cè)用戶對(duì)物品的偏好盈简,從而進(jìn)行個(gè)性化推薦凑耻,當(dāng)物品或用戶缺少足夠的有效信息時(shí),即存在冷啟動(dòng)問(wèn)題柠贤。
冷啟動(dòng)問(wèn)題可以分為以下三種:
1.1 系統(tǒng)冷啟動(dòng)
指整個(gè)產(chǎn)品剛剛上線香浩,尚未積累足夠數(shù)據(jù)和用戶。此時(shí)主要依靠產(chǎn)品設(shè)計(jì)者和開發(fā)人員合作來(lái)完成系統(tǒng)的冷啟動(dòng)臼勉,這其中包括對(duì)產(chǎn)品的定位邻吭,目標(biāo)群體的推廣,種子用戶的獲取等等宴霸。
1.2 物品冷啟動(dòng)
指新加入的物品囱晴,本身沒有交互數(shù)據(jù)(直播被多少人觀看,商品有多少人點(diǎn)擊瓢谢、購(gòu)買畸写,影視劇有多少人打分等),例如電商平臺(tái)新上架的商品氓扛,直播平臺(tái)新人主播等枯芬。
1.3 用戶冷啟動(dòng)
對(duì)于沒有交互記錄的新注冊(cè)用戶,初期的使用體驗(yàn)幾乎決定了新用戶的去留采郎,因而用戶冷啟動(dòng)是推薦冷啟動(dòng)中非常重要的部分千所。本文將主要介紹用戶冷啟動(dòng)的解決方案以及花椒直播在用戶冷啟動(dòng)方面的探索。
- 用戶冷啟動(dòng)模型
用戶冷啟動(dòng)在業(yè)界通常有如下幾類通用的方法
2.1 熱門內(nèi)容推薦
可以依靠專家經(jīng)驗(yàn)蒜埋,通過(guò)一些規(guī)則統(tǒng)計(jì)熱門內(nèi)容推薦給新用戶淫痰。這種方案比較簡(jiǎn)單,但多數(shù)情況下缺乏變化理茎,如果更新不及時(shí)黑界,會(huì)使用戶很快失去興趣管嬉。
2.2 基于群體代表推薦
向用戶提供幾個(gè)興趣標(biāo)簽或者物品,讓用戶進(jìn)行選擇朗鸠。通過(guò)標(biāo)簽或者群體代表的物品來(lái)初始化用戶的興趣偏好蚯撩,再給用戶推薦相關(guān)的物品。
群體代表推薦優(yōu)點(diǎn)在于其相似度推薦可以基于矩陣分解烛占,如果原推薦系統(tǒng)已有矩陣分解模型胎挎,則不需要做太多改動(dòng)即可實(shí)現(xiàn)。同時(shí)該方案的可解釋性較強(qiáng)忆家。由于需要修改前端交互邏輯犹菇,增加新用戶操作步驟,可能會(huì)降低用戶體驗(yàn)芽卿。
2.3 利用輔助信息
新用戶可以通過(guò)其他平臺(tái)帳號(hào)登錄揭芍,可以通過(guò)其他平臺(tái)已有的用戶畫像(例如社交平臺(tái)的好友關(guān)系、興趣愛好等)來(lái)實(shí)現(xiàn)用戶畫像擴(kuò)充卸例,達(dá)到冷啟動(dòng)推薦的效果称杨。
輔助信息的利用能在一定程度上很好的解決用戶冷啟動(dòng)問(wèn)題,而由于隱私保護(hù)和平臺(tái)數(shù)據(jù)保護(hù)等原因筷转,獲取平臺(tái)用戶畫像在實(shí)際實(shí)施過(guò)程中開發(fā)工作量比較大姑原。
2.4 bandit算法(bandit 探索+利用)
多臂賭博機(jī)問(wèn)題(multi-armed bandit, MAB) 是強(qiáng)化學(xué)習(xí)中關(guān)于探索和利用(exploration–exploitation, E&E)的經(jīng)典問(wèn)題:多臂機(jī)的每個(gè)臂中獎(jiǎng)概率不一樣,試驗(yàn)者要根據(jù)某種策略經(jīng)過(guò)多次嘗試呜舒,并根據(jù)每次的獲勝情況锭汛,迭代更新策略,從而獲得最大收益袭蝗。bandit相關(guān)算法包括Epsilon-Greedy唤殴、UCB、LinUCB呻袭、Thompson sampling等眨八。下面以Thompson sampling算法為例腺兴,簡(jiǎn)單說(shuō)明EE類算法的實(shí)施過(guò)程左电。
Thompson sampling
我們假設(shè)每個(gè)臂的獲勝概率服從Beta(win, lose)分布,則求解最大收益轉(zhuǎn)化為對(duì)每個(gè)臂的獲勝概率分布進(jìn)行參數(shù)估計(jì)页响。在每輪迭代中篓足,我們可以對(duì)每個(gè)臂以當(dāng)前beta分布的win、lose參數(shù)生成概率p作為獲勝概率闰蚕,選擇p最大的那個(gè)臂進(jìn)行下一輪嘗試栈拖,根據(jù)結(jié)果更新該臂的win、lose參數(shù)没陡。
MAB問(wèn)題中關(guān)于E&E問(wèn)題非常適合用戶冷啟動(dòng)的場(chǎng)景涩哟,bandit算法在兼顧用戶已知興趣的同時(shí)索赏,通過(guò)不同策略來(lái)探索用戶潛在的興趣,通過(guò)多次嘗試來(lái)發(fā)掘用戶興趣贴彼。這類算法也可用于提高推薦內(nèi)容多樣性潜腻。bandit算法需要不停的嘗試和更新來(lái)實(shí)現(xiàn)對(duì)用戶興趣的擬合,由于沒有利用任何先驗(yàn)知識(shí)器仗,因而在前幾次的推薦效果可能會(huì)比熱門還要差融涣。
2.5 深度學(xué)習(xí)
深度學(xué)習(xí)由于多層網(wǎng)絡(luò)設(shè)計(jì)和dropout技術(shù),使得其能夠自動(dòng)提取高階特征精钮,泛化能力相對(duì)傳統(tǒng)機(jī)器學(xué)習(xí)模型要更好威鹿。在新用戶冷啟動(dòng)場(chǎng)景下,用戶行為特征較少轨香,此時(shí)可以訓(xùn)練模型學(xué)習(xí)群體特征忽你,例如XX地區(qū)使用XX手機(jī)的XX歲男性,喜歡哪些類別的商品等臂容。
這種群體特征可以通過(guò)特征交叉來(lái)實(shí)現(xiàn)檀夹,比如Wide&Deep模型Wide部分的手動(dòng)特征交叉,但手動(dòng)交叉僅能學(xué)習(xí)到訓(xùn)練樣本中存在的交叉特征(如兩個(gè)特征A策橘、B炸渡,分別有A1,A2丽已, B1蚌堵, B2,樣本中僅存在A1_B1沛婴,A2_B2吼畏,則無(wú)法學(xué)到A1_B2和A2_B1的權(quán)重)。
DeepFM通過(guò)因式分解機(jī)(FM部分)用向量代表特征嘁灯,通過(guò)向量?jī)?nèi)積來(lái)實(shí)現(xiàn)特征自動(dòng)交叉泻蚊,同時(shí)解決了訓(xùn)練集里沒有共現(xiàn)的特征無(wú)法學(xué)到權(quán)重的問(wèn)題。
另一個(gè)思路是利用用戶的行為序列來(lái)進(jìn)行推薦(過(guò)去幾分鐘點(diǎn)擊的商品丑婿,瀏覽的頁(yè)面等)性雄,這種情況下用戶行為序列是實(shí)時(shí)構(gòu)建,不需要提前生產(chǎn)畫像羹奉,處理序列特征的模型包括RNN秒旋、LSTM、GRU诀拭、DIN等
- 花椒直播推薦的用戶冷啟動(dòng)介紹
由于時(shí)間跨度較小迁筛,新用戶近期的交互記錄并不足以構(gòu)建用戶畫像(過(guò)去一段時(shí)間觀看的頻率、時(shí)長(zhǎng)耕挨,發(fā)送的彈幕次數(shù)等)细卧,因而不適用老用戶的推薦模型尉桩。我們主要著重于基礎(chǔ)畫像以及短期的交互行為記錄,利用這些特征來(lái)解決新用戶的冷啟動(dòng)問(wèn)題贪庙。
3.1 熱門推薦
如2.1所述魄健,可以根據(jù)一些規(guī)則(如直播間新用戶留存率排行,直播間熱度排行等)生成熱門主播列表插勤,再推薦給新用戶沽瘦。
3.2 熱門 + 實(shí)時(shí)行為反饋
在純熱門推薦的基礎(chǔ)上,我們引入了用戶最近觀看記錄這一特征农尖,使用協(xié)同過(guò)濾的方法析恋,從候選集中召回與觀看記錄中相似的主播,經(jīng)過(guò)排序后推薦給用戶盛卡。如果用戶沒有觀看記錄助隧,則直接推薦熱門列表。這種方案相對(duì)簡(jiǎn)單滑沧,可以利用已有的協(xié)同過(guò)濾模型并村,不需要單獨(dú)訓(xùn)練模型。
3.3 bandit算法
多臂賭博機(jī)問(wèn)題中滓技,測(cè)試者根據(jù)策略多次嘗試選擇不同的臂哩牍,根據(jù)反饋來(lái)迭代更新各個(gè)臂的獲勝概率。直播推薦中令漂,由于在線主播較多膝昆,而用戶同一時(shí)間只能觀看一個(gè)主播,且手機(jī)上屏幕較小叠必,一屏內(nèi)僅能展示少數(shù)幾個(gè)主播荚孵。如果直接將主播對(duì)應(yīng)為多臂賭博機(jī)的一個(gè)臂,將一次展示(曝光)作為嘗試纬朝,一次點(diǎn)擊/觀看作為獲勝來(lái)進(jìn)行建模收叶,則會(huì)有很多臂得不到更新。為此我們做了一些修改共苛,對(duì)主播聚類判没,將類別作為臂,計(jì)算用戶對(duì)類別的bandit得分俄讹。
以Thompson采樣算法為例哆致,我們先通過(guò)矩陣分解、item2vec等方法訓(xùn)練得到主播的向量患膛,進(jìn)行K均值聚類,得到多個(gè)類別耻蛇,bandit算法在線學(xué)習(xí)時(shí)踪蹬,根據(jù)用戶的觀看記錄胞此,對(duì)各個(gè)類別的參數(shù)進(jìn)行更新,再與主播分?jǐn)?shù)相乘得到最后的分?jǐn)?shù)跃捣。與類別得分是基于單一用戶的bandit嘗試不同漱牵,主播分?jǐn)?shù)通過(guò)統(tǒng)計(jì)平臺(tái)所有用戶對(duì)該主播的曝光和點(diǎn)擊記錄,更新bandit參數(shù)后計(jì)算得到疚漆,如果沒有曝光點(diǎn)擊記錄酣胀,則賦一個(gè)隨機(jī)值。相比熱門和基于觀看記錄協(xié)同過(guò)濾的方案娶聘,bandit算法能夠給用戶推薦不同類型的直播闻镶,付出的代價(jià)是前幾次推薦效果可能較差。
3.4 深度學(xué)習(xí)
新用戶除了沒有交互行為記錄以外丸升,往往會(huì)有一些基礎(chǔ)畫像(性別铆农、年齡)以及上下文特征(地區(qū)、設(shè)備型號(hào)狡耻、渠道墩剖、時(shí)間等),bandit算法并未利用到這些信息夷狰,而前面幾次的推薦嘗試存在不確定性岭皂,因而初始推薦效果比較一般。我們嘗試用深度學(xué)習(xí)基于這些基礎(chǔ)特征來(lái)學(xué)習(xí)群體的興趣偏好沼头,在Wide&Deep中通過(guò)用戶上下文特征與主播的標(biāo)簽進(jìn)行手動(dòng)交叉蒲障,通過(guò)DeepFM實(shí)現(xiàn)特征自動(dòng)交叉,達(dá)到學(xué)習(xí)群體特征的效果瘫证。同時(shí)揉阎,在模型的Deep部分,參考DIN模型背捌,利用注意力機(jī)制來(lái)處理用戶的觀看序列特征毙籽,從行為序列學(xué)習(xí)到用戶的興趣向量,從而實(shí)現(xiàn)對(duì)用戶實(shí)時(shí)行為特征的學(xué)習(xí)毡庆。
3.5 輔助信息使用
3.6 模型效果
在解決新用戶冷啟動(dòng)的過(guò)程中坑赡,特征的挖掘和模型的更新缺一不可,在熱門基礎(chǔ)上加入用戶實(shí)時(shí)反饋信息后么抗,相關(guān)指標(biāo)提升顯著毅否,新用戶人均觀看時(shí)長(zhǎng)等指標(biāo)提升50%以上,深度模型在此基礎(chǔ)上也有20%以上提升蝇刀。
- 總結(jié)
新用戶和新物品的加入是平臺(tái)能夠保持活力的關(guān)鍵之一螟加,推薦系統(tǒng)冷啟動(dòng)方案在新用戶和新物品的加入起著非常重要的作用,業(yè)界在冷啟動(dòng)這方面也有很多研究。在技術(shù)選型時(shí)捆探,要結(jié)合不同場(chǎng)景選擇合適的方案然爆,可以在初始階段選擇相對(duì)簡(jiǎn)單的方法使系統(tǒng)盡快上線,在系統(tǒng)相對(duì)穩(wěn)定時(shí)再繼續(xù)嘗試一些相對(duì)復(fù)雜的方案去迭代改進(jìn)黍图。