論文:

論文題目:《User Behavior Retrieval for Click-Through Rate Prediction》
論文地址:https://arxiv.org/pdf/2005.14171.pdf
之前我們講過一篇阿里媽媽關(guān)于如何從長(zhǎng)序列中選取跟target 最相關(guān)的item的子序列的方法,今天我們就來講一下另一篇論文UBR4CTR中是如何使用這種search based method方法的。
一 、背景
以前的ctr預(yù)估模型都是用最近用戶點(diǎn)擊過的N個(gè)行為去預(yù)估用戶的下一次點(diǎn)擊,但是這會(huì)過于依賴用戶最近的N次點(diǎn)擊來,也就必然的忽略用戶的長(zhǎng)期興趣。用戶的點(diǎn)擊興趣可能來源于更長(zhǎng)期的興趣或者一些更周期的行為習(xí)慣。那么,我們是不是可以利用超長(zhǎng)的序列去建模呢,比如我們也對(duì)長(zhǎng)度超過一千的序列去做self-attention?答案是不行的,不僅由于資源和計(jì)算瓶頸問題,還因?yàn)殚L(zhǎng)序列中會(huì)夾雜著很多噪聲,這會(huì)對(duì)模型的建模帶來很大的負(fù)面效果。比如說,用戶的query是連衣裙,這個(gè)用戶的長(zhǎng)序列中卻都是一些跟電子數(shù)碼產(chǎn)品的item,這時(shí)候,我們是不能直接使用這個(gè)超長(zhǎng)序列的。之前在sim論文中,作者是通過類目來進(jìn)行篩選,這是在推薦廣告場(chǎng)景下的做法,如果把其他特征組信息假如一起檢索呢?
本篇論文就是在推薦/廣告場(chǎng)景下的ctr預(yù)估模型,讓我們一起看一下吧。

可以看到整個(gè)檢索分為兩部,第一步是從target user,target item,context中選取query,第二部是根據(jù)query從用戶的超長(zhǎng)序列中選取最相關(guān)的行為特征,選出來的行為會(huì)組成一個(gè)序列送到mlp中去做后續(xù)的ctr預(yù)估任務(wù)。
二 、method

可以看到UBR4CTR主要由兩部分組成,第一部分是用戶行為檢索模塊,第二個(gè)部分是ctr預(yù)估模塊。
我們先來介紹下用戶行為檢索模塊,用戶的行為檢索分為三個(gè)部分,特征選擇,搜索引擎,構(gòu)建歷史序列
2.1 特征選擇模型
特征選擇模型(這部分主要針對(duì)predicted target里面含有的比如user gender, location, item的category, brand以及context里面的time, scenario等特征,每次特征選擇僅考慮其中的部分特征作為檢索的query)

這里,我們從簡(jiǎn)介紹,具體的公式細(xì)節(jié)就不貼出來了。
首先,明確一點(diǎn),我們特征選擇的輸入來源于三個(gè)部分,user,item和context三部分,我們需要對(duì)這三組特征的所有特征進(jìn)行特征選擇,輸出是這些特征的采樣概率。
具體而言,
輸入,除了user_id之外的所有特征經(jīng)過embedding后concate,然后經(jīng)過multi-head attention后在經(jīng)過mlp后經(jīng)過sigmoid激活,輸出每個(gè)特征的采樣概率。而user_id的采樣概率為1,是一定會(huì)被采樣到的特征。
到這里,我們就為每個(gè)特征都打上了一個(gè)采樣概率,這個(gè)采樣概率是動(dòng)態(tài)計(jì)算的,所以在線上infer的時(shí)候也會(huì)去動(dòng)態(tài)的使用不同的特征。
2.2 搜索引擎
這里使用倒排索引,使用inverted index檢索所有與query相關(guān)的歷史行為:

使用特征的value作為倒排索引的key,value是具體的用戶行為。
使用到的特征為:

這些特征中,user_id是固定使用的,其余特征會(huì)通過之前計(jì)算到的采樣概率進(jìn)行篩選。
我們使用以上的特征作為query跟item(doc D)用bm25算法計(jì)算相似度,然后選取序列中最相關(guān)的S個(gè)行為:

其中IDF計(jì)算如下:

ps:bm25算法可以自己去了解一下,這里只介紹思想。
2.3?Predicted module
這里就跟din一樣了,我們直接看模型圖就好:

把我們?cè)谥皺z索到到序列,用target item做attention后進(jìn)行weigh pooling后一起concat起來送到mlp中進(jìn)行ctr預(yù)估。
損失函數(shù)為:


加上l2正則后:

三、實(shí)驗(yàn)結(jié)果


總結(jié)一下:整篇論文的核心在于用三組特征,target user,target item,context三組特征,動(dòng)態(tài)的計(jì)算每個(gè)特征的采樣概率,然后根據(jù)這個(gè)采樣概率采樣出每次我們用來作為query的特征,從用戶的序列中根據(jù)bm25算法選出最相關(guān)的行為。只有后面的類din部分,就跟一般的排序模型一樣了。