98
Ruby / R / HTML5をいた データ解析・データビジュアライゼーション 2015416 株式会社博報堂DYメディアパートナーズ データドリブンメディアマーケティングセンター メディアビジネス開発センター 篠 裕之 データサイエンティスト協会 曜勉強会 (C) HAKUHODO DY MEDIA PARTNERS 2015 1

データサイエンティスト協会 木曜勉強会#07『Ruby、R、HTML5を用いたデータ解析・データビジュアライゼーション』

Embed Size (px)

Citation preview

Ruby R HTML5を用いたデータ解析データビジュアライゼーション

2015年年4月16日株式会社博報堂DYメディアパートナーズ

データドリブンメディアマーケティングセンター兼

メディアビジネス開発センター

篠田 裕之

データサイエンティスト協会emsp 木曜勉強会

(C) HAKUHODO DY MEDIA PARTNERS 2015 1

R

HiveQL

Python13 13 Ruby

Processing13 13 threejs13 13 tableau

統 計

デ ー タ 集 計

デ ー タ 収 集

デ ー タ 可 視 化

2 (C) HAKUHODO DY MEDIA PARTNERS 2015

Main13 Skill

p13 r13 i13 v13 a13 t13 e13 13 1

LINEの履履歴の可視化

3 (C) HAKUHODO DY MEDIA PARTNERS 2015

p13 r13 i13 v13 a13 t13 e13 13 2

amazonの購入履履歴を可視化

4 (C) HAKUHODO DY MEDIA PARTNERS 2015

5 (C) HAKUHODO DY MEDIA PARTNERS 2015

広告会社でプログラミング

プログラミングが主に必要な部署その他必要に応じて

クリエイティブ

メディアプランニング

ダイレクトマーケティング

研究開発

メディア開発

マーケティング

私が主に担当している領領域

順不不同

私が主に担当している領領域

(C) HAKUHODO DY MEDIA PARTNERS 2015 6

本資料料のカバー範囲

データ収集 前処理理 データ

解析 モデリング 可視化

ただしアクセス解析広告反応データの話ではありません

ただしTableauによるマーケティングダッシュボードの話ではありません

ただしCVに効く変数の分析の話ではありません

主に解説 主に解説 主に解説

では一体何なのか各章で解説します

(C) HAKUHODO DY MEDIA PARTNERS 2015 7

本題に入る前にhellip

データ収集 前処理理 データ

解析 モデリング 可視化データ解析の必要性

なぜデータ解析が必要なのか

(C) HAKUHODO DY MEDIA PARTNERS 2015 8

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

ldquo大きな見見落落としや論論理理の穴がないかをチェックする有効な方法rdquo

ldquo数字を実際に意識識して(生活者が)行行動しているということではなく『あなたが自分の好きなウーロン茶茶を飲んでいる』ということを間違いなく記述するために数字を使って記録したものにすぎないrdquo

ldquo常識識でも十分理理解納得できるがモデルの力力を借りずにこれを一発で思いつくのは難しいrdquo

Case1 データ収集『口コミデータを収集する』

9 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

R

HiveQL

Python13 13 Ruby

Processing13 13 threejs13 13 tableau

統 計

デ ー タ 集 計

デ ー タ 収 集

デ ー タ 可 視 化

2 (C) HAKUHODO DY MEDIA PARTNERS 2015

Main13 Skill

p13 r13 i13 v13 a13 t13 e13 13 1

LINEの履履歴の可視化

3 (C) HAKUHODO DY MEDIA PARTNERS 2015

p13 r13 i13 v13 a13 t13 e13 13 2

amazonの購入履履歴を可視化

4 (C) HAKUHODO DY MEDIA PARTNERS 2015

5 (C) HAKUHODO DY MEDIA PARTNERS 2015

広告会社でプログラミング

プログラミングが主に必要な部署その他必要に応じて

クリエイティブ

メディアプランニング

ダイレクトマーケティング

研究開発

メディア開発

マーケティング

私が主に担当している領領域

順不不同

私が主に担当している領領域

(C) HAKUHODO DY MEDIA PARTNERS 2015 6

本資料料のカバー範囲

データ収集 前処理理 データ

解析 モデリング 可視化

ただしアクセス解析広告反応データの話ではありません

ただしTableauによるマーケティングダッシュボードの話ではありません

ただしCVに効く変数の分析の話ではありません

主に解説 主に解説 主に解説

では一体何なのか各章で解説します

(C) HAKUHODO DY MEDIA PARTNERS 2015 7

本題に入る前にhellip

データ収集 前処理理 データ

解析 モデリング 可視化データ解析の必要性

なぜデータ解析が必要なのか

(C) HAKUHODO DY MEDIA PARTNERS 2015 8

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

ldquo大きな見見落落としや論論理理の穴がないかをチェックする有効な方法rdquo

ldquo数字を実際に意識識して(生活者が)行行動しているということではなく『あなたが自分の好きなウーロン茶茶を飲んでいる』ということを間違いなく記述するために数字を使って記録したものにすぎないrdquo

ldquo常識識でも十分理理解納得できるがモデルの力力を借りずにこれを一発で思いつくのは難しいrdquo

Case1 データ収集『口コミデータを収集する』

9 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

p13 r13 i13 v13 a13 t13 e13 13 1

LINEの履履歴の可視化

3 (C) HAKUHODO DY MEDIA PARTNERS 2015

p13 r13 i13 v13 a13 t13 e13 13 2

amazonの購入履履歴を可視化

4 (C) HAKUHODO DY MEDIA PARTNERS 2015

5 (C) HAKUHODO DY MEDIA PARTNERS 2015

