ライブドア製のレコメンデーションエンジン「Cicindela」
ECサイトやブログなどで「この商品を買っている人はこのような商品も購入しています」「この記事を読んでいる人はこの記事も読んでいます」といった推薦(レコメンデーション)する機能は売上やPV増に大きく貢献してくれる。興味の範囲が近ければそれだけ役立つ可能性が高いのだ。
ピックアップベース
そうしたレコメンデーションシステムを構築するのは推薦度になるスコアの計算式が肝になる。それはまさにノウハウであって、門外不出だ。だがライブドアは違う、そんな不可能を可能にしてしまうのだ。
今回紹介するオープンソース・ソフトウェアはCicindela、ライブドアの提供するWebサービスで実際に使われているレコメンデーションエンジンだ。
CicindelaはPerl + MySQLで提供されるシステムで、HTTPで通信するためシステム依存しないという特徴がある。データもIDのみでやり取りされる。あるユーザがあるオブジェクトとピックした、という情報とさらにある点数をつけた(レーティング)という情報のどちらかを扱うことができる。
タグベース
また、タグやカテゴリを付加することができる。インストールは手順通りに進めていけばそれほど苦労しないが(CentOS5の場合)、デモとして提供されるデータ量が大量であるために最初のモデルを作成するのに時間を要するだろう。
やり取りされるデータがIDのみなので、そのIDが何を意味するのか管理する必要がある。例えばブログ記事のIDや商品のIDになるだろう。また集計されたデータの殆どがMySQLに格納されるので高速ではあるがリソースがそれなりに必要となる。
Web API形式でのデータ提供であるため、Perl以外のプログラム言語からでも簡単に使えるのが利点だ。反応も高速でデータ投入、追加方法さえマスターしてしまえば既存のシステムへの組み込みも容易だろう。何より多数のサービスの中でもまれてきた実績が簡単に手に入るというのが素晴らしい。
**ライブドアのレコメンデーションエンジン Cicindela | livedoor labs EDGE
**
http://labs.edge.jp/cicindela/
cicindela2 - Google Code
http://code.google.com/p/cicindela2/