協調フィルタリングは、レコメンダー・システムの一種です。類似する行動に基づいてユーザーをグループ化し、グループの特性に応じて新しいアイテムを推奨します。
協調フィルタリングは、好みや行動が類似するユーザーがそのアイテムとどのようにやり取りしたかに基づいて、ユーザーにアイテムを推奨する手法です。つまり、協調フィルタリング・アルゴリズムは、行動に基づいてユーザーをグループ化し、一般的なグループ特性に基づいて、ターゲット・ユーザーにアイテムを推奨します。協調レコメンダー・システムは、(行動的に)類似したユーザーが類似の興味と好みを持つという原則に基づいています。1
協調フィルタリングは、レコメンダー・システムの2つの主要なタイプの1つで、もう1つはコンテンツ・ベースのレコメンダーです。後者の方法では、アイテム機能を使用して、特定のユーザーが過去に積極的にやり取りを行ったアイテムと類似のアイテムを推奨します。2 協調フィルタリングは、ユーザーが推奨アイテムと類似していることに重点を置くのに対し、コンテンツ・ベースのフィルタリングでは、アイテムのプロファイルのみに基づいてアイテムが推奨されます。コンテンツ・ベースのフィルタリングは、協調フィルタリングのようにグループやタイプではなく、特定のユーザーの好みにレコメンデーションを絞り込みます。
どちらの方法も、AmazonなどのEコマースからソーシャルメディアやストリーミング・サービスに至るまで、近年では現実世界の多くの分野で活用されています。協調システムとコンテンツ・ベースのシステムが一緒に、ハイブリッドな推奨システムを形成します。2009年には、NetflixがNetflix賞のコンテストを通じて、ハイブリッド推奨システムを採用しました。
協調フィルタリングでは、行列を用いて、システム内の各項目のユーザー行動をマッピングします。次に、システムはこの行列から値を引き出し、ベクトル空間内のデータ点としてプロットします。その後、さまざまな行列がユーザーとユーザー、およびアイテムとアイテムの類似性を測定する手段として点間の距離を測定します。
協調フィルタリングの標準設定では、n個のユーザーのセットとx個のアイテムのセットがあります。各アイテムに対する各ユーザーの個別の好みは、ユーザー-アイテム行列(ユーザー評価行列と呼ばれることもあります)に表示されます。ここでは、ユーザーは行で、項目は列で表されます。Rij行列では、特定の値は、アイテムiに対するユーザーuの行動を表します。これらの値は、ユーザーから提供された連続した数値(評価など)や、特定のユーザーがアイテムを閲覧または購入したかどうかを示すバイナリ値などです。書店のWebサイトのユーザー-時間行列の例を次に示します。
この行列には、さまざまな書籍に対するユーザー評価が示されています。協調フィルタリング・アルゴリズムによって、各書籍に対してユーザーが行った評価が比較されます。これらの評価に基づいて類似のユーザーやアイテムを特定することで、ターゲット・ユーザーが読んだことのない書籍の評価(行列のnullで表されます)を予測し、それに応じてターゲット・ユーザーにそれらの書籍を推奨します(または推奨しません)。
この例の行列は、4名のユーザーと4つのアイテムに制限されているため、完全です。ただし、実際のシナリオでは、既知のユーザーのアイテムに対する好みが限られていることが多く、ユーザーとアイテムの行列はまばらになります。3
協調推奨アルゴリズムは、さまざまなユーザー間の類似性をどのように判断するのでしょうか.前述のように、ベクトル空間での近接性が主な方法です。ただし、近接性を判断するために用いられる指標はさまざまです。そのような指標として、コサイン類似性とピアソン相関係数があります。
コサイン類似性は、2つのベクトル間の角度を表します。比較対象のベクトルは、特定のユーザーまたはアイテムに対する評価のサブセットで構成されます。コサイン類似性スコアは、-1~1の任意の値です。コサインス類似度が高いほど、2つのアイテムが類似していると見なされます。一部の文献では、高次元の特徴空間に対してこの指標を推奨しています。協調フィルタリングでは、ベクトル点はユーザー/アイテム行列から直接取得されます。コサイン類似度は次の式で表され、xとyは、ベクトル空間内の2つのベクトルを示します。4
PCCは、2人のユーザーやアイテムのそれぞれの評価間の相関関係を計算することで、アイテムやユーザー間の類似性の測定を支援します。PCCの範囲は-1~1で、負の相関から同一の相関までを表します。コサイン類似度とは異なり、特定のユーザーまたはアイテムのすべての評価が使用されます。たとえば、2人のユーザー間のPCCを計算する場合、次の式を使用します。ここで、aとbは異なるユーザーであり、 raiとr biは、アイテムiに対するそのユーザーの評価です。5
協調フィルタリング・システムには、主にメモリーベースとモデルベースの2種類があります。
メモリー・ベースのレコメンダー・システム(またはネイバー・ベースのシステム)は、k-最近傍分類器を拡張したものです。類似するユーザーまたはアイテム・セットに基づいて、特定のアイテムに対するターゲット・ユーザーの行動を予測しようとするためです。メモリー・ベースのシステムは、次の2つのサブタイプに分類できます。
文献によっては、メモリー・ベースの方法をインスタンス・ベースの学習方法として説明されていることがあります。これは、ユーザーおよびアイテム・ベースのフィルタリングが、未視聴の映画に対するターゲット・ユーザーの評価など、ユーザーとアイテムのやり取りの特定のインスタンスに固有の予測を行う方法を示しています。
対照的に、モデル・ベースの方法では、データの予測機械学習モデルを生成します。このモデルは、ユーザー-アイテム行列内の現在の値をトレーニング・データセットとして使用し、結果のモデルで欠損値の予測を行います。モデル・ベースの方法では、データサイエンスの手法と、決定木、ベイズ分類器、ニューラル・ネットワークなどの機械学習アルゴリズムを使用して、ユーザーにアイテムを推奨します。8
行列因数分解は、広く議論されている協調フィルタリング方法であり、多くの場合、潜在因子モデルの一種として分類されています。潜在因子モデルとしての行列因数分解では、選択した数の特徴を通じて、ユーザーとユーザー、またはアイテムとアイテムの類似性が判断できると仮定します。たとえば、本のジャンルとユーザーの年齢またはジェンダーのみを用いて、ユーザーの書籍評価を予測できます。したがって、この低次元の表現は、例えば、ユーザーのフィードバック・データから引き出されたいくつかの選択された特徴に基づいてアイテムとユーザーを特徴付けることにより、書籍の評価を説明することを目的としています。9 行列因数分解は、与えられたベクトル空間の特徴を縮小するため、次元削減としても機能します。10
コンテンツ・ベースのシステムと比較して、協調フィルタリングは、ユーザーに新しいレコメンデーションを提供する点でより効果的です。協調ベースのメソッドでは、1人のターゲット・ユーザーと興味が類似するユーザーのプールからレコメンデーションを引き出します。たとえば、あるユーザー・グループがターゲット・ユーザーと同じ一連のアイテムを気に入ったものの、前のアイテム・セットと機能を共有していないため、ターゲット・ユーザーにとって未知の追加のアイテムも気に入った場合、協調フィルタリング・システムは、この新しいアイテムを推奨します。協調フィルタリングでは、ターゲット・ユーザーが考慮していなかった可能性があるが、ユーザー・タイプにとって魅力的なアイテムを推奨できます。11
コールド・スタートの問題は、おそらく最も広く引用されている協調フィルタリング・システムに関する欠点です。これは、新しいユーザー(または新しいアイテム)がシステムに入力されたときに生じます。そのユーザーにはアイテムのインタラクション履歴がないため、システムは新しいユーザーと既存のユーザーとの類似性や関連性を評価できません。それとは対照的に、コンテンツベースのシステムは、新しいアイテムの処理に長けていますが、新しいユーザーへの推奨事項に課題があります。12
データ希薄性も、協調推奨システムを悩ませるもう1つの問題です。前述のとおり、推奨システムには通常、システム内のほとんどのアイテムに対するユーザーの好みに関するデータが不足しています。これは、システムの特徴空間のほとんどが空であることを意味します。この状態をデータ希薄性と呼びます。データ希薄性が増すと、ベクトル点の相違性が極めて大きくなり、予測モデルが説明パターンを特定する効果が低下します。13 これが、行列因数分解(および特異値分解などの関連する潜在因子法)が協調フィルタリングでよく使用される主な理由です。その理由は、特徴を減らすことでデータ希薄性を軽減できるためです。この問題を解決するために使用される他の方法には、ユーザー自身が自分の興味に関する情報を評価して提供することなどがあり、システムはその情報に基づいて推奨事項をフィルタリングできます。
これまでの研究では、レコメンデーションを予測や分類の問題として取り組んできましたが、最近の研究では、レコメンデーションが逐次的な意思決定の問題として理解されています。このパラダイムでは、強化学習の方がレコメンデーションに対処するために、より適している可能性があります。このアプローチでは、レコメンデーションはユーザーとアイテムの相互作用に従ってリアルタイムで更新されると主張されています。ユーザーがおすすめ商品をスキップ、クリック、評価、購入すると、モデルはこのフィードバックから最適なポリシーを開発して新しい商品をおすすめします。14 最近の研究では、コンテンツ・ベースのフィルタリングと協調フィルタリングの両方に課題をもたらす、可変的で長期的なユーザーの関心に対処するためのさまざまな強化学習アプリケーションが提案されています。15
1 『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 Learning、PMLR、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