覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

机器之心發表於2022-12-02

近些年來,透過各種內容平臺瀏覽影片或者是閱讀文章的使用者越來越多,而現有的推薦演算法有時難以很好地建模使用者的偏好,因此需要更準確的推薦系統模型。但已知的推薦系統(RS)的基準資料集要麼是小規模的,要麼是使用者反饋形式非常有限。在這些資料集上評估的推薦系統模型往往缺乏實用性,難以為大規模真實場景應用提供足夠的價值。

在本文中,來自騰訊、西湖大學的研究者釋出了 Tenrec 資料集,一套超大規模的推薦系統公開資料集和評測基準,它記錄了來自四種不同推薦場景的各種使用者反饋。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec
  • 論文地址:https://arxiv.org/abs/2210.10629

  • 程式碼地址:https://github.com/yuangh-x/2022-NIPS-Tenrec

  • 資料集地址:https://static.qblv.qq.com/qblv/h5/algo-frontend/tenrec_dataset.html

具體來說,Tenrec 有 以下五個特點:(1)規模大,包含約 500 萬使用者和 1.4 億次互動;(2)不僅有正向的使用者反饋,也有真實的負反饋;(3)它包含四種不同場景中重疊的使用者和重疊 items;(4)它包含各種型別的使用者正反饋,以點選、點贊、分享形式等;(5)它包含了除了使用者 id 和 item id 之外的附加特徵,如使用者年齡、性別和 items 類別等。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

研究者透過對每個任務執行幾個經典的 Baseline 模型來驗證 11 個不同的推薦任務上的 Tenrec 表現。Tenrec 有很大的潛力成為一個對多數流行推薦系統任務有用的基準資料集。

資料集描述

Tenrec 是一個為多個推薦任務開發的資料集,資料收集來自騰訊的兩個不同的內容推薦平臺(QB 和 QK)。QK/QB 中的一條資料可以是一篇圖文或一段影片。需要注意的是,圖文推薦模型和影片推薦模型是分別用不同的神經網路和特徵進行訓練的。因此,可以認為 Tenrec 總共是由四個場景的使用者反饋組成的,即 QK-video、QK-article、QB-video 和 QB-article。研究者從兩個內容平臺收集使用者(匿名處理)的行為日誌,首先從 QK-video 的資料庫中隨機抽取五百萬的使用者,抽取的這些使用者至少包含五個及以上的點選行為。然後再抽取使用者的相關行為,包含正反饋行為:點選、分享、喜歡和關注等,負反饋行為:item 曝光但無點選的使用者行為。最終抓取約 1.42 億的點選行為,1 千萬的喜歡行為,1 百萬的分享行為和 86 萬的關注行為以及總共 3.75 百萬的影片數量。除了使用者行為以外,還包括經過脫敏處理後的使用者年齡、使用者性別和物品類別等特徵。對於 QK- article、QB-video 和 QB-article 場景採用相似的資料處理方式,其中 QK-video 為主場景資料集,另外三個為次要場景,可用於推薦系統中的遷移學習場景或者冷啟動場景等。詳細的資料統計可見下表 1。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

圖 2(a)和 (b) 顯示了 QK-video 在點選行為中的 item 頻率。由下圖可得,item 頻率遵循典型的長尾分佈。(c)展示了會話長度的分佈,其中具有 [0~20] 長度的會話的數量佔所有會話的 53%。另外三個資料集有相似的結論。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

其次,Tenrec 在四個場景中有重疊的使用者和 item。對於使用者,我們統計 QK-video 和 QK-article,QB-video,QB-article 的重疊數量,因為 QK-video 覆蓋了最多的使用者、items 和互動。其中,QK-video 和 QK-article 重疊使用者數為 268207,QK-video 和 QB-video 重疊使用者數為 3261,在 QK-video 和 QB-article 之間的重疊使用者數為 58。對於 items 的重疊數量,QK-video 和 QB-video 之間有 78,482 個重疊的影片。重疊的使用者和 items 可以透過其唯一的 id 索引進行關聯。由於 Tenrec 有交疊的使用者和 items,因此它非常適合用於研究遷移學習和交叉領域學習等任務。

