2016年6月15日と16日の2日間にわたって東京・秋葉原でデータサイエンティストとデータエンジニア向けのコミュニティーイベント「Datapalooza Tokyo」が開催されました。世界各地で開催されているイベントですが、日本で開催されるのは今回が初めて。2日間トータルで1,200名ものエントリーがあり、今注目のSparkや機械学習について学び、データサイエンスに何ができるのかが話し合われました。

G-1 データサイエンスの事業への装着と、利益創出のコンセプト事例

株式会社リクルートライフスタイル 原田 博植氏

原田博植氏

イベントのオープニングを飾るゼネラル・セッションでは、シンクタンク、外資ITベンチャー、リクルートでデータサイエンスの事業を牽引し、2015年の日本経済新聞社の「データサイエンティスト・オブ・ザ・イヤー」を受賞した株式会社リクルートライフスタイルの原田博植氏が講演しました。
一つ目の案件スコープの事例としては、リクルートの人材領域での事例を発表しました。成果報酬型の人材マッチングビジネスを手掛けるリクルートエージェントでは、転職希望者、採用企業、そしてリクルートエージェントの3者それぞれにメリットがある「採用成功方程式」を進化させるために、「これまでの転職市場における内定傾向データを重回帰分析して係数を算出し、求職者様と求人企業様の期待値をバランスすることで、双方の目的である内定の実現確率を向上する」(原田氏)案件を推進したと話します。
また、二つ目の業務コストと納得感の醸成という点では、「データ分析の基盤や運用、分析、施策それぞれに案件への関与度をベースとした評価指標」(原田氏)を設け、三つ目の戦力構想の可視化では「どんな業務でどんな種類のデータとツールが使われているかを整理し、人と組織機能ごとに必須スキルの二次元マップを作り、スキルスコアで目標、現状、GAPを明らかにして、組織単位で属人性を解消することに取り組んだ」(原田氏)と語りました。

 

1-1 ちょっと理解に自信がないなという方に贈る、Hadoop/Sparkのキホン

日本Hadoopユーザー会 濱野 賢一朗(NTTデータ)氏

濱野 賢一朗(NTTデータ)氏

このセッションではHadoopやSparkがどのような仕組みのソフトウェアで、何を実現していて、どこが凄いのか、基本的なところが解説されました。日本Hadoopユーザー会 濱野 賢一朗は講演の冒頭で、大きなデータを読み込む分散ファイルシステムと、処理を分担して行う並列分散処理フレームワークの2つのコンポーネントから構成されているというHadoopの基本的な形態を解説しました。
「大量のデータを分散して処理するMapReduceの処理は選挙開票の作業をイメージすればわかりやすい。N人でやればN倍のスピードで処理できます。しかもデータを分けるMapとデータごとに処理するReduce処理を指定するだけ。Hadoopは並列分散処理の面倒な部分を解決してくれるミドルウェアなんです」(濱野氏)。
ただ、MapReduceでは反復処理や複雑な処理ではI/Oが多くなりすぎます。そこで注目されているのがSpark。濱野氏は「メモリー上にRDDをキャッシュできるので、高速で処理ができる。しかも1つのプロダクトの中にライブラリや周辺ソフトウェアがバンドルされているエコシステム」だとSparkの強みを指摘しました。

   

1-2 PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法

IBM Spark Technology Center Holden karau

Holden Karau

