NTTドコモR&Dの技術ブログです。

おすすめされた理由がわかるXAIレコメンドモデルを動画配信サービスログで試してみた

はじめに

本記事はNTTドコモ R&D Advent Calendar 2022の20日目の記事です。

こんにちは。 NTTドコモ サービスイノベーション部の明石です。 私は業務でドコモが持つECサイトや動画配信サービスにおけるレコメンドシステムの研究開発をしております。

本記事では、レコメンドとは?という部分から、レコメンドされた内容の理由を説明するXAI(eXplainable AI)モデルの評価結果について述べます。

本記事の内容は情報処理学会所属、MBL研究会*1第104回発表会にて報告した内容*2を基に執筆しております。光栄なことに当発表会において優秀発表賞を頂くことができましたので、論文の方も是非ご覧になってください。

忙しい方向け

  • レコメンドは様々なサービスで利用され、ユーザに合ったコンテンツを推薦します。
  • XAIとは、判断に至った理由を説明してくれるAIです。
  • レコメンドにもXAIは応用可能で、推薦コンテンツに加えて推薦された理由を提示してくれます。
  • XAIレコメンドモデルのAMCFをオフライン評価したところ、ユーザの興味を惹くコンテンツや推薦理由を幅広く提示できていることがわかりました。

レコメンドとは?

我々の馴染みがある部分だと、AmazonやNetflix、YouTubeなどでレコメンドは活用されています。 例えば、「あなたにおすすめの◯◯」や「この商品を購入したあなたにおすすめ」などの文言がついた枠がありますよね。 その枠でどのようなコンテンツを推薦するかを決定するのがレコメンドシステムです(ランキング枠も言ってしまえばレコメンドです)。

今やインターネット上に多種多様なコンテンツが溢れており、その中から自分に合うコンテンツを見つけるのは大変です。 今後そのような傾向はさらに勢いを増すと思いますが、だからこそ膨大なコンテンツの中からユーザが自ら検索することなく興味や感心に合致するものに辿り着くことができるレコメンドシステムは重要です。 サービス運営の立場では、ユーザに合うコンテンツを推薦することで、ユーザの期待に合ったサービス提供を行い、サービスへの愛着や信頼を深めていただくことでサブスクリプションサービスの継続したご利用に繋がることを期待しています。

基本的に中身のアルゴリズムには「ユーザが何をクリック、購入したか」という履歴、各コンテンツのメタ情報(ジャンル等)、ユーザのデモグラ情報(性別、年齢等)などを活用しモデル学習することが多いです。 ただ、「完璧なレコメンドシステム」などというものものは存在せず、その枠の特性や狙いによって使う情報の取捨選択、レコメンドアルゴリズムの選択を行います。

説明可能なAI(XAI:eXplainable AI)

レコメンドシステムに限らず医療、金融、セキュリティなど、あらゆる場面で人工知能(AI:ArtificialIntelligence)が活用されており,関連する技術分野として説明可能なAI(XAI:eXplainable AI)が近年注目を集めています。

XAI関連論文の投稿数推移*3

簡単に言うと、その判断に至った理由を説明してくれるAIがXAIです。 (ちなみに、「XAI」という言葉はアメリカ国防高等計画局(DARPA)のプロジェクトが発端になっており、始めは軍事目的の使用でした)

AIには精度のみでなく,その判断に至った経緯や理由を求める場面が多く存在します。 例えば、極端な例ですと次のような場面です。

医者「あなたは◯◯という病気です」

患者「そうですか・・・私の体にどこか悪いところありましたか?」

医者「いや、AIがそう判断したので」

患者「・・・え?」

いやいや困りますよね。 まだまだ世間ではAIへの信頼は低く、ましてや自分の命がかかっているわけですし。

そんなときに使えるのがXAIです。 このような場面では、例えばCT画像をXAIに読み込ませ、診断結果とその理由(CT画像のある部分に黒い影がある 等)を出させるような使い方が考えられます。 こうすることで患者は診断結果に納得できますし、医者にとっては診断結果に確証が持てるようになります。(AIにしか発見できなかったものもあるかも)

ここで例として挙げた医療や金融など、重要な判断をAIに任せる場面ではXAIは必須の技術となります。 しかし、近年ではSNSなど、サービスへXAIが活用されることも多くなってきました。

