Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Bluemix&Azureで機械学習する自動応
答チャットで旅行提案するアプリを
APIフル活用で実装してみた
自己紹介
• 名前:原田 一樹
• Bluemix UserGroup(BMXUG)のCommunity Manager
• 某商社系SIer所属
• 仕事:サービス企画/クラウド技術実証/アジャイル開発
• 保有スキル
o AWS: Solu...
エバンジェリスト(笑)
kintone × Bluemix対談、
エバンジェリストがPaaSの可能性を語る!
http://ascii.jp/elem/000/001/039/1039691/
開発したアプリ
~またたび 対話型旅行提案bot~
「またたび」 とは?
• 「またたびがしたい」と思ってもらえることを目指した
  対話型旅行プラン提案bot
• 旅行に行きたい日時と予算、人数を伝えるだけで
  旅行全体のプランを一括提案!
• あなたを理解する機械学習エンジンにより、あなた...
アプリケーション構成
Question
and Answer
Auto-Scaling
Monitoring and
Analytics
SendGrid
Virtual machine
負荷テスト
Azure Blob Storage
Azu...
アプリケーション構成
Virtual machineAuto-Scaling
Monitoring and
Analytics
Azure Blob Storage
Azure Machine
Learning
予測評価値
を付与
負荷テスト
...
アプリケーション構成
Auto-Scaling
Monitoring and
Analytics
観光
データ
 観光地の