除上述所說的優勢之外,Tenrec 和現有的推薦系統不同的是,它包含不止一種使用者反饋。QK-video 和 QB-video 除了使用者點選行為外,還包括點贊,分享和關注等行為,這些行為比點選行為更加能夠反映出使用者的偏好程度。在 QK-article 和 QB-article 同樣有使用者的正反饋,除上述行為之外,還包括閱讀行為和喜歡行為。除了上述的各種正反饋行為外,Tenrec 還包括真實的負反饋行為,即 item 展示給使用者,但是使用者不感興趣並沒有點選 item。真實的負樣本可以幫助 CTR 等推薦系統任務更加真實地學習到使用者的興趣。

Tenrec 資料集具體的特徵如下所示,QK-video/QB-video 的特徵包括 {user ID, item ID, click, like, share, follow,video category, watching times, user gender, user age}。其中 click, like, share, follow 特徵是二值屬性,代表使用者是否有相關的行為。video category 是影片類別,watching times 是使用者觀看該影片次數。而有敏感資訊的 user ID, item ID, user gender, user age 特徵都做了匿名化處理。另外,QK-article/QB-article 的特徵包括 {user ID, item ID, click, like, share, follow, read, favorite, click_count, like_count, comment_count, exposure_count, read_percentage, category_second, category_first, item_score1, item_score2, item_score3, read_time}。其中“*_count” 代表的是相應行為的總數量, read_percentage 是使用者的閱讀完成度,取值範圍從 0 到 100。category_first 和 category_second 是文章的類別,其中 category_first 是粗粒度類別(如體育、娛樂、軍事等),category_second 是細粒度類別 (例如:NBA、世界盃、科比等)。item_score1、item_score2、item_score3 表示不同評分系統給出的打分。read_time 是閱讀的持續時間。

實驗驗證

接下來研究者將用十一個不同的推薦任務驗證 Tenrec 資料集。

1、CTR Prediction

CTR Prediction 是一個經典的推薦任務,其目標是預測使用者是否要點選一個推薦的專案。研究者在 QK-video 的取樣版本上執行這個任務,即隨機抽取從 QK-video 資料集中抽取 100 萬個使用者,稱為 QK-video-1M。

資料預處理:在處理過程中保留所有的正反饋(點選行為),並抽取一部分真實負反饋,正 / 負抽樣比為 1:2。透過這樣做,我們總共獲得了 1,948,388 個專案和 86,642,580 個互動作用,可以達到 96.7% 的稀疏性。然後研究者將資料切分成 8:1:1,分別作為訓練集,驗證集,和測試集。訓練樣本包括如下特徵:user ID、item ID、性別、年齡、影片類別和使用者 10 個歷史點選專案。我們分別對上述特徵做特徵嵌入。

Baseline 模型:在該任務中,研究者使用如下模型:Wide & Deep, DeepFM, NFM, xDeepFM, AFM, DCN, DCNv2, DIN, DIEN。另外,進行了共享歷史 embeddings 和非共享歷史 embeddings 的實驗比較。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec
覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:上表顯示了不同方法在 QK-video-1M 資料集上的 AUC 評估指標結果。可以觀察到,一般來說,這些 CTR 模型的表現非常相似。其次非共享歷史 embeddings 的表現要略好於共享 embeddings。

2、Session-based Recommendation

基於會話的推薦(SBR),也稱序列推薦,給定一個會話序列(即之前的互動 items),目的是預測下一個 item,SBR 的一個關鍵特徵是在訓練過程中明確地建模互動順序,這通常會產生更好的 top-N 結果。

資料處理:研究者使用 QK-video-1M 來評估各個 Baseline 模型。遵循常規的實驗設定,研究者過濾掉序列長度小於 10 的會話,同時設定會話的最大長度為 30。經過資料預處理之後,可以得到 928,562 個使用者,1,189,341 個 items 和 37,823,609 個點選互動。實驗保留會話中的最後一項用於測試,最後第二項用於驗證,剩下的用於訓練。

Baseline 模型:在該任務中,研究者使用如下模型:GRU4Rec, NextItNet, SASRec, BERT4Rec。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:研究者使用標準的 top-N 排名指標來評估所有的模型,即 HR 和 NDCG。N 被設定為 20。表 3 顯示了 4 個模型試驗的結果。觀察結果如下:(1)單向模型 GRU4Rec、NextItNet 和 SASRec 在 HR@20 和 NDCG@20 上比雙向 BERT4Rec 提供更好的結果。(2)在相同的訓練方式下,三個單向模型的效能相似。

3、Multi-task Learning for Recommendation

