7
FUJITSU. 64, 1, p. 52-58 01, 201352 あらまし 著者らは,携帯機器のGPSデータや家庭,企業の様々な種類のセンサデータ,またブ ログやtwitterなどのソーシャルメディアから,人や社会の知恵や行動,環境変化などに 関する様々な情報を分析・活用する大規模データ分析技術の研究開発を進めている。そ の実現のためには,ソーシャルメディアのような内容や書き方に関する多様性が非常に 大きいデータや,センサデータのように個別の情報量は少ないけれどもリアルタイムで 大量に集まるデータといった,これまでビジネスインテリジェンスなどの従来の分析技 術が扱ってきた企業内のビジネス情報とは全く異なる性質を持つデータを扱うための新 しい分析技術が必要となる。 本稿では,それらの分析技術の中から,半構造データストリーム処理技術,大規模ネッ トワークデータ分析技術,および二分決定グラフ(BDDBinary Decision Diagram)を 用いた組合せ最適化技術の3種類の技術について紹介する。 Abstract This paper introduces technology for analyzing a large amount of data so as to realize convergence services. Convergence services extract new business value from various types of data that represent the behavior of societies and individual persons. We need to analyze a large amount of data such as social media including blogs, twitter, SNS, and data from various types of sensors such as those in cell phones and automobiles, and environmental sensors. These types of data are very different from business data that traditional analytic technologies deal with in business intelligence applications. In this paper, we show three new analytic technologies for such data: fast and exible stream data processing technology, large-network data analysis, and optimization with a binary decision diagram. 湯上伸弘   浅井達哉   丸橋弘治   樋口博之 コンバージェンスサービスを支える 大規模データ分析技術 Advanced Analytics of Big Data for Convergence Services

コンバージェンスサービスを支える 大規模データ分 …...FUJITSU. 64, 1( 01, 2013) 53 コンバージェンスサービスを支える大規模データ分析技術

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: コンバージェンスサービスを支える 大規模データ分 …...FUJITSU. 64, 1( 01, 2013) 53 コンバージェンスサービスを支える大規模データ分析技術

FUJITSU. 64, 1, p. 52-58 (01, 2013)52

あ ら ま し

著者らは,携帯機器のGPSデータや家庭,企業の様々な種類のセンサデータ,またブログやtwitterなどのソーシャルメディアから,人や社会の知恵や行動,環境変化などに関する様々な情報を分析・活用する大規模データ分析技術の研究開発を進めている。そ

の実現のためには,ソーシャルメディアのような内容や書き方に関する多様性が非常に

大きいデータや,センサデータのように個別の情報量は少ないけれどもリアルタイムで

大量に集まるデータといった,これまでビジネスインテリジェンスなどの従来の分析技

術が扱ってきた企業内のビジネス情報とは全く異なる性質を持つデータを扱うための新

しい分析技術が必要となる。

本稿では,それらの分析技術の中から,半構造データストリーム処理技術,大規模ネッ

トワークデータ分析技術,および二分決定グラフ(BDD:Binary Decision Diagram)を用いた組合せ最適化技術の3種類の技術について紹介する。

Abstract

This paper introduces technology for analyzing a large amount of data so as to realize convergence services. Convergence services extract new business value from various types of data that represent the behavior of societies and individual persons. We need to analyze a large amount of data such as social media including blogs, twitter, SNS, and data from various types of sensors such as those in cell phones and automobiles, and environmental sensors. These types of data are very different from business data that traditional analytic technologies deal with in business intelligence applications. In this paper, we show three new analytic technologies for such data: fast and flexible stream data processing technology, large-network data analysis, and optimization with a binary decision diagram.

● 湯上伸弘   ● 浅井達哉   ● 丸橋弘治   ● 樋口博之

コンバージェンスサービスを支える大規模データ分析技術

Advanced Analytics of Big Data for Convergence Services

Page 2: コンバージェンスサービスを支える 大規模データ分 …...FUJITSU. 64, 1( 01, 2013) 53 コンバージェンスサービスを支える大規模データ分析技術

FUJITSU. 64, 1 (01, 2013) 53

