Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Watson Assistantを使ったLINE bot(Watson Assistant編)
Search
KMiura
June 30, 2019
Technology
0
820
Watson Assistantを使ったLINE bot(Watson Assistant編)
KMiura
June 30, 2019
Tweet
Share
More Decks by KMiura
See All by KMiura
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
1.1k
Amazon Rekognitionを使ったインターホンハック
miura55
0
95
Pythonでルンバをハックしてみた
miura55
0
180
あなたの知らないクラフトビールの世界
miura55
0
370
Storage Browser for Amazon S3を触ってみた + α
miura55
0
230
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
miura55
0
230
あのボタンでつながるSORACOM
miura55
0
150
Postman Flowsで作るAPI連携LINE Bot
miura55
0
390
Lambdaと共に歩んだAWS
miura55
3
870
Other Decks in Technology
See All in Technology
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
1.1k
Amazon Connect アップデート! AIエージェントにMCPツールを設定してみた!
ysuzuki
0
120
【U/Day Tokyo 2025】Cygames流 最新スマートフォンゲームの技術設計 〜『Shadowverse: Worlds Beyond』におけるアーキテクチャ再設計の挑戦~
cygames
PRO
2
1k
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
3
220
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
6
1.7k
AWSの新機能をフル活用した「re:Inventエージェント」開発秘話
minorun365
2
240
生成AI時代におけるグローバル戦略思考
taka_aki
0
210
特別捜査官等研修会
nomizone
0
450
文字列の並び順 / Unicode Collation
tmtms
3
630
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
360
Databricks向けJupyter Kernelでデータサイエンティストの開発環境をAI-Readyにする / Data+AI World Tour Tokyo After Party
genda
1
620
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
470
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
87
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
100
Mobile First: as difficult as doing things right
swwweet
225
10k
Documentation Writing (for coders)
carmenintech
77
5.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
33
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
290
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Building an army of robots
kneath
306
46k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
23
Transcript
Watson Assistantを使ったLINE bot(Watson Assistant編) 三浦 耕生
自己紹介 • 三浦 耕生(みうら こうき) • 大学院生、Code for AICHI所属 •
Twitter:@k_miura_io • Facebook:koki.miura05
本題に入る前に… • 以下のURLからIBM Cloud にアクセス、ログインし てください https://ibm.biz/BdzqZd • 右のQRからもアクセスで きます
今回作るもの • Watson Assistantを使ったLINE bot • Code base NAGOYAの利用予約システム を想定
• ノンコーディング(ココ重要)
使う技術 • Watson Assistant • Node-RED • Messaging API IBM
Cloudですべて完結する!
Watson Assistant • 自然言語で対話することが出来るアプリケーションを作成する ことが可能 • ユーザーからの自然言語の入力を理解し、適切な返答を行う • 直感的な操作で対話の流れを組むことが出来る リッチなチャットボットを作成できる
出来ること • 問い合わせや手続きをチャットボットが代行できる • 入力された対話内容、キーワードをデータを蓄積することで、 顧客情報の管理が簡単(別途DB、サーバー側の処理が必要) • 音声インターフェースを組み合わせればロボットやスマートス ピーカーを使った対話システムを組み込むことも可能
Watson Assistantを使ってみる • カタログを選択し、検索窓から「Watson assistant」と入力 • Basicでは無い方のAssistantを選択(BasicはAssistantを使ったス ターターアプリケーションも作成される)
インスタンスの作成 • ライトプランを選択すれば無料でAssistantを使用可能 • 一度ライトプランでインスタンスを作成した場合は一つしか作 れないので、すでに作成されたインスタンスを使用する • 「Watson Assistantの起動」を選択
Skillを作成 • スタート画面の下にある「Create a Skill」を選択 • 「skills」タブを開いたら「Create Skill」を選択
Create Dialog Skill • Name:お好きなスキル名 • Description:スキルの説明を記入(なくてもよい) • Language:「Japanese」を選択(日本語の自然言語処理をして くれる)
Intents • 意図、思考のような意味 • ユーザーの要求を判断するための機能 • 自分で自由に定義することもできればデフォルトで用意された インテントを入れることも出来る
インテントの作成 • 今回は予約をしたいこと をボットに伝えるための インテントを作成する • 「Create intent」をクリッ クし、#のついた項目に はインテント名を設定し、
「Add user example」に予 約したい時に言う文をい ろんなパターンで入力す る • 5パターンあるとよい
Content Catalog • ボットでよく使われるやり取りはデフォルトのインテントとし て登録されている • この中から「ボット管理」と「一般」をインテントとして追加 する
Entities • 「Eintiy」タブをクリック し、「Create entity」をク リック • 目的語に当たる単語を登 録する •
今回は利用目的を判断す るためのentityを追加する • Entity valueには大枠の Entityを書き、Synonymsに はEntity valueに関連した 単語を追加する
System Entities • これもボットでよく使われるEntityが用意されている • 今回は@sys-dateと@sys-timeを有効にする
フローの作成 • ユーザーから貸し切りの予約が来たときの対応フローを作成し ていく • Dialogタブをクリック • 「Add node」を追加してノードの名前を設定する •
「If assistant recognizes」にはユーザーから来た発言の中に特定 のIntentかEntityが含まれていたかどうかの判定を行う • 「If assistant recognizes」の条件と一致したら、フローをじっこ うする流れになる
Dialogの作成 • IntentとEntityの設定が終 わったところで対話のフ ローを作成していく • 「Add node」から対話の はじめの部分を作成する •
スタートは先程作成した 予約のIntentが来たとき
利用目的を聞き出す • 作成したNodeの右側にあ る3点をクリックし「Add child node」をクリックし、 新しいノードを作成する • 利用目的を聞き出してボッ トに出力するようにする
• 利用目的のEntityをContext として保持すれば良い • 「Context editor」を開いて contextを定義する • 保持したContextは対話が 終わるまでずっと保持し続 ける
利用目的を確認する • 先程定義したcontextをボット で出力したい • 返答文の中に「$contex名」と いう形で記入することで引用 することが出来る(図の $purposeがcontextに当たる) •
ちなみにEntityを出力したい ときは「@entity名」と定義す れば良い • 文章と引用の境が分かるよう に変数と文章の間には半角ス ペースで開けるようにする
ここまででテストしてみ る • 右上に「Try it」があるのでクリックす ると、動作確認が出来る • 返答の際には合わせて何のEntityや Intentを認識したのかを表示してくれる
自習 • 残りの日付、時間も同様に確認を行い最後に「◦月◦日の◦時 からの予約でよろしいでしょうか?」という形の質問でユー ザーに確認をとるフローを作成してください • 余裕がある方はその質問に対して合っているか間違っているか の返答が来た時に合っていたら改めて利用目的、利用日時を復 唱して予約が確定したことを伝える文を作成しましょう
ヒント • 時間、日付はSystem entitiesからデータを取り出す • (余裕のある方)日時の確認をした時にOKかどうかを答えたと きの判定するためのIntentには 「#Bot_Control_Approve_Response」を使う
休憩