Clicks can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue
https://gyazo.com/e99fca636d6f7082a2d10fccc37819ec
著者情報
シンガポール国立大学
Tat-Seng Chuaさん・・・IR系の教授
中国科技大学
南洋理工大学
どういう論文
CTRベースの推薦をするときに、クリックベイト的なサムネイル(タイトル)が上位に来てしまう。
クリックベイトの影響を抑えるために以下の発想を使って学習を行う。
クリックするかどうかは、「本来のアイテムがもつ影響」だけでなく、「タイトルなどに表層的なもの(以下、exposure features)に釣られている影響」がある
本来のアイテムがもつ影響だけを考慮したい
https://gyazo.com/fbb988c0bf117137df5e21c7d9c76bf8
選んだ理由
当社でも釣り記事が上位にくるのを防いでいるため、その手法の一つとして気になった
背景・概要・問題
ユーザーに対してアイテムを推薦する問題を解く
ユーザー表現(u)とアイテム表現(i)から、クリック尤度(s_θ)を推定
クリック尤度(s_θ)と実際にクリックしたかどうか(Y_u,i)が近づくよう学習 (以下、誤差関数はクロスエントロピー)
https://gyazo.com/7cd7ba5dc219baddcf1e19d542cf634d
ここで、クリックベイト的なアイテムが上位にきてしまうという問題がある。
https://gyazo.com/7a6699e32cac6781d7f56f5421c66c68
そもそも「ユーザーUがアイテムIをクリックするかどうか」の因果をcausal graphとして表すと
(図a) 従来の考え方 サムネイルEと内容TがアイテムIに影響、アイテムIとユーザーUがクリックするかどうかに影響
(図b) 提案の考え方 aに加え、サムネイルEも直接影響していると考える
「アイテム自体に潜在する魅力からクリックしたくなるかどうか」と「サムネイルだけ見たとき、クリックしたくなるかどうか」があるというイメージ?
https://gyazo.com/bc45746d3e9b70b16f4f5229ee75df60
手法
基本となるモデルは「推薦に使えるモデルならなんでもいい」と一般化されたうえで、実験ではMMGCN (Multi-Modal Graph Convolution Net)を使っている。
工夫1: exposure featuresを分けて考える
「アイテム全体による推測」と「exposure featuresのみによる推測」を、分けて考える
「exposure featuresのみによる推測」をシグモイド関数で非線形変換してから、「アイテム全体による推測」に乗算するという提案がされている
後の実験で、足し算だとどうか、シグモイドがないとどうか、などという比較実験もあり
誤差関数に組み込むということも考えられるが、タスクによってチューニングが大変なので尤度まで出してからスコアを計算するほうがよい、とされていた
注:アイテム全体の特徴量(I)はexposure featuresとcontent featuresから多層パーセプトロンなどでエンコードされる このエンコードも学習される
https://gyazo.com/f89a63fb314a9048d246fe8cd6905631
工夫2: exposure featuresによる影響を軽減させるようにする
工夫1で出した値から「アイテム全体による推測」が全アイテムについての平均(期待値)だったときの値を引くことで、「アイテムそのものによる影響だけででユーザーがエンゲージしそうかどうかというスコアを出すようにする
https://gyazo.com/dbf1d86c9c6f535d0f8878554697ddb3
https://gyazo.com/2d4fd531947f278c22852d119028b3fb
実験・議論
データセット
TikTok
exposure features・・・キャプション(タイトル)
content features・・・音声、動画
正解ラベル・・高評価、いいね、最後まで視聴したものを正例とする
Adressa (ニュース記事データセット)
exposure features・・・タイトル、概要
content features・・・本文
正解ラベル・・・記事滞在時間30秒以上を正例とする
(長いなと思ったが、堅めのニュースを扱っていそうなのでこれぐらいでいいのか)
https://gyazo.com/147f6102d36eb23247584d02a75396a5
評価指標
ユーザーに対してアイテムを尤度でランキング
Precision@K, Recall@K, nDCG@K
K=10, 20
比較手法
NT (Normal Training)
MMGCNで普通に特徴量を入れて学習
CFT (Content Features Training)
content featuresのみで学習
IPW
(ちゃんとは調べてないですが) 人気アイテム→たくさんimpされる→click多くて当然 みたいなバイアスを軽減させるしくみ
クリックベイトは人気アイテムといえるのでこの仕組みを使ってうまく順位を下げられるかもしれない
CT (Clean Training)
いいねなどポジティブフィードバックがついたもののみを正例として学習
NR (Negative feedback Re-weighting)
clickしたがskip(一定時間未満で離脱)したアイテムを負例として学習
RR (Re-Ranking)
NTによる結果top20をlike/click比率でソート (P@20, R@20は結果変わらない)
結果
https://gyazo.com/44b59ce1bc3d98ea82b5bcabf5c140f8
両方のデータセットで全指標が比較手法を上回った
exposure featuresの直接的な影響のみを軽減させるという発想が効いている
NT > CFT
exposure featuresによる推測がクリックベイト問題をもたらす、とはいえ完全に破棄してもだめということ
IPW良くない
みんなにクリックされているからといってクリックベイトとは限らない
RR > NT
like/click比率で並べ替えると効果あり
つまり明示的なフィードバックはクリックベイト問題の解消に効果あり
一方で CT, NR < NT
likeがついたもののみを正例として使うのはデータ切り捨てすぎということか
→ユーザーフィードバック使うのはいいが、うまい具合に使うのが大事
結果:工夫1のみだとどうなる
CR-TE・・・工夫1(アイテム全体からの推測とexposureからの推測を分ける)のみ適用したもの
CR inference > CR-TE > NT なので、工夫1, 2それぞれに有効性があることがわかる
https://gyazo.com/a2e327c4397226cc6fe8618c084dfc3b
さらに詳細な分析
click/like比率上位N%のアイテムを排除してNT, CRで比較
click/like比率上位排除割合が大きくなる(=click/dislike比率が大きいアイテムが多い)ほどCRの相対的性能上がる
https://gyazo.com/cc31a013348df0d6de93e9195433bcc8
アイテムからの推測とexposure featuresのみからの推測のfusion方法比較
https://gyazo.com/00ec5498dc219acc7580e3f291c89555
https://gyazo.com/f02bb9ffe6d543811f1baf2aad67ffdb
所感
誤差関数をいじるのではなく、やっていること自体は簡単な計算なので、ここまで効果が出るのはすごいと思った
exposure featuresの影響を引くという作業が、理論的にも説明されていたし、実験でも効果があることが示されていたので納得感があった
like自体を正例にすればいいのでは、と最初に思った疑問が比較手法として示されていてよかった