SlideShare uma empresa Scribd logo
1 de 50
© 2015 IBM Corporation1
【TwilioJP-UG東京×Bluemixハンズオン】
電話のボタン応答はもう古い!?音声認識する自動案
内サービスをサクッと作ろう!!
2015年9月14日
×
© 2015 IBM Corporation2
本日のHands-onについて
Watson Speech to Text
User
オペレータ
問い合わせ 録音・API Call
テキスト化
自動分類・API Call電話転送
「~の方は1を、~の方は2を…」 これ待つのホント面倒ですよね !?
Twilioの録音・転送機能と、Bluemixの音声テキスト化サービスを使って、ストレスフリーな応
答サービスを、サクッと作っちゃいましょう!!
© 2015 IBM Corporation3
Hands-onの進め方
1. Bluemix概要説明 & PHP Webアプリケーションサーバーの構築
2. Twilio様Hands-on
3. Node-Redを使った音声認識 & 自動応答システムの構築
© 2015 IBM Corporation4
講師紹介 : Bluemix
藤田 昌也
Masaya Fujita
Bluemixエバンジェリストとして、Bluemixを世の中に広めるための活
動に従事
基幹システムの開発・運用ProjectのPMから、クラウドの世界へ転身
好きなBluemixのサービスはNode-Red
© 2015 IBM Corporation5
IBM Bluemix概説
2015年9月14日
© 2015 IBM Corporation6
IBM Bluemixとは
アプリケーションを、構築・管理・実行するための、SoftLayerを基盤とし、オープン・スタンダード
(Cloud Foundry)を活用した、新しいクラウド・プラットフォーム(PaaS)です
スピーディーな
環境構築
豊富な「API」と
「サービス」の提供
DevOpsの実現
既存システムとの
インテグレーション
堅牢な
セキュリティ
柔軟な価格体系
お支払い方法
© 2015 IBM Corporation7
従来のIT
メリット
- 自由にカスタマイズが可能(コスト面の制約は残る)
- 基幹業務など特定のソリューションで有用
- 投資済みの既存インフラの活用
必要な作業
- 環境の初期構築と設定 : 数週間
- ハードウェアとミドルウェアのメンテナンス、アップグレード
~ 週単位 ~ 日単位
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
~ 分単位
最初のデプロイまでに必要となる期間
アプリケーション開発における時間軸の変化 - 1/3
アプリケーションを開発・改良するスピードの加速化が必要
お客様による管理
サービスプロバイダーによる管理
© 2015 IBM Corporation8
メリット
- 大半のレイヤーをクラウド上で管理
- インフラストラクチャーは、クラウドのプロバイダーが管理
IaaS
お客様による管理
サービスプロバイダーによる管理
~ 日単位
必要な作業
- プロビジョニング : 数分
- ソフトウェアとアプリケーションの変更
- OS、ミドルウェア、ランタイムの
メンテナンス、アップグレード
IBM SoftLayer
~ 分単位
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
~ 週単位
従来のIT最初のデプロイまでに必要となる期間
アプリケーション開発における時間軸の変化 - 2/3
アプリケーションを開発・改良するスピードの加速化が必要
© 2015 IBM Corporation9
~ 分単位
PaaS
IaaS
メリット
- アプリケーション環境の
迅速なデプロイと設定
- インフラに加えプラットフォーム層も
サービスプロバイダーが管理
必要な作業
- 環境構築と設定 : 数分
- アプリケーション開発
~ 週単位
IBM Bluemix
~ 日単位
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
従来のIT
アプリケーション開発における時間軸の変化 - 3/3
最初のデプロイまでに必要となる期間
アプリケーションを開発・改良するスピードの加速化が必要
お客様による管理
サービスプロバイダーによる管理
© 2015 IBM Corporation10
IBM Bluemix がご提供するもの
「ランタイム」 と 「サービス」 を
クラウドで 迅速にご提供します。超
( アプリケーションの実行環境 ) ( DB等の機能拡張 コンポーネント)
( 30秒! )
© 2015 IBM Corporation11
ランタイムとは
アプリケーションの実行環境
ランタイム
アプリ
コード
アプリ
コード
開発者
Bluemixのビルドパック
わずか30秒 で
コードを動かす環境を準備
-任意の開発言語を使用可能
© 2015 IBM Corporation12
ビルドパックとは
buildpackテクノロジーにより、Bluemix上に任意の
ランタイムを構築できます
標準で用意されている環境の他、Cloud Foundryのコミュニティで
作成・公開されている ビルドパックも利用可能です。
GitHubに様々なbuildpackが
公開されています
GitHubとは、Gitバージョン管理システムを使
用した、開発プロジェクトのための
ホスティング・サービス
https://github.com/cloudfoundry-community/cf-docs-contrib/wiki/Buildpacks
© 2015 IBM Corporation13
サービスとは
ランタイムの機能を拡張するコンポーネント
ランタイム
アプリ
コード
アプリ
コード
開発者
サービス
サービス
サービス
インスタンス
バインド
RDB
わずか30秒 でランタイムと連携(バインド)
-ランタイムが必要とする機能を提供するサービスを選択し、
自由に組み合せ可能
© 2015 IBM Corporation14
IBM Bluemix は“コンポーザブル”な環境
OSやミドルウェア構成が隠蔽された各種コンポーネントを
利用者が自由に組み合わせて環境を構築します
バインド
アプリケーション
バインド
バインド
サービス
サービス
サービス
アプリ開発者 ランタイム
© 2015 IBM Corporation15
Bluemix上で何が使えるか?
100を超えるサービスを利用可能
ボイラープレート:14種類
ランタイム:6種類
サービス:85種類 (2015年4月時点)
 モバイル
 Webアプリケーション
 インテグレーション
 ビジネス・アナリティクス
 Internet of Things
 Watson
 DevOps
 データベース
 ビッグデータ
 セキュリティー
© 2015 IBM Corporation16
デベロッパー様にとって最も効率的な環境で
コーディングしていただけます
IBM DevOps Services との連携
IBM Rational Team Concertを
ベースとした統合開発環境のSaaS
Eclipse OrionによるWeb上のIDE
Eclipse との連携
連携のためのPlug-inが提供されています
開発環境/ツールに制限はありません
© 2015 IBM Corporation17
Cloud Foundryとは
特定の環境に縛られないオープンなPaaS
Cloud Foundryはオープンソースとして
公開されている、特定のインフラや独自の
言語、フレームワークに依存しないオープンな
PaaSです。
他社のCloud FoundryベースのPaaS環
境はもちろん、ローカルに構築された環境に
対しても高いポータビリティがあります。
© 2015 IBM Corporation18
Bluemixの価値 ~ まとめ
 クイックに手軽に環境をセットアップします
– 開発者が開発に専念できる環境を提供します
 多様なサービスとの容易な連携が可能です
– IBMのHigh Value Solutionもご利用いただけます
– OSSやパートナー様提供のサービスもあります
 オープンPaaS 「Cloud Foundry」
