(これまでの増井俊之の「界面潮流」はこちら)
データが大量にあるとき、特殊な計算を行なうことによって隠れた有用な情報を引き出せる可能性があります。大量のデータから有益な情報を抽出する手法はデータマイニングと呼ばれています。
データマイニングの効果に関してはビールと紙オムツの逸話が有名です。米国の大手スーパーで商品の購入の相関を調査したところ、週末の夜には何故かビールと紙オムツが同時に売れるということが判明したため、両者を同じ売場に置いたところ売上が大きく増加したというもので、スーパーでオムツを買って帰れと奥さんに言われた旦那がついでにビールも買って帰るのだと説明されることが多いようです。
販売データから自動的にこのような関係を計算できるというのは面白い話で、データマイニングの威力を示す好例として有名なのですが、残念ながらこれは実話ではなく、「あるスーパーの調査では金曜の夕方にビールと紙オムツの売上が多かった」という結果に尾鰭がついた都市伝説だというのが真相のようです。
データマイニングの威力を示す一番有名な話が都市伝説だったというのはお寒い話ですが、データマイニングそのものが無力だというわけではありません。最近はネットのおかげでデータの質も量も増えていますし、様々な新しい分析手法も提案されてきているので、将来はデータマイニングがもっと有効に利用されるようになると思われます。
■本棚演算
この連載で何度か紹介した本棚.orgという書籍情報共有サイトでは、ユーザが自分の作った「本棚」に自由に本を登録することができるようになっており、どの本棚にどの本が登録されているかという情報をもとにした「本棚演算」によってデータマイニングを行なうことができます。
Amazon.comで本などを検索すると、「この商品を買った人はこんな商品も買っています」といって関連商品を薦められることがあります。商品の売れるパタンをもとにしたデータマイニングによってこのような情報が計算されているわけですが、特定の個人の購買パタンにもとづいて計算が行なわれているわけではなく、全ユーザの購入パタンから計算した結果としてこのようなお薦め商品が提示されるようになっています。Amazonはユーザの数が非常に多く、個人ごとにパタンを計算することがほぼ不可能なのでこのような手法がとられているわけですが、本棚.orgではユーザ数は1万程度ですから、ユーザごとに計算を行なうことも難しくありません。
本棚.orgではユーザが自由に作成した本棚ごとに複数の本が登録されています。「増井の本棚」に「Blue Note Cover Art」「逆風野郎」などの本が登録されており、「svslabの本棚」に「逆風野郎」「スモールワールドネットワーク」などの本が登録されているとき、全本棚データは以下のような本棚行列で表現することができます。
この表から以下のようなことがわかります。
- 「増井の本棚」と「svslabの本棚」には共通に含まれる本が多い
- 「スモールワールドネットワーク」と「逆風野郎」には共通の本棚に含まれている
- 「増井の本棚」と「桐華の本棚」に共通に含まれる本がある
この事実をもとに、以下のような推論を行なうことができます。
- 「増井」と「svslab」は趣味が似ている
- 「svslab」に「アカギ」を推薦すると喜ばれる
- 「スモールワールドネットワーク」と「逆風野郎」は同カテゴリの本である
このような推論はあまりあてにならないかもしれませんが、本棚行列の行や列データに対して様々な本棚演算を行なうことにより、表を見ただけではすぐにわからない各種の情報を抽出することができる可能性があります。
「増井の本棚」行と「svslabの本棚」行を加算すると以下のような行列が得られます。
この演算の結果、「逆風野郎」や「スモールワールドネットワーク」は人気があることがわかります。
また、「増井の本棚」行から「svslabの本棚」行を減算すると以下のような行列が得られます。
「増井の本棚」と「svslabの本棚」は似ているにもかかわらず「アカギ」「掌の中の小鳥」は「svslabの本棚」に含まれていないため、これらの本は「svslab」への推薦候補と考えることができます。
このような計算を本棚行列の行や列に対して行なうことにより、様々な有用な情報を取得することができます。たとえば、私が読むべき本を捜したい場合、まず私の本棚と同じような本が登録されている本棚を捜し、そこで登録されているにもかかわらず私の本棚には含まれていないような本を捜せばよさそうです。手順は以下のようになります。
- 増井の本棚に含まれる本のリストを計算
- その本リストに近い本を持つ本棚のリストを計算
- そのような本棚の中に含まれている本を計算する
この結果は以下のようになります。
17 4839912653 Code Reading—オープンソースから学ぶプログラミングテクニック
17 4844317210 Rubyソースコード完全解説 (青木 峰郎, まつもと ゆきひろ)
14 4314005564 利己的な遺伝子 (リチャード・ドーキンス, 日高 敏隆, 岸 由二, 羽田 節子, 垂水 雄二)
14 4797318325 Wiki Way—コラボレーションツールWiki (ボウ ルーフ, ウォード カニンガム,
14 4756136494 プログラミング作法 (ブライアン カーニハン, ロブ パイク)
14 489471163X 計算機プログラムの構造と解釈 (ジェラルド・ジェイ サスマン
13 4798102040 コモンズ (ローレンス・レッシグ, 山形 浩生)
...
確かに私が買いそうな本が並んでいますが、計算機関連の本が多すぎますし、自分の持ってる本が含まれているので、
- 計算機関連の本を減算
- 増井の本棚に含まれる本を減算
という演算を追加した結果、以下のような推薦本リストを得ることができます。確かに私が欲しいと思うような本のリストになっているようです。
10 406313248X 攻殻機動隊 (1) (士郎 正宗)
10 4140807431 新ネットワーク思考—世界のしくみを読み解く (アルバート・ラズロ・バラバシ, 青木 薫)
9 4756133126 ロボットにつけるクスリ—誤解だらけのコンピュータサイエンス (星野 力)
9 4167330083 ぼくはこんな本を読んできた—立花式読書論、読書術、書斎論 (立花 隆)
7 4063211444 げんしけん (1) (木尾 士目)
7 4061495755 動物化するポストモダン—オタクから見た日本社会 (東 浩紀)
7 410401303X 博士の愛した数式 (小川 洋子)
7 415011451X しあわせの理由 (グレッグ イーガン, Greg Egan, 山岸 真)
本棚.orgと同様の構造を持つデータはいろいろあります。例えばSNSにおけるユーザとコミュニティの関係は、本棚と本の関係と同じ構造になっていますから、同様の演算によるデータマイニングを行なうことが可能です。
■人間情報のマイニング
社会で最も重要な情報は人間に関する情報ですから、データマイニングの本命は人間関係のマイニングだといえるでしょう。mixiのようなSNSの上では人間の交友関係や趣味がかなりわかりますし、積極的に他人の評判を書けるSNSもありますから、ネット上の情報をもとにして、かなり正確に個人の情報を得ることができると考えられます。mixiではまだ高度なデータマイニングは行なっていないようですが、ブログのような公開情報だけを利用してもかなり有用な情報を取得することが可能です。
Cogoloというサイトでは、公開情報から人物情報をマイニングするサービスを提供しています。
Cogoloで「増井俊之」を検索すると、Web上の公開情報をもとにして様々なマイニングを行ない、以下のような結果を表示してくれます。
謎のキーワードも沢山表示されていますが、写真や人脈を含め結構正確にデータマイニングが行なわれていることがわかります。間違った写真などは誰でも修正できるようになっており、自動的なデータマイニング技術と人力パワーをうまく融合して利用できるようになっています。Cogoloの精度はまだまだ充分とはいえませんが、新しいマイニングアルゴリズムや人力パワーを融合することにより、Webの検索が新時代を迎えるかもしれません。