レコメンデーションを実現する最強アルゴリズムとは
最先端技術が必ずしもビジネスに役立つとは限らない。ではレコメンドエンジンの場合、どのような仕組みでお勧め品を提示し、ビジネスに貢献しているのか。シルバーエッグ・テクノロジー ビジネスプラニング室 チーフサイエンティストの加藤公一氏が、その問いに答える。
加藤氏によると、レコメンドエンジンとはそもそも「ユーザーが好みそうなものを推測し、勧める」機能を持つシステムを指し、分析に使用するデータの種類によって、いくつかに分類できるという。
具体的には、(1)商品ページのクリックなど、Webサイト訪問者の行動データ、(2)商品のタグや説明文、写真やジャンルなどのコンテンツデータ、(3)ユーザーの性別など属性データ、(4)前述したデータのハイブリッド型、の4種類だ。
このなかで、(1)の行動データを使ったレコメンデーションの仕組みを「協調フィルタリング」と呼ぶ。これは「似た行動をする人は、次のアクションも同じような行動をする人と近いのではないか」という仮説の下に、行動データのみを使い、ある人が「次に買う確率が高いもの」を予測するというアルゴリズムだ。
たとえばAさんがX、Y、Zという商品を購入し、次にBさんがXとYを購入したら、次にZも購入する確率が高い。協調フィルタリングはこのようなシンプルな発想を敷衍する形で、数万から数百万におよぶユーザーとアイテムの関係性を統計処理し、確率的に高いものを出すという仕組みになっている。そして加藤氏によると、レコメンデーションにおいてはこの協調フィルタリングが「最も有効」とのことだ。
実はこの協調フィルタリングは、1970年代から研究されている機械学習アルゴリズムだ。だが古い技術だから劣っているということはなく、目的に沿って技術が洗練されていった結果、「ある人が次に何を購入するか」という予測については、非常に高い確率で当てるという。
しかし、協調フィルタリングには1つ弱点がある。それは「過去のデータが蓄積されていないと成果が得られにくい」という点だ。この弱点は「コールドスタート問題」と呼ばれている。
これを解決する手段としては、前述したコンテンツベースのレコメンドとの組み合わせが一般的だ。自然言語解析や画像解析で似たコンテンツをレコメンドしつつ、少しずつ協調フィルタリングの精度を上げていくという。その場合でも、「行動情報が十分にあれば協調フィルタリングの方が良い結果を出すので、コンテツベースはあくまで補完的なものとらえるべき」だと加藤氏は説く。
「データが多ければ多いほど良い」とは限らない
協調フィルタリングがいくらレコメンドの精度が高いといっても、その効果について疑問を持つマーケターも少なくないだろう。その根底にあるのは、「以前から行ってきたセグメンテーションというマーケティング手法と、協調フィルタリングは両立できるか」という点だ。
顧客を年齢や性別、年収などの属性に基づいて分類し、その層に対してマーケティング施策を展開するセグメンテーション手法は、マーケターの戦略が反映しやすい。たとえば「30代の女性をターゲットにしたい」ということで戦略を積み上げ、その層に集中して施策を当てることができる。
そのためセグメンテーションに熱心な企業のマーケターは、協調フィルタリングに対し、「セグメントで使う属性データをまったく見ていないので、精度が低いのではないか」「なぜ属性データを使わないのか。使った方が、精度が高くなるのではないか」との見方をするケースが多いそうだ。
加藤氏によると、協調フィルタリングで「属性データを使わないので精度が低くなる」ということはない。協調フィルタリングが行動データをベースにしているといっても、属性データをまったく無視しているわけではなく、行動を見ていくことで、大体の属性グループも見えてくるという。
なぜ属性データを使わなくても、協調フィルタリングでおおよその属性傾向がわかるのか。それは「似た属性の人たちは似たような行動をする」からであり、行動の中から属性が浮き出てくるためだ。このことから、協調フィルタリングは属性データのセグメンテーションを内包する概念であることがわかる。そのため「レコメンデーションはセグメンテーションを否定するのではなく、セグメンテーションで行ってきたノウハウやコンセプトを活かすことができます」と加藤氏は説明する。
そもそも扱うデータが多ければそれだけ高い精度で予測できるのは自明の理だ。ただし、際限なくデータを追加すればいいかと言えば、必ずしもそういうわけではない。扱うデータ量に比例してコストや計算時間がかかるため、ビジネス的に見合うかどうかは別問題だからだ。