– クラウドベンダーやパブリック/プライベートの
垣根のないポータビリティーがあります
© 2015 IBM Corporation19
End
© 2015 IBM Corporation20
Hands-on 1:
PHP Webアプリケーショ
ンサーバーの構築
2015年9月14日
© 2015 IBM Corporation21
Hands-on 1: PHP Webアプリケーションサーバーの構築
 ハンズオン概要
• 最終目的は、録音・転送を行うTwiMLを返す、phpプログラムを稼動させる、Webアプ
リケーションサーバーを構築すること
• ハンズオンでは、Bluemixにて、PHP Webアプリケーションサーバーが手軽に構築でき
ることを体感していただきます。
 手順
• BluemixにてPHP Web アプリケーションサーバーを構築
• Local PCで「Hello! Twilio & Bluemix!!」と表示させるphpファイルを作成
• Bluemix環境にcfコマンドツールでデプロイ
© 2015 IBM Corporation22
PHP Webアプリケーション・サーバー作成
Step
1. PHPランタイムの選択(Bluemixのカタログより)
2. アプリケーション名を決め、サーバーの作成
3. テストページの確認
1. PHPを選択
3. テストページへアクセス2. アプリ名を指定して「Create」
※Bluemix上でユニークな名前とする
米国南部のBluemixに接
続していることを確認
© 2015 IBM Corporation23
PHPファイルの作成
Step
1. ドキュメントルートフォルダの作成(どこでも良いです!)
2. phpファイルの作成(test.php)
© 2015 IBM Corporation24
cf コマンドのインストール
Step
1. Githubにアクセス(https://github.com/cloudfoundry/cli)し、ダウンロード
2. コマンドプロンプト(OS Xではターミナル)で動作確認:cf -v
解説
cf コマンドは、コマンドラインでBluemix環境にアクセスし、Localで開発したソースコードをBluemix環境にデ
プロイするためのツールです。
バージョンが無事表示さ
れればOK
※ Macで、「開発元が未確認のため開けません」と表示される場合は、「システム環境設定」 >> セキュリティーと
プライバシーにて、「ダウンロードしたアプリケーションの実行許可」にて、「すべてのアプリケーションを許可」するように設
定を変更して下さい
© 2015 IBM Corporation25
cf コマンドでBluemixへログイン
Step
1. コマンドプロンプトでルートフォルダへ移動(作成したphpファイルが存在するフォルダ)
2. cf login コマンドでBluemix環境へログイン
 > cf login -a https://api.ng.bluemix.net
Bluemix IDとPass
© 2015 IBM Corporation26
Bluemixにphpファイルをデプロイ
Step
1. cf push コマンドでBluemixにアプリケーションをPush
 > cf push (アプリケーション名)
アプリのBase URL/test.php
© 2015 IBM Corporation27
Twilio様Hands-on
2015年9月14日
© 2015 IBM Corporation28
Node-Red概要
2015年9月14日
© 2015 IBM Corporation29
Node-REDの特徴
 ブラウザベース UI
 node.js で動作・軽量
 機能をカプセル化してNodeと
して利用
 独自Nodeを作成・追加可能
 Bluemixの様々なサービスを
簡単に利用可能
ブラウザベースのUIで、データフローを書きアプリを作成
IoT Foundationからのストリームデータを容易に加工可能
Bluemixでなくて
も使用可能です
© 2015 IBM Corporation30
①ノードを選択し
ドラッグ&ドロップ
Node-RED実装方法
②ノード間を
接続
④Deployを選択Node-RED画面
③ノードプロパティ設定
© 2015 IBM Corporation31
Node分類 機能
Input イベントの起動条件の設定
Output 外部アプリへの送信
Function イベント分岐、受信データの変換、一時停止 等
Social Twitter/Mail/ircの送受信
Storage DBへの保存、DB検索
Analysis 分析
Advanced RSS/atomの更新受信時にイベント起動
コネクタが右側に存在
⇒①イベントの起動
イベント起動条件を満たし
たとき、その情報を送信す
る
コネクタが左右に存在
⇒②データ変換/分岐
左からデータ受信。
それを変換/分岐させ、右側に結果を
返す
コネクタが左側に存在
⇒③外部アプリ起動/DB保存
左からデータを受信し、それを送
信/保存
Node-RED搭載ノードの紹介 (代表的なもの)
© 2015 IBM Corporation32
プログラミング
JavaScriptで記述します
• 簡易エディターが付属
• 非同期処理も可能
※より複雑な処理は node の作
成をお勧めします。
詳細ドキュメント:
http://nodered.org/docs/writing-functions.html
function は最後に return msg; をいれる
と次のnode に送信してくれます。
© 2015 IBM Corporation33
Hands-on 3
音声認識 & 自動応答システム
の構築
2015年9月14日
© 2015 IBM Corporation34
音声認識 & 自動応答システムの概要
① Record動詞で指定したAction
URLへのPOST Request受け取り ② 録音FileのURLを抽出
③ Watsonで、音声をText化
④ 含まれているキーワードを
元に、問い合わせ内容を分類
⑤ 問い合わせ内容ごとに処
理を条件分岐
⑥ 電話転送TwiMLのセット
⑦ TwilioサーバーにTwiMLとと
もにhttp Responseを返答
© 2015 IBM Corporation35
Node-RED アプリケーションの作成
Step
1. カタログからNode-RED Starterを選択
2. アプリケーション名を指定し、Node-REDアプリケーションを作成
※Node-REDはNode.jsで作成されたWebアプリケーションであり、Node-RED Starter Kitを使
うことにより、Node.jsのWeb アプリケーションサーバー上にNode-REDがデプロイされた状態となる。
①カタログから、Node-RED
Starterを選択
②アプリ名を指定して「Create」
※Bluemix上でユニークな名前とする
© 2015 IBM Corporation36
Node-REDの起動
Step
1. Bluemixのダッシュボードに記載されているLinkより、Node-REDを起動
© 2015 IBM Corporation37
HTTP Post Requestの受付
Step
1. httpノードをDrag & Drop
2. ダブルクリックし、Methodを「POST」、URLを「/callcenter」に設定
解説
Twilioの<Record>動詞はActionにセットされたURLにHttp Requestを送信しますが、それを
受けつけるURLを設定しています。
© 2015 IBM Corporation38
Post Parameterの確認
Step
1. Debugノードとhttp responseノードの接続
2. Twilioに電話をかけ、録音を実施
3. Debug ウィンドウの確認
解説
Action URL送信されたPostリクエストの中身を、Debug
ノードを通して確認します。
Json形式で、Postパラメータが取得されていることがわかり
ます。
また、後続処理で使用する、録音ファイルの所在URL(
RecordingUrl)も無事送信されています。
© 2015 IBM Corporation39
Postパラメータから録音ファイルのURLの取り出し
Step
1. Functionノードを接続
2. JavascriptでRecordingUrlを抽出
解説
ノード間のデータはmsgというキーの値としてやり取りされま
す。また、Postパラメータは、msg.payload配下にセットさ
れます。
この中から、msg.payload.RecordingURLを取り出し、
msg.payloadにセットし直して、次のノードにデータを渡し
ます。
msg.payload = msg.payload.RecordingUrl;
return msg;
© 2015 IBM Corporation40
Watson Speech to Textのバインド
Step
1. ダッシュボードより「サービスまたはAPIの追加」をクリック
2. Speech to Textを選択し、作成
解説
Speech to Textを使用するためには、サービスをアプリケーションにバインドし、username/passwordといった
Credentialsを取得する必要があります。
© 2015 IBM Corporation41
Watson Speech to Textでの録音ファイルのテキスト化
Step
1. Speech to Textノードを接続
2. Japanese / Narrowbandを選択
3. msg.transcriptを出力するようにDebugノ
ードを修正
4. 録音し、テキスト化されていることを確認
解説
Speech to Textノードは、音声データそのものか、音
声データのURLをインプットとして、テキスト化し出力しま
す。
ポイント
日本語認識の精度はまだあまり高くありません。ゆっくり、
丁寧に話したりすると、逆に認識精度が落ちますので、
普通のトーン・スピードで話してみてください。
© 2015 IBM Corporation42
問い合わせ内容の分類 1
方針
• 特定のキーワードが含まれているかどうかで、問い合わせ内
容を分類
• とある製品のコールセンターを想定し、「故障」「使い方」の
二つのキーワードで分類(「故障」が1, 「使い方」が2)
Step
1. Functionノードを接続
2. Javascriptでキーワードが含まれているかで分類
3. msg.payload.numに分類番号をセット
var transcript = msg.transcription;
var category, num;
if(transcript.indexOf("故障") != -1){
category = "故障についての質問です。";
num = 1;
} else if (transcript.indexOf("使い方") != -1){
category = "使い方についての質問です";
num = 2;
} else {
category = "認識できない質問です。";
num = 3;
}
msg.payload = {"category": category, "num": num};
return msg;
© 2015 IBM Corporation43
問い合わせ内容の分類 2
Step
1. switchノードを接続
2. msg.payload.numを元に、故障:1 / 使い方:2 /
その他:3で分岐
3. Debugノードをswitchの各出力端子に接続
4. 録音を行い、正しく条件分岐していることを確認。
ポイント
Injectノードを使用して「製品故障」といった言葉をフローに
流し、条件分岐をテストしても良い
© 2015 IBM Corporation44
電話の転送
方針
• 問い合わせ内容に応じて、電話転送先を変えた
TwiMLを用意し、Twilioへhttp レスポンスを返す
Step
1. Templateノードを3つ接続
2. Twilioの電話転送を行うTwiMLをそれぞれ記載
3. 「none」を指定
4. http responseノードを接続
5. 動作確認
ポイント
近くの方の電話番号を設定してテストしてみましょう。
<Response>
<Dial callerId="+815031595817">+81399998877</Dial>
</Response>
© 2015 IBM Corporation45
Import用データ
[{"id":"c847afba.0d1398","type":"http
in","name":"","url":"/callcenter","method":"post","swaggerDoc":"","x":101,"y":86,"z":"56afc5ad.18aa4c","wires":[["591e308a.45
0058"]]},{"id":"c93c119f.59058","type":"debug","name":"","active":true,"console":"false","complete":"transcription","x":371,"y":
170,"z":"56afc5ad.18aa4c","wires":[]},{"id":"591e308a.450058","type":"function","name":"","func":"msg.payload =
msg.payload.RecordingUrl;¥nreturn
msg;","outputs":1,"noerr":0,"x":265,"y":86,"z":"56afc5ad.18aa4c","wires":[["249464a8.7fa46c"]]},{"id":"249464a8.7fa46c","typ
e":"watson-speech-to-text","name":"","lang":"ja-
JP","band":"NarrowbandModel","x":159,"y":170,"z":"56afc5ad.18aa4c","wires":[["c93c119f.59058","cdbcf6f7.b7ad58"]]},{"id":
"cdbcf6f7.b7ad58","type":"function","name":"分類","func":"var transcript = msg.transcription;¥nvar category,
num;¥nif(transcript.indexOf(¥"故障¥") != -1){¥n category = ¥"故障についての質問です。¥";¥n num = 1;¥n} else if
(transcript.indexOf(¥"使い方¥") != -1){¥n category = ¥"使い方についての質問です¥";¥n num = 2;¥n} else {¥n category
= ¥"認識できない質問です。¥";¥n num = 3;¥n}¥nmsg.payload = {¥"category¥": category, ¥"num¥": num};¥nreturn
msg;","outputs":"1","noerr":0,"x":206,"y":260,"z":"56afc5ad.18aa4c","wires":[["7da1f949.0140e8","67898745.7d97a"]]},{"id":"7
da1f949.0140e8","type":"debug","name":"","active":true,"console":"false","complete":"payload","x":381,"y":259,"z":"56afc5ad.
18aa4c","wires":[]},{"id":"67898745.7d97a","type":"switch","name":"","property":"payload.num","rules":[{"t":"eq","v":"1"},{"t":"e
q","v":"2"},{"t":"eq","v":"3"}],"checkall":"true","outputs":3,"x":255,"y":337,"z":"56afc5ad.18aa4c","wires":[["f9cd4589.d3b4c"],["c
e9b00ce.9a77b8"],["87be0d17.5f84c"]]},{"id":"f9cd4589.d3b4c","type":"template","name":"故障問い合わせ先
","field":"payload","format":"text","template":"<Response>¥n <Dial
callerId=¥"+815031595817¥">+81399998877</Dial>¥n</Response>","x":426,"y":314,"z":"56afc5ad.18aa4c","wires":[["5064
7340.ae7144"]]},{"id":"ce9b00ce.9a77b8","type":"template","name":"使い方問い合わせ先
","field":"payload","format":"text","template":"<Response>¥n <Dial
callerId=¥"+815031595817¥">+81399998877</Dial>¥n</Response>","x":430,"y":359,"z":"56afc5ad.18aa4c","wires":[["5064
7340.ae7144"]]},{"id":"87be0d17.5f84c","type":"template","name":"その他問い合わせ先
","field":"payload","format":"text","template":"<Response>¥n <Dial
callerId=¥"+815031595817¥">+81399998877</Dial>¥n</Response>","x":431,"y":405,"z":"56afc5ad.18aa4c","wires":[["5064
7340.ae7144"]]},{"id":"50647340.ae7144","type":"http response","name":"","x":618,"y":355,"z":"56afc5ad.18aa4c","wires":[]}]
© 2015 IBM Corporation46
Import方法
© 2015 IBM Corporation47
まとめ
 TwilioとBluemixは非常に親和性が高く、双方のサービスを組
み合わせることで、さまざまな展開が期待できます。
 一例として、TwilioのTwiML/APIとBluemixのSpeech to
Textを組み合わせ、ストレスフリーな自動応答システムをサクッと
作ることができました!
© 2015 IBM Corporation48
以上でハンズオンは終了です。お疲れ様でした。
×
© 2015 IBM Corporation49
Bluemixユーザー主体で、情報交換・ネットワーキング
定期的にミートアップやイベントを開催
現在 会員登録受付中!
© 2015 IBM Corporation50
「グループに参加」をクリック
http://ibm.biz/bmxug-facebook

Mais conteúdo relacionado

Mais procurados

2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向Kimihiko Kitase
 
進化を続けるBluemix 最新情報
進化を続けるBluemix 最新情報進化を続けるBluemix 最新情報
進化を続けるBluemix 最新情報softlayerjp
 
Bluemix_API_Possibility
Bluemix_API_PossibilityBluemix_API_Possibility
Bluemix_API_PossibilityHarada Kazuki
 
IoTクラウドで拡がるBluemixの世界
IoTクラウドで拡がるBluemixの世界IoTクラウドで拡がるBluemixの世界
IoTクラウドで拡がるBluemixの世界IBMソリューション
 
IBM Bluemix Node-REDを使って簡単アプリ作成を体験する
IBM Bluemix Node-REDを使って簡単アプリ作成を体験するIBM Bluemix Node-REDを使って簡単アプリ作成を体験する
IBM Bluemix Node-REDを使って簡単アプリ作成を体験するMasaya Fujita
 
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!softlayerjp
 
【JSLGG】お手軽watsonアプリ開発セミナー
【JSLGG】お手軽watsonアプリ開発セミナー【JSLGG】お手軽watsonアプリ開発セミナー
【JSLGG】お手軽watsonアプリ開発セミナーsoftlayerjp
 
Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02Hiroaki Komine
 
MySQL Clusterに適したベアメタルクラウド SoftLayer
MySQL Clusterに適したベアメタルクラウド SoftLayerMySQL Clusterに適したベアメタルクラウド SoftLayer
MySQL Clusterに適したベアメタルクラウド SoftLayerMaho Takara
 
Watson × IBM Bluemix で簡単アプリ開発
Watson × IBM Bluemix で簡単アプリ開発Watson × IBM Bluemix で簡単アプリ開発
Watson × IBM Bluemix で簡単アプリ開発softlayerjp
 
SoftLayer Bluemix Community Festa 2016 Program Guide
SoftLayer Bluemix Community Festa 2016 Program GuideSoftLayer Bluemix Community Festa 2016 Program Guide
SoftLayer Bluemix Community Festa 2016 Program GuideKimihiko Kitase
 
私のあれこれBluemix体験談
私のあれこれBluemix体験談私のあれこれBluemix体験談
私のあれこれBluemix体験談softlayerjp
 
最適なBluemixデータベース・サービスを選ぶ
最適なBluemixデータベース・サービスを選ぶ最適なBluemixデータベース・サービスを選ぶ
最適なBluemixデータベース・サービスを選ぶIBMソリューション
 
SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"
SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"
SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"Hideaki Tokida
 
IBM Bluemix × Watson でMashup Hackathon (API説明)
IBM Bluemix × Watson でMashup Hackathon (API説明)IBM Bluemix × Watson でMashup Hackathon (API説明)
IBM Bluemix × Watson でMashup Hackathon (API説明)Masaya Fujita
 
Bluemixの基本を知る -仕組みと使い方-
Bluemixの基本を知る -仕組みと使い方-Bluemixの基本を知る -仕組みと使い方-
Bluemixの基本を知る -仕組みと使い方-IBMソリューション
 
いまからでも聞いていただきたい Watsonの得意な3つのこと!
いまからでも聞いていただきたい Watsonの得意な3つのこと!いまからでも聞いていただきたい Watsonの得意な3つのこと!
いまからでも聞いていただきたい Watsonの得意な3つのこと!岬 宇藤
 
デモで理解する!Bluemixモバイル・サービス
デモで理解する!Bluemixモバイル・サービスデモで理解する!Bluemixモバイル・サービス
デモで理解する!Bluemixモバイル・サービスIBMソリューション
 

Mais procurados (20)

2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向
 
進化を続けるBluemix 最新情報
進化を続けるBluemix 最新情報進化を続けるBluemix 最新情報
進化を続けるBluemix 最新情報
 
IBM Bluemix紹介
IBM Bluemix紹介IBM Bluemix紹介
IBM Bluemix紹介
 
Bluemix_API_Possibility
Bluemix_API_PossibilityBluemix_API_Possibility
Bluemix_API_Possibility
 
IoTクラウドで拡がるBluemixの世界
IoTクラウドで拡がるBluemixの世界IoTクラウドで拡がるBluemixの世界
IoTクラウドで拡がるBluemixの世界
 
IBM Bluemix Node-REDを使って簡単アプリ作成を体験する
IBM Bluemix Node-REDを使って簡単アプリ作成を体験するIBM Bluemix Node-REDを使って簡単アプリ作成を体験する
IBM Bluemix Node-REDを使って簡単アプリ作成を体験する
 
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
 
【JSLGG】お手軽watsonアプリ開発セミナー
【JSLGG】お手軽watsonアプリ開発セミナー【JSLGG】お手軽watsonアプリ開発セミナー
【JSLGG】お手軽watsonアプリ開発セミナー
 
Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02
 
MySQL Clusterに適したベアメタルクラウド SoftLayer
MySQL Clusterに適したベアメタルクラウド SoftLayerMySQL Clusterに適したベアメタルクラウド SoftLayer
MySQL Clusterに適したベアメタルクラウド SoftLayer
 
Watson × IBM Bluemix で簡単アプリ開発
Watson × IBM Bluemix で簡単アプリ開発Watson × IBM Bluemix で簡単アプリ開発
Watson × IBM Bluemix で簡単アプリ開発
 
SoftLayer Bluemix Community Festa 2016 Program Guide
SoftLayer Bluemix Community Festa 2016 Program GuideSoftLayer Bluemix Community Festa 2016 Program Guide
SoftLayer Bluemix Community Festa 2016 Program Guide
 
私のあれこれBluemix体験談
私のあれこれBluemix体験談私のあれこれBluemix体験談
私のあれこれBluemix体験談
 
最適なBluemixデータベース・サービスを選ぶ
最適なBluemixデータベース・サービスを選ぶ最適なBluemixデータベース・サービスを選ぶ
最適なBluemixデータベース・サービスを選ぶ
 
SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"
SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"
SIer目線でみたbluemix "bluemixハッカソン、watson ハッカソンでの知見"
 
IBM Bluemix × Watson でMashup Hackathon (API説明)
IBM Bluemix × Watson でMashup Hackathon (API説明)IBM Bluemix × Watson でMashup Hackathon (API説明)
IBM Bluemix × Watson でMashup Hackathon (API説明)
 
Bluemixと既存システムとの連携
Bluemixと既存システムとの連携Bluemixと既存システムとの連携
Bluemixと既存システムとの連携
 
Bluemixの基本を知る -仕組みと使い方-
Bluemixの基本を知る -仕組みと使い方-Bluemixの基本を知る -仕組みと使い方-
Bluemixの基本を知る -仕組みと使い方-
 
いまからでも聞いていただきたい Watsonの得意な3つのこと!
いまからでも聞いていただきたい Watsonの得意な3つのこと!いまからでも聞いていただきたい Watsonの得意な3つのこと!
いまからでも聞いていただきたい Watsonの得意な3つのこと!
 
デモで理解する!Bluemixモバイル・サービス
デモで理解する!Bluemixモバイル・サービスデモで理解する!Bluemixモバイル・サービス
デモで理解する!Bluemixモバイル・サービス
 

Semelhante a Twilio bluemix hands-on 資料

クラウドネイティブなアナリティクス基盤 - IBM Bluemix
クラウドネイティブなアナリティクス基盤 - IBM Bluemixクラウドネイティブなアナリティクス基盤 - IBM Bluemix
クラウドネイティブなアナリティクス基盤 - IBM BluemixKenichi Sekine
 
FlashAir x Bluemix アイデアソン
FlashAir x Bluemix アイデアソンFlashAir x Bluemix アイデアソン
FlashAir x Bluemix アイデアソンK Kimura
 
Node red hands on - public
Node red hands on - publicNode red hands on - public
Node red hands on - publicTakehiko Amano
 
IoT Application Development by XPages on Bluemix
IoT Application Development by XPages on BluemixIoT Application Development by XPages on Bluemix
IoT Application Development by XPages on BluemixAtsushi Sato
 
Bluemix受賞アプリ Bluecouponのその後
Bluemix受賞アプリ Bluecouponのその後Bluemix受賞アプリ Bluecouponのその後
Bluemix受賞アプリ Bluecouponのその後K Inoya
 
進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)Noriyuki Egi
 
2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdfYuichiro Maki
 
イノベート・ハブ九州 Bluemix勉強会#3
イノベート・ハブ九州 Bluemix勉強会#3イノベート・ハブ九州 Bluemix勉強会#3
イノベート・ハブ九州 Bluemix勉強会#3Atsumori Sasaki
 
StrongLoopでサクっと始めるAPIエコノミー
StrongLoopでサクっと始めるAPIエコノミーStrongLoopでサクっと始めるAPIエコノミー
StrongLoopでサクっと始めるAPIエコノミーYUSUKE MORIZUMI
 
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcapsmalt
 
Lync でできる? 仕事効率化
Lync でできる? 仕事効率化Lync でできる? 仕事効率化
Lync でできる? 仕事効率化Manato KAMEYA
 
ラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーsoftlayerjp
 
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2YoshiyukiKonno
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用DeNA
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンEiji KOMINAMI
 
MfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC appsMfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC appsTakaaki Suzuki
 
Tech day2015 ここまで使える!最新worxアプリ徹底活用術
Tech day2015 ここまで使える!最新worxアプリ徹底活用術Tech day2015 ここまで使える!最新worxアプリ徹底活用術
Tech day2015 ここまで使える!最新worxアプリ徹底活用術Citrix Systems Japan
 

Semelhante a Twilio bluemix hands-on 資料 (20)

クラウドネイティブなアナリティクス基盤 - IBM Bluemix
クラウドネイティブなアナリティクス基盤 - IBM Bluemixクラウドネイティブなアナリティクス基盤 - IBM Bluemix
クラウドネイティブなアナリティクス基盤 - IBM Bluemix
 
FlashAir x Bluemix アイデアソン
FlashAir x Bluemix アイデアソンFlashAir x Bluemix アイデアソン
FlashAir x Bluemix アイデアソン
 
Node red hands on - public
Node red hands on - publicNode red hands on - public
Node red hands on - public
 
JJUG−20160322
JJUG−20160322JJUG−20160322
JJUG−20160322
 
IoT Application Development by XPages on Bluemix
IoT Application Development by XPages on BluemixIoT Application Development by XPages on Bluemix
IoT Application Development by XPages on Bluemix
 
Bluemix受賞アプリ Bluecouponのその後
Bluemix受賞アプリ Bluecouponのその後Bluemix受賞アプリ Bluecouponのその後
Bluemix受賞アプリ Bluecouponのその後
 
進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)
 
Twilioと.NET
Twilioと.NETTwilioと.NET
Twilioと.NET
 
2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf
 
イノベート・ハブ九州 Bluemix勉強会#3
イノベート・ハブ九州 Bluemix勉強会#3イノベート・ハブ九州 Bluemix勉強会#3
イノベート・ハブ九州 Bluemix勉強会#3
 
StrongLoopでサクっと始めるAPIエコノミー
StrongLoopでサクっと始めるAPIエコノミーStrongLoopでサクっと始めるAPIエコノミー
StrongLoopでサクっと始めるAPIエコノミー
 
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
 
Lync でできる? 仕事効率化
Lync でできる? 仕事効率化Lync でできる? 仕事効率化
Lync でできる? 仕事効率化
 
ラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナーラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナー
 
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
Bluemix体験レポート@第3回soft layer勉強会 20140901_ver.2
 
Openshift 20191219
Openshift 20191219Openshift 20191219
Openshift 20191219
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
 
MfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC appsMfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC apps
 
Tech day2015 ここまで使える!最新worxアプリ徹底活用術
Tech day2015 ここまで使える!最新worxアプリ徹底活用術Tech day2015 ここまで使える!最新worxアプリ徹底活用術
Tech day2015 ここまで使える!最新worxアプリ徹底活用術
 

Último

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Último (9)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Twilio bluemix hands-on 資料

  • 1. © 2015 IBM Corporation1 【TwilioJP-UG東京×Bluemixハンズオン】 電話のボタン応答はもう古い!?音声認識する自動案 内サービスをサクッと作ろう!! 2015年9月14日 ×
  • 2. © 2015 IBM Corporation2 本日のHands-onについて Watson Speech to Text User オペレータ 問い合わせ 録音・API Call テキスト化 自動分類・API Call電話転送 「~の方は1を、~の方は2を…」 これ待つのホント面倒ですよね !? Twilioの録音・転送機能と、Bluemixの音声テキスト化サービスを使って、ストレスフリーな応 答サービスを、サクッと作っちゃいましょう!!
  • 3. © 2015 IBM Corporation3 Hands-onの進め方 1. Bluemix概要説明 & PHP Webアプリケーションサーバーの構築 2. Twilio様Hands-on 3. Node-Redを使った音声認識 & 自動応答システムの構築
  • 4. © 2015 IBM Corporation4 講師紹介 : Bluemix 藤田 昌也 Masaya Fujita Bluemixエバンジェリストとして、Bluemixを世の中に広めるための活 動に従事 基幹システムの開発・運用ProjectのPMから、クラウドの世界へ転身 好きなBluemixのサービスはNode-Red
  • 5. © 2015 IBM Corporation5 IBM Bluemix概説 2015年9月14日
  • 6. © 2015 IBM Corporation6 IBM Bluemixとは アプリケーションを、構築・管理・実行するための、SoftLayerを基盤とし、オープン・スタンダード (Cloud Foundry)を活用した、新しいクラウド・プラットフォーム(PaaS)です スピーディーな 環境構築 豊富な「API」と 「サービス」の提供 DevOpsの実現 既存システムとの インテグレーション 堅牢な セキュリティ 柔軟な価格体系 お支払い方法
  • 7. © 2015 IBM Corporation7 従来のIT メリット - 自由にカスタマイズが可能(コスト面の制約は残る) - 基幹業務など特定のソリューションで有用 - 投資済みの既存インフラの活用 必要な作業 - 環境の初期構築と設定 : 数週間 - ハードウェアとミドルウェアのメンテナンス、アップグレード ~ 週単位 ~ 日単位 Code Data Runtime Middleware OS Virtualization Servers Storage Networking ~ 分単位 最初のデプロイまでに必要となる期間 アプリケーション開発における時間軸の変化 - 1/3 アプリケーションを開発・改良するスピードの加速化が必要 お客様による管理 サービスプロバイダーによる管理
  • 8. © 2015 IBM Corporation8 メリット - 大半のレイヤーをクラウド上で管理 - インフラストラクチャーは、クラウドのプロバイダーが管理 IaaS お客様による管理 サービスプロバイダーによる管理 ~ 日単位 必要な作業 - プロビジョニング : 数分 - ソフトウェアとアプリケーションの変更 - OS、ミドルウェア、ランタイムの メンテナンス、アップグレード IBM SoftLayer ~ 分単位 Code Data Runtime Middleware OS Virtualization Servers Storage Networking ~ 週単位 従来のIT最初のデプロイまでに必要となる期間 アプリケーション開発における時間軸の変化 - 2/3 アプリケーションを開発・改良するスピードの加速化が必要
  • 9. © 2015 IBM Corporation9 ~ 分単位 PaaS IaaS メリット - アプリケーション環境の 迅速なデプロイと設定 - インフラに加えプラットフォーム層も サービスプロバイダーが管理 必要な作業 - 環境構築と設定 : 数分 - アプリケーション開発 ~ 週単位 IBM Bluemix ~ 日単位 Code Data Runtime Middleware OS Virtualization Servers Storage Networking 従来のIT アプリケーション開発における時間軸の変化 - 3/3 最初のデプロイまでに必要となる期間 アプリケーションを開発・改良するスピードの加速化が必要 お客様による管理 サービスプロバイダーによる管理
  • 10. © 2015 IBM Corporation10 IBM Bluemix がご提供するもの 「ランタイム」 と 「サービス」 を クラウドで 迅速にご提供します。超 ( アプリケーションの実行環境 ) ( DB等の機能拡張 コンポーネント) ( 30秒! )
  • 11. © 2015 IBM Corporation11 ランタイムとは アプリケーションの実行環境 ランタイム アプリ コード アプリ コード 開発者 Bluemixのビルドパック わずか30秒 で コードを動かす環境を準備 -任意の開発言語を使用可能
  • 12. © 2015 IBM Corporation12 ビルドパックとは buildpackテクノロジーにより、Bluemix上に任意の ランタイムを構築できます 標準で用意されている環境の他、Cloud Foundryのコミュニティで 作成・公開されている ビルドパックも利用可能です。 GitHubに様々なbuildpackが 公開されています GitHubとは、Gitバージョン管理システムを使 用した、開発プロジェクトのための ホスティング・サービス https://github.com/cloudfoundry-community/cf-docs-contrib/wiki/Buildpacks
  • 13. © 2015 IBM Corporation13 サービスとは ランタイムの機能を拡張するコンポーネント ランタイム アプリ コード アプリ コード 開発者 サービス サービス サービス インスタンス バインド RDB わずか30秒 でランタイムと連携(バインド) -ランタイムが必要とする機能を提供するサービスを選択し、 自由に組み合せ可能
  • 14. © 2015 IBM Corporation14 IBM Bluemix は“コンポーザブル”な環境 OSやミドルウェア構成が隠蔽された各種コンポーネントを 利用者が自由に組み合わせて環境を構築します バインド アプリケーション バインド バインド サービス サービス サービス アプリ開発者 ランタイム
  • 15. © 2015 IBM Corporation15 Bluemix上で何が使えるか? 100を超えるサービスを利用可能 ボイラープレート:14種類 ランタイム:6種類 サービス:85種類 (2015年4月時点)  モバイル  Webアプリケーション  インテグレーション  ビジネス・アナリティクス  Internet of Things  Watson  DevOps  データベース  ビッグデータ  セキュリティー
  • 16. © 2015 IBM Corporation16 デベロッパー様にとって最も効率的な環境で コーディングしていただけます IBM DevOps Services との連携 IBM Rational Team Concertを ベースとした統合開発環境のSaaS Eclipse OrionによるWeb上のIDE Eclipse との連携 連携のためのPlug-inが提供されています 開発環境/ツールに制限はありません
  • 17. © 2015 IBM Corporation17 Cloud Foundryとは 特定の環境に縛られないオープンなPaaS Cloud Foundryはオープンソースとして 公開されている、特定のインフラや独自の 言語、フレームワークに依存しないオープンな PaaSです。 他社のCloud FoundryベースのPaaS環 境はもちろん、ローカルに構築された環境に 対しても高いポータビリティがあります。
  • 18. © 2015 IBM Corporation18 Bluemixの価値 ~ まとめ  クイックに手軽に環境をセットアップします – 開発者が開発に専念できる環境を提供します  多様なサービスとの容易な連携が可能です – IBMのHigh Value Solutionもご利用いただけます – OSSやパートナー様提供のサービスもあります  オープンPaaS 「Cloud Foundry」 – クラウドベンダーやパブリック/プライベートの 垣根のないポータビリティーがあります
  • 19. © 2015 IBM Corporation19 End
  • 20. © 2015 IBM Corporation20 Hands-on 1: PHP Webアプリケーショ ンサーバーの構築 2015年9月14日
  • 21. © 2015 IBM Corporation21 Hands-on 1: PHP Webアプリケーションサーバーの構築  ハンズオン概要 • 最終目的は、録音・転送を行うTwiMLを返す、phpプログラムを稼動させる、Webアプ リケーションサーバーを構築すること • ハンズオンでは、Bluemixにて、PHP Webアプリケーションサーバーが手軽に構築でき ることを体感していただきます。  手順 • BluemixにてPHP Web アプリケーションサーバーを構築 • Local PCで「Hello! Twilio & Bluemix!!」と表示させるphpファイルを作成 • Bluemix環境にcfコマンドツールでデプロイ
  • 22. © 2015 IBM Corporation22 PHP Webアプリケーション・サーバー作成 Step 1. PHPランタイムの選択(Bluemixのカタログより) 2. アプリケーション名を決め、サーバーの作成 3. テストページの確認 1. PHPを選択 3. テストページへアクセス2. アプリ名を指定して「Create」 ※Bluemix上でユニークな名前とする 米国南部のBluemixに接 続していることを確認
  • 23. © 2015 IBM Corporation23 PHPファイルの作成 Step 1. ドキュメントルートフォルダの作成(どこでも良いです!) 2. phpファイルの作成(test.php)
  • 24. © 2015 IBM Corporation24 cf コマンドのインストール Step 1. Githubにアクセス(https://github.com/cloudfoundry/cli)し、ダウンロード 2. コマンドプロンプト(OS Xではターミナル)で動作確認:cf -v 解説 cf コマンドは、コマンドラインでBluemix環境にアクセスし、Localで開発したソースコードをBluemix環境にデ プロイするためのツールです。 バージョンが無事表示さ れればOK ※ Macで、「開発元が未確認のため開けません」と表示される場合は、「システム環境設定」 >> セキュリティーと プライバシーにて、「ダウンロードしたアプリケーションの実行許可」にて、「すべてのアプリケーションを許可」するように設 定を変更して下さい
  • 25. © 2015 IBM Corporation25 cf コマンドでBluemixへログイン Step 1. コマンドプロンプトでルートフォルダへ移動(作成したphpファイルが存在するフォルダ) 2. cf login コマンドでBluemix環境へログイン  > cf login -a https://api.ng.bluemix.net Bluemix IDとPass
  • 26. © 2015 IBM Corporation26 Bluemixにphpファイルをデプロイ Step 1. cf push コマンドでBluemixにアプリケーションをPush  > cf push (アプリケーション名) アプリのBase URL/test.php
  • 27. © 2015 IBM Corporation27 Twilio様Hands-on 2015年9月14日
  • 28. © 2015 IBM Corporation28 Node-Red概要 2015年9月14日
  • 29. © 2015 IBM Corporation29 Node-REDの特徴  ブラウザベース UI  node.js で動作・軽量  機能をカプセル化してNodeと して利用  独自Nodeを作成・追加可能  Bluemixの様々なサービスを 簡単に利用可能 ブラウザベースのUIで、データフローを書きアプリを作成 IoT Foundationからのストリームデータを容易に加工可能 Bluemixでなくて も使用可能です
  • 30. © 2015 IBM Corporation30 ①ノードを選択し ドラッグ&ドロップ Node-RED実装方法 ②ノード間を 接続 ④Deployを選択Node-RED画面 ③ノードプロパティ設定
  • 31. © 2015 IBM Corporation31 Node分類 機能 Input イベントの起動条件の設定 Output 外部アプリへの送信 Function イベント分岐、受信データの変換、一時停止 等 Social Twitter/Mail/ircの送受信 Storage DBへの保存、DB検索 Analysis 分析 Advanced RSS/atomの更新受信時にイベント起動 コネクタが右側に存在 ⇒①イベントの起動 イベント起動条件を満たし たとき、その情報を送信す る コネクタが左右に存在 ⇒②データ変換/分岐 左からデータ受信。 それを変換/分岐させ、右側に結果を 返す コネクタが左側に存在 ⇒③外部アプリ起動/DB保存 左からデータを受信し、それを送 信/保存 Node-RED搭載ノードの紹介 (代表的なもの)
  • 32. © 2015 IBM Corporation32 プログラミング JavaScriptで記述します • 簡易エディターが付属 • 非同期処理も可能 ※より複雑な処理は node の作 成をお勧めします。 詳細ドキュメント: http://nodered.org/docs/writing-functions.html function は最後に return msg; をいれる と次のnode に送信してくれます。
  • 33. © 2015 IBM Corporation33 Hands-on 3 音声認識 & 自動応答システム の構築 2015年9月14日
  • 34. © 2015 IBM Corporation34 音声認識 & 自動応答システムの概要 ① Record動詞で指定したAction URLへのPOST Request受け取り ② 録音FileのURLを抽出 ③ Watsonで、音声をText化 ④ 含まれているキーワードを 元に、問い合わせ内容を分類 ⑤ 問い合わせ内容ごとに処 理を条件分岐 ⑥ 電話転送TwiMLのセット ⑦ TwilioサーバーにTwiMLとと もにhttp Responseを返答
  • 35. © 2015 IBM Corporation35 Node-RED アプリケーションの作成 Step 1. カタログからNode-RED Starterを選択 2. アプリケーション名を指定し、Node-REDアプリケーションを作成 ※Node-REDはNode.jsで作成されたWebアプリケーションであり、Node-RED Starter Kitを使 うことにより、Node.jsのWeb アプリケーションサーバー上にNode-REDがデプロイされた状態となる。 ①カタログから、Node-RED Starterを選択 ②アプリ名を指定して「Create」 ※Bluemix上でユニークな名前とする
  • 36. © 2015 IBM Corporation36 Node-REDの起動 Step 1. Bluemixのダッシュボードに記載されているLinkより、Node-REDを起動
  • 37. © 2015 IBM Corporation37 HTTP Post Requestの受付 Step 1. httpノードをDrag & Drop 2. ダブルクリックし、Methodを「POST」、URLを「/callcenter」に設定 解説 Twilioの<Record>動詞はActionにセットされたURLにHttp Requestを送信しますが、それを 受けつけるURLを設定しています。
  • 38. © 2015 IBM Corporation38 Post Parameterの確認 Step 1. Debugノードとhttp responseノードの接続 2. Twilioに電話をかけ、録音を実施 3. Debug ウィンドウの確認 解説 Action URL送信されたPostリクエストの中身を、Debug ノードを通して確認します。 Json形式で、Postパラメータが取得されていることがわかり ます。 また、後続処理で使用する、録音ファイルの所在URL( RecordingUrl)も無事送信されています。
  • 39. © 2015 IBM Corporation39 Postパラメータから録音ファイルのURLの取り出し Step 1. Functionノードを接続 2. JavascriptでRecordingUrlを抽出 解説 ノード間のデータはmsgというキーの値としてやり取りされま す。また、Postパラメータは、msg.payload配下にセットさ れます。 この中から、msg.payload.RecordingURLを取り出し、 msg.payloadにセットし直して、次のノードにデータを渡し ます。 msg.payload = msg.payload.RecordingUrl; return msg;
  • 40. © 2015 IBM Corporation40 Watson Speech to Textのバインド Step 1. ダッシュボードより「サービスまたはAPIの追加」をクリック 2. Speech to Textを選択し、作成 解説 Speech to Textを使用するためには、サービスをアプリケーションにバインドし、username/passwordといった Credentialsを取得する必要があります。
  • 41. © 2015 IBM Corporation41 Watson Speech to Textでの録音ファイルのテキスト化 Step 1. Speech to Textノードを接続 2. Japanese / Narrowbandを選択 3. msg.transcriptを出力するようにDebugノ ードを修正 4. 録音し、テキスト化されていることを確認 解説 Speech to Textノードは、音声データそのものか、音 声データのURLをインプットとして、テキスト化し出力しま す。 ポイント 日本語認識の精度はまだあまり高くありません。ゆっくり、 丁寧に話したりすると、逆に認識精度が落ちますので、 普通のトーン・スピードで話してみてください。
  • 42. © 2015 IBM Corporation42 問い合わせ内容の分類 1 方針 • 特定のキーワードが含まれているかどうかで、問い合わせ内 容を分類 • とある製品のコールセンターを想定し、「故障」「使い方」の 二つのキーワードで分類(「故障」が1, 「使い方」が2) Step 1. Functionノードを接続 2. Javascriptでキーワードが含まれているかで分類 3. msg.payload.numに分類番号をセット var transcript = msg.transcription; var category, num; if(transcript.indexOf("故障") != -1){ category = "故障についての質問です。"; num = 1; } else if (transcript.indexOf("使い方") != -1){ category = "使い方についての質問です"; num = 2; } else { category = "認識できない質問です。"; num = 3; } msg.payload = {"category": category, "num": num}; return msg;
  • 43. © 2015 IBM Corporation43 問い合わせ内容の分類 2 Step 1. switchノードを接続 2. msg.payload.numを元に、故障:1 / 使い方:2 / その他:3で分岐 3. Debugノードをswitchの各出力端子に接続 4. 録音を行い、正しく条件分岐していることを確認。 ポイント Injectノードを使用して「製品故障」といった言葉をフローに 流し、条件分岐をテストしても良い
  • 44. © 2015 IBM Corporation44 電話の転送 方針 • 問い合わせ内容に応じて、電話転送先を変えた TwiMLを用意し、Twilioへhttp レスポンスを返す Step 1. Templateノードを3つ接続 2. Twilioの電話転送を行うTwiMLをそれぞれ記載 3. 「none」を指定 4. http responseノードを接続 5. 動作確認 ポイント 近くの方の電話番号を設定してテストしてみましょう。 <Response> <Dial callerId="+815031595817">+81399998877</Dial> </Response>
  • 45. © 2015 IBM Corporation45 Import用データ [{"id":"c847afba.0d1398","type":"http in","name":"","url":"/callcenter","method":"post","swaggerDoc":"","x":101,"y":86,"z":"56afc5ad.18aa4c","wires":[["591e308a.45 0058"]]},{"id":"c93c119f.59058","type":"debug","name":"","active":true,"console":"false","complete":"transcription","x":371,"y": 170,"z":"56afc5ad.18aa4c","wires":[]},{"id":"591e308a.450058","type":"function","name":"","func":"msg.payload = msg.payload.RecordingUrl;¥nreturn msg;","outputs":1,"noerr":0,"x":265,"y":86,"z":"56afc5ad.18aa4c","wires":[["249464a8.7fa46c"]]},{"id":"249464a8.7fa46c","typ e":"watson-speech-to-text","name":"","lang":"ja- JP","band":"NarrowbandModel","x":159,"y":170,"z":"56afc5ad.18aa4c","wires":[["c93c119f.59058","cdbcf6f7.b7ad58"]]},{"id": "cdbcf6f7.b7ad58","type":"function","name":"分類","func":"var transcript = msg.transcription;¥nvar category, num;¥nif(transcript.indexOf(¥"故障¥") != -1){¥n category = ¥"故障についての質問です。¥";¥n num = 1;¥n} else if (transcript.indexOf(¥"使い方¥") != -1){¥n category = ¥"使い方についての質問です¥";¥n num = 2;¥n} else {¥n category = ¥"認識できない質問です。¥";¥n num = 3;¥n}¥nmsg.payload = {¥"category¥": category, ¥"num¥": num};¥nreturn msg;","outputs":"1","noerr":0,"x":206,"y":260,"z":"56afc5ad.18aa4c","wires":[["7da1f949.0140e8","67898745.7d97a"]]},{"id":"7 da1f949.0140e8","type":"debug","name":"","active":true,"console":"false","complete":"payload","x":381,"y":259,"z":"56afc5ad. 18aa4c","wires":[]},{"id":"67898745.7d97a","type":"switch","name":"","property":"payload.num","rules":[{"t":"eq","v":"1"},{"t":"e q","v":"2"},{"t":"eq","v":"3"}],"checkall":"true","outputs":3,"x":255,"y":337,"z":"56afc5ad.18aa4c","wires":[["f9cd4589.d3b4c"],["c e9b00ce.9a77b8"],["87be0d17.5f84c"]]},{"id":"f9cd4589.d3b4c","type":"template","name":"故障問い合わせ先 ","field":"payload","format":"text","template":"<Response>¥n <Dial callerId=¥"+815031595817¥">+81399998877</Dial>¥n</Response>","x":426,"y":314,"z":"56afc5ad.18aa4c","wires":[["5064 7340.ae7144"]]},{"id":"ce9b00ce.9a77b8","type":"template","name":"使い方問い合わせ先 ","field":"payload","format":"text","template":"<Response>¥n <Dial callerId=¥"+815031595817¥">+81399998877</Dial>¥n</Response>","x":430,"y":359,"z":"56afc5ad.18aa4c","wires":[["5064 7340.ae7144"]]},{"id":"87be0d17.5f84c","type":"template","name":"その他問い合わせ先 ","field":"payload","format":"text","template":"<Response>¥n <Dial callerId=¥"+815031595817¥">+81399998877</Dial>¥n</Response>","x":431,"y":405,"z":"56afc5ad.18aa4c","wires":[["5064 7340.ae7144"]]},{"id":"50647340.ae7144","type":"http response","name":"","x":618,"y":355,"z":"56afc5ad.18aa4c","wires":[]}]
  • 46. © 2015 IBM Corporation46 Import方法
  • 47. © 2015 IBM Corporation47 まとめ  TwilioとBluemixは非常に親和性が高く、双方のサービスを組 み合わせることで、さまざまな展開が期待できます。  一例として、TwilioのTwiML/APIとBluemixのSpeech to Textを組み合わせ、ストレスフリーな自動応答システムをサクッと 作ることができました!
  • 48. © 2015 IBM Corporation48 以上でハンズオンは終了です。お疲れ様でした。 ×
  • 49. © 2015 IBM Corporation49 Bluemixユーザー主体で、情報交換・ネットワーキング 定期的にミートアップやイベントを開催 現在 会員登録受付中!
  • 50. © 2015 IBM Corporation50 「グループに参加」をクリック http://ibm.biz/bmxug-facebook