メディアモデルを考慮したニュース推薦の5つの多様性指標群の論文を読んで、その活用可能性に思いを馳せた話

2023/11/22 推薦システム論文読み会

morinota

最初に自己紹介

  • 発表者: モーリタ (twitter @moritama7431)
  • 所属: 株式会社ユーザベース NewsPicks インターン
  • Qiita: https://qiita.com/morinota
  • github: https://github.com/morinotaK

  • 博士課程への入学時期に偶然Kaggleをきっかけに推薦システム分野と出会い、趣味で論文読んで実装してブログに上げてた。「推薦システムを趣味ではなく仕事として関わりたい」と思い、NewsPicksさんに機会をもらってインターン中。(インターン1年の振り返りブログ書きました!)
  • 興味ある事:
    • 推薦システム周り(より確度の高いオフライン評価とか。最近はNetflixの推薦モデル統合のブログをきっかけに、multi-taskな推薦モデルとか。)(趣味でn週連続推薦システム論文読んだシリーズやってます!)
    • MLシステムの設計・開発・運用改善(最近MLOps勉強会を経て、MLOps Maturity AssessmentとかRecSysOpsとかFTP Pipelinesとか気になって調べ中。今の業務的にもこちらもcatch upせねばという気持ち)

参考文献:

どんな論文? 選んだモチベーションは??

  • 論文タイトル: RADio – Rank-Aware Divergence Metrics to Measure Normative Diversity in News Recommendations
  • RecSys2022 Best Paper Awardsの論文
  • 一般的な推薦システムにおける”多様性”は、シンプルに推薦アイテム間の距離指標として表される事が多いが、ニュース推薦における”多様性”を検討する上では、それでは不十分でしょ!(というか、目指すべき点はそれではないでしょ!)って話。
  • 本論文の目的は、メディアが民主主義社会において役割を果たすために求められるニュース推薦の”多様性”を、異なる推薦モデルの評価や比較に使用可能な5つのmetrics集合 RADio に落とし込むこと。
  • この論文を読んだのは半年前なのですが、推薦モデルの推論品質の監視やオフライン評価に使えないかなーと思いを馳せ始め、皆さんと共有したく選択した。

ここからは論文の概要を紹介

導入: ニュース推薦の精度と多様性の話

  • 推薦結果の”精度”のみを考慮した推薦システムは、ユーザが以前に見たものと似たものを不当に宣伝し、ユーザを”more of the same”のフィードバックループに閉じ込め得る。そのためbeyond-accuracy指標として”多様性”の研究が進んでいる。
  • 多様性指標として一般的なのは、intra-list-diversity(ILD)(=推薦アイテムリスト間の非類似度)
    • 様々な分野で活用可能だが、メディアが民主主義社会において役割を果たす為の”diverseなニュース推薦システム”のニュアンスを完全には表現できない。
  • そもそもニュース推薦アルゴリズムの仕事は、増え続けるオンライン情報をフィルタリングすること
    • そのフィルタリングの方針は、各メディアの役割によって異なるし、求められる多様性も異なる。

4種のメディアモデルとニュース推薦方針

既存研究では、メディアの民主主義的な使命を以下の4種類のメディアモデルとして分類:

  • The Liberal(自由主義) model: コンテンツもスタイルも、ユーザの好みに合わせて提供する。
    • ユーザが選択した分野での専門性を高める。
  • The Participatory(参加主義) model: ユーザが社会で活動するために必要な共通認識を、各ユーザに分かりやすい形で提供する。
    • ユーザ達が必ずしも同じ記事を見る必要はないが、同じトピック。記事のcomplexity(複雑さ)は、ユーザの好みや能力に合わせて調整。
  • The Deliberative (議論主義) model: 現在、社会的な議論の中心にあるトピックを選び、異なる意見や多様な視点を提供する。
  • The Critical(批判主義) model: 普段は届きにくい、マイノリティなコミュニティの意見や主張を積極的に提供する。

(各メディアモデルに優劣はなくて、どのモデルに従うかは、メディア企業自身が、そのmissionに従い、民主主義社会で果たしたい役割に応じて決めるべき)

5種類のdiversity metrics: RADio

前述した4種のメディアモデルによって”目指すべき多様性”の価値と意味合いが異なる。本論文では、各メディアモデルが推薦システムに期待する性質から導出した、5つのdiversity metrics = RADioを提案:

  • Calibration
  • Fragmentation
  • Activation
  • Representation
  • Alternative Voices