コンバージェンスサービスを支える大規模データ分析技術

たない半構造データストリームに対して,高速に時系列処理を行うことは困難であった。このような課題を解決すべく,著者らは,半構造データストリーム処理エンジンXeSTR(2)を開発した。本章では,XeSTRの技術的特徴とその応用例を紹介する。

XeSTRの基本アーキテクチャを図-1に示す。XeSTRは,入力された半構造データストリームをレコード順に受け取り,逐次的に構造分析を行いながら,高速に関係演算を実行する。各種関係演算(集計・連結・ソート・グループ化)は,直近に受け取ったレコード数または時間幅で定義されるウィンドウ上で実行される。問合せ式は,半構造データの標準問合せ言語であるXQueryのサブセットで記述する。データストリームにおけるレコードの順序は,その発生順序(または到着順序)を表し,各レコードに割り振られている時刻は,その発生時刻(または到着時刻)を表すと考えられる。したがって,ウィンドウを用いた関係演算により,データストリームの時間変化の分析や,突発的に発生する異常状態の検出などが可能になる。以下,図-1に示したXeSTRの主要コンポーネントを説明する。(1) 構造分析レコードごとに異なる構造を持つ,多種多様な

半構造データストリームの構造分析を行い,関係演算に必要な値を抽出する。著者らが独自に開発した,木構造パターンの高速照合オートマトン技術(3)により,インデックスを構築することなく,1スキャンで高速に構造分析と値の抽出を実行することができる。(2) ウィンドウ制御関係演算の実行対象となるレコード集合を管理

ま え が き

著者らは,携帯機器のGPSデータや気象データなどの各種センサデータや,FacebookやTwitterといったソーシャルメディアから,人や社会の行動,環境の変化に関する多種多様なデータを,企業活動や社会インフラの運用に取り入れたり,新しい価値を生み出したりすることで,より良い社会を実現するための分析技術の研究(1)を行っている。その実現のためには,上記のデータを単に集計,可視化するだけでなく,データ間の関係を分析するとともに,将来を予測し,その予測結果に基づいてビジネス活動や社会インフラの運営を最適化することが必要となる。本稿では,大量のセンサデータを高速に集計・結合するための半構造データストリーム処理技術,大規模なネットワークデータから様々な関係性やその変化を見つけるための分析技術,および二分決定グラフ(BDD:Binary Decision Diagram)と呼ばれる新しいデータ構造を使うことで高速に最適化を行うための技術を紹介する。

半構造データストリーム処理技術

近年,各種機器やセンサの動作ログ,電子取引の記録やネット店舗の購買履歴,カーナビや携帯電話の位置情報,SNS(Social Networking Service)の書込みなどの膨大なデータが生み出されている。これらのデータは,単にデータ量が膨大なだけでなく,多種多様な形式を持つデータが,時間変化しながら,高速に生成され続けるという性質を持つ。従来のデータ処理技術では,RDBのテーブルやCSVデータのような固定スキーマを持

ま え が き

半構造データストリーム処理技術

図-1 XeSTRの基本アーキテクチャ

XQuery問合せ式

木パターン照合オートマトン

半構造データ

ストリーム

半構造データ

ストリーム

半構造データ

ストリーム

半構造データ

ストリーム構造分析 ウィンドウ

制御 関係演算

FBT

Page 3: コンバージェンスサービスを支える 大規模データ分 …...FUJITSU. 64, 1( 01, 2013) 53 コンバージェンスサービスを支える大規模データ分析技術

FUJITSU. 64, 1 (01, 2013)54

コンバージェンスサービスを支える大規模データ分析技術

点の雨量データを1分ごとに観測しており,データ量は非常に大きく,それをリアルタイムで処理することは簡単ではない。大雨に起因する災害は,短期間での集中豪雨による災害と,長期間降り続く雨による災害の2種類があり,どちらも警戒する必要がある。XeSTRは,どちらのケースもリアルタイムに検知し,アラートを上げることができる。短期間の集中豪雨の検知では,あらかじめウィンドウ幅を定め(例えば3時間),ウィンドウを1分ごとにスライドさせながら,積算雨量が一定値(例えば100 mm)を超えたらアラートを上げればよい(図-3)。また,長期間降り続く雨の検知では,ウィンドウ幅(降雨時間幅)をあらかじめ設定することは困難だが,XeSTRの論理ウィンドウを用いて,降り始めからの積算雨量を1分ごとに出力し,一定

