協調フィルタリングとは

ロサンゼルスの高速道路の航空写真

共同執筆者

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

協調フィルタリングは、レコメンダー・システムの一種です。類似する行動に基づいてユーザーをグループ化し、グループの特性に応じて新しいアイテムを推奨します。

協調フィルタリングは、好みや行動が類似するユーザーがそのアイテムとどのようにやり取りしたかに基づいて、ユーザーにアイテムを推奨する手法です。つまり、協調フィルタリング・アルゴリズムは、行動に基づいてユーザーをグループ化し、一般的なグループ特性に基づいて、ターゲット・ユーザーにアイテムを推奨します。協調レコメンダー・システムは、(行動的に)類似したユーザーが類似の興味と好みを持つという原則に基づいています。1

協調フィルタリングとコンテンツ・ベースのフィルタリングの比較

協調フィルタリングは、レコメンダー・システムの2つの主要なタイプの1つで、もう1つはコンテンツ・ベースのレコメンダーです。後者の方法では、アイテム機能を使用して、特定のユーザーが過去に積極的にやり取りを行ったアイテムと類似のアイテムを推奨します。2 協調フィルタリングは、ユーザーが推奨アイテムと類似していることに重点を置くのに対し、コンテンツ・ベースのフィルタリングでは、アイテムのプロファイルのみに基づいてアイテムが推奨されます。コンテンツ・ベースのフィルタリングは、協調フィルタリングのようにグループやタイプではなく、特定のユーザーの好みにレコメンデーションを絞り込みます。

どちらの方法も、AmazonなどのEコマースからソーシャルメディアやストリーミング・サービスに至るまで、近年では現実世界の多くの分野で活用されています。協調システムとコンテンツ・ベースのシステムが一緒に、ハイブリッドな推奨システムを形成します。2009年には、NetflixがNetflix賞のコンテストを通じて、ハイブリッド推奨システムを採用しました。

ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

協調フィルタリングの仕組み

協調フィルタリングでは、行列を用いて、システム内の各項目のユーザー行動をマッピングします。次に、システムはこの行列から値を引き出し、ベクトル空間内のデータ点としてプロットします。その後、さまざまな行列がユーザーとユーザー、およびアイテムとアイテムの類似性を測定する手段として点間の距離を測定します。

ユーザー/アイテム行列

協調フィルタリングの標準設定では、n個のユーザーのセットとx個のアイテムのセットがあります。各アイテムに対する各ユーザーの個別の好みは、ユーザー-アイテム行列(ユーザー評価行列と呼ばれることもあります)に表示されます。ここでは、ユーザーは行で、項目は列で表されます。Rij行列では、特定の値は、アイテムiに対するユーザーuの行動を表します。これらの値は、ユーザーから提供された連続した数値(評価など)や、特定のユーザーがアイテムを閲覧または購入したかどうかを示すバイナリ値などです。書店のWebサイトのユーザー-時間行列の例を次に示します。

この行列には、さまざまな書籍に対するユーザー評価が示されています。協調フィルタリング・アルゴリズムによって、各書籍に対してユーザーが行った評価が比較されます。これらの評価に基づいて類似のユーザーやアイテムを特定することで、ターゲット・ユーザーが読んだことのない書籍の評価(行列のnullで表されます)を予測し、それに応じてターゲット・ユーザーにそれらの書籍を推奨します(または推奨しません)。

この例の行列は、4名のユーザーと4つのアイテムに制限されているため、完全です。ただし、実際のシナリオでは、既知のユーザーのアイテムに対する好みが限られていることが多く、ユーザーとアイテムの行列はまばらになります。3

類似性の測定

協調推奨アルゴリズムは、さまざまなユーザー間の類似性をどのように判断するのでしょうか.前述のように、ベクトル空間での近接性が主な方法です。ただし、近接性を判断するために用いられる指標はさまざまです。そのような指標として、コサイン類似性とピアソン相関係数があります。

コサイン類似性

コサイン類似性は、2つのベクトル間の角度を表します。比較対象のベクトルは、特定のユーザーまたはアイテムに対する評価のサブセットで構成されます。コサイン類似性スコアは、-1~1の任意の値です。コサインス類似度が高いほど、2つのアイテムが類似していると見なされます。一部の文献では、高次元の特徴空間に対してこの指標を推奨しています。協調フィルタリングでは、ベクトル点はユーザー/アイテム行列から直接取得されます。コサイン類似度は次の式で表され、xyは、ベクトル空間内の2つのベクトルを示します。4

