データサイエンスラボの取り組み · 点と、言語を統一することである案...

Post on 01-Feb-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

40 ビジネスコミュニケーション 2015 Vol.52 No.6

NTTコミュニケーションズのデータ解析への取り組みとIoTソリューションの提供に向けた技術開発特集 NTTコミュニケーションズのデータ解析への取り組みとIoTソリューションの提供に向けた技術開発特集

全体の流れとしては、独自収集データ及びそれ以外の社内データ等に対してETL*1を行いサーバーで処理可能なサイズ・形に加工して、解析サーバーに格納する。ETLは処理量が大きくなる場合があるため必要に応じてHadoop等の分散処理を行う。本件の成果の一部は、Hadoop

World2011で登壇発表を行っている(http://goo.gl/yC5Bfh)。

DSLではデータ解析のための言語として R言語を用いている。R言語を選択した理由はデータサイエンティストの中で広く利用されている点と、言語を統一することである案件のコードを各種案件に横展開するた め で あ る。 こ れ を 我 々 はReproducible(再利用性)と呼び、最新のデータマイニング技術(時系列予測、相関解析、異常検知等)を

用いたプログラムをデータとは独立に共有している。また、NTT

持株研究所から提供を受けた技術をプレインストールし、N T T独自の最先端技

化することを目的としている。例えば各サービス部やオペレーション部が持っているデータと我々が独自に収集したデータを組み合わせることで新たな発見が期待でき、データのさらなる活用が促進される。技術開発部のDSLメンバがその解析を主に担当しデータ活用を推進している。また、レポート化することで定常的に見ていくべき情報かどうかを検討し、本当に必要な情報を精査する。

DSLでは前節で示した目的を効率よく達成するために OSSの最新技術を組み合わせ Reproducible&

Immutableをテーマに解析基盤を提供している。図 1にそのアーキテクチャを示す。

 

技術開発部 では、全社の意思決定に役立つデータ解析を目指しデータサイエンスラボ(以下 DSL)を運営している。DSLでは主に1.検証のためのデータ解析基盤の提供及びデータの取得、2.データサイエンティストの育成、3.幹部向け及び組織横断のレポート作成という3つの取り組みを行っている。1.のデータ解析基盤に関しては

次節で示し、独自のデータ取得に関しては一例として次章の Probeによる End-End通信品質データの測定で詳しく述べることとする。2.では、業務知識を持った社員に対してDSLの活動を通じて統計や機械学習の知識を習得することでデータサイエンティストして育成することを想定している。そこで技術開発部が運営する社内研修(Bootcamp)を活用した方法とデータを我々の環境に持ち込んで解析に関する相談に乗る方法で業務知識を持った社員が主体的に解析出来るようになることを支援しており、既に各サービス部での利用が進んでいる。最後に3.の取り組みでは、DSL

上にあるデータを活用して組織横断、及び幹部向けの解析を行いレポート

データサイエンスラボの取り組み

共通言語をRに統一ノウハウ・コードを横展開!

持株MD研テキスト 解析エンジン

Reproducible(再利用性) http://gitlab.dsl.nttv6.jp

ETL

異常検知

相関解析 時系列予測 ・ ・ ・

NWフロー(SAMURAI)

Probeデータ

独自収集データ

技開部検証網

幹部レポート or 各サービス部

案件①

案件②

案件③ ・ ・ ・

Immutable(不変性)

図1 DSL解析環境アーキテクチャ

技術開発部 データプラットフォームテクニカルユニット ユニットリーダー /担当課長 植松 幸生

はじめに1

解析検証基盤アーキテクチャ2

NTTコミュニケーションズのデータ解析への取り組みとIoTソリューションの提供に向けた技術開発特集

41ビジネスコミュニケーション 2015 Vol.52 No.6

NTTコミュニケーションズのデータ解析への取り組みとIoTソリューションの提供に向けた技術開発特集

術を利用できるようにしている。さらに、各種案件を管理するためのプロジェクト管理(Redmine)、情報共有のためのチャット(Hipchat)、及び作成したプログラムをデータ更新時や定期実行するための CI*2

(Jenkins、Drone等)のツールもDSL上に配備し、サービス部への定期レポーティング等に活用している。本ツール群は全てディレクトリサ

ービス(LDAP*3)によってユーザー管理がなされており、5月 1日時点で 58ユーザー、87案件が実行されている。また、本環境はコンテナ技術(Docker)で実装されており、データ以外のツール群は随時アップデートされる運用になっている。データ量が膨大な場合やセキュリ

ティ上外部に持ち出せない場合に限り、解析環境を持ち出すことでDSLと同じ解析環境を容易に構築可能である。これを Immutable(不変性)と呼んでいる。我々は Reproducible&Immutable

な解析環境をベンダロックインの無い OSS で構築し、最新技術の目利きとともに、社内各部へ環境の提供を行っている。

本節では次章以降に紹介される技術開発部が収集している IoTデータを題材に解析手順を紹介する。我々は高度な解析を行うケースだ

けでなく、表計算ソフトでも処理可能な可視化レベルの解析でも敢えてRを利用し、データクレンジングや

ETLのノウハウをドキュメント /

プログラムに残すことが重要だと考えている。表計算ソフトを利用すると作業がドキュメント化されないため、何の処理を事前に行ったのかが残らず、Reproducibleとは言えない。我々が今まで扱ってきた案件を見ると、必要な目的に対して、適切なデータを適切に可視化することで解決出来るケースが散見され、コードの再利用を行うことでかなりの案件に対応可能である。また、データサイエンティストは高度な解析が必要な案件に注力することが出来る。本手順例で利用するデータはスマ

ートフォンの電波強度を測定したデータであり、時系列折れ線グラフで可視化するために下記の手順を取る。1.取得データの確認2.データクレンジング3.可視化したいデータの抽出4.可視化まず、データを確認する。元デー

タにはデータ取得時刻、OS バージョン、機種名、機種番号、電波強度(dBm)、送信機の UUID、送信機のMajorID、MinorID というカラムが存在する。次に元データから意味を

持つデータのみを取得するデータクレンジングを実施する。IoTデータはデータ取得の失敗やはずれ値等の多くの不要データが存在する。これを R上で前処理する。具体的にはデータの分布を確認し、必要以上に外れているデータの有無、及び N/

A と呼ばれるデータが取得出来ていないレコードの削除である。前処理後のデータから可視化すべきカラム(時刻、MajorID)のみに限定する。最後に ggplot関数を利用して x軸に時刻、y軸に電波強度を指定すると図 2に示すような可視化が出来る。このように N/A等の処理過程をドキュメントとして残すことでReproducibleな解析となる。

技術開発部ではデータサイエンスラボを運営し、事業運営の意思決定に必要な解析結果の提供による業務の効率化や高度化と解析環境・ノウハウの提供による社員育成を推進している。その中で Reproducible&

Immutableをテーマに解析するソースコードの共有、持株研究所技術のプリインストール等技術開発部ならではのコア技術と OSS中心に解析環境構築を実施、結果として多くのユーザーに活用されるに至った。今後は引き続き新技術の目利きを

行うとともに、高度な解析技術の導入 (特に時系列解析 )、及び DSL環境の活用推進を行っていく。

図2 DSL解析例(IoTデータ)

解析手順例3

まとめ4

*1 ETL:Extract Transform Loadの略でデータを抽出して処理に必要な形に変換すること。*2 CI:Continuoius Integrationの略で定期的ないしデータ変更をトリガーとして処理を自動実行するために利用。*3 LDAP: Lightweight Directory Access Protocolの略でDSLではOpen LDAPを採用。

top related