広告会社でプログラミング

プログラミングが主に必要な部署その他必要に応じて

クリエイティブ

メディアプランニング

ダイレクトマーケティング

研究開発

メディア開発

マーケティング

私が主に担当している領領域

順不不同

私が主に担当している領領域

(C) HAKUHODO DY MEDIA PARTNERS 2015 6

本資料料のカバー範囲

データ収集 前処理理 データ

解析 モデリング 可視化

ただしアクセス解析広告反応データの話ではありません

ただしTableauによるマーケティングダッシュボードの話ではありません

ただしCVに効く変数の分析の話ではありません

主に解説 主に解説 主に解説

では一体何なのか各章で解説します

(C) HAKUHODO DY MEDIA PARTNERS 2015 7

本題に入る前にhellip

データ収集 前処理理 データ

解析 モデリング 可視化データ解析の必要性

なぜデータ解析が必要なのか

(C) HAKUHODO DY MEDIA PARTNERS 2015 8

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

ldquo大きな見見落落としや論論理理の穴がないかをチェックする有効な方法rdquo

ldquo数字を実際に意識識して(生活者が)行行動しているということではなく『あなたが自分の好きなウーロン茶茶を飲んでいる』ということを間違いなく記述するために数字を使って記録したものにすぎないrdquo

ldquo常識識でも十分理理解納得できるがモデルの力力を借りずにこれを一発で思いつくのは難しいrdquo

Case1 データ収集『口コミデータを収集する』

9 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

p13 r13 i13 v13 a13 t13 e13 13 2

amazonの購入履履歴を可視化

4 (C) HAKUHODO DY MEDIA PARTNERS 2015

5 (C) HAKUHODO DY MEDIA PARTNERS 2015

広告会社でプログラミング

プログラミングが主に必要な部署その他必要に応じて

クリエイティブ

メディアプランニング

ダイレクトマーケティング

研究開発

メディア開発

マーケティング

私が主に担当している領領域

順不不同

私が主に担当している領領域

(C) HAKUHODO DY MEDIA PARTNERS 2015 6

本資料料のカバー範囲

データ収集 前処理理 データ

解析 モデリング 可視化

ただしアクセス解析広告反応データの話ではありません

ただしTableauによるマーケティングダッシュボードの話ではありません

ただしCVに効く変数の分析の話ではありません

主に解説 主に解説 主に解説

では一体何なのか各章で解説します

(C) HAKUHODO DY MEDIA PARTNERS 2015 7

本題に入る前にhellip

データ収集 前処理理 データ

解析 モデリング 可視化データ解析の必要性

なぜデータ解析が必要なのか

(C) HAKUHODO DY MEDIA PARTNERS 2015 8

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

ldquo大きな見見落落としや論論理理の穴がないかをチェックする有効な方法rdquo

ldquo数字を実際に意識識して(生活者が)行行動しているということではなく『あなたが自分の好きなウーロン茶茶を飲んでいる』ということを間違いなく記述するために数字を使って記録したものにすぎないrdquo

ldquo常識識でも十分理理解納得できるがモデルの力力を借りずにこれを一発で思いつくのは難しいrdquo

Case1 データ収集『口コミデータを収集する』

9 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

5 (C) HAKUHODO DY MEDIA PARTNERS 2015

広告会社でプログラミング

プログラミングが主に必要な部署その他必要に応じて

クリエイティブ

メディアプランニング

ダイレクトマーケティング

研究開発

メディア開発

マーケティング

私が主に担当している領領域

順不不同

私が主に担当している領領域

(C) HAKUHODO DY MEDIA PARTNERS 2015 6

本資料料のカバー範囲

データ収集 前処理理 データ

解析 モデリング 可視化

ただしアクセス解析広告反応データの話ではありません

ただしTableauによるマーケティングダッシュボードの話ではありません

ただしCVに効く変数の分析の話ではありません

主に解説 主に解説 主に解説

では一体何なのか各章で解説します

(C) HAKUHODO DY MEDIA PARTNERS 2015 7

本題に入る前にhellip

データ収集 前処理理 データ

解析 モデリング 可視化データ解析の必要性

なぜデータ解析が必要なのか

(C) HAKUHODO DY MEDIA PARTNERS 2015 8

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

ldquo大きな見見落落としや論論理理の穴がないかをチェックする有効な方法rdquo

ldquo数字を実際に意識識して(生活者が)行行動しているということではなく『あなたが自分の好きなウーロン茶茶を飲んでいる』ということを間違いなく記述するために数字を使って記録したものにすぎないrdquo

ldquo常識識でも十分理理解納得できるがモデルの力力を借りずにこれを一発で思いつくのは難しいrdquo

Case1 データ収集『口コミデータを収集する』

9 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

(C) HAKUHODO DY MEDIA PARTNERS 2015 6

本資料料のカバー範囲

データ収集 前処理理 データ

解析 モデリング 可視化

ただしアクセス解析広告反応データの話ではありません

ただしTableauによるマーケティングダッシュボードの話ではありません

ただしCVに効く変数の分析の話ではありません

主に解説 主に解説 主に解説

では一体何なのか各章で解説します

(C) HAKUHODO DY MEDIA PARTNERS 2015 7

本題に入る前にhellip

データ収集 前処理理 データ

解析 モデリング 可視化データ解析の必要性

なぜデータ解析が必要なのか

(C) HAKUHODO DY MEDIA PARTNERS 2015 8

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

ldquo大きな見見落落としや論論理理の穴がないかをチェックする有効な方法rdquo

