鄧琦 廖琴 羅元帥
【關(guān)鍵詞】Embedding;冷啟動(dòng);算法
個(gè)性化推薦算法主要包括召回算法和排序算法。通過召回算法,每個(gè)用戶可以從完整的內(nèi)容庫(例如,數(shù)百萬個(gè)視頻內(nèi)容)中選取數(shù)以千或百計(jì)可能感興趣的候選內(nèi)容,例如協(xié)同過濾(Collaborative Filtering[1])算法和FM算法(Factorization Machines[2])。排序算法對(duì)召回的候選內(nèi)容進(jìn)行排序,按照用戶感興趣的程度對(duì)內(nèi)容進(jìn)行排序,并展示給用戶,例如邏輯回歸(Logistic Regression[3])算法和DeepFM[4]算法。
通常針對(duì)有行為的用戶,一般通過算法模型計(jì)算推薦結(jié)果。然而在互聯(lián)網(wǎng)場(chǎng)景中,用戶和內(nèi)容都是在不斷增長變化的,必定會(huì)頻繁面對(duì)新內(nèi)容和新用戶,由于新用戶沒有行為或行為很少,難以通過算法模型為其推薦內(nèi)容,一般為其推薦預(yù)圈選好的少部分優(yōu)質(zhì)內(nèi)容,稱之為用戶冷啟動(dòng)。
由于用戶興趣的差異性,為新用戶推薦最新最熱等預(yù)圈選內(nèi)容會(huì)使得推薦結(jié)果缺乏個(gè)性化,只能滿足部分人的需求。即便是結(jié)合少量標(biāo)簽進(jìn)行用戶畫像推薦,效果也不夠理想,為新用戶提供個(gè)性化推薦是急需解決的問題。
協(xié)同過濾召回算法適用于用戶行為豐富的場(chǎng)景,例如為用戶A推薦其相似用戶B喜歡的內(nèi)容,需要有足夠的數(shù)據(jù)計(jì)算A和B的相似度。本文結(jié)合協(xié)同過濾算法、聚類算法和Embedding算法進(jìn)行用戶冷啟動(dòng)推薦。具體實(shí)現(xiàn)如下:
(一)用戶聚類(分群)
本文使用深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)(CNN)算法從用戶基礎(chǔ)信息(性別、年齡和地區(qū)等)、昵稱信息和頭像信息提取特征,隨后利用Kmeans[5]聚類算法對(duì)用戶進(jìn)行聚類,得到不同的用戶群。
(二)用戶群行為合并
由于單個(gè)新用戶行為稀疏,難以直接使用協(xié)同過濾算法,因此可以將同一用戶群的用戶行為進(jìn)行合并。在此基礎(chǔ)上,由于不同用戶到聚類中心點(diǎn)的距離不一樣(可理解為用戶屬于不同類別的相似度不一樣),因此不同用戶的行為權(quán)重有所差別,不能直接合并。本文提出了一種加權(quán)行為合并方案,對(duì)用戶群i,假設(shè)用戶j到聚類中心點(diǎn)的距離為di,j用戶群i中所有用戶到中心點(diǎn)的最大距離為max(di),可定義用戶j的行為權(quán)重為wi,j用戶離聚類中心點(diǎn)越近權(quán)重越大,表示用戶與該類的相似度越大,公式如下:
wi,j =1-di,j / max (di)
根據(jù)上式求得的權(quán)重,對(duì)同一用戶群內(nèi)的用戶行為進(jìn)行加權(quán)合并。假設(shè)用戶對(duì)電影的原始評(píng)分只有0和1,用戶群i(其中用戶群i有n個(gè)用戶)對(duì)電影k的得分是每個(gè)用戶對(duì)電影k分?jǐn)?shù)的加權(quán)求和,公式如下:
new_scorei,k = =1 wi,j * scorek
由于用戶群中不同用戶的行為都合并在一起了,使原本稀疏的矩陣變得稠密,因此合并后的用戶群適合使用協(xié)同過濾算法。
(三)基于用戶群進(jìn)行協(xié)同過濾+embedding進(jìn)行推薦通過上述的聚類和行為合并,得到用戶群樣本后,可以將一個(gè)用戶群i看作一個(gè)用戶,然后基于用戶協(xié)同過濾計(jì)算用戶群i的相似度,為用戶群推薦最相似用戶群的評(píng)分topK內(nèi)容。假設(shè)經(jīng)協(xié)同過濾得到“用戶群1”最相似的用戶群為“用戶群99”,取“用戶群99”評(píng)分最高且“用戶群1”未看過的1000部電影作為“用戶群1”的初步推薦結(jié)果。這是為用戶群整體所做的推薦,難以通過上述權(quán)重計(jì)算公式拆分每個(gè)用戶的評(píng)分,也不宜為用戶群所有用戶推薦一樣的內(nèi)容。
基于此,由于用戶群維度有較為豐富的行為,針對(duì)該用戶群進(jìn)行DeepFM建模,得到各用戶群embedding向量。通過Step1CNN提取的特征構(gòu)造用戶embedding向量。
最后計(jì)算用戶embedding向量到候選內(nèi)容embedding向量的距離(相似度),為每個(gè)內(nèi)容推薦距離最近(最相似)的topN個(gè)內(nèi)容,例如100個(gè)。
新用戶行為稀疏,難以通過模型為其推薦內(nèi)容,通常通過年齡、性別、地區(qū)等用戶畫像的方式劃分用戶群進(jìn)行分群推薦,缺少個(gè)性化。本文結(jié)合協(xié)同過濾、聚類和embedding提出了一種新的用戶冷啟動(dòng)方法,可以有效地為不同用戶推薦更豐富的內(nèi)容,能更好地解決用戶冷啟動(dòng)問題。