質問: レコメンドシステムの協調フィルタリングでアイテムベースとユーザーベースの違いがわからないので質問します。 ぐぐってみると、あるページではアイテムベースと紹介されてるような内容が、他のページではユーザーベースだったり、その逆だったりがあります。 この2つを区別する要素を教えていただきたいのと、できれば下記の例で説明していただきたいです。 下記の例でアイテムベースが、この認識であってるかどうかもちょっと自信がないです。 実際のサービスで使うのとかけ離れた少ないデータでの例になってるのはご了承ください。 (例)アマゾンでの本のレコメンド ---------------- 1.アイテムベース --------- ### インプット Aさんはジャンプ、マガジン、コロコロを買っている Bさんはジャンプ、マガジンを買っている ### アウトプット AさんとBさんは、買う雑誌の傾向が似ている だから、Bさんにコロコロをレコメンドしよう 2.ユーザーベース --------- ### インプット どういうインプットかわからない ### アウトプット BさんにXXをレコメンドしよう
回答: Asuka さんが質問文で例に挙げている「アイテムベース」の例は、むしろユーザーベースの例だと思います。 ### ユーザーベース vs アイテムベース ユーザーベース協調フィルタリングでは、どのユーザーがどのアイテムを買ったかを元に、ユーザー×アイテムの表をデータベースとして持っています。そして新しいユーザー A が商品を買ったとき、どのアイテムを推薦するべきかを A さんと似た購入履歴を持つ **ユーザー** を探すことで決めます。ユーザー間の関係性をもとに推薦アイテムを決めているので、ユーザーベースです。 対してアイテムベース協調フィルタリングでは、どのユーザーがどのアイテムを買ったかを元に、アイテム間の類似性を示すアイテム×アイテムの表をデータベースとして持っています。そして新しいユーザーが商品 X を買ったとき、どのアイテムを推薦するべきかを X と関連の高い **アイテム** を探すことで決めます。アイテム間の関係性をもとに推薦アイテムを決めているので、アイテムベースです。 ### 参考 英語でよければ、くだけた説明としては Wikipedia:en の "Collaborative filtering - Methodology" が分かりやすいと思います。また、アイテムベース協調フィルタリングを提案した最初の論文であると言われている Sarwar らの "Item-based collaborative filtering recommendation algorithms" 中に書かれた説明も分かりやすかったです。また、2017年春に公開された IEEE Internet Computing の "Two Decades of Recommender Systems at Amazon.com" もよくまとまっていると思います。これを日本語で要約したブログ記事として「Amazonの推薦システムの20年」があります。