ldquo数字を実際に意識識して(生活者が)行行動しているということではなく『あなたが自分の好きなウーロン茶茶を飲んでいる』ということを間違いなく記述するために数字を使って記録したものにすぎないrdquo

ldquo常識識でも十分理理解納得できるがモデルの力力を借りずにこれを一発で思いつくのは難しいrdquo

Case1 データ収集『口コミデータを収集する』

9 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

(C) HAKUHODO DY MEDIA PARTNERS 2015 7

本題に入る前にhellip

データ収集 前処理理 データ

解析 モデリング 可視化データ解析の必要性

なぜデータ解析が必要なのか

(C) HAKUHODO DY MEDIA PARTNERS 2015 8

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

ldquo大きな見見落落としや論論理理の穴がないかをチェックする有効な方法rdquo

ldquo数字を実際に意識識して(生活者が)行行動しているということではなく『あなたが自分の好きなウーロン茶茶を飲んでいる』ということを間違いなく記述するために数字を使って記録したものにすぎないrdquo

ldquo常識識でも十分理理解納得できるがモデルの力力を借りずにこれを一発で思いつくのは難しいrdquo

Case1 データ収集『口コミデータを収集する』

9 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

なぜデータ解析が必要なのか

(C) HAKUHODO DY MEDIA PARTNERS 2015 8

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

ldquo大きな見見落落としや論論理理の穴がないかをチェックする有効な方法rdquo

ldquo数字を実際に意識識して(生活者が)行行動しているということではなく『あなたが自分の好きなウーロン茶茶を飲んでいる』ということを間違いなく記述するために数字を使って記録したものにすぎないrdquo

ldquo常識識でも十分理理解納得できるがモデルの力力を借りずにこれを一発で思いつくのは難しいrdquo

Case1 データ収集『口コミデータを収集する』

9 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1 データ収集『口コミデータを収集する』

9 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1

データ収集『口コミデータを収集する』

10 (C) HAKUHODO DY MEDIA PARTNERS 2015

口コミなどのソーシャル情報は各種ツールで(一部)収集することもできますが分析手法に合わせて柔軟に自由なフォーマットでデータ収集したいときに

Ruby ldquonokogirirdquo + rdquoanemonerdquo

再帰読み込み機能(ループ対象ページ階層指定も可)

データ収集解析可

クローリング間隔指定

構文パーサー クローラー

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1

データ収集『口コミデータを収集する』

11 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトからある言葉葉を含むページのみのURL一覧を取得しアクセス解析ツールで分析したい

wwwpg113 wwwpg213 wwwpg313 wwwpg413 wwwpg513

特定のword

このページのアクセス状況を分析しサイト全体の傾向と比較など

巨大口コミサイトで膨大にURLが存在するとする

特定のword

特定のword

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1

データ収集『口コミデータを収集する』

12 (C) HAKUHODO DY MEDIA PARTNERS 2015

たとえば対象サイトの口コミからある言葉葉と同時に書き込まれるワード(共起語)を時系列列で分析したい

クチコミ1

クチコミ2

クチコミ3

クチコミ4

クチコミ5

このサイトに含まれる条件をみたす口コミ一覧から特定ワードの共起語を時系列列で分析

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1

データ収集『口コミデータを収集する』

13 (C) HAKUHODO DY MEDIA PARTNERS 2015

anemoneのインストール

必要なパッケージをロード(適宜) -- codingutf-8 -- require anemone require nokogiri require kconv require csv

gem install anemone

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1

データ収集『口コミデータを収集する』

14 (C) HAKUHODO DY MEDIA PARTNERS 2015

対象となるURLを設定し再帰呼び出し(階層指定可)

ループ対象となるページを絞りたい場合は上記ループ中で正規表現で特定の文字列列を含むサブドメインなどを指定

urls = [httpjp] anemonecrawl(urlsdepth_limit =gt 1) do |anemone|

anemoneon_pages_like(r[month=d+]) do |page|

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1

データ収集『口コミデータを収集する』

15 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理

たとえば下記のような要素からldquo日時rdquordquoタイトルrdquordquoユーザ名rdquo を抜き出してcsvで書き出したい場合

action-box rounded

新規書き込み

2015416 2003

「科学技術が発達しすぎて不不安」mirandora13

近年年の科学技術の発展には目を見見張るものがhellipemsp 続きを読む

h2

title

user

新規書き込み

2015416 1952

「遺伝子検査やってみたいですか」

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1

データ収集『口コミデータを収集する』

16 (C) HAKUHODO DY MEDIA PARTNERS 2015

あとはブログの抜き出したい箇所に応じて正規表現で抜き出すかあるいはdiv要素であればnokogiriで処理理chompemsp は改行行を削除stripemsp は先頭や末尾の空白を削除 gsubemsp は文字列列を置換する tosjisemsp は文字コードを変換

CSVopen(amazoncsvwb) do |csv| csv ltlt [datetitlelsquouser] url = httpswww page = agentget(url) html =NokogiriHTML(pagebodynilShift-JIS) if htmlcss(spanitem-title)textlength == 0 then break else puts url htmlsearch(div[class=action-box rounded])each_with_indexmap do |boxi| date = boxcss(lsquoh2rsquo)textchompstripgsub(ldquo新規書き込み ) tosjis title = boxcss(span title)textchompstriptosjis user = boxcss(divuser)textchompstriptosjis csv ltlt [datetitleuser] end end end

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1

データ収集『口コミデータを収集する』

17 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case1

データ収集『口コミデータを収集する』

18 (C) HAKUHODO DY MEDIA PARTNERS 2015

補足1抽出したい要素がうまくdiv要素で指定できないときrarr特定の文字列列で正規表現で抽出date = pagebodytoutf8scan       (rltfont size=2 face=verdana color=blackgt(+)ltfontgt)

