Weave プラットフォームでデータの視覚化を行う

Weave とオープン・データの紹介

Weave は、トレンド・データと地理データを視覚化するための新しいプラットフォームとして、マサチューセッツ大学ローウェル校で開発されました。広範な使用法をサポートする Weave は、初心者と上級ユーザーの両方を対象に作成されています。一般公開されているリポジトリーのデータを視覚化するために Weave を使用する方法を、この記事の実践的な例で詳しく探ってください。

M. Tim Jones, Independent author, Consultant

M. Tim JonesM. Tim Jones は組み込みソフトウェアのエンジニアであり、『Artificial Intelligence: A Systems Approach』、『GNU/Linux Application Programming』(現在、第 2 版です) や『AI Application Programming』(こちらも現在、第 2 版です)、それに『BSD Sockets Programming from a Multilanguage Perspective』などの著者でもあります。技術的な経歴は静止軌道衛星用のカーネル開発から、組み込みシステム・アーキテクチャーやネットワーク・プロトコル開発まで、広範にわたっています。彼はコロラド州ロングモン在住で、Intel に勤務するプラットフォーム・アーキテクトであり、執筆活動も行っています。



2013年 7月 25日

テキストからもっと多くの情報を入手する

テキストから重要な情報や概念を抽出することで、テキストをさらに有効に活用することができます。IBM ビッグ・データ・プラットフォームの先進的なテキスト・アナリティクス機能には、アクセラレーターを使用したツールキット、IDE、宣言型言語 (AQL) が組み込まれています。開発者は AQL を使用して、テキストを構文解析し、検索対象の要素を見つけてその意味を理解し、構造化された形で要素を抽出して他のアプリケーションで使用することができます。先進的なテキスト・アナリティクス機能は、IBM InfoSphere Streams 製品または IBM InfoSphere BigInsights 製品で利用することができます。InfoSphere Streams および InfoSphere BigInsights の詳細を学んでください。

データに含まれる情報を効果的に伝達するには、データを抽象化して、機能的な形にする必要があるだけでなく、見た目にも満足できる形にする必要があります。しかも、私たちが扱っている最近のデータの大きさと複雑さを考えると、抽象化した形はインタラクティブである必要もあります。現在使用できるデータ視覚化ソリューションは数多くありますが、とりわけよく使われるようになってきているのが、Weave (Web-based Analysis and Visualization Environment) です。

Weave は単なる視覚化環境というだけではありません。Weave は、データからインフォグラフィックをレンダリングするだけにとどまらない発想を実現するものです。プロジェクト・リーダーの Georges Grinstein 博士によると、Weave はデータのウィキペディアとして、誰もが既存のデータであらゆるトピックを探索し、そのデータからインフォグラフィックを生成して、データを理解しやすくすることを目標としています。しかも、このプロセスは誰にでも功を奏します。つまり、データ・サイエンティストやエンジニアだけでなく、一般的な Web ベースのアプリケーションに馴染みのある誰にとっても効果があります。

この記事では、オープン・データの背後にある概念を簡単に紹介した後、実際的な例を用いて、オープン・データのコンテキストで Weave 視覚化環境を詳しく探っていきます。

オープンソースとしてのデータ

オープンソースへと移行する傾向は、ソフトウェアとハードウェアだけに限られません。現在、数多くのサイトが、今までは利用することのできなかったデータを一般公開しています。その一例は、Data.gov です。Data.gov は米国連邦政府の Web サイトで、政府機関が作成したデータ・セットをマシンで読みとり可能なデータ・セットとして一般公開しています。別の例には、科学情報および研究結果を提供する米国連邦政府機関のポータル・サイト、science.gov もあります。science.gov のコンテンツは、米国農務省、米国運輸省、米国国立科学財団などの参加機関によって提供されます。国際連合でさえも、内部機関および加盟国からのデータを公開するオープン・データ Web サイトを作っています。

素晴らしいとは言え、完璧ではありません

