CTR(1):IJCAI2020-Deep Feedback Network for Recommendation

前言

  • 發(fā)表在IJCAI2020上的一篇推薦的論文
  • 來自于騰訊Wechat Group,是一篇實戰(zhàn)價值重大的工業(yè)界論文
  • 源碼地址https://github.com/qqxiaochongqq/DFN
  • 碼字不易,好心人隨手點個贊
  • 本篇筆記非完整論文翻譯,包含個人思考,僅供參考,歡迎交流探討
  • 本篇文章為本人原創(chuàng)內容,如需轉載引用,請務必在文中附上原鏈接及相應說明,包括作者信息(阿瑟)

摘要

顯性反饋和隱性反饋(Explicit and Implicit Feedback)都能反映用戶對物品的看法,這對于學習用戶的偏好至關重要。然而,大多數(shù)當前的推薦算法僅僅關注于隱式的正反饋(例如,點擊) ,忽略了其他蘊含信息的用戶行為。

本文旨在聯(lián)合考慮顯性/隱性和正性/負性反饋(Positive/Negative),以針對推薦任務學習用戶的無偏偏好(unbiased preferences/更加準確的偏好建模)。具體來說,提出了一種新的深度反饋網(wǎng)絡(DFN)模型來建模點擊,未點擊和不喜歡等用戶行為。

DFN 有一個內部反饋交互組件,用于捕獲個體行為之間的細粒度交互; 還有一個外部反饋交互組件,使用精確但相對稀少的反饋(點擊/不喜歡) ,從豐富但嘈雜的反饋中提取有用的信息(未點擊)。

在實驗中,對一個現(xiàn)實的推薦系統(tǒng)——數(shù)百萬用戶使用的微信看一看——進行線下和線上評估,驗證了 DFN 的有效性和魯棒性。

引言

用戶-項目交互這樣的信息分為兩種類型,即顯性反饋和隱性反饋。

  1. 顯式反饋來自用戶對物品的直接看法(例如,星級評分或喜歡/不喜歡)。它可以精確地顯示用戶的真實偏好,而收集這樣的反饋是比較困難。
  2. 隱式反饋主要來自于用戶暗示間接看法的行為(例如,點擊或未點擊)。比較容易收集。隱反饋存在固有的噪聲和缺乏自然的負反饋,這會嚴重影響學習用戶無偏偏好的準確性 這個無偏偏好,可以理解為不受其他采集到數(shù)據(jù)的影響,對用戶喜好進行準確建模

近年來,推薦系統(tǒng)通常將個性化推薦作為一項點擊率預測任務(CTR)。因此,很自然的,大多數(shù)推薦算法主要集中在隱式正反饋,如點擊,這可以很容易地在實踐中收集。這些模型是通過點擊行為和面向 CTR 的目標直接優(yōu)化的,這將不可避免地導致以下問題:

  1. 首先,面向 CTR的目標通常關注于用戶喜歡的東西,忽略用戶不喜歡的東西。僅僅依靠這些隱含的正反饋將使模型趨向于提供同質和淺顯/相近(myopic)的結果,這最終將破壞用戶體驗 。因此,推薦時應考慮負反饋。
  2. 其次,除了被動地接收模型選擇的信息外,用戶還需要有效的反饋機制來主動地與推薦系統(tǒng)進行互動。而用戶的隱式反饋和他們的真實偏好之間也存在差距(點擊并不總是意味著喜歡)。這證實了在推薦中使用顯式反饋的必要性。

兩段話全面準確地表達了兩個關鍵問題,指出了負反饋和顯式反饋的價值,也是本文關注的兩個點,好論文讀起來就是舒服呀~

多個顯性/隱性和正性/負性反饋可以相互補充,反映用戶在推薦中的無偏偏好。目前的工作中負反饋往往被忽略,或者僅僅局限于顯性反饋,這種反饋精確而又少見。
一些工作認為未點擊或缺失行為是隱含的消極反饋,以擴增負反饋信息。然而,這樣的假設帶來了很多噪聲,極大地限制了推薦效果。因為這些隱性的負面反饋可能是由除了不喜歡以外的各種原因造成的。(噪聲比較多)

本文中重點研究利用不同類型的顯性/隱性和正性/負性反饋提高推薦性能。針對傳統(tǒng)推薦方法中存在的問題,提出了一種新的深度反饋網(wǎng)絡(DFN) ,該網(wǎng)絡在基于深度模型的推薦中聯(lián)合考慮多個反饋及其相互作用。圖1顯示了 DFN 中使用的不同類型的反饋,包括隱式正反饋(例如,點擊)、隱式負反饋(例如,不點擊)和顯式負反饋(例如,不喜歡)。

具體地說,我們首先在每個反饋序列中分別對目標項和行為構建Transformer,以捕獲內部行為級別的交互

接下來,我們利用高質量但相對少見的點擊和不喜歡行為(顯式反饋)來減少豐富但嘈雜的無點擊行為與外部反饋級別的交互。這些提取出來的反饋特征與其他特征相結合,然后輸入到包含 Wide、 FM 和 Deep 組件的特征交互模塊中。