補足2メタ文字のエスケープrarr正規表現で除去したい文字列列中にメタ文字が有る場合エスケープ

補足3文字のエンコードrarr anemonenokogiri処理理まわりで一度度はエンコードがうまくいかずemsp 「EncodingUndefinedConversionError」などに出くわすhellipthis_article = this_articleencode(              EncodingSJIS              invalid =gt replace              undef =gt replace)

this_article = articles[num]textchompstripgsub              (lt(||[^])gt )

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case2 データ収集『心拍数データを収集する』

19 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case2

データ収集『心拍数データを収集する』

20 (C) HAKUHODO DY MEDIA PARTNERS 2015

近年年arduinoなどで使用できる心拍数センサが安価で手に入るが特別な装置を使わずウェブカメラ経由でウェブアプリなどを通して心拍数データを収集する方法を考える

web camera + web RTC

ウェブカメラのみで可能(特別な装置不不要)

HTML5でjavascriptベースで実装可能なweb RTCを使用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case2

データ収集『心拍数データを収集する』

21 (C) HAKUHODO DY MEDIA PARTNERS 2015

心拍数は指などの映像から得られるldquo指の先端の血中の酸素濃度度の変化rdquoから推測可能

指の先端の血中の酸素濃度度の変化によって「赤色光と赤外光の吸光度度が異異なるのでセンサーで透過光や反射光を測定して分析する」(wikiより)ことによりピーク値を検出することで心拍数を測定可

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case2

データ収集『心拍数データを収集する』

22 (C) HAKUHODO DY MEDIA PARTNERS 2015

WebRTCはW3Cによって標準化されているブラウザでリアルタイムなコミュニケーションを可能にするAPI

要はウェブカメラを用いたライブチャットなどを簡単に作れる

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case2

データ収集『心拍数データを収集する』

23 (C) HAKUHODO DY MEDIA PARTNERS 2015

まずはWebRTCからの映像取得(1) ユーザにカメラやマイクなどのメディアデバイス使用許可を尋ねる(2) getUserMediaでメディアソース取得 emsp 第一引数メディアソースに関する記述(必須)emsp 第二引数メディアソース取得が成功した場合の処理理(必須)emsp 第三引数エラー表示オプション(オプション)

navigatorgetUserMedia = navigatorgetUserMedia ||                        navigatorwebkitGetUserMedia ||                        navigatormozGetUserMedia ||                        navigatormsGetUserMedia windowURL = windowURL || windowwebkitURL if (navigatorgetUserMedia) alert(no camera) else    navigatorgetUserMedia(       audiotruevideotrue        function(stream)           var video = documentgetElementById(myVideo)           videosrc = URLcreateObjectURL(stream)              function(error) consoleerror(error)    )

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case2

データ収集『心拍数データを収集する』

24 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算(1) 映像のフレームごとにcanvasに静止画書き出し(2) 静止画imageの中から赤色チャンネルの明度度を計算emsp 各ピクセルの赤色チャンネルを合計しピクセル数で割るemsp canvasの各ピクセル情報は左上から順にRGBアルファのデータ単位で格納(data[0]〜~data[3]までで1セットdata[4]〜~data[7]で次のピクセル情報の1セット)(3) 上記をタイムスタンプ付きのコンソールログとして書き出す

canvasの各ピクセル情報

data[0]13 data[1]13 data[2]13 data[3]13 1ピクセル目

R13 G13 B13 α13

data[4]13 data[5]13 data[6]13 data[7]13 2ピクセル目

R13 G13 B13 α13

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case2

データ収集『心拍数データを収集する』

25 (C) HAKUHODO DY MEDIA PARTNERS 2015

得られた映像から赤色チャンネルの明度度を計算

function getRedChannel() requestAnimationFrame(getRedChannel)    var video = documentgetElementById(myVideo)    var buffer = documentcreateElement(canvas)    var bufferContext = buffergetContext(2d)    bufferwidth = videowidth    bufferheight = videoheight    bufferContextdrawImage(video 0 0videowidthvideoheight)    var imagedata =        bufferContextgetImageData(0 0 videowidth videoheight)    var red_channel=0    for (var i = 0 i lt imagedatadatalength i += 4)       red_channel += imagedatadata[i+0]        consolelog(red_channel + red_channel(imagedatadatalength))

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case2

データ収集『心拍数データを収集する』

26 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case 3 データ可視化『Jリーグ』

27 (C) HAKUHODO DY MEDIA PARTNERS 2015

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

28 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

データスタジアム社のデータ提供協力力のもと2013年年度度のJ1リーグの全選手のプレイデータを解析可視化プレイの特徴をオープンデータと掛け合わせる

自己組織化マップ + Threejs

選手のプレイパラメータを2次元に圧縮選手間の類似を表現

オープンデータという軸を加え3次元で可視化

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case3

データ可視化『Jリーグ』

今回使用したデータスタジアム社のデータ

どの選手がどれくらいドリブルしたかどんなシュートを打って何本枠内に飛んだか空中戦にはどれくらい競り勝ったかパスはどちらの方向にどれくらい出してどれくらい成功したかなどのデータ

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

30 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

やりたかったことプレイデータから全選手をグルーピングするとともに

プレイ特徴とプレイ以外の様々なオープンデータの関係を可視化

(たとえば検索索数)各プレイ特徴とどのような関係があるか

プレイ特徴から選手をグルーピング

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

31 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

自動的に近くにマッピングしていく手法

(1) 任意のユニット数を決める

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

32 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法(2) 各ユニットごとの初期値をランダムに設定