Data.gov は、データのクリアリングハウスとしては素晴らしい第一歩ですが、Web にありがちな問題を抱えています。私が数々のデータ・セットへのアクセスを試みたところ、該当するデータ・セットにアクセスできなかった場合もあれば、ホスティング・サイトがメンテナンスのためにダウンしたままになっていることもありました。このように、Data.gov サイト自体が不安定な状態です。それはおそらく、IT 関連の問題があるか、このサイトが多用されていることが原因だと考えられます。

Data.gov が有用な方法で進化していけるように、ユーザーとの開かれた対話をするための別個のサイトがあります。ユーザーはこのサイトを通して、Data.gov に対する新しいアイデア (データまたはアプリケーション) を提案したり、他のユーザーからのアイデアを閲覧して賛成/反対を投じたりすることができます。さらに、Data.gov が今後どのように変わっていくかを示すロードマップを見ることもできます。詳細については、「参考文献」を参照してください。

データをサービスとして扱う DaaS (Data as a Service) の動きが盛んになってきているなか、政府や科学機関のデータを公開する新しい例が登場しています。この分野には以下の動きもあります。

  • オープン・アクセス。インターネット上で (データ・セットを含む) 学術出版物を無料で公開するものです。
  • オープン・サイエンス/オープン・リサーチ。学際的研究用のデータ、手法、ツールを公開することにフォーカスしたものです。

オープン・データの動きが始まったのはインターネットが登場する以前のことですが、その範囲はインターネットによって広がり、世界中のユーザーにデータを公開できるようになっています。データを入手できるようにしたことに加え、Weave のようなツールが登場したことにより、ある特定の問題に (そのデータを通じて) 視線を向ける人々の数が増えることで、透明性が高まることになります。


Weave のアーキテクチャー

Weave は Web サービスとして開発されており、クライアントは Adobe Flash 対応のブラウザーから Weave を介してサービスにアクセスするという仕組みになっています。Weave の Web サービスは、アプリケーション・サーバー (Apache Tomcat や Oracle GlassFish Server など) 上の一連のミドルウェアです。Weave が視覚化のために利用するデータはデータ・サーバーに格納されています。現在このデータ・サーバーは MySQL または PostgreSQL で実装できるようになっています。Weave は、ユーザー定義データおよびユーザーによるその他の仕様を使用して視覚化情報を作成し、その視覚化した情報を Flash ベースのグラフィックとしてブラウザー内でレンダリングします。図 1 に、この全体構造を示します。

図 1. Weave の全体構造
Weave の全体構造を示す図

Weave のバックエンドは複数のオペレーティング・システムでサポートされています (これには、Linux および Windows も含まれます)。Weave を使用するには、Flash 対応のブラウザーが必要です。


データ・セットの取得

Data.gov は、クラウド・ベースのデータ配信プラットフォームで、データを表示するためのインタラクティブな方法 (データ・セットの一部を探索する最も簡単な方法) を提供します。アプリケーションからデータ・セットへのアクセス用に、Data.gov では REST (Representational State Transfer) API を提供しています。この記事の例では、ロー・データ・セットにアクセスして Weave にロードする必要があります。

Data.gov のホーム・ページには、このプラットフォームの最新データ・セットのリストが記載され、アプリケーションへのリンク、開発者向けリソースへのリンク、そして ― 最も重要な ― データへのリンクが提供されています。ロー・データ・セットをブラウズするには、「Data (データ)」プルダウン・メニューから「Raw Data (ロー・データ)」を選択して、「Raw Data (ロー・データ)」ページにアクセスします。多種多様なデータは、関連度を基準にソートされます。ビューを変更するには、表示したいデータを保有する機関 (例えば、商務省など) またはデータのカテゴリー (銀行、金融、保険など) を定義します。

