『レコメンドアルゴリズム』
ECサイトを眺めていると、あなたにオススメの商品はこちら!とレコメンドされることってありますよね。そして、そのレコメンドにまんまとはまって思わぬ商品を購入してしまったり、もしくは全然興味のない商品をレコメンドされてウザいと思ったり。「私の何を分かってねん!」とPC画面に叫んでる人もいるかもしれませんが、そんなレコメンドには企業努力の結晶が詰まっているんです。
レコメンドとはそのまま文字通りの意味で「推薦」です。
Web上では、あなたに紐づく様々な行動データや属性データが貯まっています。それは会員情報のようにあなたが直接入力したものかもしれませんし、閲覧情報や購入商品情報など行動ベースでトラック(記録)されている情報かもしれません。
さて、そんなレコメンドですが、どんな仕組みが裏にはあるのでしょうか?実は、レコメンドアルゴリズムにはいくつかの種類があります。
■ルールベースレコメンド
これは一番シンプルなレコメンドアルゴリズムです。企業側はあらかじめ「このような行動を取った人・このような属性の人にこのような商品や情報を提供する」というルールを決めておくというアルゴリズム。
このページに2回以上訪れた人にはこのレコメンド!この商品を購入した人にはこのレコメンド!というようにあらかじめルールを決めておくので単純ですが、応用が利かずルールを決める作業が必要で労力がかかります。また、ユーザーファーストではなく企業が押し出したいメッセージが届けられることとなりパーソナライゼーション(何かを個々人向けにカスタマイズすること)からは程遠い存在になってしまいます。ただ、やはり簡単であり巷のレコメンドロジックはルールベースで作られているものがまだまだ多いのは事実です。
■コンテンツ(内容)ベースレコメンド
続いて、コンテンツベースとか内容ベースとか言われるレコメンドの方法があります。これは、あるコンテンツや商品に対していくつかの属性を付けておいて、類似性の高いコンテンツ・商品を推薦するというモノ。例えば、キュウリとほうれん草は、同じ緑黄色野菜であり、価格も同じくらいであり・・・という類似性からキュウリを購入した人にはほうれん草もレコメンドするというモノや、アディダスのスニーカー買ったらナイキのスニーカーもレコメンドされるようになったみたいな方がイメージ付きやすいかもしれません。コンテンツベースレコメンドは、比較的興味・関心の保証があるコンテンツ・商品をレコメンドしてくれるのでルールベースよりはユーザーファーストになっていますが、結局同じようなカテゴリーばかりレコメンドされるようになり、面白みに欠けてしまいます。新たなコンテンツ・商品との出会いが無くなってしまうんですね。
■協調フィルタリング
コンテンツベースレコメンドよりもさらにパーソナライゼーションが進んだ手法であり、最もよく使われている手法が協調フィルタリングです。協調フィルタリングには大きく分けてアイテムベースとユーザーベースがあります。
アイテムベースでは、ユーザーの行動分析を基に商品同士の類似度を算出し、商品Aを購入したユーザーが商品Bも購入しやすいと分かると、商品Aを購入したユーザーに対して商品Bをレコメンドするようになります。
ユーザーベースでは、ユーザーの行動分析を基にユーザー同士の類似度を算出し、ユーザーAとユーザーBの類似度が高いと分かると、ユーザーAが購入した商品をユーザーBにもレコメンドするようになります。
協調フィルタリングは、全く興味の無かった商品もレコメンドされるようになるので新たな出会いが生じる可能性が高いです。その点協調フィルタリングは、これだよ!これ!と自分に刺さるレコメンドが実行される可能性が高くコンテンツベースレコメンドよりもユーザーファーストになります。
■ベイズ理論を用いたレコメンドアルゴリズム
最近では、ベイズ理論(簡単に言えば確率論)を用いたレコメンドアルゴリズムも用いられるようになってきているそうです。ベイズの特徴として、少ない情報でも比較的精度高く予測することができます。そのため協調フィルタリングのデータが少ないときに精度が悪くなってしまうという弱点を上手く克服したレコメンドが行えるんです。いわゆるハイブリッド型のレコメンドアルゴリズムですね。