多工學習(MTL)的目標是同時學習兩個或多個任務,同時最大化其中一個或所有任務的效能。在這裡,我們試圖對使用者對點選和點讚的偏好進行建模而不是其中之一。該任務中使用與 CTR Prediction 相同的資料集和分割策略。不同之處在於,該任務有兩個輸出目標,一個用於點選,另一個用於點贊。考慮到 Tenrec 包含了許多型別的使用者反饋,人們可以利用更多的目標來構建更具挑戰性的 MTL 任務,例如 3 個、4 個甚至 6 個任務 (即透過點選、點贊、分享、關注、閱讀、收藏等) 從 QK-article 資料集學習。

Baseline 模型:在該任務中,研究者使用如下模型:ESMM、MMOE、PLE。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:表 4 顯示了四種方法在 QK-video-1M 資料集上 AUC 的結果。正如我們所看到的,ESMM 在點選和點讚的預測方面都比 MMOE 表現得更好。

4、Transfer Learning for Recommendation

遷移學習(TF)——首先透過預訓練,然後進行微調,這已經成為 NLP 和 CV 中常用的方法。該任務中,首先在源域預先訓練 SBR 模型(即 NextItNet 和 SASRec),然後在目標域中使用相同的模型(其他引數隨機初始化),將在源域學習到的隱藏層引數遷移到目標領域中(即 CNN 和 self-attention 的引數)。

資料預處理:使用在 SBR 任務中的資料集作為源資料集,並使用 QB-video 點選反饋作為目標資料集。

Baseline 模型:在該任務中,研究者使用如下模型:NextItNet、SASRec。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:表 5 顯示了有和沒有預訓練的比較結果。觀察可得,NextItNet 和 SASRec 透過預訓練能產生更好的 top-N 結果。這表明,從大型訓練資料集學習到的隱藏層引數,可以作為在目標域訓練資料不足時模型引數的初始化。

5、User Profile Prediction

使用者個人資訊是個性化推薦系統的重要特徵,特別是對冷使用者或者新使用者的推薦。最近,相關文獻證明了透過對使用者的點選行為進行建模,可以很準確地預測使用者的個人資訊。

資料預處理:研究者在 QK-video-1M 上完成實驗。先移除沒有個人資訊特徵的使用者,然後按照 8:1:1 的比例劃分成訓練集、驗證集和測試集。

Baseline 模型:在該任務中,研究者使用如下模型:DNN、PeterRec 和 BERT4Rec。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:表 6 顯示了 5 個 Baseline 模型的 ACC 結果。首先,PeterRec 和 BERT4Rec 的表現優於 DNN,表明建模使用者序列行為時 CNN 和 Self-Attention 網路更強大。第二,PeterRec 和 BERT4Rec 的有預訓練比從零開始訓練效果更好。

6、Cold-start Recommendation

冷啟動是推薦任務中一個懸而未決的挑戰。Tenrec 的一個主要優點是有使用者重疊和 items 重疊的資訊,因此可用於解決冷啟動的問題。

資料預處理:該任務中 QK-video 作為源資料集,QK-article 作為目標資料集。為了更加貼合實際場景,研究者設定了幾個不同的冷使用者場景,例如全冷使用者和冷熱使用者混合場景。同樣的,這裡設定 8:1:1 的資料劃分策略。

Baseline 模型:在該任務中,研究者使用如下模型:PeterRec 和 BERT4Rec。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:表 7 顯示了 Cold-start Recommendation 的結果。首先,我們發現 PeterRec 和 BERT4Rec 透過預訓練都有明顯的效果提升。

7、Lifelong User Representation Learning

當把一個模型從一個領域遷移到另一個領域時,在原始任務訓練的引數往往會被修改來適應新的任務。因此,模型將不再適用於原始任務,這就是災難性遺忘。Conure 提出了一個 "一個模型適用所有任務" 的學習框架,其目的是建立一個適用所有場景的使用者表徵(User Representation:UR)模型。在本節中,研究者透過在四個場景中遷移使用者的偏好來研究終身學習(Lifelong Learning LL),即從 QK-video 到 QK-article 到 QB-video 到 QB-article。

資料預處理:研究者從 QK-video-1M 隨機抽取百分之五十的使用者用於 LL 的任務 1。然後使用 QK-article、QB-video 和 QB-article 與作為其他任務的資料集。其中,QK-article 保留最多三個互動,由於 QB-video 和 QB-article 的使用者量和點選行為較少,因此保留這兩個資料集的使用者的所有互動。

