livedoor グルメ』の根岸です。今日はlivedoor グルメにも実装されている「リコメンド(=お勧め)」機能の話です。
マクドナルドの「ご一緒にポテトもいかがですか?」という店員の接客コメントは、誰もが知っている典型的な決まり文句ですよね。でも、誰にでもポテトをオススメするのは、芸がない。「俺はイモが嫌いなんだ!」っていう人だって絶対にいます。
インターネットでOne-to-Oneマーケティングの時代になると、ユーザーの動向を分析し、各ユーザーごとに興味を持ちそうな商品を予想して、お勧めするようになりました。たとえば、『Amazon』にログインして「マイストア」を選ぶと、それまでの購買履歴をもとにお勧め商品がリストアップされます。
 僕のマイストアだと、
  • 『笑う大天使(ミカエル)』
  • 『ウォーターボーイズ』
  • 『リンダリンダリンダ』
などのDVDが、リストアップされています。上記はいずれも、以前僕が『スウィングガールズ』のDVDに高い評価を付けた結果として表示されていました。
 笑う大天使は、主演の上野樹里つながり。ウォーターボーイズは監督の矢口史靖つながりで、わかりやすいリコメンドです。しかし、リンダリンダリンダは、スウィングガールズと特筆できる関係が見あたりません。「女子高生+音楽モノ」という点では共通分野ともいえますが、だったら「高校+吹奏楽部」で、かつ出演者の一部が重なる『ビートキッズ』がリコメンドされても良さそうですが、そうはならないみたいです。これは、スウィングガールズに高い評価を付ける人は、リンダリンダリンダにも、高い評価を付けたという結果なのでしょうか?
 そんな単純なわけはないでしょう。商品に対する採点はたったの5段階。商品数は何万もあります。「共通採点が高い」だけでは、膨大なリコメンドが発生してしまうはずです。
 いっぽう、livedoor グルメですが、管理ページにログインすると、「あなたとピッタリのお店」として、自分が高く評価すると思われるお店が一覧表示されています。これも、いままでのお店への採点結果をもとにして、あなたが好むであろうお店がピックアップされているのです。
 ところで僕の場合、フランス料理はそんなにたくさん採点していないのですが、リコメンドされている10軒中4軒がフランス料理のお店です。しかも、そのうちの1軒のフランス料理店のランチに最近行ってみたのですが、スープは大好きなビスク、メインも僕好みのカリカリにソテーされた鯛で大満足。リコメンドに間違いはなかったようです。
 一見関係がないようで、じつは当人の嗜好にピッタリなアイテムが表示される場合、「協調フィルタリング(collaborative filtering)」という手法が使われている可能性があります。複数の人間の嗜好を分析し、「AさんとBさんは嗜好が似ているから、Aさんが好きなXは、Bさんも好きだろう」と予測する技術です。
有名なものに、1994年に MIT から出た『GroupLens』の論文をもとにしたものがあります。これは、多数の参加者がNetNewsの記事を読んで5段階評価をし、
  1. 参加者同士の嗜好の類似度を計算
  2. 嗜好が類似した参加者の評価結果を基に、対象参加者の評価を予測
という方法で「対象参加者が好む記事を予測できた」というものです。複数の人の評価活動から生成された「フィルタ」を使って、膨大な情報のなかから対象者に適した情報を選び出すという意味で「協調フィルタリング」なわけです。
 このGroupLensの協調フィルタリングは、比較的単純な行列計算を繰り返すことで、信頼性の高い結果を得られます。そこでビジネスへ応用しようという試みが早くからありました。たとえばAmazonは1997年春に、Net Perception社のGroupLensツールキットを導入して、パーソナライズされた書籍のリコメンドを行う、というニュースリリースを出しています。
 livedoor グルメでも、前身となった『東京グルメ』のころ(2000年)から、GroupLens方式のリコメンド計算を行ってきました。
 GroupLens方式の精度をあげるためには、一定数以上の評価を蓄積しなければなりません(=参加者数や評価数が少ないと信頼できない)。また、参加者数や評価数が増えると、計算が膨大になる(=時間がかかる)という弱点もあります。さらに、誰も評価していない記事(もしくは書籍やお店)は、リコメンド対象にならないという問題もあります。
 最近は、文書内に含まれるキーワードの頻出度を利用したフィルタリングや、キーワード型とGroupLens型のハイブリッドなど新しい手法も出てきて、この分野はまだまだ進化の途上にあるといえます。
 ユーザーの購買や評価といった行動結果を分析する点で、協調フィルタリングは、CGMやWeb2.0型サービスと相性が良いと考えられます。今後のサービス設計において、考慮すべき技術のひとつとして、覚えておくと良いでしょう。