今天介紹的文章名稱是《Conversion Rate Prediction via Post-Click Behaviour Modeling》
論文下載地址為:https://arxiv.org/abs/1910.07099
在本系列的第十九篇文章中,我們已經介紹過一種基于多任務學習的CVR預估模型ESMM,同樣是阿里發表的論文。本文可以看作是ESMM的升級版,一起來學習一下吧。
1、背景
一個包含推薦系統、用戶行為的完整電商推薦流程如下圖所示:
主要分為兩個部分,一是推薦階段,二是用戶行為階段。推薦階段大都分為召回和精排兩部分,精排之后有時候會通過一些規則進行打散,然后展示給用戶。用戶看到推薦的物品,稱作Impression(可翻譯為曝光),用戶看到自己感興趣的物品,會Click(點擊),如果覺得還不錯,會Buy(購買)。因此用戶行為階段的一般過程是Impression - Click - Buy。
此時我們就會有兩個主要的概念:CTR和CVR,同時這兩個指標也是電商推薦系統所要預估的重點部分。CTR是曝光到點擊的概率,而CVR是點擊到購買的概率。
傳統的CVR預估問題存在兩個主要的問題,一是樣本選擇偏差(sample selection bias,SSB),二是數據稀疏(data sparsity,DS),如下圖所示:
樣本選擇偏差(sample selection bias,SSB):假設把給用戶曝光過的產品看作是整個樣本空間X,用戶點擊過的產品僅是中間的部分,定義為Xc。傳統的推薦系統僅用Xc中的樣本來訓練CVR預估模型,但訓練好的模型是在整個樣本空間X去做推斷的。由于點擊事件相對于曝光事件來說要少很多,因此只是樣本空間X的一個很小的子集,從Xc上提取的特征相對于從X中提取的特征而言是有偏的,甚至是很不相同。從而,按這種方法構建的訓練樣本集相當于是從一個與真實分布不一致的分布中采樣得到的,這一定程度上違背了機器學習中獨立同分布的假設。這種訓練樣本從整體樣本空間的一個較小子集中提取,而訓練得到的模型卻需要對整個樣本空間中的樣本做推斷預測的現象稱之為樣本選擇偏差。樣本選擇偏差會傷害學到的模型的泛化性能。
數據稀疏(data sparsity,DS):推薦系統展現給用戶的商品數量要遠遠大于被用戶點擊的商品數量,同時有點擊行為的用戶也僅僅只占所有用戶的一小部分,因此有點擊行為的樣本空間Xc相對于整個樣本空間X來說是很小的,通常來講,量級要少1~3個數量級。這就是所謂的訓練數據稀疏的問題,高度稀疏的訓練數據使得模型的學習變得相當困難。
為解決上述兩個問題,阿里曾經發表過多任務學習模型ESMM,簡單回顧一下:
ESMM中有兩個子網絡,二者共享Embedding部分,分別輸出CTR預估值pCTR和CVR預估值pCVR。Loss分為兩部分,一是CTR預估帶來的loss,二是pCTCVR(pCTR * pCVR)帶來的loss。這樣就可以在整個樣本空間上訓練CVR預估模型。
但是對于CVR預估來說,ESMM模型仍然面臨一定的樣本稀疏問題,畢竟從點擊到購買的樣本非常少。但挖掘用戶行為,發現用戶在購買前往往會有其他的行為,比如把想要購買的物品加入購物車或者心愿單。如下圖所示:
加入心愿單/購物車的數據相較購買數據還是比較多的,因此可以基于這部分數據,通過多任務學習模型來求解CVR模型。如圖所示,文中把加入購物車或者心愿單此類行為稱作Deterministic Action (DAction) ,而其他對購買相關性不是很大的行為稱作Other Action(OAction) 。此時原來的 Impression→Click→Buy過程變成了更加豐富的Impression→Click→DAction/OAction→Buy過程。
本文提出的模型基于Impression→Click→DAction/OAction→Buy過程來建模CVR預估問題,稱作Elaborated Entire Space Supervised Multi-task Model(ESM2),一起來看下吧。
2、ESM2模型介紹
2.1 模型整體架構
模型整體架構如下:
可以看到,一共有四個任務,分別是:
Y1:點擊率
Y2:點擊到發生DAction的概率
Y3:發生DAction到購買的概率
Y4:發生OAction到購買的概率
這里好像少了一個從點擊到OAction的概率,這是因為DAction和OAction是對立事件。
因此,此時CVR = (1 - Y2) * Y4 + Y2 * Y3
2.2 模型細節
上述的四個子任務,其用的樣本相同的,在整個樣本空間中進行訓練。其輸入首先經過共享嵌入模塊(Shared Embedding Module (SEM))轉換為對應的嵌入向量,隨后通過四個獨立的神經網絡分別預估Y1、Y2、Y3和Y4。
2.3 損失函數
既然是在整個樣本空間上的學習,那么計算的損失必須是從Impression開始的,那么計算損失首先需要計算下面三個部分:
pCTR:Impression→Click的概率直接由第一個網絡的結果得出
pCTAVR:Impression→Click→DAction的概率,pCTAVR = Y1 * Y2,由前兩個網絡的輸出結果相乘得到
pCTCVR:Impression→Click→DAction/OAction→Buy的概率,pCTCVR = CTR * CVR = Y1 * [(1 - Y2) * Y4 + Y2 * Y3],由四個網絡的輸出共同得到。
隨后通過三個logloss分別計算三個部分的損失:
而完整的損失函數由三部分加權得到:
而在預測時,只需要經過后三個網絡,便可以計算對應的CVR。
3、實驗結果
本文對比了幾個模型在CVR預估上的效果:
GBDT
DNN使用Click→Buy的樣本來訓練CVR模型,使用Impression→Click的樣本來訓練CTR模型
DNN-OS,對Click→Buy的樣本進行過采樣,其他同DNN
ESMM
ESM2
評價指標包括AUC和GAUC,GAUC是對每個用戶的AUC進行加權的結果:
實驗結果表明本文提出的ESM2模型在CVR預估上表現較為突出:
好了,本文介紹就到這里,其他的實驗結果以及模型的一些細節,大伙可以閱讀原論文。