導入: ニュース推薦の精度と多様性の話
- 推薦結果の”精度”のみを考慮した推薦システムは、ユーザが以前に見たものと似たものを不当に宣伝し、ユーザを”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