私はこのリストを詳細に調べ、最初の例に使用するために「FY09 Education Recipients by State (州別教育費受給者数)」という小さなデータ・セットを選択しました。このデータ・セットは、2009年度 (FY) の米国退役軍人省による教育給付金の利用者数を州ごとに識別するものです。このデータは、URL: https://explore.data.gov/Education/FY-09-Education-Recipients-by-State-/6qaq-tbe6 にあります。

一般に、記載されているデータ・セットのダウンロード・リンクは、データのソース (この例の場合、退役軍人給付管理局) への外部リンクを介しているのが通常です。このデータ・セットは、CSV (Comma-Separated Variable) フォーマットで保管されています。最初の Weave の使用例に従うには、この CSV ファイルをローカル・システムにダウンロードしてください。


Weave の使用方法

Weave のインストールは、もっと単純なものにできるはずであると Weave 開発チームが認めているものの 1 つです。Weave を使用するには、アプリケーション・サーバー、データベース・エンジン、Java 技術、Flash、および Weave ミドルウェアをホストにインストールしなければなりません。開発チームは、Weave のインストール方法を詳しく説明しているガイドを Weave サイトに用意しています (このユーザー・ガイドへのリンクについては、「参考文献」を参照)。インストール作業が億劫というのであれば、Weave 開発チームのサイトで実行される Weave インスタンスを使用することもできます。その場合には、http://oicweave.org にアクセスし、 「Demos (デモ)」 セクションを開きます。画像をクリックすると、ブラウザー内で実行される Weave インスタンスが作成されるので、これを使用してデータの視覚化を開始することができます。このデモにはサンプル・データも組み込まれているため、地理データを視覚化するコンテキストにおいて、より複雑な Weave の機能を確認する優れた手段となります。

図 2 に、Weave の起動時に表示されるウィンドウを示します。ウィンドウには、データをインポートしたり、アクティビティーを再生したりするためのプルダウン・メニューのセットといくつかのアイコンが表示されます。視覚化を作成したり、視覚化の内容に手を加えたりする際には、これらの手段を使用して簡単に、変更内容を取り消したり、やり直したりすることができます。

図 2. Weave の起動 (ブランク・ウィンドウ)
起動時の Weave のスクリーン・キャプチャー

次に、データ・セットのインポートを開始します。それには、「Data (データ)」 -> 「Load my data (マイ・データのロード)」の順にクリックしてインポート・ウィンドウを表示します。この例では、「Load local file (ローカル・ファイルのロード)」オプションを使用してデータ・セットをロードしてください。「Next (次へ)」をクリックすると、データが適切に解析されて「Import Data to Weave (Weave へのデータのインポート)」ウィンドウに表示されます (図 3 を参照)。

図 3. Weave へのデータのインポート
「Import Data to Weave (Weave へのデータのインポート)」ウィンドウのスクリーン・キャプチャー

必要に応じて「一意の ID 列 (Unique Identifier Column)」を変更した後、「Close (閉じる)」をクリックしてデータのインポートを完了します。(Weave で単純化されている機能の 1 つは、URL を使用してデータ・ソースを定義できることです。これにより、データを自動的に取得して Weave にインポートすることができます。ただしこの記事を執筆している時点では、デモ・サイトはエラーとなります。)

データが Weave にインポートされたら、次のステップとして、データの単純なプロットを作成します。「Tools (ツール)」 -> 「Add Scatterplot (散布図の追加)」の順にクリックして、散布図を表示します (ただし、このプロットはまだ皆さんの期待に応えられるようなるものではありません)。垂直軸をクリックして属性を「TOTAL (合計)」に変更した後、「Save & Close (保存して閉じる)」をクリックしてプロットを構成します。この時点で、プロットは図 4 のように表示されます。

図 4. データ・インポートからの単純なプロット
データ・インポートからの単純なプロットのスクリーン・キャプチャー

散布図の中の特定のポイント上にマウスを重ねることで、州の名前とその州が受給する給付金の値がインタラクティブに表示されます。後でわかるように、この便利な機能は、マルチグラフ環境ではさらに力を発揮します。