する。扱えるウィンドウの種類として,タプルウィンドウ(ウィンドウ長をレコード数で設定)と時間ウィンドウ(ウィンドウ長を時間幅で設定)がある。ウィンドウは,任意幅でスライドさせることが可能である。更に,XeSTR独自の論理ウィンドウ制御により,ウィンドウの開始/終了条件をXQuery形式の論理式で指定することもできる。(3) 関係演算ウィンドウ内のデータに対して,各種関係演算(集計・連結・ソート・グループ化)を実行する。これらの関係演算の実行には,FBT(Full Blossom Tree)と呼ばれる効率良いデータ格納構造を用いている。FBTは,ウィンドウがスライドした際に,現在のウィンドウにおける全てのレコードを再計算するのではなく,一つ前のウィンドウとの差分データのみを計算することにより,冗長な計算を回避する。以上の技術的特徴より,特にウィンドウ幅が長いケースにおいて,XeSTRは既存技術より高速に動作する。XeSTRと,オープンソースのCEP(Complex Event Processing)として有名なEsperとの性能比較結果を図-2に示す。この図から,ウィンドウ幅が50万レコードのとき,XeSTRはEsperより100倍以上高速に動作していることが分かる。このように,処理性能がウィンドウ幅に依存せず一定であることもXeSTRの利点の一つである。次に,XeSTRのユースケースとして,X-band

MPレーダによる雨量のデータストリームから,防災に役立つ情報をリアルタイムに検知する例を紹介する。X-band MPレーダでは,日本の数百万地 図-2 XeSTRとEsperの性能比較

図-3 XeSTRによる集中豪雨の検知

0

5

10

15

20

25

0 250 000 500 000

XeSTR

Esper

ウィンドウ幅(レコード数)

実行時間(

s)

1/144倍

6:00 7:00 8:00 9:00

時間5:00 10:00

雨量(mm)

10

20

30

40

0

1分ごとにスライド

4:00

積算雨量28 mm

積算雨量75 mm

積算雨量105 mm

危険!

3時間幅のウィンドウ

Page 4: コンバージェンスサービスを支える 大規模データ分 …...FUJITSU. 64, 1( 01, 2013) 53 コンバージェンスサービスを支える大規模データ分析技術

FUJITSU. 64, 1 (01, 2013) 55

コンバージェンスサービスを支える大規模データ分析技術

値を超えたらアラートを上げればよい(図-4)。特に,後者のユースケースにおける論理ウィンドウは,長期間(1日~数週間)にわたることが想定されるため,処理性能がウィンドウ幅に依存しないXeSTRの利点を発揮できる。

大規模ネットワークデータ分析技術

大規模なネットワークデータから,様々な種類の特徴的な構造を検出する技術が注目されるようになってきた。例えば,ソーシャルメディアは,人や書込み,話題などを頂点とする巨大なネットワークと考えることができるが,ソーシャルメディア内の特徴的なコミュニティや話題を抽出し,それを使って社会の中の意識の変化やそれに基づく行動の変化を検出することができる。また,クラウド環境の浸透に伴い,これまでにない大規模な通信ネットワークから,不正アクセスなどの異常を高速に検知する技術が求められている。しかし,大規模ネットワークデータからの異常検知は,データ量の膨大さや問題の複雑さによる計算コストが大きな課題となり,データマイニング研究のコミュニティでも最先端のトピックスとなっている。このような状況を踏まえ,著者らは大規模ネットワークデータの分析技術,特にネットワーク中のほかの部分と比較して,相互にリンクで結ばれているノードの比率が高い「密な」部分ネットワークやそれらとの接続関係がほかとは異なる部分ネットワークの検出技術の研究開発に取り組んでいる。このような部分ネットワークは,ソーシャ

大規模ネットワークデータ分析技術

