問題 No.2668
ある音楽配信サービスにおいて、協調フィルタリングを用いてユーザーへの楽曲推薦システムを構築することになった。ユーザー数が非常に多く、システムのスケーラビリティを向上させるために、ユーザー同士の類似度ではなく、あらかじめ計算されたアイテム間の類似度をベースにして推薦候補を生成する手法はどれか。
【正解の解説】
アイテムベース協調フィルタリング
「自分と趣味が似ている人を探す」のではなく、「この曲が好きなら、あの曲も好きだろう」という商品同士の結びつきに注目するやり方です。例えば、本屋さんで「東野圭吾の本を買った人は、このミステリー小説も買っています」とお勧めされるのと同じ仕組みで、ユーザー数が急増しても計算量が爆発しにくくシステムに優しいという大きなメリットがあります。
スポンサーリンク
【その他の選択肢の解説】
ユーザーベース協調フィルタリング
「自分と似たような趣味を持つお隣さんはどれを聴いているか」という人の軸で考えるのがユーザーベースです。こちらは音楽配信サービスのように何百万人ものユーザーがいる巨大な環境だと、「誰と誰が似ているか」の計算が毎日のように膨大になり、システムが重くなってしまうという弱点があります。
コンテンツベースドフィルタリング
協調フィルタリングとは異なり、他のユーザーの購入履歴や評価を一切使いません。例えば「ハードロックが好きだから、テンポが速くてギター音が歪んだ曲をおすすめする」というように、楽曲のジャンルや歌詞などのデータ(コンテンツ)そのものに注目してマッチングを行う仕組みです。
マトリクスファクタリングフィルタリング
マトリクスファクタリングは、ユーザーとアイテムの膨大な組み合わせデータから、隠れた特徴(例えば「爽やかさ」や「マニアックさ」などの軸)を見つけ出してスコアを予測する高度なアルゴリズムです。アイテムベースやユーザーベースといった類似度計算を直接行うアプローチとは根本的な仕組みが異なります。