ユニット中の波は多次元のパラメータemsp わかりやすいように疑似的に色で表現

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

33 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(3) 各入力力値にもっとも近いユニットを探してマッピング

入力力値(今回は選手ごとの パラメータ)

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

34 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(4) マッピングした際に周辺値を入力力値で上書き

入力力値(今回は選手ごとの パラメータ)

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

35 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(5) 同様の作業を各入力力値で繰り返す入力力値(今回は選手ごとの パラメータ)

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

36 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ多次元の情報をもとに前情報無しに類似しているものを

近くにマッピングしていく手法

(6) 全ての入力力値のマッピングを終えたらemsp それを初期値として任意の回数学習し直し

前情報を知らなくても自ずとrdquo 組織化rdquoされていく

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

37 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップ追記

ランダムに毎回結果(位置)が変わるため関係のみに意味があるさまざまな解釈ができる柔軟性が魅力力

主成分分析は主成分因子に表される情報のみ記述可能寄与率率率で何割の情報を表しているかわかるが表現できない情報は無視一方自己組織化マップは原理理上すべての情報を細かく表現できる

クラスタ分析は非線形なデータの分類に不不向きより高度度な分類には自己組織化マップの方が適している自己組織化マップをntimes1のアウトプットにするとクラスタ分析的なn分類が可能

自己組織化マップの特徴(何が嬉しいのか)

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

38 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップのRでの実装方法ライブラリデータ読み込みlibrary(som) jdatalt-readcsv(ldquojleaguecsvrdquoheader=T)

標準化[ ]の中で標準化したい列列番号を指定byrow=Fで全体ではなく列列ごとに平均0分散1に

n_jdatalt-normalize(jdata[214]byrow=F)

出力力 xdimとydimで出力力層の配置 topolで出力力形式指定(=rdquorectrdquoで格子状の出力力=rdquohexardquoで蜂の巣)

asom lt- som(n_adataxdim=10ydim=10topol=rdquorectrdquo)

プロットplot(asom)

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

39 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

40 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

実際の結果

FWは近くにマッピングされているがその中でもプレイ特徴でさらに分離離

前田とズラタンが近い

川又と豊田が近い

原口と玉田が近い

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

41 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

ThreejsWebGLcanvassvgCSS3Dをサポートしたブラウザ用の3D描画ライブラリjavascriptを用いてプログラミング可

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

42 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換自己組織化マップの各データのユニット位置結果をcsv出力力asom$visual

x y

中村 俊輔 0 0

中澤 佑二 0 9

富澤 清太郎 0 6

榎本 哲也 6 9

栗原 勇蔵 0 9

小林 祐三 0 3

天野 貴史 9 6

中町 公祐 0 4

端戸 仁 9 3

齋藤 学 1 0

兵藤 慎剛 0 0

奈良輪 雄太 9 6

佐藤 優平 9 4

ファビオ 8 7

013 113 213 313 413 513 613 713 813 913 013 113 213 313 413 513 613 713 813 913

csv出力力 イメージ

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

43 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejs前準備

var SCREEN_WIDTH=1500 var SCREEN_HEIGHT=750 renderer = new THREECSS3DRenderer() renderersetSize(SCREEN_WIDTHSCREEN_HEIGHT) documentgetElementById(container) appendChild(rendererdomElement) var camera=new THREEPerspectiveCamera (45SCREEN_WIDTHSCREEN_HEIGHT110000) var scene=new THREEScene() sceneadd(camera)

3Dを描画するサイズを指定

レンダラを指定

html内の3D描画div位置を指定

camera位置を指定

シーンを定義

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

44 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

自己組織化マップの結果をThreejsへ変換threejsemsp 実際にはcsvファイルを自動で変換

var member_165 = new THREECSS3DObject (documentgetElementById(member_165)) member_165positionset(03500) member_165rotationx += 0 MathPI180 sceneadd(member_165)

XユニットYユニットの座標(任意に設定)

ltdiv id=member_165 class=ldquoplayergt    ltimg src=imgplayerpnggt ltdivgt

html

Threejsオブジェクトの宣言

シーンに追加

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

45 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case3

データ可視化『Jリーグ』

demo

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case 4 データ可視化『神戸市観光』

46 (C) HAKUHODO DY MEDIA PARTNERS 2015

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

47 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市観光客増加のため潜在層のウェブ行行動移動履履歴データを分析それらをデータフュージョンしクラスタごとの神戸市での行行動を可視化

DMP + processing

DMPを用いて様々なウェブ行行動を一元管理理

クラスタごとに生成したシミュレーションモデルにより人々の神戸市内での観光状況を可視化

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

48 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMPとはデータマーケティングのためのデータをオンライン上のCookieで格納する箱

DMP(Data Management Platform)

DMP

会員情報

広告クリック閲覧コンテンツ ソーシャル

広告接触

趣味嗜好

閲覧履履歴

1st13 Party13 Data

自社データ

サービス利利用履履歴

2nd13 Party13 Data

広告データ3rd13 Party13 Data

第三者データ

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

49 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMP(Data Management Platform)

DMP

スポットごとの神戸市観光ページ

rarrサイト来訪者のemsp デモグラ興味をemsp 推計

3rd13 Party13 Data

第三者データ

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

50 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

神戸市様が保有する観光サイト閲覧者がデモグラごとに普段どのような検索索をしているかどのようなサイトを閲覧しているか分析

DMPと移動履履歴データの統合

(例例)クラスタA関東男性30代

(例例)クラスタA関東男性30代

≒データフュージョン

限られたモニタでのデモグラごとの移動履履歴データ