そのひとつがレコメンドです。
XAIをレコメンドに応用すれば、推薦コンテンツのみでなく、なぜそれがユーザに対して推薦されたのかを提示することができます。

例えば、最近あなたは大泉洋さんを好きになったとします。 ただ、大泉洋さんは芸歴約30年。映画やドラマ、バラエティなど数々の作品に出演されています。 その作品の中からあなたの好みに合うものを探すのは大変ですよね。 そんなときに動画配信サービスで「大泉洋の出演する作品」という文言と共にあなたに合った大泉洋さん出演作品を訴求してくれたらどうでしょうか。

クリックして少し見たくなってしまいますよね。

このように推薦理由を提示することで納得感やユーザの興味を惹く情報を提示することができます。
実際、レコメンドシステムにおける課題として、推薦理由が不明確なことによる信頼性やユーザ満足度の低下が挙げられています。*4 (ドコモの動画配信サービスには「なぜか〇〇というドラマを勧められる」、「なぜおすすめにこの作品が出てくるのか」といったお客様の声が上がっています)

XAIをレコメンドに活用することでこの課題に対応できるのではないかと近年様々なアルゴリズムが出てきています。 今回はそのうちAttentive Multitask Collaborative Filtering(AMCF)*5を紹介します。

Attentive Multitask Collaborative Filtering(AMCF)

このXAIレコメンドモデルは、レガシーなレコメンドアルゴリズムでありながら未だに使われ続けている協調フィルタリング(Collaborative Filtering)をベースにしたモデルです。

Attentive Multitask Collaborative Filtering(AMCF)

このモデルの特徴は以下です。

  1. 推薦コンテンツに加え、各ユーザの嗜好を推薦理由として提示可能
  2. 精度が高く複雑性の低い協調フィルタリングベースモデルであるため、精度とモデル解釈性担保
  3. 一般的なサービスで付与されているコンテンツメタ情報を入力に利用可能

今回はこのモデルを用いてオフライン評価を行いました。

オフライン評価

評価条件

XAI レコメンドモデルの評価にあたり、ドコモが提供している動画配信サービスのデータを評価対象データとしました。

本データには各ユーザの視聴履歴、コンテンツのメタ情報(ジャンル、出演者)が付与されており、モデルの学習・評価に用いました。 計13日間の視聴履歴を前半11日間を学習用に、後半2日間を評価用にデータを分割しました。
また、AMCFの有用性を確かめるため、AMCFに加えLightGBMにSHAPを適用したモデル、ランダム提示と比較評価を行いました。 推薦するコンテンツ数( N_{recommend})は10件、推薦理由数( N_{reason})はジャンル、出演者の中から3件選ぶこととしました。

評価指標

XAIレコメンドに求められる要件は以下と考え、評価指標を設定しました。

このうち「レコメンド性能」は推薦されたコンテンツに対する評価、つまり単純なレコメンドシステムとしての評価になります。 また、「推薦理由の妥当性」は提示された推薦理由に対する評価、つまりXAIレコメンドシステムとしての評価になります。 次よりこれらの評価指標を解説していきます。 なお、評価指標名や計算式は私が今回独自に定義したものが多いのでご了承ください。

推薦コンテンツ精度

推薦コンテンツがどれほどユーザの興味に合致しているかを評価します。 各ユーザに推薦したコンテンツがどれほど評価期間に視聴されているかを下式で算出します。

カタログカバレッジ

コンテンツを網羅的にユーザに推薦できているかを評価します。 同じコンテンツばかりを各ユーザに推薦していれば、それはパーソナライズ出来ていないことになり、サービス運営側にとってはコンテンツの豊富さをアピールできないことになります。 コンテンツ全体のうち、各ユーザに推薦されたコンテンツの割合を下式で算出します。

説明可能性