IBM Sparkテクノロジー・センターでプリンシパル・ソフトウェア・エンジニアを務めるHolden Karauが登壇。Python Sparkで、ジョブをより速く、スケーラブルに実行するための方法を解説しました。
分散処理を行うPython Sparkでは、データがシリアライズされてPythonのワーカーに渡されます。「シリアライゼーションを二重で実施するため、すべての処理の負荷が増大し、仮想マシンがPythonのメモリーを制御しないために、コンテナの条件を簡単に超えてしまいます」とKarauは語ります。また、同じキーを持つすべてレコードを単一のレコードにグループ化されたり、シャッフルによって大量のデータが発生するなど大きな問題が引き起こされることもあります。
「こうした問題の救世主となるのがDataFrameです」とKarau。SparkSQLで用いられるDataFrameは抽象的なデータ構造を持ち、ほとんどのデータを仮想マシン内に保存します。Karauは「構造化データまたは半構造化データの処理、それほど複雑でない処理、データのサブセットに対してのみの処理ではパフォーマンスが改善されます」と指摘します。
しかし、Pythonで作成したUDFは例外です。「将来卓越したUDFを提供していきます。ベンチマークのために自社で開発したUDFを是非シェアしてください」とKarauは課題改善のためにユーザーの協力を求めました。

 

1-3 Spark の機械学習の開発と活用の動向

株式会社リクルートテクノロジーズ  アドバンスドテクノロジーラボ  石川 有氏

石川 有氏

Spark 2.0のリリースが目前に控えている現状を受けて、このセッションでは、Apache Sparkの現在の機能、2.0でのアップデートの部分、企業での活用事例などが紹介されました。株式会社リクルートテクノロジーズ の石川 有氏は「Sparkの哲学は3つ。SQLやグラフ処理・機械学習、パッケージを使った処理などが実行できるエンジンであること、ハイレベルなAPIが提供されていること、そして他のシステムと連携がしやすいこと。だからこそさまざまな分析シーンに対応できるのです」と語ります。
石川氏はSparkの4つのコンポーネントを紹介した後、その一つの機械学習のためのMLlibについて解説しました。MLlibは「機械学習の一般的によく利用されるアルゴリズムを網羅して実装し、機械学習を簡単にスケーラブルで実行できるようにするもの」であり、複雑なパイプラインも簡単に定義でき、メンテナンス性も高いことを強調しました。
Spark 2.0における変更点については「主な変更点は2つ。最適化されたコードが実行できる統合APIの改善と、よりストリーミングが簡単になる構造化ストリーミングです」と紹介し、MLlibでも一般化線形モデルやPythonとRのAPIの拡張などの変更があることを説明しました。最後にいくつかの事例を挙げて、ネット系だけでなく金融系でもSparkが利用され始めていることを紹介しました。


1-4 Apache SparkでBluemix IoTのデータを分析する

クリエーションライン株式会社  シニアコンサルタント  木内 満歳氏

木内 満歳氏

クリエーションラインの木内 満歳氏はBluemixを使って、IoTデータを分析するアプリケーションを作成して動かすというデモを行いました。使用したのは、データフロー・オーケストレーションツールのNodeRED、半構造化データJSONデータを格納できるNoSQL データベースのCloudant、さらに温度計のIoTセンサーシミュレータ、Bluemix上で実行できるSpark on Bluemixです。
デモでは温度計のデータをBluemixに送り、それをレシーバーが受け取り、Cloudantに格納しました。温度が変われば、レシーバーが受け取るデータも当然変化します。蓄積したデータはSpark on BluemixとiPython Notebook (Jupyter)で分析しました。「データベースとしてはプラグインで色々と選択できますが、Bluemix上のSparkはCloudantプラグインを組み込んだ形で提供されているので便利です」(木内氏)。デモでは温度が異常値かどうかを検知する値を変えながら、結果の変化をトレースしました。
このプログラムを作るために使われたのがiPython Notebook (Jupyter)です。「これは便利です。Sparkのエンジンと接続されていて、直接プログラムを書くことができます。作成したものを共有したり、ダウンロードすることも簡単です」と木内氏語り、最後に「Bluemixを使って簡便にセンサーデータの蓄積と分析が行えます。センサーがなくてもエミュレータもあります。是非試してみてください」と講演を結びました。

 

3-1 エンジニアが始めるデータサイエンス

日本アイ・ビー・エム株式会社  アナリティクス事業部  田中 裕一

田中 裕一

