
本文介紹的論文是《Deep Match to Rank Model for Personalized Click-Through Rate Prediction》。
論文下載地址是:https://github.com/lvze92/DMR。
本文提出了一種將協(xié)同過濾思想融入Ranking階段CTR預(yù)估模型的模型Deep Match to Rank(簡稱DMR),提升了模型的個性化能力,并取得了不錯的實驗效果,一起來學(xué)習(xí)下。
1、背景
推薦系統(tǒng)通常分為兩個階段,即召回和排序階段。在召回階段會對用戶和物品進行匹配,得到較小的一部分候選集進入到排序階段。在召回階段,協(xié)同過濾方法是最常用來計算用戶和物品相關(guān)性的方法。在排序階段,排序模型會對候選集的每個物品進行打分,然后選取得分最高的N個物品推薦給用戶。而打分最為常用的方式是預(yù)測用戶對物品的點擊率。因此,點擊率預(yù)估也受到了學(xué)術(shù)界和工業(yè)界眾多研究者的關(guān)注。而本文也重點關(guān)注點擊率預(yù)估問題。
對于點擊率預(yù)估問題,個性化是提升其效果的一個重要的方面。個性化的一個重要方面就是對用戶興趣的刻畫,如之前提到過的DIN、DIEN、DSIN等模型。但是這些模型忽略了建模用戶和物品之間的相關(guān)性。用戶和物品之間的相關(guān)性,可以直接衡量用戶對目標(biāo)商品的偏好強度。(下文中用戶和物品的相關(guān)性,咱們用U2I相關(guān)性來表示)
表征U2I相關(guān)性,主要有基于矩陣分解和基于深度學(xué)習(xí)的方法?;谏疃葘W(xué)習(xí)的方法,如咱們比較熟悉的Youtube的DNN召回模型。那么能否將這種類似YoutbueDNN的Deep Match的思想融入到Rank階段的模型呢?答案是可以的,也就是本文要介紹的DMR模型(Deep Match to Rank)。
2、DMR模型介紹
DMR模型的整體結(jié)構(gòu)如下:

咱們就按論文里的思路進行介紹,先介紹一下基礎(chǔ)的模型,然后重點介紹圖中的User-to-Item和Item-to-Item模塊。
2.1 Base Model
先說一下輸入部分,輸入可以分為四部分:用戶特征、用戶行為特征、目標(biāo)物品特征、上下文特征。
用戶特征:用戶ID、消費等級等,用xp表示
用戶行為特征:用戶交互過的物品集合,每個物品包括其物品ID、品類ID,用xb=[e1;e2;...;eT]表示。其中e1即用戶交互過的第一個物品的向量,不同用戶的行為長度通常不同,因此往往對所有物品對應(yīng)的向量進行pooling操作。
目標(biāo)物品特征:物品ID、品類ID,用xt表示
上下文特征:時間、召回方式、對應(yīng)的召回評分,用xc表示
大多數(shù)輸入特征是離散特征,通過Embedding的方式轉(zhuǎn)換成對應(yīng)的嵌入向量。其中用戶行為和目標(biāo)物品共用同一組Embedding來節(jié)省存儲空間。
隨后,將x=[xp,xb,xt,xc]輸入到多層全連接網(wǎng)絡(luò)中,中間層使用pRelu激活函數(shù),最后一層使用sigmoid激活函數(shù),得到點擊率預(yù)估值。損失函數(shù)使用交叉熵?fù)p失:

好了,在Base模型的基礎(chǔ)上呢,DMR進一步引入了 Item-to-Item 和 User-to-Item兩個子網(wǎng)絡(luò)。
2.2 Item-to-Item Network
Item-to-Item Network的結(jié)構(gòu)如下:

Item-to-Item Network的思路基本跟DIN是相同的,首先計算用戶歷史行為中每個物品跟目標(biāo)物品之間的相關(guān)性得分,然后基于該相關(guān)性得分對歷史行為物品向量進行加權(quán)平均。相關(guān)性得分計算公式如下:

