Wu+'22 FeedRec: News Feed Recommendation with Various User Feedbacks (WWW 2022)
Wuさん最新作
TL; DR
「いいね」/「よくないね」/記事のシェア等様々なフィードバックを考慮したニュース記事推薦モデルを提案
実験的にクリックが向上するだけではなく複数の側面でユーザーエンゲージメントが向上することを確認
Motivation
既存のほとんどのニュース記事推薦モデルはクリック予測によって学習されている
既知の問題点
クリック情報(Implicit feedback)はノイズが多い(例:クリックベイト)
より深いユーザーの興味の情報(例:その記事が好きか, 読んで満足したか, ...)は、クリックのみからは分からない
「いいね」等のユーザーフィードバックを活用することはニュースプラットフォームのエンゲージメント向上に重要
ニュースプラットフォームにおける種々のユーザーフィードバック
https://gyazo.com/5e6c9b87f5ad36d8661ce630c2f99e26
分類(以降この表現を多用)
Weak implicit feedbacks
Click -> positive feedback
Skip (imp) -> negative feedback
Explicit feedbacks
Share -> positive feedback
Dislike -> negative feedback
Strong implicit feedbacks
Finishing the news article(読了)-> positive feedback
Closing the news webpage quickly after click (直帰)-> negative feedback
これらのユーザーフィードバックをニュース記事推薦に取り入れたい
Challenge
implicit feedbackはノイズが多い
モデルは真の(使える) positive and negative user interestsを抽出しなければならない
異なるフィードバックは異なる性質(例: ユーザーの興味が反映される度合い)を持っている
モデルはそれぞれのフィードバックの性質の違いを考慮しなければならない
異なるユーザーフィードバック同士が関連性を持っている
すぐに閉じたニュースを「よくないね」しがち、等。逆も然り
モデルはこれらのフィードバック間の関連性も考慮しなくてはならない
Contributions
種々のpositive/negativeユーザーフィードバックを考慮可能な統一されたニュース推薦のフレームワーク(FeedRec)を提案
正確なユーザーの興味を抽出するためのstrong-to-weak attention networkを提案
クリック予測、読了予測、滞在時間予測を組み入れたmulti-feedback model training frameworkを提案
Key Idea: FeedRec
FeedRec: Overview
https://gyazo.com/d46971766c7727971185352b5dc891b5
主要な機構
News Encoder
Heterogeneous Feedback Transformer
Homogeneous Transformers
Strong-to-weak attention network
(multi-feedback model training framework)
コンポーネント詳細(入力に近い側から)
1. News Encoder(shared)
Input: feedback sequence$ \lbrack D_1, D_2,\dots, D_N \rbrack
Output: feedback embedding sequence$ \mathbf{E}=\lbrack\mathbf{e}_1,\mathbf{e}_1,\dots,\mathbf{e}_N\rbrack
https://gyazo.com/e890e1ac0502547f68bd35c4e663786c
5種類のベクトルの和でユーザーフィードバックをエンコード
text embedding
ニュースタイトルをtransformerでエンコードした表現
position embedding
入力の位置表現
feedback embedding
ユーザーフィードバックの種類を表現するベクトル
(user-specific) dwell time embedding
滞在時間を適当な関数で量子化 -> 各(離散)滞在時間に対応するベクトルを用意
$ \tilde{t} = \lfloor \log_2 (t+1) \rfloor
time interval embedding
1つ前のユーザーフィードバックから現在のフィードバックまでの時間間隔を滞在時間と同様の方法でベクトル化
時間的に隣接するフィードバックとの関連性を考慮
2. (Heterogeneous) Feedback Transformer
異なるフィードバック同士の関係を考慮
Input: feedback embedding sequence$ \mathbf{E}=\lbrack\mathbf{e}_1,\mathbf{e}_1,\dots,\mathbf{e}_N\rbrack
Output: hidden feedback representation sequence $ \mathbf{H} = \lbrack \mathbf{h}_1, \mathbf{h}_2 , \dots, \mathbf{h}_N \rbrack
3. (Homogeneous) Transformers
同種のフィードバック間の関係を考慮(例:クリックした記事Aとクリック記事Bの関係)
Input: フィードバックの種類でグルーピングした(Heterogeneous) Feedback Transformer representation $ \mathbf{H} = \lbrack \mathbf{h}_1, \mathbf{h}_2 , \dots, \mathbf{h}_N \rbrack
Output: feedback-specific representation sequences $ \mathbf{R} = \lbrack \mathbf{r}_1, \mathbf{r}_2 , \dots, \mathbf{r}_N \rbrack
4. (positive/negative) strong-to-weak attention network
仮定
explicit feedback (share/dislike)は信頼できる
implicit feedbackは比較的信頼できない(ノイズが多い)
このコンポーネントでやりたいこと
stronger feedbackに基づいて正確な(使える)implicit weak feedbackを抽出する
4 > part1: generate explicit positive/negative feedback representation
Input: feedback-specific representation sequences $ \mathbf{R} = \lbrack \mathbf{r}_1, \mathbf{r}_2 , \dots, \mathbf{r}_N \rbrack
Output: explicit positive feedback representation $ \mathbf{u}_{e}^{p}, explicit negative feedback representation $ \mathbf{u}_{e}^{n}
https://gyazo.com/53ea18b0e1a0e1b9a38c768aa0a2ec94
4 > part2: generate implicit strong positive/negative feedback
Input: feedback-specific representation sequences $ \mathbf{R} = \lbrack \mathbf{r}_1, \mathbf{r}_2 , \dots, \mathbf{r}_N \rbrack
Output: implicit strong positive feedback $ \mathbf{u}_{i}^{p}, implicit strong negative feedback $ \mathbf{u}_{i}^{n}
https://gyazo.com/106589faf4e6a4a16bdbb97cef16185d
https://gyazo.com/c1eb571dd1e686a88f030916c8e9054f
4 > part3: generate click- and skip-based weak positive/negative feedbacks
Input: feedback-specific representation sequences $ \mathbf{R} = \lbrack \mathbf{r}_1, \mathbf{r}_2 , \dots, \mathbf{r}_N \rbrack
Output: implicit weak positive feedbacks $ \mathbf{u}_{c}^{p}, implicit weak negative feedbacks $ \mathbf{u}_{n}^{p}
https://gyazo.com/1fdf66498ac0967fe5164363bcb2111b
explicit positive/negative feedback representation と implicit strong positive/negative feedback の和をattention queryにする
5. feedback aggregation
(1) explicit feedback representationとimplicit strong feedback representationを集約
https://gyazo.com/f0c866ee2c9f178fb85e7e21ee6fa185
https://gyazo.com/e3ca393e0f178dbaa5ecf97a46c78934
$ \mathbf{v}_p, \mathbf{v}_n: learnable vector
(2) 同様にclick-based/skip-based positive feedbacksを集約
weak positive/negative feedback representation: $ \mathbf{w}^p, $ \mathbf{w}^n
(3) 4本のベクトルを集約してユーザーベクトルに
https://gyazo.com/e2dee3e84ba257ccf30d4922fd83cf01
$ s^p, w^p, s^n, w^n: learnable parameters
Multi-feedback Model Training
https://gyazo.com/b89700450ed1979fb5bdf2aadb99b984
3つのタスクをマルチタスク的に学習する
click prediction
finish prediction
dwell time prediction
各タスクの予測モジュール
https://gyazo.com/f1904ddd4153316b9f25bb2111316dab
$ \mathbf{W}_z, \mathbf{W}_t: learnable parameters
損失関数
3つのタスクのloss
https://gyazo.com/81c9fc4aeb9af0a250c46f5b2ccabdbf
positive-negative disentangling loss
https://gyazo.com/cd32e03c39d7628673c36a12939d89c8
最終的に最適化するloss
https://gyazo.com/89168f147585befc12406b8a24f9595b
$ \alpha, \beta, \gamma: ハイパラ
Experiments
Dataset
複数のユーザーフィードバックがついたニュース記事推薦のデータセットは存在しないため新たに作成
10,000 users logs from commercial news feed App
おそらくMS Start ?
ログ収集期間 :from Sep. 1st, 2020 to Oct. 2nd, 2020
基本統計量
https://gyazo.com/cc2d237b38ee6469ee972fb3b9aae5ac
share/dislikeはスパース
feedbackの分布
https://gyazo.com/ec5237b6082acaa2328beed686bd7513
https://gyazo.com/43ce6d6ce794b3bf5162d3fbd2b9c3a9
滞在時間分布は2つのピークが存在
最初のピークは所謂「がっかり記事(直帰記事)」
Baselines
最新の強いモデル達としっかり比較
EBNR: an embedding- based news recommendation method with GRU network
DKN: deep knowledge network for news recommendation
NPA: a neural news recommendation method with personalized attention
NAML: a neural news recommendation method with attentive multi-view learning
LSTUR: a news recommen- dation method that models long- and short-term user interests
NRMS: using multi-head self-attention for news and user modeling
FIM: a fine-grained interest matching approach for news recommendation
DFN: deep feedback network for feed recommendation
CPRS: news recommendation approach with click preference and reading satisfaction
Evaluation Metrics
推薦性能
AUC, MRR, nDCG@5 and HR@5
ユーザーエンゲージメント
ratio of the share/dislike frequency of top 5 ranked news to the overall share/dislike frequency in the dataset
to measure share/dislike based performance
average finishing ratio of top 5 ranked news and their average dwell time if clicked
Results
Main Results
click- based performance
https://gyazo.com/31b60bb9e85a6b6e138560a040f28bc4
user-engagement performance
https://gyazo.com/0bd446b18102dbb515d84c34d8ca250c
両方提案法がベスト(ゲインも大きい)
クリック以外の情報を使えるモデルは比較的性能が高い
Ablatioon Study
ユーザーフィードバックの種類でablation
https://gyazo.com/f3134b68bebc23a7939d8d1641ba4ce4
全部効いている
重要度: click > skip > finish > quick close > dislike > share
impの情報が意外に重要
モデルのコンポーネントでablation
https://gyazo.com/6fc0c295a2830938873d4da03f5694d9
全部必要
重要度: heterogeneous feedback Transformer > strong-to-weak attention network > homogeneous Transformer
lossでablation
https://gyazo.com/104a4411362c84c948c592a95d43ee9c
全部効いている
positive-negative disentangling lossは重要
重要度: positive-negative disentangling loss > Dwell time prediction loss > finish prediction loss
Embeddingでablation
https://gyazo.com/39834b821bbb0d9b801642181dd4eb78
全部必要
重要度: feedback embedding > dwell time embedding > position embedding > time interval embedding
Hyperparameter Analysis
「がっかり記事」の閾値
https://gyazo.com/4b830b6167051e32ca7f88b08cb50b58
データセットの分析と一致
各タスクのlossの重み
https://gyazo.com/96b3e32a138103fb6faac5f74dd51a1a
2変数を固定(0にする)で調査
Discussion
スパースなユーザーフィードバックを「たまに使える追加情報」として使うのでははなく、逆にスパースなユーザーフィードバックを信頼して、それを元にノイジーなimplicit feedbackを選別する、というアイディアが面白い
実験がmassive。ベースラインとの比較やablationも包括的に調べており説得力がある
分かりやすい図/notationありがたい