コンテンツベースフィルタリング

イチゴミルクを美味しく飲んだお客さんに、イチゴの成分が入ったお菓子やケーキをピンポイントで提案してくれる店員さんのようなものです。

定義 コンテンツベースフィルタリングとは、ユーザーが過去に気に入ったアイテムの特徴を分析し、それに似た特徴を持つ新しいアイテムを探して提案するレコメンド技術です。他のユーザーの評価を気にする必要がなく、もっぱら「アイテム自体の性質」と「自分の好み」だけをじっくり照らし合わせます。

アイテムの「成分表」を読み解くレコメンド方式

映画のレコメンドサービスを例に考えてみましょう。あるSFアクション映画に「いいね」を押すと、システムはその作品をいくつもの要素(属性)に細かく分解して分析します。ジャンルが「SF」か、監督は誰か、「宇宙船」や「AI(人工知能)」といったキーワードが含まれているかを丁寧にチェックするのです。

こうして抽出された情報は、アイテムごとに貼られたいわば「詳細な成分表」になります。コンピューターはテキストやジャンル情報を数値に変換し、あなたが気に入った特徴の組み合わせと最もよく似た別の映画を見つけ出します。このように、ユーザーが消費した対象の属性情報そのものに着目するのがコンテンツベースフィルタリングの核心です。

音楽ならテンポや楽器編成、アーティストの声質を分析し、ニュース記事なら本文によく登場する単語をもとに似た記事を選び出します。

コンテンツベースの属性一致推薦原理 視聴映画A 分類:SF 特徴:宇宙船 属性一致 不一致 推薦映画B 分類:SF 特徴:宇宙船 映画C ジャンル:恋愛 特徴:日常

他の人の反応(データ)がなくても大丈夫

レコメンドシステムにおける最大の悩みの種の一つが、公開されたばかりの映画や登録されたばかりの新商品です。他人の評価やレビューが全く蓄積されていないこの状態を、エンジニアたちは「コールドスタート問題(初期起動の課題)」と呼びます。

しかし、コンテンツベースフィルタリングなら他のユーザーによる評価データが一切なくても全く問題ありません。コンテンツ自体の説明文やタグ、カテゴリ情報さえあれば動くからです。登録されたばかりの最新作であっても、自分が好きな監督やキーワードが含まれていれば、誰よりも早くおすすめとして届くのです。

さらに、「なぜこの作品をおすすめしたのか」という疑問に対して明確に答えられるのも強みです。以前好きだった特定の監督やジャンルが一致したからだという、わかりやすい根拠を提示できます。

もう少し詳しく:おなじみさの裏に潜む限界

もう少し正確に言うと、この手法は精度が高い反面、「思いがけない素敵な出会い(セレンディピティ)」を生み出すのは苦手です。いつも見ているものと似た属性ばかりが提案されるため、自分の好みの枠の中に閉じ込められてしまう過度な専門化(フィルターバブルが起きやすくなります。

普段から恋愛映画ばかり見ているユーザーには、名作ホラー映画やドキュメンタリーが永遠に提案されないかもしれません。また、写真や音楽のように、その中身の特徴をテキストや数値として精密に抽出しにくいコンテンツでは、質の高いレコメンドを作るのが難しいという課題もあります。

そのため、現在のNetflixやYouTubeといった最新サービスでは、コンテンツベースフィルタリング単体ではなく、自分と好みが似ている他人の視聴履歴を参考にする「協調フィルタリング」とうまく組み合わせたハイブリッド型レコメンドシステムを広く採用しています。

🤔 よくある誤解

✕ 誤解

コンテンツベースフィルタリングは、自分と好みが似ている他人の行動を観察しておすすめを決める。

✓ 事実

それは「協調フィルタリング」の仕組みです。コンテンツベースフィルタリングは他人のデータを一切見ず、もっぱらアイテム自体の特徴と自分の過去の選択だけを比較します。

🧺 日常で出会う場面

1 特定のバンドの曲をよく聴いていたら、そのバンドの他の収録曲やテンポの近いロック音楽がプレイリストにおすすめされる場合です。
2 ECサイトでリネン(麻)のシャツを見ていたら、画面下に別ブランドのリネン素材の服が関連商品として提案される場合です。
💡 つまり ひとことで

アイテムの特徴成分を分析し、過去に自分が気に入ったものと最もよく似たアイテムを選んで提案してくれる技術です。