ルメディアにおけるコミュニティや話題,通信ネットワークにおけるサブネット,およびそれらの間の関係に対応する重要な構造と考えられる。しかし,例えばソーシャルメディアにおける参加者の関係の分析や世界中の計算機の間の通信データからの不正検出などでは,数百万ないしはそれ以上の数のノードから成る大規模ネットワークデータを調べる必要があり,全ての部分ネットワークを調べることは,計算量の面から現実的ではない。著者らが米国カーネギーメロン大学と共同で開発した大規模ネットワークデータ分析技術では,ネットワーク全体を低次元空間に射影することにより,全ての特徴的な部分ネットワークの特徴量の分布を考慮しながら,全体と比較して密な部分ネットワークを高速に検知する。(4) ここで,低次元空間への射影は,ノード間にリンクがあれば1,なければ0でネットワークを表現した行列(隣接行列)を,特異ベクトルと呼ばれるベクトルに射影する。特異ベクトルはノード数の次元を持つベクトルであり,各次元の値は,ネットワークデータ全体の構造を反映した値となることが知られている。大雑把には,「密な」部分ネットワークの構成ノードに対応する次元同士は,近い値を持つ。この性質を利用して,各次元の値の分布を分析することにより,特徴的な部分ネットワークを検知する。大規模な通信ネットワークにおける通信履歴を本手法で分析した結果を図-5および図-6に示す。図-5の例では,通信ネットワークのデータに対し,特異ベクトルの値のバーストを検出することによ

図-4 XeSTRによる長期間降り続く雨の検知

時間

雨量(mm)

9/112:00

10

20

30

40

0

1分ごとにウィンドウを拡張

9/10:00

積算雨量20 mm

積算雨量100 mm

積算雨量200 mm

危険!

ウィンドウ開始位置

(雨の降り始め)

9/20:00

9/212:00

9/30:00

9/312:00

9/40:00

9/412:00

積算雨量140 mm

積算雨量180 mm

Page 5: コンバージェンスサービスを支える 大規模データ分 …...FUJITSU. 64, 1( 01, 2013) 53 コンバージェンスサービスを支える大規模データ分析技術

FUJITSU. 64, 1 (01, 2013)56

コンバージェンスサービスを支える大規模データ分析技術

なお,大規模ネットワークデータにおいては,ノード間の関係性の有無だけでなく,関係性の種類を考える必要がある場合も多い。例えば,ソーシャルメディアでは,人と書込みをノードとしたネットワークにおいて,それぞれの辺を多種類の話題に対応付けることができる。また,通信ネットワークでは,送信元・送信先ホストをノードとした場合,辺には多種類のポート番号が対応付けられる。更に言えば,「誰が,誰に,どのように」という3次元の関連だけでなく,より多次元の関連としてのネットワークデータも考えることができる。この場合には,テンソル分解と呼ばれるアルゴリズムにより,同様の異常検知が可能である。今後,これらの技術が適用できる実問題の範囲

り,大多数の部分ネットワークの構成ノード数分布から外れたノード(送信元ホスト)集合を含む部分ネットワークの検知に成功している。更に,図-6に示した例では,通信ネットワークのデータに対し,二つの特異ベクトルの値によって全ノード(送信元ホスト)をプロットしたときに現れる,ほかから分離された直線状の分布を検出することにより,ほかとは異なる振舞いをしている送信元ホスト集合を含む部分ネットワークの検知に成功している。この場合,これらの送信元ホストは,二つの「密な」部分ネットワークにまたがって存在するノード集合である。著者らは,このような直線状の分布を画像処理技術を応用して自動的に検出する技術を開発した。(5)

図-5 部分ネットワーク検知の例

図-6 直線状分布検出による部分ネットワーク検知

送信元ホスト数

0

100

10-50

10-100

10-150

50 100 150

第1特異ベクトル値

送信元ホスト(代表)

送信先ホスト

aaa.bbb.111.111

aaa.bbb.222.222

aaa.bbb.333.333

aaa.bbb.444.444

aaa.bbb.555.555

aaa.bbb.666.666

ccc.ddd.111.111

ccc.ddd.333.333

ccc.ddd.444.444

