🎓 上級者
ユーザーの好みや行動履歴をもとに、その人に合いそうな商品やコンテンツを自動で提案する仕組みだよ。Amazonの「おすすめ商品」やNetflixの「あなたにおすすめ」が典型例だね。
推薦の主な手法
推薦システムのアプローチは大きく分けて3種類。それぞれの特徴と弱点を理解しよう。
📄 コンテンツベースフィルタリング
🔰 初心者
コンテンツベースってどういう仕組みですか?
🎓 上級者
アイテムの中身(特徴)を分析して、ユーザーが過去に気に入ったものと似た特徴を持つアイテムを推薦する方法だよ。「この映画はアクション映画だから、同じアクション映画を薦めよう」という考え方だね。
コンテンツベースフィルタリング
アイテムの特徴量(ジャンル、キーワード、カテゴリなど)を使って類似アイテムを推薦
他のユーザーのデータが不要なので新規ユーザーにも対応しやすい。ただしユーザーの過去の好みと似たものしか出せない(意外な発見がない)。
図1: コンテンツベースはアイテムの特徴を分析して類似品を推薦
👥 協調フィルタリング
🔰 初心者
協調フィルタリングはどう違うんですか?
🎓 上級者
コンテンツベースは「アイテムの中身」を見るけど、協調フィルタリングはユーザーの行動パターンを見るんだ。「あなたと似た好みの人が買ったもの」を薦める方式だよ。アイテムの中身を理解する必要がないのが強みだね。
協調フィルタリング
ユーザーの行動履歴(評価・購入・閲覧)をもとに、似た行動をとるユーザーや似た評価を受けるアイテムから推薦
アイテムの中身を分析しなくてよい。ただし行動データがないユーザーやアイテムには対応できない(コールドスタート問題)。
ユーザーベース
「似た好みのユーザー」を見つける
その人たちが好むアイテムを推薦
「AさんとBさんは好みが似てる。
Bさんが買った商品をAさんにも薦めよう」
アイテムベース
「一緒に買われるアイテム」を見つける
そのアイテムを推薦
「商品Xを買った人は商品Yも買っている。
Xを買った人にYを薦めよう」
図2: 協調フィルタリングは似た好みのユーザーの行動から推薦する
❄️ コールドスタート問題
🎓 上級者
推薦システムに新しいユーザーやアイテムが追加された直後は、行動履歴や評価データがまったくないからまともに推薦ができない問題だよ。「データがないから動けない(冷たいエンジンの始動)」というイメージだね。
コールドスタート問題の3パターン
1. 新規ユーザー問題:行動履歴がないので好みが分からない
2. 新規アイテム問題:誰もまだ評価していないので推薦されない
3. 新規システム問題:サービス開始直後でデータ全体が不足
特に協調フィルタリングはユーザーの行動データに依存するため、コールドスタート問題の影響を強く受ける。
対策の例
新規ユーザーには人気ランキングを表示する、登録時に好みのジャンルを聞く、コンテンツベースフィルタリングと組み合わせる(ハイブリッド)など。
🔀 ハイブリッドモデル
🔰 初心者
それぞれに弱点があるなら、組み合わせればいいのでは?
🎓 上級者
まさにその通り!コンテンツベースと協調フィルタリングを組み合わせた方式をハイブリッドモデルと呼ぶんだ。お互いの弱点を補い合えるから、実際のサービスではこの方式がよく使われているよ。
ハイブリッドモデル
コンテンツベースと協調フィルタリングを組み合わせて、両方の強みを活かす推薦手法
協調フィルタリングのコールドスタート問題を、コンテンツベースで補う。データが蓄積されたら協調フィルタリングの精度を活かす。
📊 3手法比較
| コンテンツベース | 協調フィルタリング | ハイブリッド |
| 何を見るか | アイテムの特徴 | ユーザーの行動 | 両方 |
| 他ユーザーのデータ | 不要 | 必要 | あれば活用 |
| コールドスタート | 新規アイテムに弱い | 新規ユーザー・アイテム両方に弱い | 互いに補完 |
| 多様性 | 低い(似たものばかり) | 高い(意外な推薦も可能) | 高い |
| 実用例 | ニュース記事推薦 | Amazon、Netflix | 大規模サービス全般 |
🎯 G検定で押さえるべきポイント
- コンテンツベースフィルタリング:アイテムの特徴で推薦。他ユーザーのデータ不要だが多様性が低い
- 協調フィルタリング:ユーザーの行動パターンで推薦。精度が高いがコールドスタート問題に弱い
- コールドスタート問題:新規ユーザーやアイテムにデータがなく推薦できない問題。協調フィルタリングで特に深刻
- ハイブリッドモデル:コンテンツベース+協調フィルタリングを組み合わせて弱点を補う