Bluemix勉強会@天神Color
【イノベート・ハブ九州】
2016年7⽉26⽇
⽇本アイ・ビー・エム株式会社
クラウド事業統括
本⽇の資料はこちら↓
2
本⽇の内容
q
イノベート・ハック九州のご紹介
q
アイデアの作り⽅ - アイデアシートを作ってみよう
q
アイデアをカタチに - クラウドを活⽤した⾼速アプリ開発
q
Watson概要
q
AlchemyAPI概要
q
AlchemyAPIをBluemixのNode-REDから呼び出そう
q
Node-REDでプログラミング
q
Bluemix関連情報
アイデア、技術、マネタイズ。⾼いポテンシャルを持つビジネスを発掘し、構築し、共に発展する。
単なるイベントにとどまらず、プログラム全体を通じて貴社のイノベーション実現を加速します。
INNOVATE
Hack
INNOVATE
Build
INNOVATE
Grow
発掘
ハッカソンを通じて、 開発⼒を兼ね備えた 優れたアイデアを 発掘構築
IBM/パートナー 企業の⽀援のもと、 採択企業の事業化を ⽀援発展
エコシステムの
形成、海外展
開をはじめとする
事業拡⼤
海外スタートアップ招聘/
海外への展開
最新テクノロジーの提供
IBM Bluemix
IBM Watson
特設サイト
http://event.f-ventures.vc/innovate_hub_kyushu/hack/
ハッカソン〜DemoDay
エントリー〜ハッカソン
告知
IBM媒体
・IBM Webサイト
・IBM SNS
(BlueHub)
・ChangeMakers
協賛社様 媒体
・⻄⽇本新聞様
外部媒体
・東洋経済
・⽇経新聞
・翔泳社
・その他IT系、
Startup系媒体
エントリーサイト
□代表者情報
□チームメンバー情
報
□メンバー役割
□開発⼒レベル
□ハッカソン⼊賞経
験など
□選択するテーマ
情報収集
・勉強会
Bluemix、
Watson、IoT
・勉強会
各テーマ
事前説明会
各データ
各APIに関す
る詳細情報
アイデアソン
ア
イ
デ
ア
シ
ト
選
考
参加者コミュニティ
(Q&A対応)
ハ
ッ
カ
ソ
ン
De
m
oDa
y
・技術的な質問
・運営についての質問等
提供されるデータ/API/ツール
(6⽉27⽇現在)
テーマ 概要 関連の深いご協賛者様 データ/API/ツールご提供いただく 考えられるサービスの例 まち・ くらし ・⽇々の暮らしを便利に便利にする新しい サービス ・防犯、防災、渋滞緩 和、美化など、まちを さらに安全に、住みや すく、美しく。 ⻄⽇本新聞 新聞記事データ 【交通・都市開発】 ・九州各地への訪問者・運送者に対し、各地の リアルタイムの交通事情に即した最適な移動⼿ 段の情報を提供する ゼンリン ゼンリンAPIで提供する地図情報 ソフトバンク ⼈の流動データ ソフトバンク Pepper福岡銀⾏ ⾦融系サービス/API (IBM Fintech共通APIを利 ⽤) 観光・エンターテイ メント・スポーツ 九州に根差す観光、スポーツや、エンターテ イメントを盛り上げる。 インバウンド増加、客 単価の増⼤も視野に⼊ れる
福岡銀⾏ ⾦融系サービス/API (IBM Fintech共通APIを利
⽤) 【観光】・⼤規模なコンサートやイベントの開催時に、 宿泊施設が予約が困難となる ・宿泊施設の予約・キャンセル情報をリアルタ イム配信や、⺠泊の推進など受け⼊れ環境を強 化する ゼンリン ゼンリンAPIで提供する地図情報 ⻄⽇本新聞 新聞記事データ ソフトバンク Pepper ソフトバンク ⼈の流動データ ヘルスケア 医療⽀援、健康増進⽀ 援・介護⽀援などのヘ ルスケアに関する新し いサービス アステム 医療関連データ(検討中) ・⾼齢者向けの介護⽀援(Nursing Care)として、 離れて暮らす親を遠隔地から安否確認を⾏うシ ステムを提供する ゼンリン ゼンリンAPIで提供する地図情報 ソフトバンク ⼈の流動データ ソフトバンク Pepper ロボティクス 産業⽤ロボット、およ び⼈と接するロボット がもっと社会で活躍し、 ⼈間社会を⽀える存在 安川電機 ロボットシミュレータ ・クラウド・ロボティクスにて、クラウド上の 機能(Watson API等)を活⽤したロボット介 護を展開する ソフトバンク Pepper
8
アイデアの作り⽅
3
4
s
T3
1 1 3 . , k I N3
c
i 3 2e w10 I 71 5 4 1 1 41 A 8 6 7 2 4 4 48 71 4 8 71 4 P , 4 4 I 4 7. 4 5 4 . 4 4 485 7 . A . 79 2
デザイン思考のご紹介
“
デザイン思考(Design Thinking)とは、
人間中心デザイン
に基いた
イノベーション
を起
こすための、主として非デザイナーを対象とした
発想法
である。
目的の1つとして、
デザイナー
の発想法やツールを誰でも使えるようにすることで、幅
広い問題解決を可能にすることがあげられる。
Wikipediaより
デザイナー的創造プロセス
で課題解決策や
新しい価値提供を
思考する技法
- ⽤途
n
新規商品やサービスのプロトタイプを作りたい
n
ビジネスチャンスを開拓したい
n
組織改⾰をしたい
n
働き⽅を変えたい
12
デザイン思考の基本的な考え
q
ユーザー中⼼
¦
客観よりも主観
¦
共感し洞察する
q
対話やプロセスを重視
¦
計画よりも実験・実践
¦
少⼈数のチームでコミュニケーションしスピーディーに
q
プロトタイプ
à
テスト
à
改善を繰り返す
¦
プロトタイプでできたものを素早く確認し次のプロトタイプに反映させる
q
多様な問題解決とゴールを設定する
¦
多様なアイディアを発散させる
¦
アイディアの中から選択し分類する(優先度/実現性/テクノロジー)
Desirability
ニーズがあるか
Feasibility
実現可能か
Viability
ビジネス的に価値があるか
Start地点
Solution
デザイン思考で⽣まれたもの
q
Wii
¦
低価格で家族で楽しめる
¦
家族の関係を良くする
q
iPod
¦
誰もがどこからでも⾳楽を取り込める
¦
⾳楽をポケットに⼊れて持ち運ぶ
14
詳しくはこちら
q
デザイン思考ポケットガイド
¦
https://designthinking.or.jp/index.php?pocket
q
イノベーターのためのデザイン思考・学習マップ
¦
https://designthinking.or.jp/index.php?l_map
q
初めてのデザイン思考プロジェクト
¦
https://designthinking.or.jp/index.php?mixtape
難しいな ・・という⽅はまずはペルソナから!
q
とにかくどういったユーザーの問題を解決したいかを想像しよう
(空想上の⼈物を作り上げて構いません)
q
Muralを使った例(
https://mural.co/
)
¦
ペルソナを作ってプロフィールを作り上げる(想定ユーザーが複数あるとよい)
¦
喜ぶ(望み)ポイントや悲しむ(痛み)ポイントを明確化する
16
カスタマージャーニーマップからアイディアを
〜ペルソナの⼈物のある1⽇を追いかける〜
1⽇の動き
⾏動
何を感じるか
問題点は何か
こんなのあったらいいな!!
注意事項
必ずしもデザイン思考をしてくださいということではありません!
アイディアシートをアイディアソン以降に提出頂きます。
18
アイデアをカタチに
IBM Bluemixで⾼速アプリ開発
アプリケーションを構築・管理・実⾏するためのオープン・スタンダードな
テクノロジーを活⽤した、クラウド・ソリューション
Bluemix
の主な特徴
1. オープン・スタンダードを採用したPaaS
2. 豊富な「API」と「サービス」の提供
3. DevOps推進のための開発ツールの提供
4. お客様の要件に合わせた提供形態
20
PaaSにより迅速にアプリ実⾏環境を提供
お客様管理
クラウドベンダー管理
カスタム、コスト⾼、低い俊敏度
標準化、低コスト、ビジネスニーズに俊敏に対応可
ネットワーク
ストレージ
サーバー
仮想化
OS
ミドルウェア
ランタイム
データ
アプリケーション
従来のIT環境
(個別構築/オンプレミス)ネットワーク
ストレージ
サーバー
仮想化
OS
ミドルウェア
ランタイム
データ
アプリケーション
IaaS
(Infrastructure as a Service)ネットワーク
サーバー
仮想化
OS
ミドルウェア
ランタイム
ストレージ
データ
アプリケーション
PaaS
(Platform as a Service)ネットワーク
ストレージ
サーバー
仮想化
ミドルウェア
ランタイム
データ
アプリケーション
OS
SaaS
(Software as a Service)必要な機能を開発するのではなく、提供されているサービスを組み合わせることで、
システムとしての機能を追加/削除していくアプローチ
Internet of Things
モバイル
アプリ
実行環境
データベース
コグニティブ
コンピューティング
アナリティクス
セキュリティー
疎結合な構成
API として呼び出
す
動的にサービスを
追加・削除可能
組み⽴て型のアプローチでアプリ開発を加速化
22
コンテナー
アプリ
ランタイム
Java, Node.js, Ruby, PHP, Python, Go等
アプリの開発言語に合わせた実行環境
「コンテナー」単位で環境を提供
アプリケーション
開発者が実際に開発し、
アップロードするコード
サービス
アプリケーションが必要とする機能を提供する
いつでも好きなタイミングで作成・削除可能
ランタイムとの組み合わせ可否に要注意
バインド
バインド
ランタイムからサービスに接続すること
ランタイム上の環境変数(VCAP_SERVICES)
に接続情報が提供されるようになる
プッシュ
サービス作成
プッシュ
作成したアプリケーションのランタイムを要求・生成する操作
アプリ開発者
Bluemixの基本⽤語
迅速なアプリケーション開発、管理、と実⾏を実現するクラウド
豊富な「API」「サービス」をご提供
120
を超える⾼品質のサービスでクイックにアプリ開発
1年でAPI,サービス数は約2倍に!強⼒なパートナーシップ提携も!!
§
実⾏環境
§
データベース
§
モバイル
§
ビッグデータ
§
アナリティクス
§
Web & アプリケーション
§
Watson
§
IoT
§
インテグレーション
§
セキュリティ
§
開発⽀援ツール
新しい顧客体験をもたらすIBM Bluemix
24
クイズ王を打ち負かした質疑応答システムWatsonとは
q
⽶国のクイズ番組 Jeopardy! に出場し、コンピュータの能⼒を⽴証
–
オープンドメインの質問応答
–
複雑な問題⽂とカテゴリの解釈
–
⾼い正解率 (約89%)
–
確信度の推定 (ボタンを押すか否かの判断)
–
⾼速な応答 (2〜3秒で回答)
q
Watsonが解いた問題と情報源
–
事実に基づく知識が問われる問題
–
歴史・⽂学・スポーツ・⾔葉遊び…
–
百科事典・ニュース等の静的な情報源を利⽤
–
対戦中はインターネットには接続せず
–
キーワードの⼀致だけでなく、意味内容に基いて
問題⽂と情報源を関連づけて、正解率を向上させた
26
膨⼤な情報源
キューバ
は、フ
ロリダ半島の
145km南に位置
する。
⽶国が外交関係を持
たない世界の4ヶ国
のうち、この国は最
も北にある
外交関係
問われている
内容の解析
⽶国-外交ない-国
この国
-ある-北
???
解答候補
の⽣成
ブータン?
キューバ?
イラン?
北朝鮮?
根拠の探索と確信
度の計算
ブータン
は未だに
⽶国、中国、ロシ
ア、英国、フラン
スとの外交関係は
ない
最も確信度の⾼
い解答
北朝鮮
問題
解答
これだけの計算を数秒以内に実⾏
問題(⽂)の内容を分析して、事前に収集された⼤量のテキスト情報から問題の解答候補とその根拠・
確信度を計算し、⾼い確信度の候補が得られた場合に解答する、という⼀連の知的処理を⾼速に実⾏
するコンピューター・システム
質問応答システムの基本原理
データの理解
対話型の学習
意思決定の⽀援
⾃然⾔語や⾮構造データを理解
フィードバックを受けて学習
結果を推測し⼈の判断を助ける
Watsonの主要な能⼒
28
30
Local Motorsの最⾼経営責任者(CEO)兼共同創設者
John B. Rogers, Jr.とOlli
⾞体には、30以上のセンサーが搭載され、10時間で製造。ワシント
ンD.Cに続き、マイアミとラスベガスでパイロット予定。
LOCAL MOTORS社 電気ミニバスOlli
-・IBM Watsonを乗客インターフェイスに利⽤
・3Dプリントで製作された⾃動運転⾞を利⽤
© 2016 IBM Corporation 32
「Jill Watson」
学⽣はティーチングアシスタントが実際には⼈間ではなくロボット
だったことに気づかなかった
© 2016
•
ジョージア⼯科⼤学のアショク・ゴール教
授らの研究チームが実施
•
Watson(ワトソン)を使って、オンライン
学習プログラムのTAをコンピューターに
担当させるという実験
•
約4万件分の学⽣からのメールやチャット
を読み込ませて、質問や相談に対する応答
⽅法を学習
•
Jill⾃⾝が「97%以上の精度で正しく答え
られる」と判断した質問にのみ応答
•
300⼈強の学⽣のための9⼈いるTAの⼀⼈
として、2016年1⽉からJillを運⽤し開始
•
Jillがロボットであるという種明かしをさ
れた学⽣は、みな⼀様に驚いたとのこと
Watsonの事例④
VRの世界にもどうぞWatsonを連れてってあげてください。
Watson + Unity(ゲーム・エンジン)
34
AlchemyAPIによる画像解析
画像解析、タグ付
顔認識、⼈名判断
Twitterコメントの感情度分析
Classifier Confiden
ce Score
car
97%
racing
97%
race
92%
motorspo
rt
73%
circuit
52%
36
AlchemyAPI概要
q
旧AlchemyAPI社が提供する⾃然⾔語解析や画像解析の機能を提供するサービス
¦
テキスト分析、画像分析のためのAPIを多数提供
n
AlchemyLanguage (14 APIs + 1 API[ベータ])
n
AlchemyVision (3 APIs)
n
AlchemyData (1 API)
¦
Watsonのサービスと異なり、機械学習にかけるコストが不要な点がメリット
n
事前に学習済みであり、個別に追加で学習できない点には注意
q
提供されているプラン
¦
Free
: 組織単位で1⽇につき1000 APIコールまで(UTC 0:00にリセット)
¦
Standard : 1⽇ごとにAPIコール数でレートが可変(下記参照)
q
課⾦形態:従量課⾦(Standardのみ)
¦
組織単位で1⽇ごとのAPIコール数で以下の費⽤体系で課⾦
n
1 - 250,000
:¥0.735 JPY/Events
n
250,001 - 5,000,000
:¥0.105 JPY/Events
n
5,000,000+
:¥0.021 JPY/Events
AlchemyAPIが提供するAPI
n
AlchemyLanguage
API
説明
Sentiment Analysis
⽂章のセンチメントを分析
Taxonomy
⽂章のトピック・カテゴリーを階層
的に分析/分類
Concept Tagging
⽂章の内容から明⽰的/暗黙的な
コンセプトを導出
Entity Extraction
⽂章から⼈、組織、場所などのエン
ティティーを抽出
Keyword Extraction
⽂章からキーワードと関連性、
センチメントを抽出
Relation Extraction
⽂章の主語、述語、⽬的語を抽出
Text Extraction
⽂章の内容に関連するWebページの
リンクを導出
Authors Extraction
ニュースやブログから著者に関する
情報を抽出
Language Detection ⽂書が何語で書かれているかを判別
Feed Detection
Webページにフィードがある場合に
リンクを判別
API
説明
Combined Call
1つのコンテンツに対して複数の
分析をまとめて処理
Publication Date
Webページの発⾏⽇を判別
Data Extraction
テキストから⽇付を取得
Emotion Analysis (β)
テキストから感情を分析
API
説明
Face Detection
画像から顔の位置、年齢、性別を
判断
Image Link Extraction
URLの⽂書で使⽤されている画像
から適したものを抽出
Image Tagging
画像に対してタグづけ
n
AlchemyVision
API
説明
38
AlchemyAPIの使い⽅
q
まずはBluemixコンソールからサービス・インスタンスを作成
¦
サービス・インスタンス作成時にAPIキーが発⾏される
¦
発⾏されたAPIキーはサービスの「サービス資格情報」から確認できる
q
インスタンスの作成後、指定されたURLにアクセスすることでサービスを利⽤可能
¦
基本のURLフォーム
n
https://gateway-a.watsonplatform.net/<利⽤するAPIに合わせたコンテキストルート
>?apikey=<確認したAPIキー>
¦
各APIに対するコンテキストルートは次ページを参照
n
インプットとなるデータがURLなのか、HTMLなのか、テキストなのかで各APIごとに3つずつ種類が
ある(⼀部例外あり)
¦
GET / POSTどちらでも対応できるAPIが多いが、AlchemyData (News API)はGETのみ、
AlchemyLangageのSentiment Analyticsの⼀部APIはPOSTのみサポートとなるため、リク
エスト送信の実装は注意が必要
n
Alchemy Newsを除き、POSTメソッドはサポートされているので、POSTでリクエスト
AlchemyAPIの利⽤ケース
q
アプリの要件に依存する部分が多いが、主な利⽤ケースは以下の通り:
¦
AlchemyLanguageやAlchemyDataが基本的に英語のサービスとなるため、⽇本語に対する
処理を⾏いたい場合は、翻訳APIを経由して処理を⾏うことを検討する
① 画像のカテゴリー分類
② センチメント分析 / 感情分析
ü AlchemyVison
のAPIで⼤まかに画像を分類
•
Face Detection
で男⼥, 年齢別に分類
•
Image Tagging
で画像に対するタグ付け
ü
⼤まかに分類した画像を確認し、Watsonの
Visual Recognition
でお客様に合わせて学習させ、
API呼び出し
分類
ü AlchemyLanguage
経由でやりとりを分析
•
Sentiment Analysis
•
Emotion Analysis
ü
分析の結果、負の感情に傾く状況を検知した場
合には、なんらかのアクションを起こすような
API呼び出し
(翻訳API経由)
怒り: 60%以上
Negativeに傾いている
チャット
データ
40
Node-REDとの連携
q
Bluemix上で利⽤可能なNode-REDには、デフォルトで以下の3つのAlchemyAPI
ノードがパレットに登録されている
¦
Node-REDでの⼀処理にAlchemyAPIの処理を挟んで、テキスト/画像分析を容易に⾏うこと
ができるようになっている
(*1)⽇本語は未サポート(2016年3⽉時点)
sentiment
n
単語レベルでの簡易なセンチメント分析を実施(*1)
n
APIキーは不要
Feature Extract
n
Combine Call APIがベース(※出⼒結果より判断)
n
AlchemyLanguageから使⽤したいAPIを選択し、テキスト分析を実施
n
APIキーは必要
Image Analysis
n
AlchemyVisionから使⽤したいAPIを選択し、画像分析を実施
n
APIキーは必要
AlchemyAPIをBluemixの
Node-REDから呼び出そう!
42
ハンズオン⼿順
q
Node-Red
全体フロー
q
Bluemix
でNode-REDサービス、WatsonのAPIを設定する
q
AlchemyAPI
を追加する
q
Node-RED
でプログラミング
q
動作確認
Node-RED全体フロー
q
画像のURL(例:"http://xxxxx.jpg" )をImage AnalysisのAPIにかけると画像解析
44
Node-RED環境の作成(1/3)
Node-RED環境の作成(2/3)
46
Node-RED環境の作成(3/3)
Node-RED/Watson APIの準備
q
以下のリンクを参考にHello WorldをNode-REDで実施します。
¦
https://ibm.biz/Bd4NRZ
48
AlchemyAPIを追加する
q
Node-REDのノードに画像認識のためのImage Analysisがあるのですが、このままで
は使えません。 このNode-REDのアプリケーションにAlchemyAPIを追加してあげる
必要があります。
https://ibm.biz/Bd4NRZ
←Image Analysis
AlchemyAPIを追加する
q
Bluemixのメニュー画⾯からダッシュボードをクリックし、先ほどのNode-REDのアプ
リケーションをクリックしてください。
50
AlchemyAPIを追加する
q
続いて、サービスのまたはAPIの追加をクリックしてください。
AlchemyAPIを追加する
q
次の画⾯で現れるAPIの⼀覧からAlchemyAPIをクリックします。
q
その後、再ステージング(再起動)のポップアップ画⾯が表⽰されるので、再ステー
ジングし正常に再起動すればOKです。
52
HTTP Input node
q
AlchemyAPIはRESTのGETメソッドでアクセスして画像を解析します。
まずは左側のパレットのInputカテゴリ内のhttpのnode
をドラッグ&ドロップし、キャンバス内に配置します。 プロパティー内のURL欄にア
クセスポイントを記載します。ここでは/callwatsonとしておきます。
q
Nameの欄はノードの名前をわかりやすいようにしておくために記述しておきます。任
意ですが、ここではHTTP Inputにしておきます。
https://ibm.biz/Bd4NRZ
54
switch node
q
画像のURLをチェックするノードを準備します。 左側のリソースパレットのfunction
カテゴリ内のswitchノード
を フローエディタ中央のキャンバスにドラッグ&
ドロップします。プロパティー内の左下にある+ruleをクリックして、分岐ロジックを
2つ⽤意します。 Propertyは以下の通りにimagurl属性に含まれるペイロードのnullチ
ェックを⾏います。 nullであれば、“1”にそれ以外であれば“2”に値が渡されます。
https://ibm.biz/Bd4NRZ
template node (初期画⾯)
q
画⾯のHTMLを表⽰したり、Inputとなる画像を送信するためのメニューを提供するた
めにHTMLを記述します。 templateノード
をフローエディタ中央のキャ
ンバスにドラッグ&ドロップします。プロパティを以下のように記述します。
<h1>Welcome to the Alchemy Vision Face Detection Demo on
Node-RED</h1>
<H2>Select an image</H2>
<form action="{{req._parsedUrl.pathname}}">
<img
src="https://si.wsj.net/public/resources/images/MK-CK494_SELFIE_GR_20140303174816.jpg" height='100'/>
<img
src="https://upload.wikimedia.org/wikipedia/commons/f/f1/34th_G8_summit
_member_20080707.jpg" height='100'/>
<img src="http://demo1.alchemyapi.com/images/vision/politicians.jpg"
height='100'/>
<br/>Copy above image location URL or enter any image URL:<br/>
Image URL: <input type="text" name="imageurl"/>
<input type="submit" value="Analyze"/>
</form>
56
change node
q
⼊⼒画⾯から画像URLを抽出するchangeノードを定義します。左側のリソースパレッ
トのfunctionカテゴリ内のchangeノード
をフロー・エディタ中央のキャ
ンバスにドラッグ&ドロップします。 ここからpayload属性をimageurl属性に変換し
ます。以下の通りにプロパティを設定します。
https://ibm.biz/Bd4NRZ
Image Analysis
q
画像解析のためのImage Analysisノードを定義します。左側のリソースパレットの
Watsonカテゴリ内のImage Analysisノード
をフロー・エディタ中央のキャン
バスにドラッグ&ドロップします。プロパティーでは顔認識を⾏うため、以下の通りに
DetectをFaceに設定します。
https://ibm.biz/Bd4NRZ
58
template node (結果)
q
WatsonのImage Analysisから返ってきた結果を表⽰させるためのHTMLを記載します
。temlpalteノード
をフローエディタ中央のキャンバスにドラッグ&ドロ
ップします。プロパティを以下のように記述します。
https://ibm.biz/Bd4NRZ
<h1>Alchemy Image Analysis</h1>
<p>Analyzed
image:
{{payload}}<br/><img
id="alchemy_image"
src="{{payload}}" height="50"/></p>
{{^result}}
<P>No Face detected</P>
{{/result}}
<table border='1'>
<thead><tr><th>Age
Range</th><th>Score</th><th>Gender</th><th>Score</th><th>Name</t
h></tr></thead>
{{#result}}<tr>
<td><b>{{age.ageRange}}</b></td><td><i>{{age.score}}</i></td>
<td>{{gender.gender}}</td><td>{{gender.score}}</td>
{{#identity}}<td>{{identity.name}}
({{identity.score}})</td>{{/identity}}
</tr>{{/result}}
</table>
<form action="{{req._parsedUrl.pathname}}">
<input type="submit" value="Try again"/>
</form>
HTTP Response
60
フローをつなげる
q
出来上がった各ノードをつなげて、右上のDepoyをクリックすれば完成です!エラーが
出ていないことを確認してください。
動作確認
q
ブラウザのURL欄にhttp://xxxx.mybluemix.net/callwatson をインプットして呼び
出してみましょう。 Image URLの⼊⼒欄にWatsonに読ませたい画像URLを⼊れてみ
てください。顔の認識や⼈物名が出てきます!さすがWatson!
62
いろいろな Bluemix サービスを触ってみたい
64
最新情報をキャッチアップしながらBluemixに触れていきたい
64
開催内容
概要
URLdeveloperWorks Events ディベロッパー様向 け技 術イ ベン ト情 報 http://www.ibm.com/devel operworks /jp/ev ents/
クラウドに触れる - イベント情
報 日本I BMの クラ ウド イ ベン ト情 報を 随時 ア ップ デー トし てお り ます 。http://www.ibm.com/c loud-c omp uting/jp/ja/ev ent. html Bluemix いつでもWebina r 2016年は不定期配信もしく は動 画公 開の みと な る予 定で すが 、過
去27回にわたるWebinar資料 を掲 載 して いま す。
https://www.ibm.com/d evelop erworks /c omm unity /wikis /hom e ?lang=en#!/wiki/Wdec01 e50fbfa_493 c_8a88_6dd8 5c4d98 3f/ page/%E4%BB%8A%E3%81%8B %E3% 82% 89%E 3%81 %AF % E3%81%98%E3%82%81%E3 %82 %8BBl uem ix%20 Webinar% E 3%82%B7%E3%83%AA%E3% 83%BC %E3% 82%BA
セミナー形式、ハンズオン形式、Webセミナー形式など、さまざまな開催形式にて、
Bluemixの技術的な内容、最新情報をお届けしております。
サービスの組み合わせ⽅のベストプラクティス
https://developer.ibm.com/architecture/
66
Bluemix ユーザー会 (Bluemix User Group)
bmxug.doorkeeper.jp
ibm.biz/bluemixug
qiita.com/tags/bluemix
ja.stackoverflow.com/questions/tagged/blue
mix
66
Qiita の Bluemix タグでの投稿を
ぜひフォローしましょう!
Slack での情報交換も活発です。
Bluemix User Group(BMXUG -ビーザグ):
・IBM Bluemix の利⽤促進や情報交換のためのユーザーグループです
・現時点、⽇本国内では約1,700名のお客様にご登録いただいております
・ユーザーの皆様により、定期的に勉強会や研修等を実施いただいております
ビーザグ
と読みま
す
Node-RED を始めるならまずはここ!
http://qiita.com/tags/node-red
Qiita の Node-RED タグでの投稿を
ぜひフォローしましょう!
これから始める⽅は、
まず下記の3つは要チェックです!
http://qiita.com/joeartsea/items/93e8483a31292067c654
http://qiita.com/zuhito/items/e9abfd6f1ba188f908ed
Facebook での Node-RED ユーザー会
https://www.facebook.com/groups/noderedjp/
68
各サービス詳細
API Reference
サービス一覧
コミュニティー
サンプルアプリ、ユースケース
この資料に含まれる情報は可能な限り正確を期しておりますが、⽇本アイ・ビー・エム株式会社の正式なレビューを受けておらず、当資
料に記載された内容に関して⽇本アイ・ビー・エム株式会社は何ら保証するものではありません。
従って、この情報の利⽤またはこれらの技法の実施はひとえに使⽤者の責任において為されるものであり、資料の内容によって受けたい
かなる被害に関しても⼀切の補償をするものではありません。
また、IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについては、
www.ibm.com/legal/copytrade.shtmlをご覧ください。
70
Node-RED について
n
IBM
英国Hursley 研究所の Emerging Technology Teamで開発され
たソフトウェア
• 2013
年、社内ハッカソンで堂々⼀位、GitHub に登録
• 2014
年 Qcon で発表
72
Node-REDの特徴
n
ブラウザベース UI
n
node.js
で動作
•
軽量
n
機能をカプセル化して
Node
として利⽤
n
独⾃Nodeを作成・追加可
能
n
Bluemix
の様々なサービス
を簡単に利⽤可能
ハードウェアデバイス,API,オンラインサービスが画期的な
⽅法で結合された"仮想環境をブラウザ上で実現
72
Node-RED 画⾯
シート
ノード
切り替え
実装UI
処理フロー
74
①ノードを選択し
ドラッグ&ドロップ
Node-RED実装⽅法
②ノード間を
接続
④Deployを選択
Node-RED画⾯
③ノードプロパティ設定
74
Node分類
機能
Input
イベントの起動条件の設定
Output
外部アプリへの送信
Function
イベント分岐、受信データの変換、⼀時停⽌ 等
Social
Twitter/Mail/ircの送受信
Storage
DBへの保存、DB検索
Analysis
分析
Advanced
RSS/atomの更新受信時にイベント起動
コネクタが右側に存在
⇒①イベントの起動
イベント起動条件を満
たしたとき、その情報
を送信する
コネクタが左右に存在
⇒②データ変換/分岐
左からデータ受信。
それを変換/分岐させ、右側に結
果を返す
コネクタが左側に存在
⇒③外部アプリ起動/DB保存
左からデータを受信し、それ
を送信/保存
Node-RED搭載ノードの紹介 (代表的なもの)
76
①イベントの起動
Node名称
イベント開始条件
後続フローに送信する内容
Inject
定期起動orノードのクリック 指定⽂字列or現在時刻or
情報なし(起動のみ)
デバック向けの機能。
http
http://[xxxxxxx].mybluemi
x.net/[ノードのURL]リクエ
スト送信時
リクエスト情報
メール受信時、または未読
メール存在時定期起動
メール本⽂(text/plain)
指定メッセージのTweet時に
⾃動起動
Tweet情報
(本⽂、発⾔場所、国…)
Feedparse
RSS/atomの更新受信時
-コネクタが右側に存在するもの
76
Node名称
機能
後続フローに送信する内容
Function
受領データの更新
更新済データ
Switch
条件に応じて、フローを分岐
させる
受信データ
Delay
フローを待機
受信データ
http request
指定サイトに接続
接続サイトのソース
Cloudant
DB検索
DBの検索結果
Sentiment
受信データをセンチメント分
析
評価情報を追加した受信データ
Html
HTMLソースのうち、指定タ
グをすべて取得
指定したタグの情報
コネクタが左右に存在するもの
②データ変換/分岐
78
Node名称
機能
Debug
フロー上に流れている情報を画⾯表⽰
http
response
http requestを返す
Cloudant
DBへのデータ保存
メール送信
コネクタが左側に存在するもの
③外部アプリ起動/DB保存
78
プログラミング
JavaScript
で記述します
•
簡易エディターが付属
•
⾮同期処理も可能
※
より複雑な処理は node の
作成をお勧めします。
詳細ドキュメント:
http://nodered.org/docs/writing-function は最後に return msg; をいれる
と次の
node に送信してくれます。
80