ピアソン相関係数(PCC)

PCCは、2人のユーザーやアイテムのそれぞれの評価間の相関関係を計算することで、アイテムやユーザー間の類似性の測定を支援します。PCCの範囲は-1~1で、負の相関から同一の相関までを表します。コサイン類似度とは異なり、特定のユーザーまたはアイテムのすべての評価が使用されます。たとえば、2人のユーザー間のPCCを計算する場合、次の式を使用します。ここで、abは異なるユーザーであり、 rair biは、アイテムiに対するそのユーザーの評価です。5

協調レコメンダー・システムの種類

協調フィルタリング・システムには、主にメモリーベースとモデルベースの2種類があります。

メモリベース

メモリー・ベースのレコメンダー・システム(またはネイバー・ベースのシステム)は、k-最近傍分類器を拡張したものです。類似するユーザーまたはアイテム・セットに基づいて、特定のアイテムに対するターゲット・ユーザーの行動を予測しようとするためです。メモリー・ベースのシステムは、次の2つのサブタイプに分類できます。

  • ユーザー・ベースのフィルタリングは、行動するユーザーの好みに基づいて、ターゲット・ユーザーにアイテムを推奨します。推奨アルゴリズムは、ターゲット・ユーザーの過去の行動を他のユーザーと比較します。具体的には、システムは各ユーザーに、ターゲット・ユーザーとの認識された類似性(ターゲット・ユーザーの近傍)を表す重みを割り当てます。次に、重みが最も大きいn人のユーザーを選択し、選択した近接する行動の加重平均から、ターゲット・ユーザーの行動(例:映画の評価、購入、嫌いなものなど)の予測を計算します。次に、システムはこの予測に基づいて、ターゲット・ユーザーにアイテムを推奨します。原則は、ターゲット・ユーザーが過去にこのグループと同様に行動した場合、目に見えないアイテムに対しても同様の行動をするということです。ユーザー・ベースの類似度関数は、ユーザー-アイテム行列の行間で計算されます。6
  • アイテム・ベースのフィルタリングは、類似するアイテムに対するユーザーの行動に基づいて、ターゲット・ユーザーに新しいアイテムを推奨します。ただし、アイテムを比較する場合、協調システムは(コンテンツベースのフィルタリングのように)アイテムの機能を比較するのではなく、ユーザーがそれらのアイテムとどのようにやり取りするかを比較することに注意してください。たとえば、映画の推奨システムでは、アルゴリズムにより、それぞれ映画のすべてのユーザー評価間の相関関係に基づいて類似の映画が識別される場合があります(各ユーザーの平均評価を補正)。その後、システムは、相関関係のある評価に基づいて、ターゲット・ユーザーに新しい映画を推奨します。つまり、対象ユーザーが映画abを高く評価したが、映画cを見たことがなく、前者2つを高く評価した他のユーザーも映画cを高く評価している場合、システムは対象ユーザーに映画cを推奨します。このように、アイテム・ベースのフィルタリングは、ユーザーの行動からアイテムの類似度を計算します。アイテム・ベースの類似度関数は、ユーザー-アイテム行列の列間で計算されます。7

モデルベース

文献によっては、メモリー・ベースの方法をインスタンス・ベースの学習方法として説明されていることがあります。これは、ユーザーおよびアイテム・ベースのフィルタリングが、未視聴の映画に対するターゲット・ユーザーの評価など、ユーザーとアイテムのやり取りの特定のインスタンスに固有の予測を行う方法を示しています。

対照的に、モデル・ベースの方法では、データの予測機械学習モデルを生成します。このモデルは、ユーザー-アイテム行列内の現在の値をトレーニング・データセットとして使用し、結果のモデルで欠損値の予測を行います。モデル・ベースの方法では、データサイエンスの手法と、決定木ベイズ分類器ニューラル・ネットワークなどの機械学習アルゴリズムを使用して、ユーザーにアイテムを推奨します。8

