推薦系統(tǒng)遇上深度學習(四十五)-探秘阿里之深度會話興趣網(wǎng)絡DSIN

阿里又雙叒叕開源新算法了,這次的名稱叫做Deep Session Interest Network,我們將其翻譯為深度會話興趣網(wǎng)絡妻导,一起來看看吧~~

論文題目:《Deep Session Interest Network for Click-Through Rate Prediction》
論文鏈接:https://arxiv.org/abs/1905.06482
代碼鏈接:https://github.com/shenweichen/DSIN

1嗤瞎、背景

從用戶行為中呢,我們發(fā)現(xiàn)垮媒,在每個會話中的行為是相近的舍悯,而在不同會話之間差別是很大的航棱,如下圖的例子:

這里會話的劃分和airbnb一樣,首先將用戶的點擊行為按照時間排序萌衬,判斷每兩個行為之間的時間間隔饮醇,前后的時間間隔大于30min,就進行切分秕豫∑蛹瑁可以看上圖,第一個session中混移,用戶查看的都是跟褲子相關的物品祠墅,第二個session中,查看的是戒指相關的物品歌径,第三個則是上衣相關毁嗦。

基于此,阿里提出了深度會話興趣網(wǎng)絡Deep Session Interest Network回铛,來建模用戶這種跟會話密切相關的行為狗准。接下來,我們就來介紹模型的結構茵肃。

2腔长、模型結構

2.1 Base Model

Base Model就是一個全連接神經(jīng)網(wǎng)絡,其輸入的特征的主要分為三部分验残,用戶特征捞附,待推薦物品特征用戶歷史行為序列特征胚膊。用戶特征如性別故俐、城市、用戶ID等等紊婉,待推薦物品特征包含商家ID药版、品牌ID等等笤受,用戶歷史行為序列特征主要是用戶最近點擊的物品ID序列西土。

這些特征會通過Embedding層轉換為對應的embedding,拼接后輸入到多層全連接中福荸,并使用logloss指導模型的訓練肢础。

2.2 DSIN

DSIN模型的總體框架如下圖:

DSIN在全連接層之前还栓,分成了兩部分,左邊的那一部分传轰,將用戶特征和物品特征轉換對應的向量表示剩盒,這部分主要是一個embedding層,就不再過多的描述慨蛙。右邊的那一部分主要是對用戶行為序列進行處理辽聊,從下到上分為四層:
1)序列切分層session division layer
2)會話興趣抽取層session interest extractor layer
3)會話間興趣交互層session interest interacting layer
4)會話興趣激活層session interest acti- vating layer

接下來纪挎,我們主要介紹這4層。

2.2.1 Session Division Layer

這一層將用戶的行文進行切分跟匆,首先將用戶的點擊行為按照時間排序异袄,判斷每兩個行為之間的時間間隔,前后的時間間隔大于30min玛臂,就進行切分烤蜕。

切分后,我們可以將用戶的行為序列S轉換成會話序列Q迹冤。第k個會話Qk=[b1;b2;...;bi;...;bT],其中讽营,T是會話的長度,bi是會話中第i個行為叁巨,是一個d維的embedding向量斑匪。所以Qk是T * d的。而Q锋勺,則是K * T * d的

2.2.2 Session Interest Extractor Layer

這里對每個session,使用transformer對每個會話的行為進行處理狡蝶。有關Transformer的內容庶橱,可以參考文章https://mp.weixin.qq.com/s/RLxWevVWHXgX-UcoxDS70w

在Transformer中贪惹,對輸入的序列會進行Positional Encoding苏章。Positional Encoding對序列中每個物品,以及每個物品對應的Embedding的每個位置奏瞬,進行了處理枫绅,如下:

但在我們這里不一樣了,我們同時會輸入多個會話序列硼端,所以還需要對每個會話添加一個Positional Encoding并淋。在DSIN中,這種對位置的處理珍昨,稱為Bias Encoding县耽,它分為三塊:

BE是K * T * d的,和Q的形狀一樣镣典。BE(k,t,c)是第k個session中兔毙,第t個物品的嵌入向量的第c個位置的偏置項,也就是說兄春,每個會話澎剥、會話中的每個物品有偏置項外,每個物品對應的embedding的每個位置赶舆,都加入了偏置項哑姚。所以加入偏置項后趾唱,Q變?yōu)椋?/p>

隨后,是對每個會話中的序列通過Transformer進行處理:

這里的過程和Transformer的Encoding的block處理是一樣的蜻懦,不再贅述甜癞。感興趣的同學可以看一下上文提到的文章。

這樣宛乃,經(jīng)過Transformer處理之后悠咱,每個Session是得到的結果仍然是T * d,隨后征炼,我們經(jīng)過一個avg pooling操作析既,將每個session興趣轉換成一個d維向量。

這樣谆奥,Ik就代表第k個session對應的興趣向量眼坏。

2.2.3 Session Interest Interacting Layer

用戶的會話興趣,是有序列關系在里面的酸些,這種關系宰译,我們通過一個雙向LSTM(bi-LSTM)來處理:

每個時刻的hidden state計算如下

