アプリケーション開発ポータルサイト
ServerNote.NET
ServerNote.NET厳選キャンペーン・クーポンはこちら!
カテゴリー【IBM Watson
Watson AssistantをGUIで作成しAPIから呼び出す(準備編)
POSTED BY
2020-12-01

Watson Assistantは簡単には質問に対する回答ボットで、質問回答セットはIBMのページGUIで登録、実際の呼び出しは外からAPIを呼ぶのだが、それぞれ単独のHowToサイトはあるものの両者を同時に作って連携説明しているサイトが皆無なのでメモ。

Watson Assistantについては

https://cloud.ibm.com/docs/services/assistant?topic=assistant-getting-started

ですべて説明されている。今回はまずGUIで最低限のアシスタントを作成しAPIから呼んで結果を表示する。

ユーザー「旅行に行きたい」→BOT「太郎さん、国内ですか?海外ですか?」
ユーザー「海外に行きたい」→BOT「そうですか、海外に行きたいんですね太郎さん」

で終わる最低限ボット。ここで、APIは裏で同時にコンテキスト(=Contenxt=変数)として「自分の名前」を渡すことを想定。

初回登録・ログイン・起動

・IBMクラウドにメールアドレスでユーザー登録しパスワードを得て、ログイン
・最初は左メニュータブの「Watson」を選んで、料金プラン無料の「ライト」、場所は「東京」を選んで作成する。
・2回目からは左メニュータブの「リソース・リスト」→「Watson Assistant-po」をたぐって、「Watson Assistantの起動」をする。

アシスタントを作成

・「Create Assistant」で、「Name」を「てすと」とだけ入力して「Create」
・スキル作成画面が出るので「Add dialog skill」として「Create skill」タブを選び、

Nameを「てすとスキル」、Languageを「Japanese」として「Create dialog skill」
・てすとスキルをクリックして開き、「Create intent」→Intent name「#旅行」としてCreate intent
・User exampleに「旅行」と入力しAdd example

・戻って次は「Dialog」→「Add node」 Node Name「旅行」、If assistant recognizesにさきほど作ったIntent「#旅行」をセットし、
「Assistant responds」のTextに

<?$username?>さん、国内ですか?海外ですか?

と入力する。APIが裏で「username」コンテキスト変数を同時に送ってきていると想定して代入している。

・戻って次は「Entities」→Create Entity 名前に「@旅行の種類」でCreate
・Valueに「国内」、Synonymsはカラで「Add value」
・Valueに「海外」、Synonymsはカラで「Add value」

・戻って次は「Dialog」→さっき作った旅行Dialogをクリックし子ノードを作成「Add child enode」。
Node Name「旅行返答」、If assistant recognizesにさきほど作ったEntity「@旅行の種類」をセットし、
「Assistant responds」右端メニュー「Open context editor」を選びThen set contextを出す。
「VARIABLE」に「$traveltype」、VALUEに「"@旅行の種類"」を入力する。
エンティティーをダブルクオテーションで囲うと、設定したコンテキスト変数にセットされる仕組み。
そして、「Assistant responds」のTextに

そうですか、<?$traveltype?>に行きたいんですね<?$username?>さん

と入力してサンプルアシスタント完成。右上の「Try it」で試してみる。

いらっしゃいませ。ご用件を入力してください。
旅行に行きたい
さん、国内ですか?海外ですか?
国内でお願いします
そうですか、国内に行きたいんですねさん

と、意図した動作になっている。ユーザーの名前が入るところがカラだが、これはusername変数を渡していない
=Assistantが知らない=からであり、APIから呼ぶときに同時に渡せばここにユーザー名が入るはずである。

アシスタントが出来上がったので、次回はいよいよAPIから呼び出してみる。
次回:Watson AssistantをGUIで作成しAPIから呼び出す(Python編)

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【webmaster/管理人】
自営業プログラマー
ご連絡は以下アドレスまで★

☆ServerNote.NETショッピング↓
ShoppingNote
☆お仲間ブログ↓
一人社長の不動産業務日誌
【キーワード検索】