エンジニアがデータサイエンスを始めるにあたって、どんなスキルが必要となり、どこから取り組めばよいのでしょうか。日本アイ・ビー・エムの田中裕一は「コードを書くところから入るのがわかりやすい」と話し、「まずどんな基盤を選ぶのかが大事。最近ではSparkが注目されています」とSparkを紹介しました。
講演ではIBM Bluemixに用意されているJupyter notebookを使って、Sparkの分析プログラムを作るプロセスを見せながら留意点を解説しました。作ったのはSparkのMLlibで作ったNaive Baseを実装した判定器。「実装する方法は、MLlibとSparkMLの2種類があります。アルゴリズムが違うので注意が必要です」と指摘します。
具体的な操作としては、サンプルデータを作って、特徴抽出を行い、トレーニングして予測モデルを構築します。そこにデータを流し込んで予測して結果を表示させれば、判定機の正解、不正解がわかります。田中はJupyter notebookの使い勝手の良さを強調しながら「どれだけデータサイエンスに注力できる環境を整えるのかが成功の鍵になります」とデータ分析基盤の重要性を語りました。

 

3-2 位置x範囲x時間で人を知る。-行動分析の事例紹介

レイ・フロンティア株式会社 取締役CCO 澤田 典宏氏

澤田典宏氏

記録されたユーザの移動手段、経路、歩数といった行動情報を、人工知能を使ってリアルタイムに分析し、行動を誘発するソリューション「SilentLog Analytics」を提供するレイ・フロンティアの澤田典宏氏は、「行動誘発には人それぞれの時間と場所と属性の理解が重要です」と語ります。
同社が歩行者に対して行っているのが、行動を分析し行動を元に配信情報を個人向けに最適化することで、行動を誘発する取り組みです。行動パターンや属性などからモデルとなる行動を見つけ、その行動を分析してモデルの構築や検証を行っています。また、ドライバーの行動を分析して、適宜安全を促すような警告を配信する試みや、高齢者に歩数を知らせることで健康を誘発する実験などを手掛けています。
「有事の場合に、車や徒歩の状況を分析することで、どんな補助が必要なのか仮説を立てることができます。行動から様々な情報が取得でき、それを分析することで、いろいろな予測ができるようになるんです」と澤田氏。同社は行動分析にIBM BluemixのSparkを活用して、機械学習やオンライン学習を実施し、このソリューションのビジネスでの活用を拡大していくことを目指しています。

   

4-3 Pythonで始めるデータ分析

DATUM STUDIO / PyLadies Tokyo  真嘉比 愛氏

真嘉比 愛氏

データ活用を支援するDATUM STUDIOのデータエンジニアであり、女性のPythonistaのための国際団体の日本支部の設立者兼代表である真嘉比 愛氏は、Pythonを利用してデータ分析を始めたいという人たちを対象に、Pythonで利用できる分析ツールを紹介しました。
「Pythonは構文がシンプルでわかりやすく、無料で使えるライブラリが豊富」と真嘉比氏は、データ分析環境Anacondaを「400以上のライブラリを内包していてお勧めです」と紹介し、Cloud環境として無料で使えるIBM Data Scientist Workbenchと、そこで提供されるJupyter notebookを取り上げました。
真嘉比氏は「Jupyter notebookはデータ分析からレポート作成までカバーしていて、Pythonを含む40以上の言語をサポートしています。すべてを集約できるのがメリットです」と話します。
また、分析のためツールとしてpandasを、描画のツールとしてmatplotlibを紹介し、DataFrameのデータを読み込んで動作の様子を実演しました。
最後に機械学習のためのツールとしてはscikit-learnを推奨し、「Pythonはインターフェイスが統一されていて、ひとつのアルゴリズムを覚えれば転用しやすい利用者に優しいのが特徴です」と結んで、Pythonの利用を呼び掛けました。

 

4-4 IBM Bluemixとデータサイエンス

日本アイ・ビー・エム株式会社 ITスペシャリスト 宋 珠憲

宋珠憲

