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