ccc.ddd.222.222

eee.fff.111.111

eee.fff.222.222

eee.fff.333.333

正規化第

2特異ベクトル値

正規化第1特異ベクトル値

送信元ホスト(代表)

ポート番号

ggg.hhh.111.111

iii.jjj.111.111

kkk.lll.111.111

aaa.bbb.111.111

ccc.ddd.111.111

eee.fff.111.111

mmm.nnn.111.111

mmm.nnn.222.222

mmm.nnn.333.333

mmm.nnn.444.444

ooo.ppp.111.111

53

57391

38312

32976

Page 6: コンバージェンスサービスを支える 大規模データ分 …...FUJITSU. 64, 1( 01, 2013) 53 コンバージェンスサービスを支える大規模データ分析技術

FUJITSU. 64, 1 (01, 2013) 57

コンバージェンスサービスを支える大規模データ分析技術

まで主にLSI設計向けのCADツールやデータマイニングにおける頻出パターン発見の分野で使われてきた。組合せ最適化の観点から見ると,各選択肢を採用するかどうかを論理変数として,選択肢の組合せが満足すべき制約条件に相当するBDDを生成することができれば,可能な選択肢の組合せを全て列挙したことになり,組合せ最適化問題を非常に高速に解くことができる。制約条件に相当するBDDを生成することは一般には難しいが,新しいBDDの構築法であるフロンティア法は,これまでのBDDの構築法と全く異なるものであり,対象となる問題は限られるものの,非常に高速に組合せ最適化問題を解くためのBDDを効率的に生成することができる。(7)

このような背景のもと,著者らは,LSI CAD分野で培ってきたBDDの実用化技術や新しい技術であるフロンティア法を,コンバージェンスサービスにおける分析などに適用する研究を進めている。例えば,大量のセンサデータから得られる観測値とセンサの位置情報を集計して分析し,人が今一番集まりつつある場所や消費電力量が大きい場所を見つける場合,通常は対象となる地域をあらかじめ決められた適当なサイズで網目状に分割し,分割された個々の領域(メッシュ)ごとに観測値を集計する。しかしこの方法では,観測値が高いデータの分布が二つの領域にまたがっているとうまくデータの塊を捉えられない。逆に事前にメッシュへの分割を行わず自由な領域を選べるようにすると,選ぶ候補となる領域の数は無限となる。著者らは,擬似的に自由に領域が選べるよう,あらかじめ全体領域を細かいメッシュに区切った上で,メッシュの任意の組合せで領域を表すアプローチについて研究を行っている。その際,領域が連結なものに限定するなど,メッシュの組合せに制約を与える必要があるが,組合せの数が膨大になるためBDDにより効率化を図る。このような制約は通常,問題ごとに固定であることが多いため,最初に一度だけBDDを作ればそれを繰り返し利用できる。集計値の一番大きい領域を求める処理は,BDDの各変数に対して,対応するメッシュでの集計値を重みとして与えることにより,BDDのグラフの

を広げていくとともに,ネットワークの時間変化のダイナミクスを考慮に入れた発展を試みる予定である。

二分決定グラフ(BDD)による組合せ最適化

組合せ最適化は,様々な選択肢の組合せの中で与えられた制約条件を全て満足しつつ,コストが最適な組合せを選択する問題である。組合せ最適化は,配送計画や生産計画といった古くからある問題から,エネルギーマネジメントシステムの最適制御などの比較的新しい問題まで,広い分野で必要となる,コンバージェンスサービスを実現するための重要な基盤技術の一つである。本章では,膨大な組合せを効率的に処理する技術であるBDD(6)を用いた組合せ最適化について紹介する。

BDDは本来,論理関数を効率的に処理するために提案されたもので,図-7(a)に示すような論理関数の有向グラフによる表現である。これは,シャノンの展開,すなわち,ある論理変数に,0,1の値をそれぞれ代入して二つの部分関数を得る手続きを再帰的に繰り返すことにより得られる二分決定木{図-7(b)}を縮約したものである。ある入力に対して,BDDの根(一番上の節点)から入力変数の値に従って順番に枝をたどれば値が0か1の葉(四角の形の節点)に到達する。その葉の値が論理関数の値を表す。図-7から分かるように,BDDは通常の表現と比較して少ない節点数でコンパクトに表現することができる。更に,BDDで表現された論理関数間のAND,OR,あるいはNOTといった論理演算もBDDのままで効率的に実行することができる。この性質を使って,BDDはこれ

