新聞推薦系統的CTR預估模型
關注【搜狐技術產品】,第一時間獲取技術乾貨
01簡介
在推薦系統的排序環節中,我們經常使用CTR(Click-Through Rate)預估的方式來構建排序模型。在業界的實際應用上,如何通過大規模數據提取出有效特徵對用戶行為建模、泛化一直是研究人員的工作方向,由於在推薦系統的實際應用中,數據通常非常稀疏,如何從大規模的稀疏特徵中提取出有效的泛化特徵是CTR預估模型的一個重大挑戰。本文我們首先介紹了CTR預估模型的演變歷史,並介紹如何使用DNN在推薦系統的排序情景進行CTR預估,通過特殊的網路結構得到高效的泛化特徵提高模型的預測能力。
02DNN在推薦系統中的應用
2.1 點擊率預估模型
在新聞推薦系統中,想得到用戶最可能點擊的新聞,給定某用戶及新聞的集合,通過提取特徵我們可以得到三種特徵:
- 用戶特徵(用戶興趣、年齡、性別等)
- 上下文特徵(機型、網路等)
- 待預估新聞特徵(類別、標籤等)
我們需要計算出用戶對待預估新聞的點擊率,通過對預估點擊率的降序排序得出用戶最可能點擊的前K個新聞。
最開始做點擊率預估的模型為LR(Logistic Regression),將上述特徵代入LR模型可以得到一個簡單的點擊率預估模型。然而,在推薦情景中,用戶的行為是稀疏的,即一個用戶能看到的新聞是有限的,如何從用戶有限的瀏覽中推測出用戶可能喜歡的新聞,就是推薦工作的重點,在這裡使用LR如果只是簡單的對上述特徵進行建模,是無法得到特別好的效果的,原因是LR模型本身無法對特徵進行泛化,它只能對某特徵直接計算其相應的權重??,如果想使得LR具備泛化能力,則需要我們在數據端"手動泛化",例如:
將用戶的興趣與待估新聞的類別進行組合,得到一個interact特徵,假如用戶喜歡看科比相關的新聞,則待排新聞為體育類別的新聞應該比娛樂類別的新聞的值應該更高,因此我們能構造出特徵用戶喜歡科比且待排新聞為體育類
,並且通過業務理解,我們能知道這個特徵一定比用戶喜歡科比且待排新聞為娛樂類
在LR模型中得到的權重高。