DFN 的主要優(yōu)點是它成功地結合了多種反饋信息,學習用戶無偏的正向偏好(喜歡)和負向偏好(厭惡),解決了反饋信息存在的質量和數(shù)量兩難問題。

模型

在一個真實世界的推薦系統(tǒng)上構建DFN 模型,并收集用戶歷史行為的三種反饋:

  • 隱式正反饋: 用戶的點擊序列
  • 顯式負反饋: 用戶點擊dislike按鈕相應的物品序列
  • 隱式負反饋: 呈現(xiàn)給用戶但沒有點擊(impressed but unclick)的物品序列

基于這三種數(shù)據(jù)構建DFN模型:

深度反饋網(wǎng)絡DFN主要由深度反饋交互模塊和特征交互模塊兩部分組成。

  1. 首先,深度反饋交互模塊采用多個反饋作為輸入,借助內部和外部反饋交互作用,提取用戶無偏正負偏好(反饋特征信息)。
  2. 其次,改進的反饋特征與其他信息特征相結合,如用戶畫像、物品特征和推薦上下文。

最后實現(xiàn)了用于特征聚合的 Wide、 FM 和 Deep 組件。將特征交互模塊的輸出反饋到全連接層和softmax層,基于正負樣本間損失進行模型優(yōu)化。

深度反饋交互模塊

其層次上可以分為內部交互模塊和外部交互模塊:

1. 內部交互模塊


主要利用Transformer,對物品序列進行特征提??;對于每一類反饋數(shù)據(jù)都采用相似的操作,這里并非完整的Transformer結構,只是用了位置編碼和多頭注意力機制,

以點擊序列為例:將待預測/目標物品的嵌入與點擊序列的嵌入構成輸入矩陣:

通過這種方式可以得到三種反饋數(shù)據(jù)的特征表示
f_c,f_u,f_d

2.外部交互模塊

隱式負反饋是足夠的,但是噪聲很大。一般來說,未點擊行為似乎暗示著負反饋,然而暴露給用戶的物品是由某些策略精心挑選的,這些策略也可能包含粗粒度方面的用戶興趣。外部反饋交互組件旨在根據(jù)點擊和不喜歡行為中強烈的反饋信息,區(qū)分用戶真正喜歡和不喜歡的點擊行為。具體來說,我們進行了兩個原版注意力機制,其中考慮隱含的正向和顯式負反饋嵌入 fc,fd 作指導,從未點擊序列中提取正向和負向偏好:

這個評分函數(shù)設計的還是挺有意思的,f_d包含了用戶明顯的負偏好,這些負偏好是從與目標項目相關的顯式負反饋中提取出來的,可以使得注意力機制從用戶的未點擊行為中提取出真正不喜歡的物品。此外還可以利用隱式正反饋從中提取喜歡的物品:

最后將5個反饋特征合并起來,構成最后的反饋特征

特征交互模塊

在特征交互中,我們將提取的反饋特征與其他特征結合起來,包括用戶畫像、物品特征和推薦上下文特征。

我們將這些稀疏特征分為 m個 字段,包括連續(xù)字段(例如,age)和類別字段(例如,location)等。所有字段都表示為單熱嵌入。查找表用于生成所有字段的稠密特征嵌入。然后利用Wide、FM和Depp組件進行特征組合。(通用架構

Wide
對特征進行線性組合:


FM
因子分解機:利用的是何向南提出的NFM的結構(Bi-Iteration),并對深度反饋模塊得到的5個特征嵌入合并一塊進行二階組合,所以公式里是m+5

Deep
簡單的MLP操作:


優(yōu)化目標

最后CTR計算的點擊概率:

最后的損失函數(shù)比較復雜一點,需要考慮三種數(shù)據(jù),因此也包含了三個部分

一個訓練集按照三個反饋類型分成3部分。

實驗

數(shù)據(jù)情況如下:(應該是不會公開的數(shù)據(jù)集)

注意這里的比例設置,顯式負反饋比重很大。

性能對比如下:

此外由于數(shù)據(jù)特性,還做了一個不喜歡預測任務

消融實驗結果如下:

在生產(chǎn)系統(tǒng)上進行的A/B test結果如下,可以看到提升明顯,CTR值提升了一個百分點,已經(jīng)很了不起了;而不喜歡率也大幅下降

總結

這篇工作對數(shù)據(jù)反饋充分分析的基礎上,借助自己的生產(chǎn)系統(tǒng),收集并利用了顯式負反饋和隱式正反饋這類信息,并利用這兩類重要信息對具有噪聲的隱式負反饋進行調整,基于注意力架構從隱式負反饋中分離出更有價值的特征。在實踐系統(tǒng)上有很好的效果表現(xiàn)。其中的注意力設計感覺可以在相關比賽中進行嘗試,是很值得借鑒的工作。

END

如果覺得有用,歡迎點贊關注贊賞,若對推薦感興趣歡迎評論區(qū)/私信交流~~~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容