推薦理由と推薦コンテンツに矛盾がないかを評価します。 評価指標としてはMEP( Mean\ Explainability\ Precision)、MER( Mean\ Explainability\ Recall*6を使います。 MEPは、どれほど根拠をもってコンテンツを推薦できているか、MERはどれほど取りこぼし無く、理由に合うコンテンツを推薦できているかを評価します。 下式で表されるEP( Explainability\ Precision)とER( Mean\ Explainability\ Recall)のユーザ平均がMEP、MERになります。

推薦理由精度

推薦理由がどれほどユーザの興味に合致しているかを評価します。 各ユーザに提示した推薦理由に合致したコンテンツがどれほど評価期間に視聴されているかを下式で算出します。

カバレッジ

推薦理由を網羅的にユーザに提示できているかを評価します。 今回提示対象となる全推薦理由候補のうち、各ユーザに提示された推薦理由の割合を下式で算出します。

オフライン評価結果

上述した評価指標を用いて3モデルをオフライン評価した結果がこちらです。

AMCFの結果を見ると、レコメンドモデルとしての評価ではユーザの興味を惹くコンテンツを幅広く推薦できていると言えます。
ただ、推薦理由の評価では推薦理由精度やカバレッジで最も高い値を示しているものの、MEP、MERといった説明可能性の部分ではLightGBM+SHAPのモデルに負けています。 原因として、LightGBM+SHAPではジャンルばかりを推薦理由として提示していたことが考えられます。今回の場合、ジャンル29種類+出演者100種類の中から推薦理由を3件選ぶように設定しました。 そうなると、下図Cの範囲と合致しやすくなりMEPやMERが高くなったと考えられます。

総合的に見ると、AMCFはユーザの興味を惹くコンテンツを幅広く推薦でき、ユーザの興味を惹く推薦理由を幅広く提示できていると言えます。 さらに、AMCFは収集困難なデータを必要としないため実サービスでの利用を考えると実用的です。

ただ、このようにオフライン検証でまずまずの結果が出たらすぐにお客様にご利用いただけるかと言うとそうではありません。 レコメンド分野ではオンラインで評価をしてユーザフィードバック(クリック等)を見ないときちんと評価できないのが現状です。 例えば、今回の場合ですと推薦理由を提示する場合としない場合でどの程度CTR(Click Through Rate)やお客様のサービス利用傾向に差が出るかを確認します。

こういった様々な評価を経て、お客様に満足いただけそうな傾向が見られるエンジンが出来上がれば商用提供となりますので、オンラインでの評価を今後の課題としたいと思います。

さいごに

本記事では、レコメンドにXAIを活用することで推薦コンテンツと推薦理由を提示できるXAIレコメンドモデルを紹介しました。 その中でAMCFというモデルでオフライン評価をした結果、各ユーザの興味を惹くコンテンツや推薦理由を幅広く提示できていることがわかりました。 このAMCFはgithubでコードが公開*7されているのでご興味ありましたらお試しください(私が作ったものではなく論文執筆者の方のものです)。

一方で、AWS社の「Amazon Personalize」、Google Cloud社の「Recommendations AI」など、簡単に使えるレコメンドエンジンを各企業が公開しています。このようにレコメンド技術はコモディティ化してきているので、研究者としては尖ったレコメンド方法を提案していかなければならないなと思っている今日この頃です。

*1:MBL研究会. "モバイルコンピューティングと新社会システム研究会". https://mbl.ipsj.or.jp/

*2:明石航, 相場邦宏, 伊藤拓, 加藤剛志, 佐藤篤, 太田賢, "動画配信サービスにおけるeXplainable AIを用いたレコメンドモデルの評価", MBL研究会, 2022. http://id.nii.ac.jp/1001/00219814/

*3:Arrieta et al., "Explainable Artificial Intelligence (XAI): Concepts, Taxonomies, Opportunities and Challenges toward Responsible AI,” Information Fusion, Volume 58, Pages 82-115, 2020. https://arxiv.org/abs/1910.10045

*4:Y. Zhang , X. Chen, “Explainable Recommendation: A Survey and New Perspectives,” Foundations and Trends® in Information Retrieval: Vol. 14, No. 1, pp 1–101, 2018. https://arxiv.org/abs/1804.11192

*5:Pan et al., "Explainable Recommendation via Interpretable Feature Mapping and Evaluation of Explainability," In Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, 2690-2696, 2020. https://dl.acm.org/doi/abs/10.5555/3491440.3491813

*6:Abdollahi et al., "Using Explainability for Constrained Matrix Factorization," In Proceedings of the Eleventh ACM Conference on Recommender Systems (RecSys '17). Association for Computing Machinery, New York, NY, USA, 79–83, 2017.https://dl.acm.org/doi/10.1145/3109859.3109913

*7:pd90506(2020)AMCF[Soource code].https://github.com/pd90506/AMCF