画像データを
Public化
メール配信
Watson QA
性能監視
スケー
リング
ユーザ管理/チャット管理/観光デ...
Bluemix アプリ概要ページ
観光地データとSwiftによる
画像表示連携
• OpenStack Swiftのパブリックアクセス機能を利用して、画像
データの保管及びWeb公開を実装。
(https://swift2.open.ibmcloud.com/v1/AUTH_x...
乗り換えルート案内
• ユーザー情報の最寄駅を出発駅/帰着駅に設定 
• ヒアリング時の出発日時を出発時間に設定
• ヒアリング時の帰着日時を到着時間に設定
• ユーザーに提案するプラン毎のエリアの主要駅を目的駅に設定
• 各観光地の最寄駅を到...
メール配信 SendGrid
• ユーザーが採用したプランを登録メールアドレスに送信する
• 採用時の情報を収集・整形しメール内容に含ませる
o ユーザーネーム
o ヒアリング情報(日程、人数、予算)
o プラン情報(日程、観光地)
email...
Watson Question & Answer
• チャットからWatsonへ質問することが可能
o Travel Corpusへ質問を投げるように設定
• Watsonは質問内容に応じて回答をチャットに送信
• Watsonの回答から最も自...
Azure MachineLearning
(初期実装時点)
Node-RED LT大会
10月13日(火)19時〜
会場は…
先ほど予約しました
LT参戦者
募集開始します!!
草間さん 原田
参加申し込み開始
後日案内します。
Bluemix UserGroup(BMXUG)
http://ibm.biz/bmxug-facebook
Bluemix&Azureで機械学習する自動応答チャットで旅行提案するアプリを APIフル活用で実装してみた
Upcoming SlideShare
Loading in …5
×

Bluemix&Azureで機械学習する自動応答チャットで旅行提案するアプリを APIフル活用で実装してみた

1,171 views

Published on

8/28 API Meetup LT Slide

Published in: Technology
  • Be the first to comment

Bluemix&Azureで機械学習する自動応答チャットで旅行提案するアプリを APIフル活用で実装してみた

  1. 1. Bluemix&Azureで機械学習する自動応 答チャットで旅行提案するアプリを APIフル活用で実装してみた
  2. 2. 自己紹介 • 名前:原田 一樹 • Bluemix UserGroup(BMXUG)のCommunity Manager • 某商社系SIer所属 • 仕事:サービス企画/クラウド技術実証/アジャイル開発 • 保有スキル o AWS: Solutions Architect - Professional o AWS: SysOps / Developer - Associate o Azure: Implementing Microsoft Azure Infrastructure Solutions o Bluemix: 資格準備中(?)
  3. 3. エバンジェリスト(笑) kintone × Bluemix対談、 エバンジェリストがPaaSの可能性を語る! http://ascii.jp/elem/000/001/039/1039691/
  4. 4. 開発したアプリ ~またたび 対話型旅行提案bot~
  5. 5. 「またたび」 とは? • 「またたびがしたい」と思ってもらえることを目指した   対話型旅行プラン提案bot • 旅行に行きたい日時と予算、人数を伝えるだけで   旅行全体のプランを一括提案! • あなたを理解する機械学習エンジンにより、あなたに似た特性 を持った人に好評だった観光地が提案されます! • 色んな雑談ができるように勉強中
  6. 6. アプリケーション構成 Question and Answer Auto-Scaling Monitoring and Analytics SendGrid Virtual machine 負荷テスト Azure Blob Storage Azure Machine Learning 観光 データ ユーザー データ ヒアリング データ 評価 データ  観光地の 画像データを Public化 Object Storage メール配信 Watson QA 性能監視 スケー リング ユーザ管理/チャット管理/観光データ管理 チャット 履歴データ MongoLab 予測評価値 を付与 CSVファイルの転送 ユーザ評価データ CSVエクスポート/ インポート Travel Corpus SDK Node.js 乗り換え API Git/Build&Deploy/ Track & Plan
  7. 7. アプリケーション構成 Virtual machineAuto-Scaling Monitoring and Analytics Azure Blob Storage Azure Machine Learning 予測評価値 を付与 負荷テスト ユーザー データ ヒアリング データ 評価 データ メール配信 Watson QA 性能監視 スケー リング ユーザ管理/チャット管理/観光データ管理 チャット 履歴データ CSVファイルの転送 ユーザ評価データ CSVエクスポート/ インポート SDK Node.js 乗り換え API Git/Build&Deploy/ Track & Plan SendGridを利 用したメール 配信 MongoLabを 使った各種 データ管理 Object Storage OpenStack Swiftを使っ た画像表示 SendGrid MongoLab Question and Answer Travel Corpus Watson QAを 利用した旅行 情報QA 乗り換えAPIを 利用した旅行 ルート案内 観光 データ  観光地の 画像データを Public化
  8. 8. アプリケーション構成 Auto-Scaling Monitoring and Analytics 観光 データ  観光地の 画像データを Public化 メール配信 Watson QA 性能監視 スケー リング ユーザ管理/チャット管理/観光データ管理 SDK Node.js 乗り換え API Object Storage SendGrid MongoLab Question and Answer Travel Corpus 負荷テスト ユーザー データ ヒアリング データ チャット 履歴データ CSVファイルの転送 ユーザ評価データ CSVエクスポート/ インポート Git/Build&Deploy/ Track & Plan Virtual machine Azure API 実行用の  仮想マシン Azure Blob Storage Azure Machine Learning 予測評価値 を付与 Blobに評価 データと予測 評価データを 保管 Azure MLで ユーザ別観光 評価値を  予 測 評価 データ ユーザから の観光地評 価を保管
  9. 9. Bluemix アプリ概要ページ
  10. 10. 観光地データとSwiftによる 画像表示連携 • OpenStack Swiftのパブリックアクセス機能を利用して、画像 データの保管及びWeb公開を実装。 (https://swift2.open.ibmcloud.com/v1/AUTH_xxxxx/画像ファイル名) • MongoLabに作成した観光地コレクションから観光地に紐づ く画像ファイル名を取得し、上記URLと連結 • チャット応答メッセージに<img>タグを付与して画像表示 Object Storage
  11. 11. 乗り換えルート案内 • ユーザー情報の最寄駅を出発駅/帰着駅に設定  • ヒアリング時の出発日時を出発時間に設定 • ヒアリング時の帰着日時を到着時間に設定 • ユーザーに提案するプラン毎のエリアの主要駅を目的駅に設定 • 各観光地の最寄駅を到着駅及び次の出発駅に設定 • 上記の設定情報を元に複数回乗り換えAPIを実行し、各出力結果を 整形/統合 UserID 最寄駅 00001 東京駅 00002 東京駅 00003 東京駅 【ユーザーデータ】 UserID 出発日時 帰着日時 提案プラン 観光地 00001 9/1 10: 00 9/5 20:00 京都 ××温泉 ○○水族館 … 00002 10/10 15:00 10/18 13: 00 沖縄 ××テーマパーク ○○体験 … 00003 8/15 7: 00 8/15 22: 00 横浜 ××川下り ○○の滝 … 【ヒアリングデータ】 観光地ID 最寄駅 A00013 ××駅 B12003 ○○駅 C01206 △△駅 【観光地データ】
  12. 12. メール配信 SendGrid • ユーザーが採用したプランを登録メールアドレスに送信する • 採用時の情報を収集・整形しメール内容に含ませる o ユーザーネーム o ヒアリング情報(日程、人数、予算) o プラン情報(日程、観光地) email.setTos(tos); // 送信先アドレスは登録メールアドレスから取得し、宛先に設定 email.setFrom(from); // SendGrid経由で送信 email.fromname = 'またたび'; email.setSubject('【またたび】採用プランのご案内'); email.setHtml(‘name さん<br><br> 採用したプランは下記の通りです。<br><br><br> // ユーザーネームを取得し本文に盛り込む 日程:schedule <br> 人数:number 人 <br> 予算:budget 円 <br> <br><br> // 本文に日程、人数、予算を値を盛り込む 【「place」への旅行プラン】<br> plan <br><br> 旅行を楽しんで来てね! email.addSubstitution(‘name’, name); email.addSubstitution('plan', plan); email.addSubstitution('schedule', schedule); email.addSubstitution('number', params.hearing_info.number_of_people); email.addSubstitution('budget', budget); email.addSubstitution('place', place); email.addCategory('category1'); email.addHeader('X-Sent-Using', 'SendGrid-API'); 【Node.js – ソースコード(抜粋)】
  13. 13. Watson Question & Answer • チャットからWatsonへ質問することが可能 o Travel Corpusへ質問を投げるように設定 • Watsonは質問内容に応じて回答をチャットに送信 • Watsonの回答から最も自信のある回答を1つピックアップ • 自信度を表すConfidenceの値と回答本文のみをチャット画面に表 示 • Watsonが日本語未対応のため英語にて入力する必要がある。   (日本語を入力するとエラーメッセージを返す仕様) Question and Answer
  14. 14. Azure MachineLearning (初期実装時点)
  15. 15. Node-RED LT大会 10月13日(火)19時〜
  16. 16. 会場は…
  17. 17. 先ほど予約しました
  18. 18. LT参戦者 募集開始します!!
  19. 19. 草間さん 原田
  20. 20. 参加申し込み開始 後日案内します。 Bluemix UserGroup(BMXUG) http://ibm.biz/bmxug-facebook

×