Baseline 模型:在該任務中,研究者將 Conure 的方法應用在 NextItNet 和 SASRec 上。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:表 8 顯示了用持續學習的使用者表徵進行推薦的結果。可以清楚地看到,因為在任務 1 的預訓練,Conure 在任務 2、3 和 4 上提供了效能改進。

8、Model Compression

模型壓縮可以將大型神經模型部署到容量有限的裝置中,如 GPU 和 TPU(張量處理單元)。對於推薦系統模型來說,嵌入層的引數數量很容易達到數億到數十億的級別。

資料預處理:研究者對 Session-based Recommendation 任務中的模型進行引數壓縮,並使用與 Session-based Recommendation 任務相同的資料集。

Baseline 模型:該任務中將 CpRec 框架應用在 NextItNet 和 SASRec 上。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:表 9 顯示 CpRec 將 NextItNet 和 SASRec 壓縮到其原始大小的三分之二。

9、Model Training Speedup

這項任務的目的是加速層數非常多的模型的訓練過程。與淺層的 CTR 模型不同,SBR 模型層數可以更深。為了加速訓練過程,他們提出了 StackRec,它首先學習一個淺層模型,然後將這些淺層複製為深層模型。同樣地,研究者透過使用 NextItNet 和 SASRec 作為骨架來評估 StackRec 框架。

資料預處理:資料集使用和預處理方式與 Session-Based Recommendation 任務相同。

Baseline 模型:該任務中將 StackRec 框架應用在 NextItNet 和 SASRec 上。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:表 10 顯示了訓練加速的結果。可以得出幾個觀察結果:(1) StackRec 明顯減少了 NextItNet 和 SASRec 的訓練時間;(2) 訓練加速並沒有導致推薦精度的下降。

10、Model Inference Speedup

隨著模型層數地增加,會出現一個問題:推理成本也大大增加。導致線上推理的高延遲。然而實際場景中,推薦系統中的使用者可以分為困難使用者和容易使用者,向容易使用者推薦物品不需要透過整個網路。因此,可應用 SkipRec 框架。在模型推理階段,它可以自適應地決定哪個使用者需要哪個層。

資料預處理:資料集使用 QB-video,預處理方式與 Session-Based Recommendation 任務相同。

Baseline 模型:該任務中將 SkipRec 框架應用在 NextItNet 和 SASRec 上。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:表 11 顯示了 SkipRec 對 QB-video 的影響。我們看到 SkipRec 中的跳過策略可以大大加快 SBR 模型的推理時間,例如 NextItNet 約加速 23%,SASRec 約 32%。且 32 層的 SkipRec-NextItNet 依然要比 16 層的 NextItNet 的推理速度要快。

11、Top-N Recommendation

Top-N 推薦是推薦系統較為經典的任務。研究者在 QB-video 資料集上驗證 Top-N Recommendation。

資料預處理:過濾掉序列長度小於 10 的使用者,並且按照 8:1:1 的分割比例劃分訓練集、驗證集和測試集。另外,採用隨機取樣和頻率取樣作為負取樣方法。

Baseline 模型:在該任務中使用 MF,NCF,NGCF 和 Light GCN 模型。

覆蓋四種場景、包含正負向反饋,騰訊、西湖大學等釋出推薦系統公開資料集Tenrec

實驗結果:實驗結果表明,一個更好的負取樣器有助於提高準確率,例如頻率取樣。

結論

本文向讀者介紹了 Tenrec,目的是推動推薦系統社群的發展。它是目前最大和最通用的推薦資料集之一,涵蓋多個具有各種型別使用者反饋的真實場景,使用者反饋行為包括點選,點贊,分享,關注和真實負反饋等。並且研究者呈現了十一個熱門推薦系統任務的經典演算法在 Tenrec 上的實驗結果,Tenrec 可用於 CTR 預測、序列推薦、多工學習、遷移學習、使用者畫像預測、冷啟動推薦、終身學習、模型壓縮、模型訓練加速、模型推理加速和 Top-N 推薦等相關任務研究。除了上述任務以外,Tenrec 還可以應用於交叉領域推薦,使用者不同反饋的遷移和不同負取樣的 items 推薦等任務。Tenrec 經過資料脫敏處理,使用者的個人資訊隱私問題得到了很好的保護。

相關文章