相加的兩項分別是前向傳播和反向傳播對應的t時刻的hidden state。這里得到的隱藏層狀態(tài)Ht魄懂,我們可以認為是混合了上下文信息的會話興趣沿侈。

2.2.4 Session Interest Activating Layer

用戶的會話興趣與目標物品越相近,那么應該賦予更大的權重市栗,這里使用注意力機制來刻畫這種相關性:

這里XI是帶推薦物品向量缀拭。

同樣,混合了上下文信息的會話興趣填帽,也進行同樣的處理:

后面的話蛛淋,就是把四部分的向量:用戶特征向量、待推薦物品向量篡腌、會話興趣加權向量UI褐荷、帶上下文信息的會話興趣加權向量UH進行橫向拼接,輸入到全連接層中哀蘑,得到輸出诚卸。

3、模型試驗

模型使用了兩個數(shù)據(jù)集進行了實驗绘迁,分別是阿里媽媽的廣告數(shù)據(jù)集和阿里巴巴的電商推薦數(shù)據(jù)集合溺。

對比模型有:YoutubeNet、Wide & Deep缀台、DIN 棠赛、DIN-RNN(這個和DIN很像,在原始的DIN中,用戶的行為序列沒有使用RNN進行處理睛约,而DIN-RNN使用bi-LSTM對用戶的歷史行為序列進行處理)鼎俘、DIEN。

評價指標是AUC辩涝。結果如下:

對于DSIN贸伐,這里有分了三種情況,第一個是DSIN怔揩,不過將Bias Encoding變?yōu)門ransformer里面的Positional Encoding捉邢,第二個是DSIN,使用bias encoding商膊,但不添加session inter-est interacting layer and the corresponding activation unit伏伐。第三個就是前文介紹的DSIN框架≡尾穑可以看到藐翎,最后一個在兩個數(shù)據(jù)集上的AUC均為最大。

4实幕、總結討論

這里吝镣,論文對結果進行了進一步討論,主要有:

4.1 Effect of Multiple Sessions

從實驗結果來看茬缩,DIN-RNN的效果差于DIN赤惊,而DSIN-BE的效果好于DSIN-BE-No-SIIL。兩組的差別均是有沒有使用序列建模凰锡。文章里提到,對于序列建模來說圈暗,如果用戶的行為時十分跳躍的掂为,同時是突然結束的,會使得用戶的行為看上進去具有很大的噪聲(這里也不知道翻譯的對不對员串,直接上原文吧):

這樣就使得DIN-RNN的效果反而不如DIN勇哗,但在DSIN中,我們對用戶的行為序列按照會話進行了分組寸齐,由于以下兩點原因欲诺,使得DSIN中使用序列建模效果反而更好:

4.2 Effect of Session Interest Interacting Layer

DSIN-BE的效果好于DSIN-BE-No-SIIL,說明通過 Effect of Session Interest Interacting Layer得到混合上下文信息的用戶興趣渺鹦,可以進一步提升模型的效果扰法。

4.3 Effect of Bias Encoding

DSIN-BE的效果好于DSIN-PE,說明對不同的session添加偏置項毅厚,效果還是十分不錯的塞颁。

4.4 Visualization of Self-attention and the Activation Unit

這里論文展示了一下 Self-attention and the Activation Unit的效果,還是開篇的那個例子:

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市祠锣,隨后出現(xiàn)的幾起案子酷窥,更是在濱河造成了極大的恐慌,老刑警劉巖伴网,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蓬推,死亡現(xiàn)場離奇詭異,居然都是意外死亡澡腾,警方通過查閱死者的電腦和手機沸伏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛋铆,“玉大人馋评,你說我怎么就攤上這事〈汤玻” “怎么了留特?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長玛瘸。 經(jīng)常有香客問我蜕青,道長,這世上最難降的妖魔是什么糊渊? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任右核,我火速辦了婚禮,結果婚禮上渺绒,老公的妹妹穿的比我還像新娘贺喝。我一直安慰自己,他們只是感情好宗兼,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布躏鱼。 她就那樣靜靜地躺著,像睡著了一般殷绍。 火紅的嫁衣襯著肌膚如雪染苛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天主到,我揣著相機與錄音茶行,去河邊找鬼。 笑死登钥,一個胖子當著我的面吹牛畔师,可吹牛的內容都是我干的。 我是一名探鬼主播怔鳖,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼茉唉,長吁一口氣:“原來是場噩夢啊……” “哼固蛾!你這毒婦竟也來了?” 一聲冷哼從身側響起度陆,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤艾凯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后懂傀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趾诗,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年蹬蚁,在試婚紗的時候發(fā)現(xiàn)自己被綠了恃泪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡犀斋,死狀恐怖贝乎,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情叽粹,我是刑警寧澤览效,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站虫几,受9級特大地震影響锤灿,放射性物質發(fā)生泄漏。R本人自食惡果不足惜辆脸,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一但校、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧啡氢,春花似錦状囱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至辨绊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間匹表,已是汗流浹背门坷。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留袍镀,地道東北人默蚌。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像苇羡,于是被迫代替她去往敵國和親绸吸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容