Data Scientist Workbenchとロードマップ・新機能の発表と、株式会社Sansan様主催のデータ分析コンペの説明

日本アイ・ビー・エム株式会社 Analytics事業部テクニカル・リード 土屋 敦

土屋 敦
土屋 敦氏

IBMのPaaS、Bluemixのコミュニティーを担当する日本アイ・ビー・エムの宋珠憲は「BluemixはCloudFoundaryを基盤にしたオープンソースの塊」だと定義します。SparkやNodeRED、swiftが提供されるだけでなく、独自の開発言語を使えるコミュニティーのビルドパックが用意され、Dockerなどとも連携が取れ、柔軟性の高い開発環境だといえます。
「先週にはIBM Cloud Tools for Swiftをリリース。Xcode、Kitura、OpenWhiskの3つを同時に生成することができます」と宋。サーバーサードのプログラムが作れるモバイル言語として注目されるSwiftだけでなく、Sparkについても「5分で開発環境を構築して、外部からデータを持ってきて分析が可能」(宋)とのことでした。
続いて宋はBluemixのTwitterハッシュタグ検索アプリ、IoT Sensor、Watsonの3つのデモを紹介し、Bluemixが「エンジニアに最強の開発環境を提供するもの」(宋)としてIBM Bluemix User Group(BMXUG)への参加を呼びかけました。
宋の講演に続いて、日本アイ・ビー・エムの土屋敦が登壇。Data Scientist Workbenchのロードマップと新機能を発表するとともに、Sansanが主催するデータ分析コンペ「人口知能は名刺をどこまで解読できるか」を案内しました。このコンペについては主催者であるSansan取締役の常樂諭氏も説明に登場し、力を入れていることが伝わってきました。このコンペの賞金は1位が30万円。7月上旬のフォローアップMeetupで詳細が発表される予定です。


G-2 パネルディスカッション

株式会社イデアラボ 澤井 大樹氏
株式会社オプトホールディング 中林 紀彦氏(モデレーター)
株式会社つみき 鈴木 貴幸氏
DATUM STUDIO株式会社/PyLadies Tokyo 真嘉比 愛氏
株式会社リクルートライフスタイル 原田 博植氏
日本アイ・ビー・エム株式会社 土屋 敦(司会)

パネルディスカッション

最後のセッションでは「データサイエンスの未来―活用して競争力を発揮するために」というテーマでディスカッションが行われました。登壇者はモデレーターを入れて5名。それぞれが異なる立場から見識を披露しました。
最初にテーマとなったのが、データサイエンスは必要かどうかです。映画の口コミメディアを手掛け、データを活用してどう映画業界に貢献できるかを考える経営者である鈴木氏は「1週間以内に見たい映画を10本クリックするユーザはサイトを使い続けてくれることがデータからわかったり、実体験としてビジネスにデータサイエンスは必要だと感じています」と話しました。
どんなところが大変かという問いに対して、事業会社内のデータサイエンティストである原田氏は「どこで成果を出すのかを明示的に見立てること。ひらめきだけで分析業務の稼働を精査せず進めると、ビジネスから離れていく」と指摘します。また、データエンジニアとして活躍する真嘉比氏は「何を達成したいのか具体的なKPIを探し出すこと。
それがないと結果が無駄になることが多い」と指摘。「データありきで成功したケースはほとんどない」と語りました。
うまく成果を上げるポイントについて、心理学の立場から関わる澤井氏は「漠然としたログからどの人が興味を持つのか推定するのは難しい。一定のサンプリングをして、興味のある人がどんなログを持っているのかを分析すれば見えてくるかも」と工学的なアプローチとは違う切り口を示しました。
この他にもデータサイエンティストを社内に抱えるべきなのか、外部の専門家を相談相手とするべきなのかといった体制面、どういう形でデータを収集し利用するのか、どんなスキルが必要なのか、データサイエンティストの評価や年収など、幅広いテーマでディスカッションが展開され、今後の参考となるキーワードが数多く上げられました。