コラム
» 2007年10月01日 12時30分 UPDATE

ソーシャルメディア セカンドステージ:レコメンデーションの虚実(4)〜ベイジアンは「Amazonを超えた」のか? (1/2)

ネットジャーナリスト佐々木俊尚氏が次世代ソーシャルメディアのかたちを探る新連載「ソーシャルメディア セカンドステージ」。ベイズ理論を応用して協調フィルタリングの限界を突破しようというレコメンデーションエンジン「zero-zone」について解説します。

[佐々木俊尚,ITmedia]

Amazonを超えるレコメンデーションエンジン

 今年8月6日・13日号の『日経ビジネス』誌に、「王子とニート 若者を浪費する日本社会」という特集が掲載された。この特集の中で紹介されていたのが、ライブドアのCTO(最高技術責任者)や代表取締役を経てゼロスタートコミュニケーションズを設立したzakiさんこと山崎徳之氏。この記事で、彼の登場する場面はなんとも凄い。次のような書き出しだ。

 天才プログラマーの腕はさび付いていなかった。

 「よし、とりあえずアマゾンは超えたかな」

 東京・渋谷の小さなオフィスで、ゼロスタートコミュニケーションズ社長の山崎徳之はキーボードから手を離すと、小さく伸びをした。

 この記事のことを聞いてみると、彼は苦笑しながらこう言った。「いやあ、さすがに『とりあえず超えた』なんて言ってないですよ。大げさなんだよね」

 記事で“Amazonを超えた”と書かれているのは、山崎氏が開発してゼロスタートがリリースしているレコメンデーションエンジン「zero-zone(ゼロゾン)」である。zero-zoneが本当にAmazonを超えているのかどうかは、これからの評価を待たなければならないが、しかしAmazonと比較すべきサービスになっているのは間違いない。なぜならAmazonが協調フィルタリングをベースにしてレコメンデーションを行っているのに対し、zero-zoneはベイズ理論をもとにしたレコメンデーションを実装しているからだ。ベイズ理論を利用すれば、協調フィルタリングの限界をある部分では突破できる可能性がある。

 前回、レコメンデーションの要素となる購買行動は次の3つの要素に分解できるということを書いた。

・商品の属性(その商品がどのような分野の商品で、どのような名前を持ち、どのような特徴があるのか)

・顧客の属性(顧客の性別、住居地、年齢、好みなど)

・商品と顧客のむすびつき履歴(どの顧客がどの商品を過去に購入したのかという履歴)


イラスト

 Amazonはこのうち、3つ目の「商品と顧客のむすびつき履歴」を協調フィルタリング技術によって解析し、レコメンデーションを行っている。だがこの連載の第2回でも書いたように、協調フィルタリングでは商品や顧客の属性を見ていない。このため、例えば理系の人がよく買うような技術書をひんぱんに購入していると、そのような層の人たちが比較的好むアニメをお勧めされてしまうというようなことや、祖父にプレゼントするために民謡のCDを購入すると、その後しばらくは聞きたくもない民謡関係の商品をさかんに勧められるようなことが起きてしまう。

 前回書いたように、協調フィルタリングに欠けているこれらの要素を埋める手法としては、コンテンツベースフィルタリングなどの方法がある。だがコンテンツベースフィルタリングだけに特化してしまえば、今度は第2回で書いたように、また別の問題点がいくつも浮上してしまう。あっちを立てればこっちが立たず、というトレードオフの関係なのだ。

スパムフィルターに使われるベイズ理論を応用

 そこでまったく別の統計学的な手法を採用して、両方の欠点を補えるようなレコメンデーションが行えないだろうか――というのが、山崎氏のアプローチだった。迷惑メールをふるい落とすスパムフィルターを使っていて、「スパムフィルターで使われているベイズ理論をレコメンドに応用できないだろうか」と思いついたのである。

 ベイズ理論は、18世紀のイギリスのアマチュア数学者トーマス・ベイズが考え出した。確率論の定理のひとつで、わかりやすくいえば、新たなできごとを予測する際に、すでに起きている事象を予測の材料として次々と加えていくことによって、予測の精度が高められるという考え方である。例えば、ある企業の株価が上がるかどうかは、過去のその企業の四半期ごとの業績や、マスメディアにどの程度取り上げられたのかという露出度、過去の株価の変動などの要素を集計していくことによって、ある程度は予測できる。株に興味を持っている人ならたいていはこうしたことを無意識のうちに頭の中で計算し、「よし、この会社は上がるぞ」などと直感的に判断しているのだが、この判断を数値化していこうというのがベイズ理論の考え方なのである。

 ITの分野では、ベイズ理論はスパムフィルターに使われている。メールソフトなどに組み込まれているスパムフィルターは最初に、あらかじめ分類されているスパムメールと普通のメールを比較して、それぞれにどのような単語が含まれ、それらがどのような出現頻度になっているのか。また単語同士の組み合わせはどうか。メールのヘッダやHTMLにはどのような情報が含まれているのかを調べる。

 そのようにして比較した結果をデータベースとして構築し、次に新しいメールAが来ると、そのデータベースに基づいてAが迷惑メールかどうかを判断する。その判断が正しければ、データベースにはAのメールの解析内容が加えられるし、もし判断が誤っていて利用者が「これは迷惑メールではない」と指摘すると、フィルターのシステムはそれも学習して分類の精度を上げていく。つまりベイズ理論は、予測した結果も再びフィードバックして要素のひとつとして取り込み、さらに新たな予測を計算していくことができる自己進化的な仕組みを持っている。

 山崎氏はこのベイズ理論を、レコメンデーションに応用することを考えた。協調フィルタリングが、ユーザーとユーザーの相関関係を相関係数で表すのに対し、ベイズ理論では、ある人がある商品を購入する可能性を「確率」によって表すことができる。具体的には、商品が持っている商品名や説明、価格などのメタデータ(注釈)を取り出し、このテキストデータを使って、ユーザーが商品を購入する確率を計算している。

       1|2 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.

Loading

ピックアップコンテンツ

- PR -