次に、この散布図を変更するために、プロットをデータのサブセットに絞り込みます。プロットに示されている最初の 6 つの州を選択してください。マウスをデータに重ねると、そのデータが一時的に点線の枠で囲まれます。データを選択すると、プロットには最初の 6 つの州が通常のポイントとして表示され、残りの州のデータはぼかした表示になります。プロット内を右クリックして、「Create subset from selected record(s) (選択したレコードからサブセットを作成する)」をクリックします。すると、プロットは図 5 のような表示になります。

図 5. データのサブセットから作成されたプロット
データのサブセットから作成されたプロットのスクリーン・キャプチャー

このプロットでは、上位 4 つの州をカバーする領域を選択することができます。あるいは、それ以外の場所でも任意の長方形の領域にあるデータを選択することができます。

もう 1 つの単純な例には、過去 7 日間に世界中で発生した M1 以上の地震の情報を記録したデータを使用します。このデータは、URL: https://explore.data.gov/Geography-and-Environment/Worldwide-M1-Earthquakes-Past-7-Days/7tag-iwnu から取得してください。

CSV 形式のデータをダウンロードします。このデータは、データのソース、日時、マグニチュード、場所 (そして取り込む予定のないその他の情報) で構成されます。この例の場合、経度を x 軸、緯度を y 軸とする散布図を要求し、ポイントのサイズが地震のマグニチュードを表すようにも要求しています。また、マグニチュードのデータを表す棒グラフを作成します。このアクションは、Weave の斬新な考えのうちの 1 つを明らかにするもので、以下の図に示されている棒グラフでは、マグニチュードが最大の地震 (この記事を執筆している時点では、オホーツク海で発生したマグニチュード 7.7 の地震) をカーソルで選択していますが、これに該当するサンプル (図 6 の右上に示されている一番大きな丸) が散布図の中でも自動的に強調表示されています。

図 6. 複数のグラフで視覚化された地震データ
複数のグラフで地震データを視覚化する Weave のスクリーン・キャプチャー

このように複数のグラフでデータをインタラクティブにリンクできる機能は、データを詳しく探る上で非常に優れた手段となります。この例は単純なものですが、Weave Web サイトでは、これよりも遥かに複雑な例を見ることができます (地理情報を扱った例もあります)。また、この例では個々の項目が色分けされることにも注目してください。Weave はデータのソースを識別するために、自動的にデータを色分けします (色の設定は簡単に変更することができます)。濃い青のデータ・ポイントは、そのデータのソースが米国であることを示しており、白いサンプルはデータがアラスカ州から収集されたものであることを示しています。

前の例での場合と同じく、あるグラフ内でデータのサブセットを選択して表示し、そのサブセットを変更した場合、関連するすべてのグラフにおいてもデータが変更されます。このようにグラフのデータ表現をリンクできる機能は、他に類を見ない機能であり、特定のサブセットにフォーカスする優れた手段となります。


Weave の今後の展望

データの視覚化を IBM スタイルで

IBM Research と IBM Cognos ソフトウェア・グループがお届けする新手法のデータ視覚化サイト、Many Eyes を調べてください。データをアップロードして、そのデータを視覚化し、自分が発見したことを他のユーザーと話し合うことができます。

Weave はまだベータ版のプラットフォームですが、増加しつつあるユーザーのために、さらに先進的な機能が追加されようとしています。Weave プラットフォームにとって鍵となる課題は、データ視覚化のハードルを下げることです。Weave の操作は、スプレッドシート・ソリューションの操作よりも複雑になる場合があるので (特に、地理データを扱う場合)、Weave の開発者たちがこの重要な目標に注意を払うことを期待します。

現在開発中の興味深い機能の 1 つは、視覚化のコラボレーションです。この機能により、地理的に離れた場所にいる人々が、サード・パーティーのコラボレーション・ツールを使用せずにリアルタイムで視覚化のコラボレーションをすることができるようになります。別の革新的機能としては、地図による視覚化を他の情報と結び付けられるようにする機能もあります。プロジェクト・リーダーによると、この機能は Google マップを他の情報の集合 (文書など) と組み合わせて、視覚化機能を地理的にさまざまな場所に配置されたリソースに拡張する方法となります。

