Calibrated Recommendations (Recsys 2018) を読んだ
3行で
レコメンドエンジンの性能がよくなればなるほど、かつアイテムに偏りがある場合(ECサイトにおけるアイテムジャンルの偏りなど)、次第にレコメンド結果が似通ったアイテムに偏りがちになるという問題が存在します。
本論文ではその補正(calibrate)の方法について提案しました。 おなじみMovieLens20Mを用いた実験で提案手法が想定通り機能することを示しています。
背景
ある動画サイトではAとB2つのジャンルがあるとします。ジャンルAには動画の70%, Bには動画の30%があるとする。このサイトには随時N件のレコメンド枠があるとします。
とあるユーザーUはジャンルA,B同等に興味を持つとします。
このとき、
Uに対してA:B 7:3の割合で提示する Uはこの中からランダムに選ぶ (ポジションバイアスなどは忘れる) が、Aを7割の確率で選ぶことに レコメンドエンジンはUがAを選びやすいことから、Aをより多く出すようにする 。。。
の繰り返しの結果、いつしかユーザーUに対してはジャンルAの動画ばかり並ぶことになる、というのがこの論文で主題にしている問題となります。(エコーチェンバー現象と名付けられています)
本論文はこの課題をスコア補正によって解決しようと試みています。ようするに、レコメンドされるアイテムのジャンル比率を、過去にそのユーザーが見たアイテムのジャンル比率と一致させるように補正すればいいよねっていう発想です。
手法
metrics
まず、「適切に補正されているか」を示すメトリクスが必要になります。少なくとも筆者によれば「この課題に特化したmetricsはない」と言っています (DiversityやFairnessのmetricsもtackleしている問題設定としては似ていますが、非なる問題であると言及)
ユーザーuが過去に再生した動画のジャンル分布を
ユーザーuがレコメンドされた動画セット のジャンル分布を
で表現したとき、KLダイバージェンス
を「小さいほど、ユーザーの興味に対して推薦アイテムのジャンルが偏っていない」 指標として用いるわけです。
そして、推薦アイテム集合があるとき、 をアイテムセットIに含まれるスコア(クリック予測値とかそういったもの) の和として、
( はユーザーにレコメンドするアイテムの集合、Nはレコメンドするアイテムの数、 はレコメンドスコアとcalibrated scoreのどちらをより重視するかのパラメータとなります.
この最適化問題を解くことでジャンル偏りを補正することを提案しています ただし当然ながら多項式で解ける問題ではないです。故に 空のリストを用意し、 推薦スコアの高いアイテムから順にCalibrated Scoreが最大化するようなアイテムを探してリストに追加していく、というアルゴリズムを用いることを提案しています
実験
「本来なら先行研究と比較したいが、おれが考えた問題設定でだれも解いたこと無いから俺たちの手法が期待通り動いていることを示すぜ(意訳)」 ということで、そういうことです
Movielens-20M使って、補正の強さ項 を変化させたときのCalibrateの様子を実験しています。 データとしては、ジャンルタグのついてないアイテム及び再生されていないアイテムを削除し、99%をtrain, 1% とtestに分割.
くらいまではcalibration scoreの増加の割にrecallの減少がゆるやかだね、という主張です。
お気持ち
院ですこしだけやりましたが、この手の(diversityやfiarness含め) 、メトリクスを「適切に」定義するところから議論しなければならないの厳しい。