這里輸入主要有三部分,分別是歷史行為中第t個物品對應(yīng)的向量et、第t個物品的偏置向量pt,以及目標(biāo)物品向量ec。
在計算相似性之后,有三部分輸出到concat層:
1)對歷史行為中物品向量的加權(quán)求和:

2)所有歷史行為中物品與目標(biāo)物品相關(guān)性評分的求和,注意這里是softmax之前的得分,從另一個角度刻畫了用戶與目標(biāo)物品的相關(guān)性:

3)目標(biāo)物品向量。
2.3 User-to-Item Network
接下來再介紹User-to-Item Network,其結(jié)構(gòu)如下:

這一部分類似于YoutubeDNN的結(jié)構(gòu):即基于用戶歷史行為得到用戶向量表示,然后與目標(biāo)物品對應(yīng)的向量求內(nèi)積,來表征相關(guān)性。
先來看看目標(biāo)物品的向量,這里是物品ID對應(yīng)的Embedding,并且單獨使用了另一組物品ID的Embedding。
這里需要注意的是,除了User-to-Item Network中目標(biāo)物品ID的Embedding外,其他輸入部分的物品ID的Embedding都是同一組Embedding。后續(xù)實驗也表明使用兩組Embedding盡管增大了存儲空間,但模型的表征能力更強,同時實驗效果也好于僅僅把Embedding的長度擴大兩倍。
用戶的向量表示u仍是其歷史行為中物品向量的加權(quán)求和,但與之前不同的是,這里計算相關(guān)性并沒有用到目標(biāo)物品向量。這里的加權(quán)我認(rèn)為更多取決于偏置向量,如時間因素,那么有可能學(xué)到的事近期發(fā)生的行為具有更大的權(quán)重,時間較遠(yuǎn)的行為權(quán)重較?。?/p>


隨后,用戶和物品的相關(guān)性通過內(nèi)積的方式得到:

我們希望r越大,代表用戶與目標(biāo)物品的相關(guān)性更高,但是僅僅通過反向傳播方式去訓(xùn)練并不容易實現(xiàn)這一目標(biāo),同時目標(biāo)物品的另一組Embedding也學(xué)習(xí)的不充分。因此在上述的基礎(chǔ)上,增加了輔助網(wǎng)絡(luò)(類似于DIEN)。
輔助網(wǎng)絡(luò)的任務(wù)是基于用戶的前T-1次行為,來預(yù)測用戶第T次交互的物品。基于用戶的向量表示u,我們很容易得到用戶前T-1次行為后的向量表示uT-1,即拿前T-1次行為重復(fù)上述用戶向量表示的計算過程即可。那么用戶第T次交互的物品為j的概率為:

可以看到,輔助網(wǎng)絡(luò)是一個多分類網(wǎng)絡(luò),為了減少計算復(fù)雜性,進行了負(fù)采樣操作,因此輔助網(wǎng)絡(luò)的損失為:

那么此時總的損失計算如下:

這里增加User-to-Item Network網(wǎng)絡(luò),個人感覺還帶來了另一個好處,可以降該模型應(yīng)用于召回階段做召回,然后保存預(yù)測值,這樣就可以直接作為一維特征用于DMR模型中,減少了DMR模型計算的耗時。
好了,整體的模型就介紹到這里了,接下來看一下具體的實驗結(jié)果。
3、模型實驗
這里實驗主要使用了兩部分的數(shù)據(jù)集,分別是阿里媽媽公開的數(shù)據(jù)集和阿里巴巴線上推薦系統(tǒng)日志收集到的數(shù)據(jù)集。
首先看下DMR與一些主流的CTR預(yù)估模型的對比結(jié)果:

這里主要看的是AUC指標(biāo),RI代表的是相對Base(LR模型)的提升比例。可以看到DMR的效果最好。接下來是對DMR中一些Part的實驗:

可以看到,完整的DMR結(jié)構(gòu)取得了最好的實驗結(jié)果。
好了,本文就介紹到這里了,再次提醒下大伙,論文和對應(yīng)的代碼都開源了:https://github.com/lvze92/DMR,感興趣的可以看一看~~