行列因数分解は、広く議論されている協調フィルタリング方法であり、多くの場合、潜在因子モデルの一種として分類されています。潜在因子モデルとしての行列因数分解では、選択した数の特徴を通じて、ユーザーとユーザー、またはアイテムとアイテムの類似性が判断できると仮定します。たとえば、本のジャンルとユーザーの年齢またはジェンダーのみを用いて、ユーザーの書籍評価を予測できます。したがって、この低次元の表現は、例えば、ユーザーのフィードバック・データから引き出されたいくつかの選択された特徴に基づいてアイテムとユーザーを特徴付けることにより、書籍の評価を説明することを目的としています。9 行列因数分解は、与えられたベクトル空間の特徴を縮小するため、次元削減としても機能します。10

オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

協調フィルタリングの強みと弱点

メリット

コンテンツ・ベースのシステムと比較して、協調フィルタリングは、ユーザーに新しいレコメンデーションを提供する点でより効果的です。協調ベースのメソッドでは、1人のターゲット・ユーザーと興味が類似するユーザーのプールからレコメンデーションを引き出します。たとえば、あるユーザー・グループがターゲット・ユーザーと同じ一連のアイテムを気に入ったものの、前のアイテム・セットと機能を共有していないため、ターゲット・ユーザーにとって未知の追加のアイテムも気に入った場合、協調フィルタリング・システムは、この新しいアイテムを推奨します。協調フィルタリングでは、ターゲット・ユーザーが考慮していなかった可能性があるが、ユーザー・タイプにとって魅力的なアイテムを推奨できます。11

デメリット

コールド・スタートの問題は、おそらく最も広く引用されている協調フィルタリング・システムに関する欠点です。これは、新しいユーザー(または新しいアイテム)がシステムに入力されたときに生じます。そのユーザーにはアイテムのインタラクション履歴がないため、システムは新しいユーザーと既存のユーザーとの類似性や関連性を評価できません。それとは対照的に、コンテンツベースのシステムは、新しいアイテムの処理に長けていますが、新しいユーザーへの推奨事項に課題があります。12

データ希薄性も、協調推奨システムを悩ませるもう1つの問題です。前述のとおり、推奨システムには通常、システム内のほとんどのアイテムに対するユーザーの好みに関するデータが不足しています。これは、システムの特徴空間のほとんどが空であることを意味します。この状態をデータ希薄性と呼びます。データ希薄性が増すと、ベクトル点の相違性が極めて大きくなり、予測モデルが説明パターンを特定する効果が低下します。13 これが、行列因数分解(および特異値分解などの関連する潜在因子法)が協調フィルタリングでよく使用される主な理由です。その理由は、特徴を減らすことでデータ希薄性を軽減できるためです。この問題を解決するために使用される他の方法には、ユーザー自身が自分の興味に関する情報を評価して提供することなどがあり、システムはその情報に基づいて推奨事項をフィルタリングできます。

最近の研究

これまでの研究では、レコメンデーションを予測や分類の問題として取り組んできましたが、最近の研究では、レコメンデーションが逐次的な意思決定の問題として理解されています。このパラダイムでは、強化学習の方がレコメンデーションに対処するために、より適している可能性があります。このアプローチでは、レコメンデーションはユーザーとアイテムの相互作用に従ってリアルタイムで更新されると主張されています。ユーザーがおすすめ商品をスキップ、クリック、評価、購入すると、モデルはこのフィードバックから最適なポリシーを開発して新しい商品をおすすめします。14 最近の研究では、コンテンツ・ベースのフィルタリングと協調フィルタリングの両方に課題をもたらす、可変的で長期的なユーザーの関心に対処するためのさまざまな強化学習アプリケーションが提案されています。15

関連ソリューション
IBM watsonx.ai

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

watsonx.aiの詳細はこちら
人工知能ソリューション

IBMの業界をリードするAIの専門知識とソリューションのポートフォリオを活用して、AIをビジネスの業務に利用しましょう。

AIソリューションの詳細はこちら
人工知能(AI)コンサルティングおよびサービス

IBMコンサルティングAIサービスは、企業がAIをトランスフォーメーションに活用する方法を再考するのに役立ちます。

AIサービスの詳細はこちら
次のステップへ

AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

watsonx.aiの詳細はこちら デモの予約
脚注

『Collaborative Filtering』Encyclopedia of Machine Learning and Data Mining、Springer、2017年。Mohamed SarwatおよびMohamed Mokbel『Collaborative Filtering』Encyclopedia of Database Systems、Springer、2018年

