6月14日に弊社のユーザ企業を中心に開催したデータマネジメント情報交換会で「ビッグデータモデリング」の簡易的なワークショップを実施しました。その際に学んだビッグデータモデリングの一部をご紹介します。
従来のデータモデリングは、帳票や画面に現れるデータを素材として、エンティティとエンティティ間の関係およびエンティティに所属するデータ項目を図で表現することでした。帳票や画面を見れば、すでにデータ値を抽象化した結果であるデータ項目名を発見できるので、「データ項目名、データ値」のペアを認識することが可能でした。
たとえば、次のように。
顧客コード:123456
顧客名:データ総研
受注商品コード:DMQ015
お届け希望年月日:20130619
届け先住所:中央区日本橋小伝馬町・・・
データモデリングとは、分析素材から業務の世界を構成する物事(概念)を認識し、表現すべき概念に相応しいエンティティ名やデータ項目名を与えることでした。
さて、ビッグデータの場合、同様のデータモデリングが可能なのでしょうか?
FacebookやTwitterにアップされたテキストや写真を想定してみます。これらのテキストや写真をじっと眺めていてもデータ項目名やエンティティ名を発見できるわけではありません。みなさんもご存じのとおり、これらのテキストは単なる文字の羅列であって、データ項目名など記述されていないからです。つまり、従来のようなデータモデリングはできないというわけです。
単なる「値(文字)の羅列」に意味を与えるのは、読み手の視点です。たとえば、ある食品会社は、「○○ビスケット」という新しい商品を販売し、その評判を膨大な量のテキストから抽出したいと考えます。商品名である「○○ビスケット」が存在するテキストを抽出し、その中で「おいしい」「まずい」「なかなか良い」「まあまあ」などの評判ごとにツイートされた件数を集計します。
読み手であるこの食品会社は、自分が興味を持つ「視点」をデータ項目化して定義します。
商品名:○○ビスケット
評判分類名:おいしい、まずい、なかなか良い、まあまあ
これらのデータ項目が持つ値まで事前に想定して、パターンマッチングすることにより、情報要求である評判分類別ツイート件数を導き出します。
ここまでの流れを整理すると、次ような手順になります。
- 情報要求をいったん文章で表現してみる。
- その文章からデータ項目名とデータ値のペアを作る。このとき、検索する際に使うデータ値と、検索結果として得られるデータ項目名(ここでは評判分類別ツイート件数)を明らかにする。
- 分析対象のテキスト内に、情報要求に対応するデータ値が見つかるか検索する。
- 検索結果を集計あるいは人間が判断しながらまとめて、当初の情報要求に対する答えを得る。
ここまでお読みいただいて、ビッグデータモデリング(上記1,2)の部分が、従来のデータモデリングと異なるアプローチであることがおわかりいただけたと思います。従来のデータモデリングが分析対象の素材からデータ構造を明らかにしたのに対し、ビッグデータモデリングは、情報要求からデータ構造および検索に使えるデータ値を明らかにし、非構造化データに対する意味的な検索を可能にする作業なのです。非構造化データに対しては、ますます概念モデルの重要性が認知されることでしょう。