データの抽象化とは

ビッグデータの難しさは、意味のとりにくい初等的なデータが大量にある、というところにつきます。これを解決するためには、データの意味を上手にして、量を減らせば良いでしょう。例として、位置情報データを考えましょう。携帯電話やスマートフォンにはGPSセンサがついていて、数秒単位で位置を記録することができます。これを解析しようとすると、正確な位置と時刻の列がわかり、たとえば移動距離や速度は正確かつ簡単に求められます。しかし、ここから携帯の持ち主が何をしていたか、何の目的で動いているかは、直接的にはわかりません。これがビッグデータの難しさです。つまり、データが抽象的でないのです、とてもとても具体的過ぎるのです。

このような位置情報でも、一つの点だけでなく、点の列を見れば、ある程度の情報を得ることもできます。たとえば長い時間動かなければ、座っていか寝ているかだな、とわかります。ある狭い範囲をぐるぐる移動していれば、店の中にいるか、建物の中で仕事か用事をしているのだろうなと思われます。地図の情報が使えるなら、公園にいるとか、海岸にいるとか、そういうこともわかるでしょう。そこに来た目的も、ある程度推察できます。昔のデータは人の手によって作られていたため、意味がわかりやすいものが多かったです。「買い物に行ってから喫茶店でお茶を飲んで帰った」「駅前のイベントをのぞいたあと、公園を散歩した」など、意味がわかりやすく、このデータから何か、人々の行動に関して統計を取ったり、都市計画を考えたり、マーケティングをするのもやりやすいです。センサーから得た情報にはこのような意味の記述はありませんが、データの特徴を捉えるだけでも、上記のようにある程度の意味はとれてきます。大量の意味のとりにくいデータ、を抽象化して、少量のうっすらと意味を持つデータが作れるのです。

こういう、意味を持つ部分は、他のデータ、他の種類のまとまりにもあります。たとえば買い物データでは、同じようなテイストを持つ商品、同じ分類の商品などのまとまりがありますし、お客さんにも、ライフスタイルや趣味嗜好などでいろいろなまとまりがあります。Webサイトの閲覧履歴データには、訪問者のまとまり、サイトのまとまりがありますし、検索履歴には、検索される言葉のまとまりや、それらがどう変化したか、という意味があります。twitterやLINEなどのSNSでは、ネットワークが密になっている部分は仲良しグループというまとまりですし、情報の広がりがリツイートの動きをまとめたものになります。画像では、線や色が同じところがまとまりや部分的なものになります。こういったデータを抽象化して得られるもの、名前がないので、我々は「データの粒子」とよぶことにしました。

データの粒子を使わずに、生のままのセンサーデータを使ってデータ解析すると、たとえば、「A地点に来た人は、確率0.79%でその後B地点に行く」というようなルール、法則が見つかります。確かにデータから得たものとしては正しいのですが、A地点に来る意味はなんなのか、などわからないことだらけです。どう利用していいのかもわかりません。粒子を使えば、たとえば、このデパートのこの売り場に来た人は、その後公園に行くことが多い、というような形になります。こちらは、売り場で売られているものが公園と関係あるのか、そういうものに興味を持つ人は、公園を散歩するゆとりある人生を送っているのか、とか、いろいろと仮説を立てやすく、裏にあるストーリーを考えやすいです。まわりの状況を見て、それが合ってるかどうかの検証もしやすいでしょう。何かに使うにしても、使いでがありそうです。

このような抽象化、粒子には、粒子化の細かさのレベルがいろいろあるはずです。たとえば位置情報であれば、座ってる、立ってる、歩いている、階段登っている、というレベルから、移動している、部屋の中にいる、というレベル、建物の中にいる、というレベル。この町にいる、仕事している、通勤しているというレベルなどいろいろなレベルがあって、それが階層になっています。特に位置情報などの時間のデータや画像のデータは、この階層の構造がきちんときれいになっています。まず一日の行動が家、通勤、仕事の時間、のように分かれ、電車に乗ってる、駅に歩いている、のように分かれ、信号を待っている、歩道を歩いている、のように分かれ、という具合です。画像も、人が写っててその中に顔があって、目があって、線があって、黒があって、のようにきれいに階層になっています。ところが、買い物データの商品の分類などは、そうそうきれいに分かれるとも限りません。ヨーグルトは、乳製品ですが、同時に健康食品ですし、プリンなどの仲間でもあります。冷蔵食品でもあります。また、ヨーグルトによっては、高級なもの、という分類もあるでしょう。たしかに抽象化された意味を持つまとまりはありますが、それがきれいにわかれるとは限らず、複雑に交わっているものもあります。位置情報のデータでも、気分がいい時間帯、疲れている時間帯、のような副次的な要因のものまで考えれば、交わりは出てくるでしょう。

このように、データから粒子を取り出してデータ解析の準備をすることを、「データ粒子化」といいます。データを粒子化すれば、解析の単位は大量の生データから少量の粒子になり、意味のとりにくい数値は、意味のとりやすいまとまりや動きなどの言葉になり、粒子の関係性からはデータの個々がどのようにつながり関連しているのか、全体がどのようになっているかがわかります。データ粒子化により、データは扱いやすく、わかりやすくなるのです。このプロジェクトでは、このデータ粒子化について研究しています。データ粒子化を精度良く効率良く行う方法、粒子の意味を正しく妥当に推察する方法、粒子を使った上手なデータ解析の方法など、データ粒子にまつわるさまざまなデータ処理技術を開発し、データがよりわかりやすく、初心者でも扱いやすいものにできるようにしていきます。

データがわかりやすくなり、初心者でも簡単に解析できるようになる、そんな日が来たとしたら、きっと多くの企業、床屋さんや八百屋さんも含め、データ解析をするようになるでしょう。データ解析は働く人を助け、大失敗する人、世間からおいて行かれてしまう人などが出にくくなるでしょう。また、公共のデータや自然のデータ、社会のデータを趣味で解析する人も現れてくるでしょう。その人たちはきっと、解析の結果に自分の見立てをくっつけて、いろんな意見を論じ、情報発信していくと思います。今の世の中では、根拠がない故に水掛け論になる話がたくさんあります。外国とのつきあい、社会の変動、教育や医療の質、若者や老人の自殺や犯罪、税金の使われ方、働く環境、政治や政治家。ついつい感情的になり、悪者を作り上げて攻撃したり、意味のない差別や拒絶をしたり。しっかりとデータに基づいた意見を出せば、回避できるものがたくさんあります。データに基づいた意見が出れば、無駄な水掛け論は減り、もっと本質的な議論ができるはずです。未来の世界は、想定外や大失敗が減り、今まで隠れていた問題が一つ一つ解決され、あるいは認知され、人々はSNSなどを通じていまよりも質の高い話し合いをしている、そのようになると思っています。今でも、スポーツの分野は、ファンも含めみなデータをよく見て、的を得た議論をしています。これは、時代が進めば、きちんと訪れる可能性のある、そんな世界なのです。