オルタナティブ・ブログ > Alternative 笑門来福 >

ソフトウェアは私たちに幸福をもたらすことができるのか

Google Image Labelerが面白い

»

Googleimagelabeler_1   最近リリースされた「Google Image Labeler」をご存知でしょうか?

 http://images.google.com/imagelabeler

 これは、Google初のゲームです(笑)。いや、目的はゲームじゃないのですが、ゲームにしているところが面白い。

 私もGoogleのイメージ検索を使うことがありますが、関係のないイメージが出てくることは珍しくありません。たとえば、「インフォテリア」を検索してみましょう。

 「インフォテリア」をイメージで検索

Infoteriaimage_1  1ページ目こそすべて関連するイメージが出てきますが、2ページ目には、「Flash MX」の本のイメージが出てきたり、3ページ目には、赤い椅子が出てきたり(緑ならまだわかるが(笑))。かなり健闘しているとは言え、altタグや、近隣テキストを解析した現在の自動判別にはもっと精度が必要だと感じます。

 そして、Googleがイメージ検索の精度を上げるために繰り出した一手が「Google Image Labeler」です。

 「Google Image Labeler」では、表示された画像イメージに自分の連想する言葉を入力していきます。これだけでは、全くつまらない「作業」なのですが、実は、このラベル付け作業を、たまたま同時に接続している世界のどこかの人と2人で行います。そして、2人が合致した単語を入力すると次の画像イメージに進むことができるというものです。そしてこれを90秒以内に何枚クリアできるかというゲームに仕立ててあるのです。そして、世界中の人で競うハイスコアが表示されます。ポイントは、

  • つまらない仕事を、ゲーム化することで楽しくやらせてしまう。しかも世界中の人に(笑)
  • ある特定の1人が連想することに左右されず、少なくとも2人が連想するワードを入手できる(重み付け)

というところ。アイディアに脱帽です。

 ところで、「Google Image Labeler」は他の最近のGoogleアプリケーションと同じようにAjaxをJavaで開発できる「GWT」 (Google Web Toolkit)を使って作成されています。しかし、相手の入力=サーバー側からのリアルタイムなレスポンスは、単にAjaxを使っただけでは実現できません。サーバー側は解析できませんが、非同期通信でAjaxの先を行く技術である「Comet」を使っていると推察しています。

 そう、私が「Google Image Labeler」を本当に面白いと思うのは、そのアイディア以上に、極めてリアルタイム性の高いサーバーからのイベント駆動の仕掛けを入れたアプリケーションだということです。ブラウザアプリケーションの基本は、ブラウザからRequestを出して、そのResponseによって画面を描画すること。Ajaxの場合は、xmlHttpRequestを使ってそれを非同期で行うことができます。しかし、この方法でも、このゲームのように時間を争うようなリアルタイム性のあるアプリケーションは、ポーリングでは間に合わないので、サーバー側からブラウザをイベント駆動するような仕組みが必要となります。

 そして、この問題の解決策として最近米国を中心に注目され始めている技術が「Comet」です。「Comet」がさらに普及すれば、ブラウザベースのWebアプリケーションの幅もさらに大きく広がるでしょう。

Comment(0)