Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IBM CloudとWatson APIでチャットボットアプリを作成
Search
Taiji HAGINO
PRO
November 07, 2017
Technology
0
360
IBM CloudとWatson APIでチャットボットアプリを作成
ハンズオンワークショップ用の資料です
Taiji HAGINO
PRO
November 07, 2017
Tweet
Share
More Decks by Taiji HAGINO
See All by Taiji HAGINO
Automatic Creation of Azure Environment Configuration Diagrams! with Datadog Cloudcraft
taiponrock
PRO
0
63
VS Code の静的分析でリアルタイムのコードフィードバックを取得
taiponrock
PRO
0
150
Backstage of Enterprise Conference
taiponrock
PRO
1
190
どの種は何の花を咲かす?DevRelのターゲットオーディエンスを知ることの意味
taiponrock
PRO
2
330
Datadogの便利な使い方 - 意外と知らない?CoScreenとCloudcraft
taiponrock
PRO
1
1.8k
DatadogとPagerDutyで改善するシステム障害対応
taiponrock
PRO
0
750
ソフトウェアチームのパフォーマンスを向上させる鍵: パイプラインのオブザーバービリティ
taiponrock
PRO
1
160
エンドツーエンドの可視性を実現するクエスト
taiponrock
PRO
2
520
JDDUG (Japan Datadog User Group)始動の舞台裏
taiponrock
PRO
2
370
Other Decks in Technology
See All in Technology
無理しない AI 活用サービス / #jazug
koudaiii
0
100
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.9k
Data Engineering Study#30 LT資料
tetsuroito
1
300
How Do I Contact Jetblue Airlines® Reservation Number: Fast Support Guide
thejetblueairhelpsupport
0
150
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
5
780
QAを早期に巻き込む”って どうやるの? モヤモヤから抜け出す実践知
moritamasami
2
100
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
3.1k
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
710
SRE with AI:実践から学ぶ、運用課題解決と未来への展望
yoshiiryo1
0
380
サイバーエージェントグループのSRE10年の歩みとAI時代の生存戦略
shotatsuge
4
1.1k
Digitization部 紹介資料
sansan33
PRO
1
4.5k
An introduction to Claude Code SDK
choplin
2
1.5k
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Unsuck your backbone
ammeep
671
58k
How to train your dragon (web standard)
notwaldorf
96
6.1k
The Language of Interfaces
destraynor
158
25k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
Make Chatbot App with Watson IBM Cloud + Watson APIでチャットボットを作る
はじめに
§ ⽬的 • Watson Conversation APIを使ったチャットボットを開発し、IBM Cloudや Watsonの開発スキルを習得いただく。 § 必要なもの
• 開発⽤端末(Mac、Windowsなど) • Webブラウザ(Chrome、Firefox、Internet Explorerなど) • IBM Cloudアカウント(無償のライトアカウントでもOK) • Slackアカウント § このハンズオンで習得できること • IBM Cloudでのアプリケーション開発の流れ • Watson Conversation APIの使い⽅ ©Copyright IBM 3
今回作成するアプリのイメージ
システム全体像 Slack Watson Conversation 外部API(例) ユーザー インターフェース サービスおよびAPI クラウド ぐるなびWebサービス
駅すぱあとWebサービス 美味しい店 教えて 何が ⾷べたい? LINE Webブラウザ
Step 0 IBM Cloudアカウント作成
必須事項を⼊⼒し、「アカウントの作成」をクリックします クレジットカードの登録は不要です! 以下にアクセスします https://console.bluemix.net/registration/free
Bluemixチームからメールが届くので「Confirm Account」をクリックしてアカ ウントをアクティベーション、その後「ログイン」をクリックします 8
ダッシュボードへアクセスできました 9
デフォルトで組織とスペースが作成されていることを確認します ※作成されていない場合は、このタイミングで作成します
Step 1 Watson APIの作成
カタログのWatsonカテゴリーから「Conversation」を選択します。
Conversation APIを作成します 価格プランはデフォルトでライトが選択されているのでそのままでOKです
Step 2 Conversation APIの設定
IBM Watson Conversation の設計の基本 lIntents(意図) ü対話相⼿の要求を受け取る。Intents を明確にする - 「ライトをつけて」 →
スイッチ⼊ - 「⾳楽をかけて」 → スイッチ⼊ - 「⾳楽をもっと⼤きく」 → ⾳量を上げる lEntities(⽬的語) ü要求の対象となるEntityを明確にする - 「ライトをつけて」 → ライト - 「⾳楽をかけて」 → ⾳楽 - 「⾳量をもっと⼤きく」 → ⾳量 lDialogs(対話) ü対話の流れを設計する - 「⾳楽をかけて」→ 「⾳楽のジャンル取得」→ 指定ジャンルの⾳楽を開始
ダッシュボードからConversation APIを選択します
Conversation定義ツールを起動するため「Launch tool」をクリックします
Watson Conversationの画⾯でログインし、「Create」でワークスペースの作成を⾏います
今回は「駅コンシェルジュBOT」という名前でワークスペースを作成します 名称を⼊⼒し、「Create」をクリックします
Intentsを作成します 既存の定義情報があればImportもできますが、今回は「Create new」で新規作成します
Intent nameに「意図」を⽰す名称を付け、User exampleをいくつか登録します l 受け取る意図の幅を登録 ü 同じ⾏為を要求するにも、いろいろな⾔い⽅があ る。 ⾔い⽅の違いを許容して意図を理解する 例:
つけて、オン、いれて、点灯して、かけて、 ü 機械学習を利⽤して、⾔葉の揺らぎを吸収して、 意図を正しく理解する 典型的な⽂をいくつか⼊⼒すると 類似の⾔葉を「⾷事」の話である と理解する様になる
Intentsをテストします 「おなかすかない?」という⾔葉は定義してませんが、さきほど定義した、 「お腹が空いた」「お腹減った」から類推して#⾷事のIntentだと判断しました
では、ためしに類推できなさそうな⾔葉を⼊れてみましょう 「プロテインとらなきゃ」という⾔葉が#⾷事 のIntentとして学習されました
Entitiesを作成します 既存の定義情報があればImportもできますが、今回は「Create new」で新規作成します
Entity nameに「⽬的・対象」を⽰す名称を付け、User exampleをいくつか登録します ⾔葉の揺らぎや癖に対応でき るように同じ意味を指す単語 (シノニム)を登録します。
Dialogを作成します 既存の定義情報があればImportもできますが、今回は「Create new」で新規作成します
Add nodeで会話のフローを登録します 今回は分かりやすくシンプルにするため、先程登録したIntentとEntityそれぞれひとつづつに 対するフローのみを登録します
まず、#⾷事 に対する会話フローです 先程定義した #⾷事 に該当する場合に、この会話⽂を返します
次に、@food に対する会話フローです 先程定義した @food に該当する場合に、この会話⽂を返します
Step 3 Slackとの連携
今⽇の練習⽤に、Slackを⼀つ⽤意しておきます Conversation ToolのDeployからSlackを選択します
Authorize Slackをクリックし、今回⽤に準備したSlackチャネルを連携します
Slackへチャットボットがユーザーとして追加されるので、DMで会話してみます 会話ができたらOKです
Slack Watson Conversation 外部API(例) ユーザー インターフェース サービスおよびAPI クラウド ぐるなびWebサービス 駅すぱあとWebサービス
美味しい店 教えて 何が ⾷べたい? LINE Webブラウザ システム全体像で描いている外部APIはこの流れで呼出を⾏います(今回は割愛します)
参考サイト 例えば、以下の資料から触ってみるとIBM Cloudが学べます [1] IBM Cloud の基礎 http://www.ibm.com/developerworks/jp/bluemix/fundamentals/ [2] IBM
Cloud Docs ⽇本語版 https://console.ng.bluemix.net/docs/?locale=ja [3] IBM Code Patterns 英語版 https://developer.ibm.com/code/patterns/ [4] Medium Blog ※デベロッパーアドボケイトによるCode Patternの⽇本語解説 https://medium.com/search?q=ibmjpcode
None