多変量解析

レコメンドに用いられる協調フィルタリングの利点と欠点とは?

アマゾンで自分にぴったりの商品がオススメされたりスマートニュースで自分に合った記事が表示されるようになったり・・・

世の中では、一人一人へのパーソナライゼーションが進化して至る所でレコメンドが行われるようになりました。

そんなレコメンドロジックを支える手法である協調フィルタリングについて、見ていきたいと思います。

ウマたん
ウマたん
協調フィルタリングは現代のパーソナライゼーションを支える非常に重要な手法だよ!

協調フィルタリングとは

協調フィルタリングとは、ユーザー同士の類似性を計算しレコメンドを行う手法です。

つまり、同じような趣味・嗜好を持っている人は同じようなモノに興味を持つだろうというロジック。

ざっくり言うと、Aさんはお店でビールとキムチとティッシュを買いました。Bさんは、ビールとキムチを買いました。そんなBさんはティッシュも買ってくれる可能性が高いからティッシュもオススメしよう!という感じ(ざっくりすぎ笑)

実際のところは以下のような表にユーザー別の商品購買情報が並んでおり、

ビール キムチ ティッシュ ・・・
ユーザーA
ユーザーB
ユーザーC
・・・

ユーザーAとユーザーBの購買データからユーザーの類似度(相関関係)を算出し、それを基にレコメンドを行います。

Web上ならページを見て購入した(1)か購入しなかった(0)か、そもそもページを見ていない(ー)でユーザーの購買行動を表すことができます。

ビール キムチ ティッシュ ・・・
ユーザーA
ユーザーB
ユーザーC
・・・

ハイフンは除き、0・1のみでユーザーの類似度を算出することで、始めたばかりのユーザーにも比較的精度の高いレコメンドを行うことが可能です。

協調フィルタリングの利点

それでは、協調フィルタリングにはどんな利点があるのでしょうか?

セレンディピティ(偶然の出会いがある)

自分と同じ趣味・嗜好を持っている人の商品がレコメンドされるため、自分が全く知らなかった商品との出会いが発生します。

ルールベースレコメンドだと、面白みのないありきたりのレコメンドに落ち着いてしまいます。

多くの人に画一的ではないレコメンド配信が可能

行動ベース・ルールベースだとどうしても同じようなレコメンドが走ってしまいますが、協調フィルタリングなら大規模ユーザー・大規模商品を抱えるサービスであっても個人に寄り添ったレコメンドを自動で行うことが可能です。

協調フィルタリングの欠点

さて、そんな協調フィルタリングですがいくつか欠点もあるんです。

類似品をレコメンドしてしまう可能性がある

協調フィルタリングでは、同じ商品の色違いをレコメンドしてしまうなどの可能性があるため、注意が必要です。

マイノリティ・新ユーザーへの精度が悪くなる

同じ傾向を持っている人が他にいないユーザーや、新たに登録したばかりのユーザーには精度良くレコメンドすることができません。

新しい商品はレコメンドされずらい

まだ購入されていない商品はレコメンドされません。そのため結果的に新しい商品はレコメンドされにくくなってしまいます。

協調フィルタリング まとめ

協調フィルタリングは、ユーザー同士の類似度を基にレコメンドを出し分けるロジックで様々なサービスで使われています。

ただ、ここで紹介したようにいくつかの欠点があることも頭の片隅を置いておきましょう!

個人的には完璧なレコメンドというものはユーザーにとってベストではないと思っていて、ある程度無秩序な方がユーザー満足度は高い気がしています。

本当に自分にぴったりのモノだけレコメンドして欲しいなら100%、ある程度関係ないものも見てみたいなら50%というようにユーザーがレコメンドの精度を調節できれば良いなと思っています。

余談でしたが、協調フィルタリングについて簡単に理解していただければ幸いです。