AI(人工知能)用語集

協調フィルタリングとは?レコメンドエンジンを支えるAI技術の基本

協調フィルタリング

現在多くのECサイトでは、各ユーザーの行動を元におすすめ商品のレコメンドが行われていますよね。レコメンドエンジンには機械学習技術が用いられており、ユーザーが気に入りそうな商品を抽出できるように学習が行われます。

このレコメンドにおいて広く知られる技術に協調フィルタリングがあり、本記事では協調フィルタリング以前のレコメンド技術と比較しながら、協調フィルタリングの性質を解説していきます。

レコメンドの仕組み

そもそもレコメンドで用いられる代表的なアルゴリズムには以下の2つがあるので、この2つのアプローチについて紹介しましょう。

  1. 商品の購入情報または閲覧情報から、商品同士の共起性(類似度)を計算してレコメンドを行う手法(アイテムベースの手法)
  2. 商品の購入情報に加え購入者の情報を加味することで、商品同士・ユーザー同士の類似度の両方を考慮してレコメンドを行う手法(協調フィルタリング)

1つめの商品同士の共起性によるアプローチは、「ある商品Aを購入した人は商品Bを購入していることが多い」という情報を元に、商品Aを購入した人に商品Bを推薦し、商品Bを購入した人に商品Aを推薦するという仕組みです。この手法では商品の購入情報または閲覧情報のみからレコメンドシステムを構築するため、ユーザーごとの好みを考慮することができないという問題がありました。

そのため商品Aを購入した人には必ず商品Bが推薦されることになり、推薦する商品がパーソナライズされていないという問題を抱えています。

2つめの手法はユーザーの行動履歴を考慮することで、1つめの手法の問題を克服します。この手法では「20代男性に商品Aが人気である」という結果がある場合、20代男性に商品Aを推薦するということが可能になるのですが、この2つめの手法を実現する技術に協調フィルタリングがあります。

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

協調フィルタリングの理解を深めるために、まず以下のようなデータを考えます。

ECサイトを例として、商品A~Cとユーザー1~3がいると仮定しましょう。表のそれぞれの数値は該当ユーザーがその商品を購入したか否かを表しており、cosine類似度はユーザー1に対する類似度をユーザー2とユーザー3で計算しています。

ユーザー1に対してどの商品を推薦するかを考えてみましょう。図のcosine類似度から、ユーザー1はユーザー2よりもユーザー3の方が類似していると考えられます。そしてユーザー3はユーザー1が購入していない商品Bを購入していることから、類似したユーザーであるユーザー1も商品Bを気に入る可能性が高いと考え、ユーザー1に商品Bを推薦します。これが協調フィルタリングの簡単な推薦の仕組みです。

この例ではユーザー間の類似度をcosine(コサイン)類似度で計算していますが、類似度として考えられる尺度であれば相関係数やユークリッド距離など他の方法で類似度を計算しても問題ありません。

レビューサイトでのレコメンド

先ほどはユーザーがある商品を購入したかしなかったかの0か1の値で表現されるデータを用いました。ECサイトやグルメサイトではレビューを1から5の5点満点で評価する場合もあります。この場合も同様にユーザーと商品(グルメサイトの場合は店舗など)の行列を考え、該当する箇所にレビューの1から5の値を入力し、類似度を計算することで協調フィルタリングによるレコメンドを適用することができます。

協調フィルタリングのメリット・デメリット

協調フィルタリングのメリットとしては、セレンディピティと呼ばれる推薦する内容の意外性があること、単純な評価情報のみから作成できること、ユーザー数が増加するごとによりニッチな好みも推薦できるようになることなどが挙げられるでしょう。

一方でデメリットには、ユーザー数が少数の場合にあまり機能しないこと、ある商品が誰にも購入されていない場合にその商品を推薦することができないこと、行動履歴の少ない新規ユーザーに適切なレコメンドができないことが挙げられます。

その後のレコメンドの研究では、これらの問題を解決するための手法としてMatrix Factorization(マトリックス ファクタライゼイション)やFactorization Machines(ファクタライゼイション マシーンズ)などの手法が提案されています。

まとめ

協調フィルタリングについて重要な点をまとめましょう。

  • 協調フィルタリングはレコメンド手法のひとつ
  • 従来のアイテム間の類似度のみを利用する手法と比べ、ユーザーに適したレコメンドが可能
  • ユーザーが商品をどう評価したかのデータを元に、類似度を計算してレコメンドする
以上、ご覧いただきありがとうございました。

燃やせ探究心!突き詰めろ美しきソースコード!オタフ☆クラブ

みんなのAI(人工知能)用語集

トップへ戻る
タイトルとURLをコピーしました