Disentangling User Interest and Conformity for Recommendation with Causal Embedding論文筆記
因為之前看過的一些論文
動機
本文是2021年WWW上的一篇論文。現在的推薦系統模型大多是基於使用者與物品的互動訓練的,然而使用者與物品的互動可能是因為使用者對該物品感興趣,亦或是該物品具有很高的流行度,使用者的從眾性(conformity)促使他與該物品產生互動。因此我們可以瞭解到流行度更高的物品通常會與更多的使用者產生互動,但是這些使用者可能並非真的是對該物品感興趣,更多是因為這個物品很熱門。這就產生了使用者從眾性影響使用者真實興趣的問題,現有解決該問題的方法通常是消除流行性偏差,重新賦予物品權重或用一小部分無偏資料進行訓練,但是這些方法都忽略了一個問題:互動的不同原因被繫結在一起(可以理解為促使互動的興趣和從眾性被繫結在一起)。本文提出了一個通用的框架DICE,可以將互動的原因分離,及分別學習使用者(物品)興趣和從眾性的表示,同時它還保證了推薦模型的魯棒性和可解釋性。此框架主要針對的是訓練資料和測試資料不是獨立同分布的情況。消除流行性偏差是很有必要的,否則推薦系統更容易推薦流行的物品,忽略流行度低的物品。
演算法
該框架大致可分為三部分組成因果嵌入(Causal Embedding)、解構表徵學習(Disentangled Representation Learning)、多工課程學習(Multi-task Curriculum Learning)。
Causal Embedding
點選產生的來源可分為兩部分:1.使用者對物品屬性的興趣。2.使用者對物品流行度的盲從性。
結構因果模型SCM可表示為
使用者(物品)由兩部分表示組成,分別為interest和conformity。
\(X_{ui}^{int}\)可以看作使用者與物品的interest matching score,在本文中採用內積的方式得到,即。
\(X_{ui}^{con}\)
\(Y_{ui}^{click}\)是加性模型,將上面兩部分得分相加得到,即。
Disentangled Representation Learning
要分別訓練出使用者(物品)的interest embedding和conformity embedding需要從原始資料中分離出各自的訓練資料,這裡文章中稱為Cause-specific Data。這裡設定\(M^I\)為interest得分矩陣,\(M^C\)為conformity得分矩陣,形狀均為M×N,M是使用者數量,N是物品數量。下面涉及到一些因果推理的知識,根據對狀結構的性質,在上面的因果圖中,如果click未知,則interest和conformity互相獨立,但是如果click已知,則interest和conformity呈負相關。這裡舉一個例子更容易理解這個性質,假設一個人是否受歡迎取決於它的外貌和脾氣。外貌和脾氣通常是不相關的,受歡迎程度是外貌和脾氣的對撞。如果一個人受歡迎但是並不好看,那麼他大概率脾氣很好。如果一個人長得好看但是不受歡迎,那麼他很有可能脾氣很差。根據以上性質,我們可以得到兩種情況:
1.使用者與a有互動,與b無互動,且a比b有更大的流行度。在這種情況下,我們無法得出使用者對a的興趣是否比b更大,因此我們只能得出以下兩個不等式。
2.使用者與c有互動,與d無互動,且d比c有更大的流行度。在這種情況下,我們由上面的對撞效應可以得出使用者對c更感興趣,因此能得出以下三個不等式。
我們使用\(O_1\)
Conformity Modeling
在資料集\(O_1\)和\(O_2\)中,我們都獲取了關於conformity的不等式表示,因此我們可以得到conformity部分的損失函式
Interest Modeling
在資料集\(O_2\)中,我們獲取了關於interest的不等式表示,因此我們可以得到interest部分的損失函式
Estimating Clicks
這部分是推薦系統的主要目標,我們結合兩部分的原因去估計點選,有以下損失函式
其中
Discrepancy Task
Discrepancy Task執行對embedding的直接監督,強制interest和conformity分離。可以通過最大化使用者(物品)interest和conformity嵌入的L1距離、L2距離、距離相關係數來實現。
下圖展示了這四個任務。
Multi-task Curriculum Learning
多工學習將以上的損失聯合起來
其中\(\alpha\)和\(\beta\)是超引數。
為了得到較高置信度的因果模型,作者使用PNSM負取樣方法,假設與使用者有互動的正樣本流行度為p,我們抽取的負樣本流行度需要大於\(p+m_{up}\)或小於\(p-m_{down}\),其中\(m_{up}\)和\(m_{down}\)是正的邊緣值。
課程學習是一種從易到難的學習方法,可以通過降低邊緣值和\(\alpha\)來實現。在\(m_{up}\)和\(m_{down}\)值較大時,模型有較高的置信度,因此此時的學習是簡單的,之後通過降低邊緣值和損失權重\(\alpha\)來實現增大學習難度。
結果
作者對資料集進行了干預處理,60%的資料使用的是原資料,剩下的40%資料從物品中以等概率的可能性抽取(物品取樣的可能性為其流行度倒數,即流行度大的物品被取樣的可能性降低)。訓練集:驗證集:測試集=70(60%原始,10%干預):10(10%干預):20(20%干預)。將本文提出的DICE與之前的sota因果推薦模型對比,DICE均取得了最好的效果。
總結和展望
本文主要講的是消除流行性偏差的一個方法,提出了一個新的因果推薦框架,用於分離使用者與物品互動的原因,即interest和conformity。該框架具有很好的解釋性,並且有很好的魯棒性去應對非獨立同分布的資料。在未來的工作,可以將interest分解為更細的粒度,比如物品的價格、牌子等等屬性。也可以將解構表示應用到更多的領域中。