« 2006年04月 | メイン | 2006年06月 »

2006年05月23日

mixi とgoo

一年以上も前のニュースで紹介されていることで皆さんもご存知かと思いますが(逆に、もう忘れてしまっているかもしれませんが)、mixi 内の検索にはgoo の検索技術が使われています。


「mixi」が50万人突破 検索強化へgooを導入

でも、どうしてでしょう?
mixi のような高機能なサイトを短期間で作り上げる技術力があるのに、
なぜ、検索部分を外部にお願いしたのでしょうか?

実際に検索してみると、下記のような画面が表示されます。
mixi_goo.jpg
確かに左下に「Powerd by goo」という表記が見られます。

検索をgooにお願いした理由は簡単です。
mixi 自体を作ることに匹敵するほど、検索というものが難しいからです。

もちろんmixiも他のWebアプリケーションと同様に、ほとんどのデータがDB(MySQL)に格納されているのですから、SQLを駆使すれば検索くらい簡単なのでは、と思うかもしれません。
しかし、大量のカラムから横断的に検索しなければならなかったり、日記データに対して全文検索をしなければならなくなったりすると、単純なSQLでは対処できなくなってきます。DBの検索パフォーマンスをあげるためのインデックスが意味を成さなくなってしまうのも問題となります。

mixi がgoo を採用したということは、この「検索」というものの難しさを物語っているのです。

2006年05月22日

レコメンデーションセミナーに行って

アルベルトが主催しているレコメンデーションセミナーに行ってきた。
セミナーの構成がわかりやすく、レコメンデーションにあまり詳しくない私でも非常に理解しやすかった。
最初の方でレコメンデーション全般のお話をされ、それに続いて技術的な実践のお話が続き、最後に事例の紹介という流れでスムーズに理解することができた。以下、その感想。

レコメンデーションとは未来を予測することであり、ECなどではそれを「ユーザーの欲しいものを予測」という形で利用しているに過ぎない。つまり、「未来予測」という機能で考えれば、その用途はECサイトに限らずいろいろなところで応用できると思う。

実際、自社でレコメンデーションを導入する場合は、自社サイト(自社に蓄積されているデータ)に対して、どんな切り口で何を予測したいのかをはっきりと決めてしまえば、あとは適切なロジックを適用していくだけなので、想像していたよりは簡単に導入できそうである。実際にケンコーコムさんもレコメンデーションの仕組みは自前で作っているとのこと。

面白かったのは、レコメンデーションのマイナス部分のお話。
レコメンデーションは、コンピュータが自動的に未来を予測するところに意味があり、また面白くもあるのだが、それがマイナス面も持っている。レコメンデーションしてはいけないものなどがあるのだ。

例えば、友人から頼まれた本をAmazonで買うと、それがその人の嗜好性として残ってしまい、その後は自分が欲していない書籍がオススメされてしまう。他にも、同姓同名の全然ジャンルの違う別の作家の本がオススメされてしまったり。極端な例では、エンジニアは特定の芸能人が好きな傾向にあるらしく、技術系の本を買い続けていたら、興味もないアイドルの写真集をオススメされてしまった例などもある。

もっと深刻な例では、「妊娠検査薬」を買った人の中にはその後「紙オムツ」を買うという傾向があったために、起きた悲劇などもある。
妊娠できなくて悩んでいる人に「紙オムツ」をオススメしてしまったのだ。

人間にしか判断できないことも、やはり、まだまだたくさんあるということを知らされた。