はじめに
前回の続きです。
前回をお読みで無い方は先に前回の入門編をご覧ください。
前回との変更点
今回はよりチャットボットらしく、聞き返しや分岐などの処理を前回の状態から追加していきたいと思います。
前回は
ユーザ「食べ物が欲しい」 → bot「はい、ハンバーガーです。」
だったのですが、今回は
ユーザ「食べ物が欲しい」 → bot「何が食べたいですか?」
ユーザ「うどん」 → bot「温かいのですか? 冷たいのですか?」
ユーザ「温かいの」 → bot「はい、どうぞ温かいうどんです。」
と言ったような聞き返しや分岐を行いたいと思います。
なお、うどんや蕎麦以外のピザなどの温冷の選択が無いものについては、分岐せずにそのまま「はい、どうぞ〇〇です。」と返すようにします。
チャットボットの作成
Entityの追加
follow-up intentの作成
このままだと、うどんと蕎麦の分岐の処理が出来ないので、follow-up intentの作成をしていきます。
Intentの一覧から「Add follow-up intent」をクリックします。
それぞれの名前を設定していきます。
そしてさらにfollow-up intentを作成します。
Intentの設定
まずは前回作成したfood-intentの修正からしていきましょう。
今回は聞き返しを行うので、ここでは何が食べたいのかを聞きましょう。
SAVEを行い、次に「food - intent - anser」intentの設定をしていきます。
ここでは「冷たい、暖かい」の選択肢が無い食べ物が回答された場合です。
Training phrasesには「寿司」と「ピザ」を入力。
Responsesには「はい、どうぞ$typeです。」と入力します。
ここの$typeというのは、ユーザが行った食べ物()
確認
最後にちゃんと出来てるかどうかをマイクボタンから確認してみましょう。
下記の2パターンが確認出来たら成功です。
パターン1
ユーザ「食べ物が欲しい」 → bot「何が食べたいですか?」
ユーザ「うどん」 → bot「温かいのですか? 冷たいのですか?」
ユーザ「温かいの」 → bot「はい、どうぞ温かいうどんです。」
パターン2
ユーザ「食べ物が欲しい」 → bot「何が食べたいですか?」
ユーザ「ピザ」 → bot「はい、どうぞピザです。」
最後に
今回は少し複雑な分岐や聞き返しの部分をやりました。
少し複雑ですが、一度理解すれば次回からは自分で出来るようなシンプルな作りになっているなと実感して頂けると思います。
他にも外部のファイルから取り込む方法や、FulfilIntentからwebhookを使い、外部のサービスやサーバーなどと連携なども行えるので、シンプルかつ出来ることが多いのがDialogflowの魅力だなと感じました。
最後までありがとうございました。