(論文では、これらの性質を満たす為の導出過程とか考えが丁寧に記述されてた。JS-Divergenceを選ぶ理由とか、rank-awareにする上での重み付け方法の選択とか。)

全metricsに共通する性質:

  • distance metric(同一性, 対称性, 三角形の不等式が成立する)。
  • 2つの離散分布間のJS-Divergence。
  • 異なる推薦モデル間や異なるmetric間で比較したいので、全て値域が \([0; 1]\)。(0に近いほど2つの分布の距離が近い)
  • rank情報を持った離散分布に適用可能。(rank-awareな指標)

5種類のdiversity metrics: RADioの全体像

RADio = Rank-Aware Divergence metrics (ioはどういう意味だろ?🤔)

5種類のdiversity metrics ① Calibration

  • 「推薦記事がユーザの好みとどの程度合っているか」を反映したもの。
    • 推薦記事リストの分布とユーザの閲読履歴の分布の間の距離を意味する。

\[ Calibration = D_{JS}(P^*(c|H), Q^*(c|R)) \\ % = \sum_{c} Q^*(c|R) f(\frac{P^*(c|H)}{Q^*(c|R)})\ \]

ここで、\(P\)\(Q\) は異なる2つの離散確率関数。添字 \(*\) は、rankで重み付けされた確率関数である事を意味する。 \(H\) は、あるユーザの閲読履歴にある記事集合。\(R\) は、推薦記事リスト。\(c\) は確率変数。(論文中では、記事categoryや記事のcomplexityを確率変数として提案してたので \(c\) にしてるっぽい?)

5種類のdiversity metrics ② Fragmentation

  • 「共通したトピックの記事を提供できているか」の度合いを反映したもの。
    • 複数ユーザの推薦記事リストの分布間の距離を意味する。(二人のユーザ \(u\)\(v\) を比較する)

\[ Fragmentation = D_{JS}(P^*(e|R^{u}), Q^*(e|R^{v})) % = \sum_{e} Q^*(e|R^v) f(\frac{P^*(e|R^u)}{Q^*(e|R^v)}) \]

ここで、\(P\)\(Q\) は異なる2つの離散確率関数。添字 \(*\) は、rankで重み付けされた確率関数である事を意味する。 \(R^{u}, R^{v}\) は、ユーザuとvの推薦記事リスト。\(e\) は、記事のevent(=記事のトピック的な?)を表す確率変数。

5種類のdiversity metrics ③ Activation

  • 「肯定的な記事ばかり推薦してしまってないか、逆に否定的な記事ばかり推薦してしまってないか」の度合いを反映したもの。
    • 推薦可能な記事プール \(S\) と、推薦記事リスト \(R\) のactivation score(=positiveかnegativeか)の分布間の距離を表す。

\[ Activation = D_{JS}(P(k|S), Q^*(k|R)) % = \sum_{k} Q^*(k|R) f(\frac{P(k|S)}{Q^*(k|R)}) \]

ここで、\(P\)\(Q\) は異なる2つの離散確率関数。添字 \(*\) は、rankで重み付けされた確率関数である事を意味する。 \(k\) は、記事のactivation score(=positiveかnegativeか)を表す確率変数。(論文ではテキストのsentiment analysisで得る事を想定)

5種類のdiversity metrics ④ Representation

  • 「視点(ex. 政治的トピックや政党の言及など)の多様性」の度合いを反映したもの。
    • 記事プール \(S\) と、推薦記事リスト \(R\) のviewpoint(離散値を想定) の分布間の距離を表す。

\[ Representation = D_{JS}(P(p|S), Q^*(p|R)) % = \sum_{p} Q^*(p|R) f(\frac{P(p|S)}{Q^*(p|R)}) \]

ここで、\(P\)\(Q\) は異なる2つの離散確率関数。添字 \(*\) はrankで重み付けされた確率関数の意味。 \(p\) は 記事のviewpointを表す離散変数。 (記事のメタデータをNLPパイプラインに通してviewpointを作る)

5種類のdiversity metrics ⑤ Alternative Voices

  • 「意見の声の持ち主(Minority/Majority)の多様性」を反映したもの。(Representationは意見の中身の多様性)
    • Minority/Majorityの例: 非白人/白人, 非男性/男性, etc.
    • 記事プール \(S\) と、推薦記事リスト \(R\) のviewpointの持ち主の分布間の距離を表す。

\[ AlternativeVoices = D_{JS}(P(m|S), Q^*(m|R)) % = \sum_{m} Q^*(m|R) f(\frac{P(m|S)}{Q^*(m|R)}) \]