(推計での)デモグラごとのウェブ閲覧検索索履履歴

検索索

ウェブ閲覧

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

51 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

MITメディアラボで開発されたビジュアルデザインのためのJAVAベースのプログラミング言語 (wikiより)

Processing

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

52 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化

Arima13

Rokko13

Kobe_port13

Sannomiya13

Kitano13

Suma13

(1) デモグラごとのDMPデータ移動履履歴からemsp emsp おおよそのシミュレーションモデル(どこに行行って何に興味が有るか)を作成(2) 各デモグラごとに発生頻度度を計算実際の分布に合わせて各デモグラを生成(3) デモグラごとに色分け(男性は青女女性は赤年年齢によって色分け)(4) (1)で生成されたモデルに従ってスポット間を移動emsp emsp そこで興味が有ると思われること(検索索ワードより)を表示

カフェ

デート

買い物食事

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

53 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 現在地(移動中の各時点ごとの) float location_x float location_y 居住地(シミュレーションの出発地点) float address_x float address_y デモグラタイプ(目的地巡回行行動その場所に求めるもの) float type 目的地 float next_dist Location[] dist = new Location[n]

DMP移動履履歴に基づいてシミュレーション

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

54 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

DMP+移動履履歴データをProcessingで可視化class Tourist 続き void drawtourist() strokeWeight(1) if(type ==1) stroke(99184255) fill(135206255140) else if(type ==2)

線の太さ

線の色塗りの色

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

55 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 4

データ可視化『神戸市観光』

demo

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case 5 データ可視化『Darvish』

56 (C) HAKUHODO DY MEDIA PARTNERS 2015

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

57 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

データスタジアム社のデータ提供協力力のもとDarvishが2013年年に投げたボールの全データを可視化サウンド化

Threejs + Web Audio API

データから音を自動生成

可視化サウンド化によりDarvishの投球のリズムを体感

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

58 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ダルビッシュが2013年年に投げた1年年間の球種球速結果のデータ

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

59 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

さらに球種ごとの縦揺れ横揺れのデータ

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

60 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

ldquo速度度rdquoを周波数(音の高さ)ldquo球種rdquoを音波(音の種類)にマッピング

音テーブル 球速 to 周波数変換

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

61 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio APIHTML5による動的に音を生成処理理するためのJavascript API

プラグイン不不要でブラウザのみで高機能な音声処理理が可能外部音声読み込みの他Javascriptのみで音を生成することもできる

AudioContext

基本構成

Oscillator Effect Destination

APIアクセスのためのインスタンス(枠組み)

サウンド出力力エフェクトサウンド入力力

connect connect

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

62 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 5

データ可視化『Darvish』

Web Audio API

var eg = audioctxcreateGain() var osc = audioctxcreateOscillator() oscconnect(eg) egconnect(audioctxdestination)

var audioctx = new AudioContext()

新しいコンテキストインスタンスを生成

入出力力と接続

音量量 eggainvalue =04 高さ oscfrequencyvalue = 1500 波形 var type = 2 osctype = [sinesquaresawtoothtriangle][type]

音を生成(音量量高さ波形)

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

63 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 5

データ可視化『Darvish』

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case 6 データ可視化『生活定点』

64 (C) HAKUHODO DY MEDIA PARTNERS 2015

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

65 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

博報堂生活総合研究所が2年年おきに実施しているrdquo生活定点rdquo過去20年年間の生活定点を様々なデータと掛け合わせて可視化

形態素解析 + アソシエーション分析

生活定点に含まれている設問と似た内容の記事をクローリング

記事中に含まれているワードを形態素解析

該当記事閲覧者が普段見見ているサイトをアソシエーション分析

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

66 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

seikatsusokenjpteiten2014

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

67 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

68 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データの面白さはldquo過去20年年間の時系列列データrdquoとrdquo似てるかもグラフrdquo

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

69 (C) HAKUHODO DY MEDIA PARTNERS 2015

DMPはldquo今現在の人々の詳細を把握できるrdquoデータ

普段の検索索QampASNS具体的にはどんなことが気になっているのか

普段の閲覧サイトその人は普段どのようなメディアに接しているのか

「社会意識識」現代の科学技術は進歩しすぎていて不不安に思う

Case6

データ可視化『生活定点』

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

70 (C) HAKUHODO DY MEDIA PARTNERS 2015

生活定点データにDMPデータを掛け合わせて分析ビジュアライズ

199813 200013 200213 200413 200613 200813 201013 DMPデータ

生活者のldquo今rdquo を詳細に捉えるデータ

生活定点データ生活者のldquo時系列列推移rdquoを捉えるデータ

Case6

データ可視化『生活定点』

やりたいこと

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

71 (C) HAKUHODO DY MEDIA PARTNERS 2015

199813 200013 200213 200413 200613 200813 201013

Case6

データ可視化『生活定点』

形態素解析該当設問に似た記事に含まれるワード

アソシエーション分析普段の閲覧サイト

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

72 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

形態素解析

Case6

データ可視化『生活定点』

辞書や文法ルールなどを用いて対象文章を形態素(意味をもつ最小品詞単位)に分解して解析する自然言語処理理

教科書などで良良くある例例

すもももももももものうち名詞 助詞 名詞 助詞 名詞 助詞 名詞

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

73 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

Rによる形態素解析rdquoRMeCabrdquo

Case6

データ可視化『生活定点』

オープンソース形態素解析エンジンのMeCabをR上で実行行できるパッケージ

パッケージ読み込みlibrary(RMeCab)

N-‐‑‒gramを出す場合textlt-NgramDF(ldquoRsampletxtrdquotype=1pos=rdquo名詞rdquoN=3)