データと、データを視覚化する機能をどちらも自由に使えるようにするという考えは広まりつつあります。Data.gov などのサイトや Weave のようなツールを利用することによって、データをより深く理解できるような新しい方法で関心のあるデータを視覚化し、インタラクティブに判断を下せるようになる日がくることでしょう。そして、いつの日か、Weave が Data.gov やその他のオープン・データ・サイトのコア・テクノロジーとなり、一箇所から簡単にデータにアクセスして視覚化できるようになるはずです。こうした動きはまだ初期段階にありますが、インフォグラフィックの威力を万人にもたらして、オープン・データの価値を高めるには幸先の良いスタートを切っています。

参考文献

学ぶために

  • Weave: 詳細なユーザー・ガイドをはじめ、Weave の Web サイトを調べてください。
  • Data.gov: 米国政府のこの公式サイトは、公的データを一般にアクセス可能にするための次世代プラットフォームです。Data.gov は、データの表示を簡素化するアプリケーションを介してデータを表示するだけでなく、ロー・データ・セットとして表示することも、RESTful な API によってアクセスすることで表示することもできます。Data.gov カタログから利用可能なデータ・セットをブラウズしてください。データのタイプ (ロー・データ、地理データ、グラフ、カレンダーなど) に加え、自分の関心事に基づいて検索をフィルタリングすることができます。
  • Data.gov ダイアログ・サイト: Data.gov を将来に向けて進化させることに関心を持つデータ・ユーザーは、このサイトから Data.gov の進化に協力することができます。このサイトで Data.gov の最新のロードマップを表示して、他のユーザーからの提案を調べてください。また、アイデアに票を投じたり、独自のアイデアを提案したりして、Data.gov の将来的な方向性の定義に協力することもできます。
  • Science.gov: このポータルでは、13 の連邦機関の 55 を超えるデータベースと 2,100 を超える Web サイトにアクセスして、米国政府の科学情報を調べることができます。Data.gov での場合と同じく、検索基準を指定したり、特定の機関を指定したりして、検索対象を絞り込むことができます。
  • SODA (Socrata Open Data API): SODA は、公開データにプログラムによってアクセスするための RESTful な API です。JSON (JavaScript Object Notation)、XML、CSV を含め、いくつかのデータ・フォーマットでデータを抽出することができます。このサイトには、開発者によるブログ、オープン・データ用に作成されているサンプル・アプリケーションのリストに加え、API とその使用法に関する完全なドキュメントも用意されています。
  • 「Creating a Visualization Page in Weave」: Weave の中でデータを操作する方法を説明しているビデオを見てください。
  • オープンデータ: ウィキペディアのオープン・データのトピックでは、その歴史とソースを含め、オープン・データについてわかりやすく説明しています。
  • developerWorks Open source テクニカル・トピックス: オープンソース技術を使用した開発や、オープンソース技術を IBM 製品とともに使用するのに役立つ広範なハウツー情報、ツール、およびプロジェクトの更新を見つけてください。
  • 初心者向けの製品のインストールおよびセットアップから熟練開発者向けの高度な機能に至るまで、さまざまに揃った developerWorks オンデマンド・デモを見てください。
  • Twitter で developerWorks をフォローしてください。

製品や技術を入手するために

  • IBM 製品の評価をご自分に最適な方法で行ってください。評価の方法としては、製品の評価版をダウンロードすることも、オンラインで製品を試してみることも、クラウド環境で製品を使用することもできます。また、SOA Sandbox では、数時間でサービス指向アーキテクチャーの実装方法を効率的に学ぶことができます。

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source
ArticleID=937853
ArticleTitle=Weave プラットフォームでデータの視覚化を行う
publish-date=07252013