推荐系统论文DSIN:Deep Session Interest Network
一、背景
前幾天寫了一篇阿里的論文BST,最后應(yīng)用在我們自己的新聞推薦場景,離線AUC沒有什么提升,今天分享一篇有收益的文章,同樣出自阿里。
絕密伏擊:推薦系統(tǒng)論文:Behavior Sequence Transformer(https://zhuanlan.zhihu.com/p/96338316)
文章DSIN(Deep Session Interest Network for Click-Through Rate Prediction)發(fā)表在IJCAI-2019,主要貢獻在于對用戶的歷史點擊行為劃分為不同session,對每個session使用Transformer學(xué)習(xí)session embedding,最后使用BiLSTM對session序列建模。這篇文章和阿里的另一篇DIEN( ?Deep Interest Evolution Network ?)很像,「主要區(qū)別在于用戶歷史行為序列的刻畫,引入了session,并用transformer學(xué)習(xí)session表征」?。
二、模型結(jié)構(gòu)
圖1:DSIN模型結(jié)果
模型主要由四個部分組成,?「Session Division Layer」?是對用戶的歷史行為劃分到不同session,?「Session Interest Extractor Layer」?是學(xué)習(xí)session的表征,?「Session Interest Interacting Layer」?是學(xué)習(xí)session之間的演變,?「Session Interest Activating Layer」是學(xué)習(xí)當(dāng)前item和歷史點擊session的相關(guān)性。后面會講一下這四個部分的具體實現(xiàn)。
2.1 Session Division Layer
主要是將用戶的歷史點擊行為序列劃分為多個sessions。「這里有一個假設(shè)是相同session用戶的行為是接近的,比如都是在點一些和褲子相關(guān)的商品,而不同session間的用戶行為是有差異的,比如后面可能是點一些和洗發(fā)水相關(guān)的商品」。文章將間隔超過30分鐘作為session的劃分,比如將歷史點擊序列 ???轉(zhuǎn)換為session??,第 ???個session表示為:
?
?
其中 ???是第 ???個session的長度, ?
是輸入item的embedding大小
?
2.2 Session Interest Extractor Layer
這部分主要是獲取session表征。用戶在相同session內(nèi)的行為是高度相關(guān)的,此外用戶在session內(nèi)的一些隨意行為會偏離整個session表達。為了刻畫相同session內(nèi)行為間的相關(guān)性,同時減小不相關(guān)行為的影響,DSIN使用「multi-head self-attention」?對每個session建模。為了刻畫不同session間的順序,DSIN使用了?「Bias Encoding」?。
「2.2.1 Bias Encoding」
為了刻畫不同session的順序關(guān)系,使用bias encoding,定義如下:
?
其中 ?表示第 ???個session中,第 ???個物品的embedding向量的第個位置的偏置項。也就是說,對每個session中的每個物品對應(yīng)的embedding的每個位置,都加入了偏置項。加入bias encoding后,用戶的session表示為:
?
「2.2.2 Multi-head Self-attention」
在推薦系統(tǒng)中,用戶的點擊行為會受各種因素影響,比如顏色、款式和價格。「Multi-head self attention」可以在不同的子空間上建模這種關(guān)系。這里將第 ???個session劃分為 ???個??,使用 ?
表示,其中 ??。?可以表示為:
?
?
?
其中 ???是線性矩陣。
然后將 ???的輸出concat到一起,再接入一個FFN網(wǎng)絡(luò):
?
?
其中 ???表示前向神經(jīng)網(wǎng)絡(luò), ?表示線性矩陣。
經(jīng)過?「Multi-head self attention」?處理之后,每個session得到的結(jié)果仍然是 ?
大小,隨后,經(jīng)過一個?「avg pooling」?操作,將每個session興趣轉(zhuǎn)換成一個??維向量:
?
?
2.3 Session Interest Interacting Layer
使用雙向LSTM建模session之間的演變。
?
上式中的兩項分別表示前向的隱藏層狀態(tài)和反向的隱藏層狀態(tài)。
2.4 Session Interest Activating Layer
這部分主要是通過Attention機制刻畫Item和session之間的相關(guān)性。用戶的session與目標(biāo)物品越相近,越應(yīng)該賦予更大的權(quán)重。使用注意力機制來刻畫這種相關(guān)性:
?
?
?
其中 ???是目標(biāo)item的embedding
三、實驗結(jié)果
使用了兩個數(shù)據(jù)集進行了實驗,分別是阿里媽媽的廣告數(shù)據(jù)集(Advertising)和阿里巴巴的電商推薦數(shù)據(jù)集(Recommender)。對比結(jié)果如下:
圖2:DSIN模型結(jié)果對比
從實驗結(jié)果來看,AUC相比DIEN都有?「0.5%」?以上的提升。
四、寫在最后
這篇文章在我們自己的業(yè)務(wù)場景(新聞推薦場景)上也實驗了,選取了用戶最近的10次點擊session,session長度最大取20,使用7天訓(xùn)練,1天測試,最后離線AUC相比DIEN大概有「0.46%」的提升,和文章的結(jié)果基本吻合。個人感覺這篇文章的設(shè)計還是比較巧妙,充分利用了用戶行為的內(nèi)在結(jié)構(gòu),使用session劃分用戶的點擊序列,使得在使用LSTM等序列模型對歷史點擊建模的時候,長度大大縮小,而且效果還有所提升。
五、?「Reference」
Alex-zhai:阿里Deep Session Interest Network解讀
2. Deep Session Interest Network for Click-Through Rate Prediction
3. ?Ethan Wong:DSIN(Deep Session Interest Network )分享
總結(jié)
以上是生活随笔為你收集整理的推荐系统论文DSIN:Deep Session Interest Network的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 复方菝葜颗粒_功效作用注意事项用药禁忌用
- 下一篇: 推荐系统rank模块-Online Le