二分決定グラフ(BDD)による組合せ最適化

図-7 二分決定グラフ

0

1xb xb xb

xc xc xc xcxc

xb

xa xa

10

0 1

0 01

f

1

(a)二分決定グラフ(BDD) (b)二分決定木

01

10

0 1

0

f

100 1 1 0

1

00 11010 1

Page 7: コンバージェンスサービスを支える 大規模データ分 …...FUJITSU. 64, 1( 01, 2013) 53 コンバージェンスサービスを支える大規模データ分析技術

FUJITSU. 64, 1 (01, 2013)58

コンバージェンスサービスを支える大規模データ分析技術

参 考 文 献

(1) 湯上伸弘ほか:インテリジェントソサエティを支える分析技術.FUJITSU,Vol.62,No.5,p.475-481 (2011).

(2) 浅井達哉ほか:大規模半構造データからの高速な知識発見システム―効率良い木構造パターンの発見と照

合―.電子情報通信学会誌,Vol.95,No.6,p.490-497 (2012).

(3) T. Asai et al.:Chimera: Stream-oriented XML Filtering/Querying Engine.15th Int’l Conf. on Database Systems for Advanced Applications (DASFAA2010),LNCS5982,p.380-391(2010).

(4) K. Maruhashi et al.:MultiAspectForensics:Pattern Mining on Large-Scale Heterogeneous Networks with Tensor Analysis.ASONAM 2011,p.203-210(2011).

(5) K. Maruhashi et al.:EigenDiagnostics:Spotting Connection Patterns and Outliers in Large Graphs.ICDM Workshops 2010,p.1328-1337(2010).

(6) S. B. Akers:Binary Decision Diagrams.IEEE Trans. Comput.,Vol.C-27,p.509-516(1978).

(7) D. E. Knuth:The Art of Computer Programming.Vol.4,Fascicle 1,Addison-Wesley(2009).

根から1の値を持つ葉への最小重み経路の探索問題を解くことで求められる。この処理はBDDの節点数に比例する時間で高速に行える。センサデータは短い時間単位で次々と送られてくるが,その対応は,それぞれの時刻において,まずメッシュごとの集計を行い,それをBDDの重みに設定するだけでよく,データが更新されてもBDD自体の再構築の必要がない。そのため,高速性を保ちつつ,領域選択の自由度も高いアプローチであると考えている。実験結果では,10の60乗以上の数の連結制約領域数を生成した上で,データに応じた最適領域探索が77秒(Xeon 3.47 GHz,メモリ8 Gバイト)で行え,高速に組合せ最適化が行えることが確認できている。

む  す  び

本稿では,ビッグデータを活用し,コンバージェンスサービスを実現するための新しい技術として,半構造データストリーム処理技術,大規模ネットワークデータの分析技術,BDDを用いた最適化技術の3種類の技術を紹介した。今後は,エネルギーマネジメントや交通,マーケティングといった様々な分野への適用を通して,これらの分野に共通した基盤技術の確立を目指して研究開発を進めていく予定である。

む  す  び

浅井達哉(あさい たつや)

ソフトウェアシステム研究所インテリジェントテクノロジ研究部 所属現在,半構造データ処理および時空間データ処理の研究に従事。

樋口博之(ひぐち ひろゆき)

ITシステム研究所デザインイノベーション研究部 所属現在,組合せ最適化の研究に従事。

丸橋弘治(まるはし こうじ)

ソフトウェアシステム研究所インテリジェントテクノロジ研究部 所属現在,データマイニングや機械学習の研究に従事。

著 者 紹 介

湯上伸弘(ゆがみ のぶひろ)

ソフトウェアシステム研究所インテリジェントテクノロジ研究部 所属現在,データマイニング技術および最適化技術などの研究に従事。