ここで、\(P\)\(Q\) は異なる2つの離散確率関数。添字 \(*\) はrankで重み付けされた確率関数の意味。 \(m \in \{Minority, Majority\}\) は離散変数。

メディアモデルとRADioの関係

  • 異なるアルゴリズムのRADioの各値を比較する事で、開発者はどの手法が各メディアが求める機能に適しているか、定量評価できる。
    • ex) 自由主義モデルはユーザの好みに合わせた情報を提供したい -> 低いCalibrationと高いFragmentation
    • ex) 参加主義モデルは社会で必要な共通認識を各ユーザに分かりやすい形で提供したい -> 高いCalibration(complexity)と低いFragmentation
  • 今後の課題:
    • RADioに関連する多くの特徴量の抽出が難しい事(ここはLLMの普及で難易度低下?🤔)
    • post-hocな評価ではなく、損失関数として活用可能なmetrics

ここからはRADioの活用可能性に思いを馳せてみた話

推論結果の品質モニタリング

  • MLOps Maturity Assessmentの項目4や Booking.comの論文の教訓5でも主張されているが、バッチ推論でもオンライン推論でも推論結果の品質をモニタリングすることは重要
    • (データの分布の変化や、学習・推論パイプラインへのバグの混入などによって、エラーやlatency等には現れない推論結果の品質の低下にいち早く気づきたい…!)
  • 推薦システムの場合は Incomplete(不完全な) feedbackとDelayed(遅延) feedbackの問題があるので、precisionやrecallなどの正解ラベルに依存した指標は不適切-> 正解ラベルに依存しない指標で推論結果の品質を監視したい…! -> Booking.comの論文では、応答分布分析を採用してた。
  • RADioはいずれも正解ラベルに依存しない指標なので活用可能では??(というかRADioは推薦結果の分布を他の分布と比較して評価してるので、応答分布分析と言えるのかも)🤔
    • 特に自由主義モデルや参加主義モデルのusecaseでは、Calibration(topic)が使いやすそう(ex. 金融の記事を良く読むユーザに金融の記事をたくさん推薦できているか)🤔

推薦モデルのオフライン評価

  • ニュース推薦の分野では、metadataとしてテキストが使える事と、ニュースのlifecycleが短く新鮮なcold-start itemを推薦したいusecaseが多い事から、content-based系の手法(i.e. id-onlyでない手法)が多く採用されてる。
  • しかし、content-based手法はオフライン実験においてprecisionやrecallなどでは正確に評価しづらく、一方でid-only手法やmost-popular itemsは過大評価されやすい傾向がある (ニュース推薦のサーベイ論文より)
    • 人気度バイアスとか、Off-Policy Evaluation分野で言うところのlogging policy由来のバイアスとかが原因??🤔
    • もちろんunder samplingやOPE推定量による重み付けにより、バイアス除去を試みるアプローチもあるよね🤔 ただ、OPEのIPS推定量に基づくアプローチはlogging policyが探索的なモデルである必要があるので、決定論的な推薦システムでは活用が難しそう…!🤔
  • RADioはいずれも正解ラベルに依存しない指標なので、少なくともid-only手法が過大評価されがち問題は解消できたりしないかな? 🤔
    • (あ、でもユーザの閲読履歴は、人気度やlogging policy由来のバイアスの影響を受けているか…! under sampling的なアプローチと組み合わせるのはどうだろう…!🤔)

まとめと感想

  • ニュース推薦の民主的役割を考慮した多様性指標群 RADioを提案する論文を読んだ:
    • 5つの多様性指標(Calibration, Fragmentation, Activation, Representation, Alternative Voices)を用いて、4種類のメディアモデルにそれぞれ適した推薦モデルを選択できる。
    • ただ指標の算出に重要な特徴量の難易度は高い。
  • 推論品質の監視とかオフライン評価とかで色々使えないかなーと思いを馳せた:
    • 推薦結果の品質のモニタリング: 応答分布分析の一種として、推論結果の品質低下の検知等に使えるのでは?🤔
    • 推薦モデルのオフライン評価: 記事の人気度やlogging policy由来のバイアスの影響を受けづらく、モデルの健康診断的な用途で使えるのでは?
  • 現在は自由主義モデル的な推薦のusecaseがほとんどだと思うので、例えば参加主義モデル的な推薦のusecaseができたらユニークな価値を発揮できるのかな…!🤔

参考文献: