SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Node-REDでソーシャルデータ分析
自己紹介
氏名: 古城 篤(Atsushi Kojo)	

所属: 株式会社ウフル / データサイエンス研究所	

役割: 所長 / 主席研究員	

特徴: 元営業マンの技術屋	

ウフル技術ブログのメイン執筆者(現在)

http://deferloader.blog.uhuru.co.jp/
Twitter: joeartsea	

Blog: http://artsnet.jp/
Node-REDはIoT向け?
http://nodered.org/
flowの例は以下にたくさんある
http://flows.nodered.org/
このflowをインポートするには…
http://flows.nodered.org/flow/6c3b201624588e243f82
このJSONをコピー
以下のように貼付けると…
ここにペースト
こうなる(nodeがないとこうなる)
色々なflowを見ていくとNode-REDは…
見た通りストリームデータを処理することができる	

node(プラグイン)として拡張できるため各種APIに対応できる	

Node-RED自体がWebサーバなのでWebインタラクションが可能	

ex. Node-RED を使用してリアルタイムのチャット・アプリケーションを 5 分で作成する

http://www.ibm.com/developerworks/jp/cloud/library/cl-rtchat-app/
言い換えると…
見た通りストリームデータを処理することができる

→IoTやソーシャルなどのストリームデータとの親和性が高い	

node(プラグイン)として拡張できるため各種APIに対応できる

→ストリームデータの発生源を拡張できる

→ストリームデータ処理の後続処理を拡張できる	

Node-RED自体がWebサーバなのでWebインタラクションが可能

→Webインタラクションもストリームデータになる
なんでもストリームデータ?
そもそもセンサーやソーシャルデータやWebのトラッキングデータもストリームデータ	

言わずもがなですが人や自動車の移動履歴データも解りやすいストリームデータ	

IFTTT、Zapier、myThingsなどと連携したWebサービスのデータや操作もストリームデータ	

kimonolabなどWebページを定期的にスクレイピングしてWeb API化するサービスと連携して取得したコンテ
ンツもストリームデータ	

毎秒数十人カメラの前を通過する人たちの性別や年齢を顔認識エンジンを使って推測して継続的に流してい
くデータもストリームデータ	

CRMデータのデモグラフィック属性の変化や在庫システムの入出庫量などのスナップショット、つまりは変
更履歴データもストリームデータ	

そう考えると夢が拡がりますね!次ページからの事例もそんな考察から得た着想です
ソーシャルデータ分析事例の紹介
やりたいこと	

ある製品についてのソーシャル上の言及を収集したい

(Twitter、facebook、フォーラム、ニュース、ブログ)	

ひとつの言及がソーシャル上で与えた影響度を知りたい	

継続的に観測して影響度の高い言及者を知りたい	

影響度の高い言及者の新たな言及をリアルタイムに補足したい
ソーシャルデータの収集はRadian6
Radian6 nodeを作りました(まだ公開してませんが公開予定)
作ってみたらこうなった…
よ、要約すると…
Radian6から取得したデータを1件づつ処理するためにloopさせる	

TwitterデータはさらにTwitter APIで本文データを取得	

Twitterやfacebookで紹介された短縮URLを展開する(元に戻す)	

対象のURLのソーシャル上での共有数などをSharedCountで取得	

URLの言及者や属性情報をMySQLとTreasure Dataに投入	

製品別、言語別、ランキング、影響度などの集計処理	

独自実装したダッシュボードでURLや言及者を表現(非公開)	

影響度の高い言及者(インフルエンサー)を特定しリアルタイムに観測
解決していった問題
Twitterデータの本文取得 → Twitter nodeで取得(API制限問題)	

短縮URL問題 → URLを展開する(元に戻す)nodeを作成(公開予定)	

影響度の算出 → SharedCount(非常に助かったサービス)	

短期間集計 → MySQL nodeに対してストアドのcall文を流す	

長期間集計 → 並行してTreasure Dataに投入してスケジューリングバッチ	

影響度の判定 → システムは判定しやすくするだけ(判定は人)
nodeの作り方(基本)
input
module.exports = function(RED) {	

function LowerCaseNode(config) {	

RED.nodes.createNode(this,config);	

var node = this;	

this.on('input', function(msg) {	

msg.payload = msg.payload.toLowerCase();	

node.send(msg);	

});	

}	

RED.nodes.registerType("lower-case",LowerCaseNode);	

}
output
• メインのデータはmsg.payload	

• グローバルはcontext.global
node(プラグイン)
nodeの作り方(発展)
Node-REDは簡単に他のWebサーバに組み込める

http://nodered.org/docs/embedding.html	

Node-REDをnpm moduleとして組み込み上書き(デザインなど)	

Node-REDの画面の一部を変更するnode(debug nodeがヒント)	

これらを駆使すると…
こんなこともできます
https://youtu.be/TrnUC3Xi164
nodeを作成する時の心がけ
まず最初に本当にnodeとして必要かどうか考える

(例えばhttp headerに静的なAPI keyを含めるだけなら要らない)	

ひとつのnodeが受け持つ役割を膨らませすぎない

(他のnodeの役割を理解して汎用性を保つ)	

nodeとflowの役割とユースケースを解りやすくする

(これは今後コミュニティ全体として向上してほしい…)
使い込めば直面するloop問題
• loopが枝分かれして増えていく…	

• loopの終了判定は…?
sub flowを使えばシンプルになる?
http://flows.nodered.org/flow/43501a1b424434de0ffb
配列の要素を分岐できるnode
https://www.npmjs.com/package/node-red-contrib-splitter
Node-REDコミュニティ?
Node-REDは今後も色々なシチュエーションで利用される(願望)	

色々なユースケースで想定していなかった問題に直面する	

nodeやflowとしてオープンにすることでディスカッションできる	

より良いnode、flow、プロダクト、コミュニティとして発展する	

ここまでオープンだからこそ発展のスピードが上がる(と思う)
“ご清聴ありがとうございました”

Más contenido relacionado

La actualidad más candente

Ext Direct 入門 II
Ext Direct 入門 IIExt Direct 入門 II
Ext Direct 入門 IIYuki Naotori
 
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオンsoftlayerjp
 
Node-REDのフローをバックアップしよう
Node-REDのフローをバックアップしようNode-REDのフローをバックアップしよう
Node-REDのフローをバックアップしようKota Suizu
 
ラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーsoftlayerjp
 
IoT と Watson と クラウドが出会ったら、そこは Bluemix だった!
IoT と Watson と クラウドが出会ったら、そこは Bluemix だった!IoT と Watson と クラウドが出会ったら、そこは Bluemix だった!
IoT と Watson と クラウドが出会ったら、そこは Bluemix だった!softlayerjp
 
AI分野におけるコンテナオーケストレーションとは
AI分野におけるコンテナオーケストレーションとはAI分野におけるコンテナオーケストレーションとは
AI分野におけるコンテナオーケストレーションとはTetsurou Yano
 
Node-REDで簡単プロトタイピング
Node-REDで簡単プロトタイピングNode-REDで簡単プロトタイピング
Node-REDで簡単プロトタイピングrina0521
 
Node-REDをビジネスで使い倒してenebularを作った話
Node-REDをビジネスで使い倒してenebularを作った話Node-REDをビジネスで使い倒してenebularを作った話
Node-REDをビジネスで使い倒してenebularを作った話Atsushi Kojo
 
ベアメタルサーバー/オンプレミスと実現するハイブリッドクラウド
ベアメタルサーバー/オンプレミスと実現するハイブリッドクラウドベアメタルサーバー/オンプレミスと実現するハイブリッドクラウド
ベアメタルサーバー/オンプレミスと実現するハイブリッドクラウドFujishiro Takuya
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方Fujishiro Takuya
 
データシート勉強会資料
データシート勉強会資料データシート勉強会資料
データシート勉強会資料Ryusuke Izumida
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデルAtsushi Kojo
 
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料Takuma Kudo
 
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちました
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちましたゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちました
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちましたNaotaka Saito
 
Raspberry piと.net coreのstandardな関係
Raspberry piと.net coreのstandardな関係Raspberry piと.net coreのstandardな関係
Raspberry piと.net coreのstandardな関係Masuda Tomoaki
 
Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF CloudIDC Frontier
 
Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!nmrmsys
 
UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発Atsushi Kojo
 

La actualidad más candente (20)

Ext Direct 入門 II
Ext Direct 入門 IIExt Direct 入門 II
Ext Direct 入門 II
 
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
"クラウド × IoT 勉強会" Bluemix とスマホでゲームを作ろう!ハンズオン
 
Node-REDのフローをバックアップしよう
Node-REDのフローをバックアップしようNode-REDのフローをバックアップしよう
Node-REDのフローをバックアップしよう
 
ラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナー
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
IoT と Watson と クラウドが出会ったら、そこは Bluemix だった!
IoT と Watson と クラウドが出会ったら、そこは Bluemix だった!IoT と Watson と クラウドが出会ったら、そこは Bluemix だった!
IoT と Watson と クラウドが出会ったら、そこは Bluemix だった!
 
AI分野におけるコンテナオーケストレーションとは
AI分野におけるコンテナオーケストレーションとはAI分野におけるコンテナオーケストレーションとは
AI分野におけるコンテナオーケストレーションとは
 
Node-REDで簡単プロトタイピング
Node-REDで簡単プロトタイピングNode-REDで簡単プロトタイピング
Node-REDで簡単プロトタイピング
 
Node-REDをビジネスで使い倒してenebularを作った話
Node-REDをビジネスで使い倒してenebularを作った話Node-REDをビジネスで使い倒してenebularを作った話
Node-REDをビジネスで使い倒してenebularを作った話
 
