
現在ICTの世界で、「クラウド」と共に注目されているのが「ビッグデータ」である。例えばインターネットやスマートフォンの普及によって日々多種多様なデータが大量に生成・発信されている。これらビッグデータをビジネスで活用するには、時系列で流れ込んでくる大量データをリアルタイムに、高度解析する技術が必要である。これを実現したのが「Jubatus」である。
今回は、「Jubatus」とはどういった技術なのかを第一部で紹介し、第二部では開発にかける思いや普及に向けた取り組み、研究者像についてNTTの開発担当者に話を聞いた。

ビッグデータを分析することで新たな知見を獲得し、ビジネスで活用するためには分析の早さ、深さも求められる。そのようなニーズに応えようと開発されたのが「Jubatus」である。
検索エンジンやECサイト、ソーシャルメディア等の各種Webサービスが普及したことで、ユーザーの行動履歴・購買履歴などのデータが日々大量に蓄積されるようになった。こうした企業が抱えるビッグデータを分析することで、何かビジネスに役立つ法則やパターンを発見しようとする動きが活発になってきているが、それら分析にリアルタイム性が求められることも多い。例えばECサイトの商品推薦は膨大なユーザーの購買履歴、商品情報からユーザーの関心の高い商品を算出し提示するが、TVに取り上げられるなどで急に人気が出る商品もあり、最新の動向をいち早く反映し推薦を行うことは商機を逃さない上でも重要である。ほかにもネットワークの異常検知や金融サービスの不正利用検知など、処理が遅ければ使い物にならないケースもある。

ビッグデータを処理するための基盤技術としては、Googleが発表した技術を参考にOSSとして開発された「Hadoop(Apache Hadoop)」が主流となっている。しかし「Hadoop」は元来バッチ処理ベースのシステムであり、蓄積されたデータを処理するモデルであるため一度データが蓄積するまで処理が開始できず、素早いレスポンス(応答)が求められるリアルタイム処理には向いていない。
2011年10月に公開された「Jubatus」は、「Hadoop」では実現しづらかった分析を可能にするために開発された、国産のリアルタイム型ビッグデータ分析基盤技術である。

「Jubatus」は、NTTがこれまで蓄積していた大規模分散処理に関するノウハウや技術と、株式会社プリファードインフラストラクチャー(PFI)というベンチャー企業が持つ機械学習技術を活用し、共同で開発に取り組んできた。ちなみに「Jubatus」はチーターの学名にちなんだもので、「Hadoop」よりもリアルタイムで高速な処理の実現を目指すとの思いを込めて名付けられた。
「Jubatus」は、「Hadoop」にはない「リアルタイム処理」「オンライン機械学習」の2点を兼ね備えており、素早いレスポンスが求められる場面でより高度なデータ分析を行うことが可能となっている。また、メールのスパムフィルタ等で活用されている分類機能や、後述のサーバの消費電力推定等で利用できる回帰機能、またレコメンデーション機能に用いられる近傍探索機能といった、世の中で広く用いられているアルゴリズムに対応している。このような特徴を持つ「Jubatus」の活用例を紹介する。
1つ目が、Twitterのリアルタイム分析。現在Twitterでは、1日に5億(注1)ものツイート(つぶやき)が流れている。「Jubatus」ではこのつぶやきを線形分類という機械学習手法を用いリアルタイムに処理することで、「そのつぶやきは何のトピックについての話題なのか(政治なのかスポーツなのか)」「そのつぶやきはどの企業に関するものか」「それをつぶやいているのは男性/女性か、年代はどのくらいか」といったことを自動的に分類することができる。これによって、まさにいま世界中でどのようなことがクチコミで話題になっているかといった、リアルタイムなマーケティング分析が可能となる。

2つ目は、データセンタにおける消費電力推定。通常、サーバの消費電力を測るには、すべてのサーバに電力計を設置する必要があるが、当然これには多くのコストがかかる。これに対し「Jubatus」を活用すれば、「サーバの消費電力とその時のネットワークパケットの間に見られる一定のパターン」について「線形回帰」と呼ばれる分析を行うことで、電力計を付けることなくパケットのパターンを見るだけで消費電力を推定できるようになる。この方法で電力計を設置するコストを抑えながらデータセンタ全体の電力消費をより詳細に把握し、分析することでその利用を効率化させることが可能となる。

このほかにも、検索サイトの連動広告や市場動向予測、災害時の帰宅ルート探索など、さまざまな活用例が想定できる。
「Jubatus」の分析機能は、順次バージョンアップを実施している。第3版では「グラフマイニング」と呼ばれるグラフ構造(点と線で構成されたネットワーク構造図)の中心点や最短経路を抽出できる分析機能を2012年6月にリリースしたほか、第4版では「異常検知(外れ値検知)」といって、与えられたデータの異常な値を検出する機能を2013年1月にリリースした。前者は、例えばソーシャルメディアにおける「誰と誰がつながっていて、誰がハブ(橋渡し役)になっているのか」といったクチコミ経路を分析するのに役立つ。後者は障害検知や不正攻撃検知等に活用することができる。今後も分析機能を増やしていくことで、幅広い場面で活用できるビッグデータ処理基盤に育てていく予定だ。
| バージョン | サポート解析 エンジン |
説明 | 例 |
|---|---|---|---|
| 第1版 | 分類 | 与えられたデータをカテゴリに分類 | スパムメール判定 Twitterのカテゴリ分け |
| 第2版 | 推薦 | 与えられたデータと似ているデータを推薦 | ECサイトの商品お勧め 検索サイトの連動広告 |
| 回帰 | 与えられたデータに対する出力の値を推定 | 消費電力値予測 株価予測 |
|
| 統計 | データの頻度、標準偏差、最大値、最小値などの 統計情報を集計 |
センサー監視 データ異常検知 |
|
| 第3版 | グラフマイニング | 与えられたグラフ構造から中心点や最短経路を抽出 | ソーシャルコミュニティ分析 ネットワーク構造分析 |
| 第4版 | 異常検知(外れ値検知) | 与えられたデータ集合のなかから外れ値(異常値)を検知 | 不正検知、障害検知 |
また、OSSとして一般公開する形で開発を進めており、開発コミュニティの運営にも力を入れている。その一環として「Jubatus」の勉強会を開催している。社外で初めて行った勉強会では、40名の定員に対し100名以上の申し込みがあり、ビッグデータ分析と「Jubatus」に対する関心の高さを感じることができた。今後コミュニティではJubatusに実際に触れながら使い方を覚えるハンズオン形式の勉強会も計画している。興味のある方はぜひ参加していただきたい。
さらに実証実験やビジネス面での展開も行っている。例えば、NTTデータにて2012年12月からサービスを開始した「Twitterデータ提供サービス」では、「Jubatus」を活用して投稿者のプロフィール情報をツイートデータに付与し、プロフィール分析を可能とする機能を提供する予定である。今後も、「Jubatus」だからこそできるビッグデータを活用したビジネス展開が期待されている。
※「Jubatus」の公式サイトはこちら。
注1: 出典については以下を参照