n-‐‑‒gramとは連続する文字ないし形態素品詞をペアにした頻度度情報type=0で文字単位type=1で形態素原型type=2で品詞情報単位posで抽出する品詞を指定(カンマ区切切りで複数指定も可能)emsp pos = c(ldquo名詞rdquordquo動詞rdquordquo助詞rdquo)デフォルトはN=2のバイグラムN=3とすると3つの語の連続

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

74 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析の結果

バイグラム科学 技術クローン 人間技術 開発巨大 化遺伝子 操作プラス マイナス技術 モラル技術 獲得技術 発達バイオテクノロジー 技術人類 知恵人類 進化個人 的技術 プラス技術 マイナス技術 社会

Term Info1 Info2 Freq技術 名詞 一般 66 人間 名詞 一般 49 進化 名詞 サ変接続 32 科学 名詞 一般 26 人類 名詞 一般 18 本能 名詞 一般 16 生物 名詞 一般 16 環境 名詞 一般 15 社会 名詞 一般 15 プラス 名詞 一般 14 これ 名詞 代名詞 14 遺伝子 名詞 一般 12 クローン 名詞 一般 11 モラル 名詞 一般 11 知恵 名詞 一般 11

出現頻度度

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

75 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

形態素解析からワードをマッピングネットワークグラフデータに変換そのままやるとごちゃごちゃするので頻度度で制限かけるとよい

ネットワーク結果をHTML5(SVG)でトレースデモグラごとに

library(igraph) netlt-graphdataframe(text[text$Freq gt 2])plot(net)

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

76 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case2 KAO

アソシエーション分析

下記3指標からrdquo良良い組み合わせルールrdquoを算出

支持度度(Support)

信頼度度(Confidence)

リフト値(Lift)

データ件数全体でそのアソシエーションルールが存在する割合全件数

条件(X)と結論論(Y)をともに含む件数=

条件(X)を含む件数

条件(X)と結論論(Y)をともに含む件数=

結論論(Y)が起こる確率率率

信頼度度(XrArrY)=

単純にYが起こる事象と比較して条件Xが加わることでどの程度度そのルールが発生する確率率率が上昇するかの指標

全データ

サイトAを見見ていてかつサイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

全データ

サイトBを見見ているユーザ

サイトAを見見ているユーザ

かつサイトBを見見ているユーザ

比較

比較

比較

Case6

データ可視化『生活定点』

アソシエーション分析

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

77 (C) HAKUHODO DY MEDIA PARTNERS 2015

13 lhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 rhs13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 support13 13 13   confidence13 13 13 13 13 13 13 13 13 liL13 113 13 X23=site_A 13 =gt13 X8=site_B13 13 13 13 13 13 13 13 13 13 13 0000110722413 001319261213 041458036113 213 13 X8=site_B13 13 =gt13 X23=site_A13 13 13 13 13 13 13 13 0000110722413 000347947113 041458036113 313 13 X5=site_C 13 =gt13 X13=site_D13 13 0000132866813 000843881913 051358513313 413 13 X13=site_D 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000808625313 051358513313 513 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 13 0000199300213 001265822813 032515372813 613 13 X11=site_E13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000199300213 000511945413 032515372813 713 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X22=site_F13 13 13 13 13 13 13 13 0000132866813 000843881913 018224780913 813 13 X22=site_F13 13 13 13 13 13 13 =gt13 X5=site_C13 13 13 13 13 13 13 13 13 0000132866813 000286944013 018224780913 913 13 X5=site_C13 13 13 13 13 13 13 13 =gt13 X25=site_G13 13 13 13 13 13 13 13 13 13 0000132866813 000843881913 003099220613 1013 X1=site_H13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_I13 13 13 13 13 13 13 13 13 13 0000132866813 000824175813 025827988813 1113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X1=site_13 13 13 13 13 13 13 13 13 0000132866813 000416377513 025827988813 1213 X13=site_13 13 =gt13 X14=sote_13 13 13 13 13 13 13 13 13 0000132866813 000808625313 035383626913 1313 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000132866813 000581395313 035383626913 1413 X13=site_13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000243589213 001482479813 046457891813 1513 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000243589213 000763358813 046457891813 1613 X13=site_13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 001347708913 034618793113 1713 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X13=site_13 0000221444713 000568828213 034618793113 1813 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000110722413 000509684013 022302625913 1913 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000484496113 022302625913 2013 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000199300213 000917431213 028830450813 2113 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X21=site_13 13 13 13 13 13 13 13 13 13 0000199300213 000626304813 028830450813 2213 X21=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000713557613 002620594813 2313 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000110722413 000475285213 014894467613 2413 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000346981313 014894467613 2513 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000132866813 000570342213 014650462613 2613 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000132866813 000341296913 014650462613 2713 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X6=site_13 13 13 13 13 13 13 13 13 13 13 0000110722413 000475285213 011103428713 2813 X6=site_13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X4=site_13 13 13 13 13 13 13 13 13 13 0000110722413 000258665313 011103428713 2913 X4=site_13 13 13 13 13 13 13 13 13 13 13 =gt13 X25=site_13 13 13 13 13 13 13 13 0000155011313 000665399213 002443729613 3013 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X3=site_13 13 13 13 13 13 13 13 0000155011313 000678294613 021256368013 3113 X3=site_13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000155011313 000485773813 021256368013 3213 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X8=site_13 13 13 13 13 13 13 13 13 0000332167113 001453488413 045676150213 3313 X8=site_13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000332167113 001043841313 045676150213 3413 X14=site_13 13 13 13 13 13 13 13 13 13 =gt13 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 0000221444713 000968992213 024890643913 3513 X11=site_13 13 13 13 13 13 13 13 13 13 13 13 13 =gt13 X14=site_13 13 13 13 13 13 13 13 13 0000221444713 000568828213 024890643913 13 以下略略