2 Prem MelvilleおよびVikas Sindhwani『Recommender Systems』Encyclopedia of Machine learning and Data Mining、Springer、2017年

3 YUE SHI、MARTHA LARSON、ALAN HANJALIC『Collaborative Filtering beyond the User-Item Matrix: A Survey of the State of the Art and Future Challenges』ACM Computing Surveys, vol. 47, no. 1, 2014年、https://dl.acm.org/doi/10.1145/2556270. Kim Falk, Practical Recommender Systems, Manning Publications, 2019.

4 Elsa Negre『Information and Recommender Systems』Vol. 4, Wiley-ISTE、2015年。Sachi Nandan Mohanty、Jyotir Moy Chatterjee、Sarika Jain、Ahmed A. Elngar、Priya Gupta『Recommender System with Machine Learning and Artificial Intelligence』Wiley-Scrivener、2020年

5 Kim Falk『Practical Recommender Systems』Manning Publications、2019年。J. Ben Schafer、Dan Frankowski、Jon Herlocker、Shilad Sen『Collaborative Filtering Recommender Systems』The Adaptive Web: Methods and Strategies of Web Personalization、Springer、2007年

6 Charu Aggarwal『Recommender Systems: The Textbook』Springer、2016年。Prem MelvilleおよびVikas Sindhwani『Recommender Systems』Encyclopedia of Machine Learning and Data Mining、Springer、2017年

7 Charu Aggarwal『Recommender Systems: The Textbook』Springer、2016年。Kim Falk『Practical Recommender Systems』Manning Publications、2019年

8 Charu Aggarwal『Recommender Systems: The Textbook』Springer、2016年

9 Prem MelvilleおよびVikas Sindhwani『Recommender Systems』Encyclopedia of Machine Learning and Data Mining、Springer、2017年。Yehuda Koren、Steffen Rendle、Robert Bell『Advances in Collaborative Filtering』Recommender Systems Handbook 第3版、Springer、2022年

10 Charu Aggarwal『Recommender Systems: The Textbook』Springer、2016年

11 Sachi Nandan Mohanty、Jyotir Moy Chatterjee、Sarika Jain、Ahmed A. Elngar、Priya Gupta『Recommender System with Machine Learning and Artificial Intelligence』Wiley-Scrivener、2020年。Charu Aggarwal『Recommender Systems: The Textbook』Springer、2016年

12 Charu Aggarwal『Recommender Systems: The Textbook』Springer、2016年。Ian Goodfellow、Yoshua Bengio、Aaron Courville『Deep Learning』MIT Press、2016年

13 Ian Goodfellow、Yoshua Bengio、Aaron Courville『Deep Learning』MIT Press、2016年

14 Guy Shani、David Heckerman、Ronen I. Brafman『An MDP-Based Recommender System』Journal of Machine Learning Research、Vol. 6, No. 43, pp. 1265−1295、2005年、https://www.jmlr.org/papers/v6/shani05a.html。Yuanguo Lin、Yong Liu、Fan Lin、Lixin Zou、Pengcheng Wu、Wenhua Zeng、Huanhuan Chen、Chunyan Miao『A Survey on Reinforcement Learning for Recommender Systems』IEEE Transactions on Neural Networks and Learning Systems、2023年、https://ieeexplore.ieee.org/abstract/document/10144689。M. Mehdi Afsar、Trafford Crump、Behrouz Far『Reinforcement Learning based Recommender Systems: A Survey』ACM Computing Survey、Vol. 55, No. 7、2023年https://dl.acm.org/doi/abs/10.1145/3543846.

15 Xinshi Chen、Shuang Li、Hui Li、Shaohua Jiang、Yuan Qi、Le Song『Generative Adversarial User Model for Reinforcement Learning Based Recommendation System』Proceedings of the 36th International Conference on Machine LearningPMLR、No. 97, pp. 1052-1061、2019年、http://proceedings.mlr.press/v97/chen19f.html。Liwei Huang、Mingsheng Fu、Fan Li、Hong Qu、Yangjun Liu、Wenyu Chen『A deep reinforcement learning based long-term recommender system』Knowledge-Based Systems、Vol. 213、2021年、https://www.sciencedirect.com/science/article/abs/pii/S0950705120308352