因果推斷在轉轉推薦場景下的實踐
對于推薦系統來說,會存在著“二八定律”,百分之二十的熱門物料占據著百分之八十的用戶交互,而推薦模型的目標是學習打分函數來預估用戶對物料的偏好,并利用這個估計值進行排序。用戶與物料的交互數據呈現長尾分布,而對觀測數據做擬合的模型訓練時會繼承這個偏差,傾向于給熱門物料更高的分數。如圖所示,模型給用戶推薦物料,用戶在推薦列表上的行為作為訓練數據用于模型的更新,形成了閉環。模型由此產生了流行度偏差(popular bias)。
流行度偏差
流行度偏差的存在并不完全對推薦系統有害,很多時候物料是因為自身高質量或者時下趨勢而變得流行,盲目打擊會破壞用戶的體驗。但是,如果偏差過強,不利于物料的分發和沉淀,也失去了推薦系統“千人千面”的定位。
我們在轉轉推薦中嘗試結合因果推斷來解決流行度偏差問題。本文首先講解因果推斷的基本概念,其次介紹因果推斷在推薦系統中的一個代表性工作MACR,最后展示因果推斷在轉轉場景下的探索。
1 因果推斷簡介
1.1 什么是因果
因果關系是一種普遍的關系,描述的是結果和產生這個結果的原因之間的關聯。在因果關系中,因是導致事件發生的條件或行為,果則是這個原因導致的結果或變化。我們平時生活中到處都存在著因果問題,上大學是否會帶來更多收入?直覺上我們認為高等教育會增加個人收入,但我們卻很難說清楚沒有上過大學的人如果上了大學會增加多少收入,同時我們也有看到沒上過大學也能賺大錢的人。
我們常常會想,如果某一時刻做了另外的選擇,是否生活會變得完全不一樣呢。時光無法倒流,另一個選擇的結果是永遠不可知的,因果推斷要做的事情就是去預估干預對結果的影響,判斷一個“因”能導致多少“果”。
1.2 相關性不等于因果性
穿鞋睡覺和醒來頭痛這兩件事存在相關性,但是我們不能因此得出“穿鞋睡覺會導致醒來頭痛”的結論,事實上,這兩個事件都可能由第三個因素,即“睡前喝酒”導致的。這里“睡前喝酒”就是一個混雜因子,由此引起的關聯被稱為混雜關聯,它會對同時出現的睡覺時穿鞋和頭痛產生誤導,讓人誤以為二者之間存在某種因果關系。
相關性不等于因果性
1.3 兩種代表性的因果框架
1.3.1 結構因果模型
一般來說,結構因果模型(Structural causal model)將變量之間的因果關系抽象為因果圖,建立結構函數,然后進行因果推理來評估交互效應或反事實條件的影響。
因果模型
因果模型涉及兩個核心概念:因果圖和結構函數。具體來說,因果圖通過有向無環圖(DAG)描述因果關系,其中節點代表變量,邊代表因果關系。根據因果圖,每個節點的值(準確說是內生節點)都可以通過一個關于其父節點的結構函數計算獲得,從而知道干預某個節點對目標節點的影響。
三種典型的有向無環圖
三種典型的有向無環圖
如上圖所示,因果圖中有三種典型的結構:鏈式、叉式和對撞,我們針對每一種都以推薦系統為例進行解釋。
在鏈式結構中,X通過Z間接影響Y。例如,在圖(a)中,用戶特征影響用戶偏好,而用戶偏好進一步影響用戶的點擊行為。
在叉式結構中,Z是一個混雜因子,影響X和Y。例如,在圖(b)中,一個商品的質量可以影響其價格以及用戶對其的偏好。在這種叉式結構中,Z被定義為混雜因子。粗略地忽略混雜因子Z可能導致X和Y在統計學上發生關聯,產生偽相關性。質量好的商品通常更受歡迎,質量好的商品價格也更高,這不能證明價格高的商品更受歡迎。
在圖(c)中,Z代表對撞,受X和Y影響。例如,用戶的點擊行為受用戶偏好和商品流行度的影響。給定Y時,X和Z之間存在真相關性。也就是說,對于同樣暢銷的兩個商品,用戶是否點擊只取決于他們的偏好。
干預
反事實
1.3.2 潛在結果框架
在進行因果推理時,除了前文提到的結構因果模型,還有一個被廣泛使用的框架叫做“潛在結果框架”(Potential outcome framework)。潛在結果框架的特點是,它可以不依賴于因果圖,直接估計某個變量(這里稱為“干預變量”)對另一個變量(這里稱為“結果變量”)的因果效應。
潛在結果
因果效應
2 MACR模型
2.1 背景
作者認為用戶對某個物料的評分取決于三個方面,用戶-物料匹配度(user-item matching)、物料流行度(item popularity)和用戶從眾度(user conformity)?,F有的推薦模型主要關注用戶-物料匹配度(圖a),忽略了物料的流行度是如何影響交互概率的,假設兩個物料對于一個用戶有相同的匹配度,流行度較高的物料收集到反饋的更多,更有可能被用戶所知(圖b)。除此之外,有些用戶更愿意跟隨潮流,什么火就看什么,有些用戶則不會,加入U->Y這條邊能反應用戶的流行敏感度偏差造成的估計偏差(圖c)。
因果圖1
文章提出了一個與模型無關的反事實推理框架(MACR),依據因果圖訓練推薦模型,并進行反事實推理,來消除推理階段的流行度偏差(在訓練時兼顧上面三種影響,預測時只考慮用戶和物料的匹配度)。
2.2 反事實推理
因果圖2
2.3 框架
理解了這三者的關系,我們來看文章提出的MACR框架,這個框架通過多任務學習進行訓練,執行反事實推理進行無偏推薦。
MACR框架
這個框架遵循圖c中的因果圖,橙色部分表示傳統的推薦系統,藍色和綠色部分表示物料和商品的模塊??蚣芸梢杂迷谌魏维F有的推薦模塊中。
3 因果推斷在轉轉場景下的實踐
我們在首頁默認tab進行了流行度偏差的debias實驗,轉轉首頁默認tab是一個多種物料共存的混合推薦場,其中商品維度上只有一個單獨的點擊率模型,便于我們觀察實驗效果。
3.1 實驗一
因果圖
一期方案我們的思路如因果圖中的圖一,商品的流行度不會對用戶的偏好產生影響,這樣流行度與用戶的偏好對點擊的影響就是線性的疊加。
實驗一結構
我們采用了兩階段的訓練方法,從使用的特征中選取了部分商品的靜態屬性特征(商品的類目、質檢項等)作為bias特征,全部特征作為prefer特征??梢钥吹教卣骱途W絡結構都是完全獨立的。
實驗證明,該方案并無明顯提升。
3.2 實驗二
MACR模型因果圖如圖2所示,算法考慮了商品和用戶兩部分偏置對用戶偏好帶來的影響。參考MACR算法,我們考慮到二手平臺用戶行為的稀疏性,故暫時忽略用戶偏置項,最終因果關系如圖3所示。
實驗二結構
AB實驗在首頁推薦整體取得了pctr+1.95%,uctr+0.70%的顯著收益,同時緩解了商品的馬太效應。
3.3 后續工作
- 使用因果推斷進行曝光bias等多種bias的糾偏。
- 結合轉轉知識圖譜和因果推斷為具體業務提供指導。
參考文獻
[1] Causal Inference in Recommender Systems: A Survey and Future Directions
[2] https://www.bradyneal.com/causal-inference-course
[3] Model-Agnostic Counterfactual Reasoning for Eliminating Popularity Bias in Recommender System
[4] 因果推斷推薦系統工具箱 - MACR:https://www.jianshu.com/p/ffed9c9260e3
[5] 推薦系統流行度偏差專題:https://zhuanlan.zhihu.com/p/613111042