會議:IJCAI'19
主題:序列推薦
paper:https://www.ijcai.org/proceedings/2019/0190.pdf
code:https://github.com/ouououououou/DIB-PEB-Sequential-RS
1. 準(zhǔn)備知識
- 序列推薦:傳統(tǒng)的協(xié)同過濾推薦瓜喇,是以一種靜態(tài)的方法構(gòu)造user-item間的交互曲掰,所能捕捉的用戶的偏好較為單一章郁。相反吞加,序列推薦是以一種動態(tài)即序列的方法構(gòu)造user-item間的交互币旧,從其所包含的序列依賴關(guān)系中可以捕捉到用戶的消費習(xí)慣规揪、意圖和商品的消費趨勢等悠轩,有利于更精準(zhǔn)地档泽、個性化地和動態(tài)地推薦音诫。例如惨奕,給曾購買過GPU的用戶推薦GPU風(fēng)扇等。
2. 簡介
學(xué)習(xí)用戶多尺度的偏好竭钝,例如長期偏好和短期偏好梨撞,有利于更加精準(zhǔn)的預(yù)測用戶行為。現(xiàn)有的方法可以大致分為三類:
- 第一類旨在基于用戶行為模式的啟發(fā)式假設(shè)香罐,通過時間矩陣分解來建模用戶偏好漂移的方法卧波;
- 第二類則側(cè)重于用戶偏好于剛剛交互的前幾項的短期依賴性,典型的方法是基于馬爾可夫鏈的推薦的方法庇茫;
- 第三類是近幾年大火的基于神經(jīng)網(wǎng)絡(luò)建模用戶偏好的方法港粱。這類方法可以基于RNN、CNN幾它們的變體去捕捉用戶交互item之間的長期和短期依賴性旦签。本文沿著這一方向查坪,設(shè)計了一種端到端的神經(jīng)序列模型去完成序列推薦的任務(wù),宁炫。
(1) 現(xiàn)有神經(jīng)序列模型存在的不足之處:
- 簡單地認對于所有用戶來說偿曙,item的表征靜態(tài)、固定的淋淀,即不會隨著時間的變遷遥昧、用戶的切換而變化覆醇。
- user與item相關(guān)性的預(yù)測過于單一,例如炭臭,通過user與item各自表征的內(nèi)積來衡量永脓。這主要是因為現(xiàn)有的工作對于一個用戶只學(xué)習(xí)一種向量表示,這就導(dǎo)致了模型最終預(yù)測的單一性鞋仍。本文針對一個用戶會生成不同尺度上的向量表示來衡量用戶不同角度的偏好常摧。
(2) 本文重點:
- 設(shè)計Dynamic Item Block (DIB) 模塊去學(xué)習(xí)item的動態(tài)向量表示。主要是通過聚合在該時間步之前對該item有過交互的用戶的向量表示來得到的威创。這部分稱之為類似用戶(similar users)落午,并通過注意力機制確定不同相似用戶的對于item表征學(xué)習(xí)的重要程度。
- 提出Prediction Enhancing Block (PEB)模塊肚豺,將用戶的向量表示投影到多個尺度上溃斋,在此基礎(chǔ)上,可以相應(yīng)地進行多個預(yù)測吸申,然后集中在一起進行增強學(xué)習(xí)梗劫。
下面將逐個突破這兩個模塊,并介紹完整的序列推薦模型截碴。
3. Dynamic Item Block (DIB)
DIB可以看作是一個transformer梳侨,它以user 的向量表示和item 的向量表示為輸入,然后將item的向量表示transformer成一個與用戶相關(guān)的向量表示日丹。具體步驟為:
- step1: 尋找相似用戶(similar users)走哺。本文相似用戶指的是與item 有過互動的其他用戶,下面以一個例子來具體說明這一過程哲虾。
假設(shè)現(xiàn)在DIB的輸入為user 和item 丙躏,尋找與item 有過交互的用戶,并按交互時間排序束凑。在交互過的用戶列表中找到的確切位置彼哼,稱之為時間步。那么湘今,在這一時間步之前交互的用戶即為的相似用戶,如,,,剪菱,最終保留K個用戶摩瞎。 - step2: 聚合相似用戶的向量表示為作為item 向量表示學(xué)習(xí)過程中的補充特征。但是孝常,不同用戶與item之間的相關(guān)性并不完全相同旗们,因此采用attention機制,以區(qū)別不同用戶向量表示對item 向量表示學(xué)習(xí)的貢獻程度构灸。將用戶的相似用戶標(biāo)記為上渴,對應(yīng)的向量表示為。那么可通過如下兩個公式得到:
最終,item 與用戶相關(guān)(user related)的一個向量表示就可以表示成:
這篇文章將merge定義為稠氮,其中參數(shù)衡量了補充特征的重要性曹阔。
4. Prediction Enhancing Block (PEB)
PEB模塊主要將用戶的表征映射到不同的尺度上,以便同時預(yù)測出用戶在不同尺度上與item的相關(guān)性隔披。
- step1 : 通過一個全連接層將用戶的向量表示映射成個向量表示赃份,其中第個向量表示用符合。那么奢米,就可以預(yù)測用戶在第個尺度上抓韩,選擇每個item 的可能性。但是鬓长,由于item 數(shù)量是龐大的谒拴,這篇文章又采用負采樣策略降低計算復(fù)雜度。具體為
其中涉波,為對應(yīng)負樣本集合英上。 - step2 :將個按照不同的重要程度,整合成一個值怠蹂。其中善延,第個預(yù)測值對最終值的貢獻程度是通過將通過另一個全連接層映射為個值得到的。
整個網(wǎng)絡(luò)的損失函數(shù)設(shè)計為
其中城侧,易遣。損失函數(shù)的核心在于最大化正樣本的并最小化與的差距,最小化負樣本的并最大化與之間的差距嫌佑。參數(shù)用以平衡兩個優(yōu)化目標(biāo)豆茫。
每個尺度上的預(yù)測值,與終值的相關(guān)程度就可以標(biāo)準(zhǔn)化為:
最終屋摇,用戶與item 互動的概率可以預(yù)測為
5. Models with Sequential Building Blocks
基于 DIB 和 PEB揩魂,這篇文章提出了兩個順序模型,分別為:GRU-DIB-PEB和 MN-DIB-PEB炮温,下面依次介紹之火脉。
(1) GRU-DIB-PEB
該模型,首先通過DIB將用戶歷史交互過的item 向量表示轉(zhuǎn)換成與用戶相關(guān)向量表示柒啤。接著倦挂,通過GRU將所有的壓縮成一個固定向量。最后担巩,將與用戶向量表示concat成為用戶最終的向量表示方援。然后通過PEB模塊,就能得到用戶與item 交互的概率涛癌。
(2) MN-DIB-PEB
該模型犯戏,主要采用了記憶網(wǎng)絡(luò)的思想去生成送火。
6. 總結(jié)
DIB有助于構(gòu)建具有相似用戶作為上下文信息的更好的項目表示,而PEB則以多尺度的方式增強預(yù)測先匪,以獲得更高的推薦可靠性种吸。