機械的にルールを抽出

Case6

データ可視化『生活定点』

アソシエーション分析

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

78 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

Rでのアソシエーション分析

dmxlt-asmatrix(d) dtranlt-as(dmxrdquotransactionsrdquo)

ライブラリ読み込みlibrary(ldquoarulesrdquo)

データをトランザクション形式に変換する必要あり

d_lowaplt-apriori(dtranparameter=list(support=005)) 

daplt-apriori(dtran) summary(dap) inspect(head(sort(dapby=rsquosupportrsquo)n=10))

アソシエーションルール表示

ルールが多過ぎたり少なすぎる場合は下記のようにパラメータ調整

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

79 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case6

データ可視化『生活定点』

アソシエーション分析からサイトをマッピング

QampA

(例例)「科学技術の進歩が不不安」

リフト値が大きいものを中心から近くに

リフト値が小さいものを中心から遠くに

サイトのジャンルに応じて配置角度度を決定似たジャンルのサイトは近くに配置

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

80 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case6

データ可視化『生活定点』

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

Case 7 データ可視化『Takumi』

81 (C) HAKUHODO DY MEDIA PARTNERS 2015

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

82 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

石田拓拓己のSNS上の発言履履歴を用いた形態素解析および機械学習によるデータビジュアライズ

Ruby ldquonokogirirdquo + ldquoanemonerdquo+ Web Audio API + threejs

+ 形態素解析

本日のおさらい的な内容のオマケですお気軽な気持ちでお聞きください

友人の披露露宴の出し物なぜかサンクスレターの直前の大トリで

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

83 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

これまで仕事で多忙だった拓拓己くんこれからは早く帰って家族の時間を確保してほしい

背景

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

84 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

一方でこれから誰を業務飲みに誘えば良良いのか

背景

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

85 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

早く帰って欲しいが帰って欲しくない

従来このような問題は組織やコミュニケーション上の問題と誤解されていた

背景

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

86 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

しかし我々は博報堂rdquoData Wingsrdquo

今回もデータで課題を解決したいと思います

背景

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

87 (C) HAKUHODO DY MEDIA PARTNERS 2015

拓拓己くんのSNSメール上の発言履履歴を収集

DataModeling

Facebook blog Mail

Case 7

データ可視化『Takumi』

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

88 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

89 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

形態素解析

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

90 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

拓拓己君が言いそうなことを機械学習でモデリング

拓拓己君には早く帰っていただきつつ我々は彼のシミュレーターと仕事や飲みをしようというソリューションです

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

91 (C) HAKUHODO DY MEDIA PARTNERS 2015

Case 7

データ可視化『Takumi』

構成

形態素解析

Facebook blog Mail

Threejs

Web13 Audio13 API

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

92 (C) HAKUHODO DY MEDIA PARTNERS 2015

demo

Case 7

データ可視化『Takumi』

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

(C) HAKUHODO DY MEDIA PARTNERS 2015 93

データの分析あるいはそもそものデータ自体

主観的な要素を含む

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

(C) HAKUHODO DY MEDIA PARTNERS 2015 94

様々な立立場の方のそれぞれのデータの向き合いによる

多層的な理理解解釈が重要だと思います

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

(C) HAKUHODO DY MEDIA PARTNERS 2015 95

データビジュアライズのメリット

探索索的なデータ分析を促す

データを見見るのも嫌な人にデータの持つ面白味を伝える

データリテラシーに関わらず対等な立立場でディスカッションを生む

逆にデータサイエンティストがドヤ顔でグラフや表で分析結果を見見せると専門家以外突っ込みづらい

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

(C) HAKUHODO DY MEDIA PARTNERS 2015 96

どういうデータを使ってどういう前処理理をしてどういう世界の構造を仮定するのか

自分がどういうストーリーメタファーで現象をあらわしたいか

データ分析はエモーショナル

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

(C) HAKUHODO DY MEDIA PARTNERS 2015 97

以上

ありがとうございました

HIROYUKISHINODAhakuhodody-shy‐mediacojp

mirandora_com

wwwmirandoracom

Mail

web

tw

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用

参考文献

98 (C) HAKUHODO DY MEDIA PARTNERS 2015

るびきち (著) 佐々木 拓拓郎郎 (著) (2014)『Rubyによるクローラー開発技法』SBクリエイティブ

Sau Sheong Chang (著) 瀬戸山 雅人河内 崇 高野 雅典橋本 吉治 (翻訳)emsp (2013)『RとRubyによるデータ解析入門』オライリージャパン

豊田 秀樹 (著) (2008)『データマイニング入門』東京図書

Boris Smus (著)高崎拓拓哉株式会社トップスタジオ (翻訳)emsp (2013)『Web Audio API』オライリージャパン

石田 基広小林林 雄一郎郎 (著) (2013)『Rで学ぶ日本語テキストマイニング』ひつじ書房

神取 道宏 (2014) 『ミクロ経済学の力力』日本評論論社

その他本章には引用していませんがrdquoデータ解析の必要性rdquoとして参考となる図書デイヴィッドマクレイニー (著) 安原 和見見 (翻訳) (2014)『思考のトラップ』二見見書房

ロバートPクリース (著) 吉田 三知世 (翻訳) (2010)『世界でもっとも美しい10の物理理方程式』日経BP社

各章の統計プログラミング

冒頭のrdquoなぜデータ解析が必要かrdquoの引用