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
5分で知るMicrosoft Ignite
taiponrock
PRO
0
490
Bridging the Gap:Why Developer Relations and Product Management Must Work Together
taiponrock
PRO
0
46
What Four Approaches Taught Me About Developer Productivity
taiponrock
PRO
0
27
Automatic Creation of Azure Environment Configuration Diagrams! with Datadog Cloudcraft
taiponrock
PRO
0
78
VS Code の静的分析でリアルタイムのコードフィードバックを取得
taiponrock
PRO
0
190
Backstage of Enterprise Conference
taiponrock
PRO
1
220
どの種は何の花を咲かす?DevRelのターゲットオーディエンスを知ることの意味
taiponrock
PRO
2
400
Datadogの便利な使い方 - 意外と知らない?CoScreenとCloudcraft
taiponrock
PRO
1
2k
DatadogとPagerDutyで改善するシステム障害対応
taiponrock
PRO
0
820
Other Decks in Technology
See All in Technology
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
560
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
350
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
250
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
0
900
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
130
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
220
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.4k
配列に見る bash と zsh の違い
kazzpapa3
3
170
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
190
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
150
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
5
460
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
ラッコキーワード サービス紹介資料
rakko
1
2.3M
Testing 201, or: Great Expectations
jmmastey
46
8.1k
The SEO Collaboration Effect
kristinabergwall1
0
350
Side Projects
sachag
455
43k
Tell your own story through comics
letsgokoyo
1
810
Mobile First: as difficult as doing things right
swwweet
225
10k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
68
How STYLIGHT went responsive
nonsquared
100
6k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
920
The Language of Interfaces
destraynor
162
26k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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