ベアメタルサーバー/オンプレミスと実現するハイブリッドクラウド
ベアメタルサーバー/オンプレミスと実現するハイブリッドクラウドベアメタルサーバー/オンプレミスと実現するハイブリッドクラウド
ベアメタルサーバー/オンプレミスと実現するハイブリッドクラウド
 
Hbstudy41 slide
Hbstudy41 slideHbstudy41 slide
Hbstudy41 slide
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
 
データシート勉強会資料
データシート勉強会資料データシート勉強会資料
データシート勉強会資料
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデル
 
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
 
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちました
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちましたゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちました
ゲートウェイにNode-REDを入れたIoTのシステムを運用して一年以上経ちました
 
Raspberry piと.net coreのstandardな関係
Raspberry piと.net coreのstandardな関係Raspberry piと.net coreのstandardな関係
Raspberry piと.net coreのstandardな関係
 
Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF Cloud
 
Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!
 
UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発
 

Similar a Node redでソーシャルデータ分析

鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料Takashi Aoe
 
Air for iOS について
Air for iOS についてAir for iOS について
Air for iOS についてitoz itoz
 
Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方Tadayoshi Sato
 
運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えて運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えてSATOSHI TAGOMORI
 
20101214 NetCommons Night
20101214 NetCommons Night20101214 NetCommons Night
20101214 NetCommons NightKenichi Ohwada
 
2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!
2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!
2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!Midori Oge
 
2021/09/25 JAZUG11周年記念LT大会 ~FSLogixのお話~
2021/09/25 JAZUG11周年記念LT大会 ~FSLogixのお話~2021/09/25 JAZUG11周年記念LT大会 ~FSLogixのお話~
2021/09/25 JAZUG11周年記念LT大会 ~FSLogixのお話~Dai Iwai
 
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編Takafumi Inamori
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話Kazuya Wada
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...Insight Technology, Inc.
 
Node-RED TIPS:functionノード間で関数を共有する方法
Node-RED TIPS:functionノード間で関数を共有する方法Node-RED TIPS:functionノード間で関数を共有する方法
Node-RED TIPS:functionノード間で関数を共有する方法Kazuki Saito
 
フローデバッグツール「Flow Debugger」
フローデバッグツール「Flow Debugger」フローデバッグツール「Flow Debugger」
フローデバッグツール「Flow Debugger」Atsushi Kojo
 
サーバサイドNodeの使い道
サーバサイドNodeの使い道サーバサイドNodeの使い道
サーバサイドNodeの使い道pospome
 
謎のコード名を解き明かせ!
謎のコード名を解き明かせ!謎のコード名を解き明かせ!
謎のコード名を解き明かせ!Masahiko Isshiki
 
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜Hideyuki Takeuchi
 
OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126Langur
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃Teruo Adachi
 

Similar a Node redでソーシャルデータ分析 (20)

鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
 
Air for iOS について
Air for iOS についてAir for iOS について
Air for iOS について
 
Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方
 
運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えて運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えて
 
20101214 NetCommons Night
20101214 NetCommons Night20101214 NetCommons Night
20101214 NetCommons Night
 
2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!
2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!
2013OSC関西@京都_CloudStackとCloudFoundaryがまるわかり!
 
4th tokushimaapp
4th tokushimaapp4th tokushimaapp
4th tokushimaapp
 
2021/09/25 JAZUG11周年記念LT大会 ~FSLogixのお話~
2021/09/25 JAZUG11周年記念LT大会 ~FSLogixのお話~2021/09/25 JAZUG11周年記念LT大会 ~FSLogixのお話~
2021/09/25 JAZUG11周年記念LT大会 ~FSLogixのお話~
 
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
 
Node-RED TIPS:functionノード間で関数を共有する方法
Node-RED TIPS:functionノード間で関数を共有する方法Node-RED TIPS:functionノード間で関数を共有する方法
Node-RED TIPS:functionノード間で関数を共有する方法
 
フローデバッグツール「Flow Debugger」
フローデバッグツール「Flow Debugger」フローデバッグツール「Flow Debugger」
フローデバッグツール「Flow Debugger」
 
SensorBeeの紹介
SensorBeeの紹介SensorBeeの紹介
SensorBeeの紹介
 
Electron を知る
Electron を知るElectron を知る
Electron を知る
 
サーバサイドNodeの使い道
サーバサイドNodeの使い道サーバサイドNodeの使い道
サーバサイドNodeの使い道
 
謎のコード名を解き明かせ!
謎のコード名を解き明かせ!謎のコード名を解き明かせ!
謎のコード名を解き明かせ!
 
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
どんなデータでもキレイに魅せる! 〜HTML5/JavaScriptでグラフを描画する今時の手法〜
 
OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 

Node redでソーシャルデータ分析