Amazon Lexを使ってチャットボット作ってみた その1

Pocket

こんにちは。
たいしゅうです。

前回概要や用語などを紹介をした「Amazon Lex」ですが、今回から実際にいじってみたいと思います。
今回は、AWSが提供している「花の注文」というチュートリアル用のモデルを使って使い方を紹介していきたいと思います。

インテント作成

まずは、AWSコンソールから「Amazon Lex」を選択します。
選択すると、以下のような画面になりますので、「Get Started」をクリックします。

すると、以下のように自分で一からBotを作成できる「Custom bot」とあらかじめ様々な要素が用意されているチュートリアル用のサンプル「Book Trip」「Order Flowers」「ScheduleAppointment」の3つが選べるようになっております。
今回は、この中の「Order Flowers」を選択します。するとイメージの中のフレーズが変化します。
※COPPAとは、13歳未満の子供のプライバシーを守る法律のことです。
どちらかを選択して、「Create」をクリックします。
これで、インテントを作成するワークスペースが完成です。
ここからは、会話の中身を設定していきます。

サンプルBotをBuild

「Create」を押すと以下のような画面が出てきます。ここは前回用語解説でも見て頂いている画面になりますが、
Botの中身を編集できるワークスペースになっています。
今回は、サンプルということもあり、すでに設定値が入力されていますので、現状ではどのような挙動をするのか確認してみましょう。
設定を反映してBotを作成する場合は、右上の「Build」を押します。
すると、以下のようなポップアップが表示されますので、すかさず「Build」を選択します。
すると、以下のように右側にBotのプレビューが出てきます。

プレビューの入力部分に、インテントを起動するためのあらかじめ登録してあるサンプル発話を入力します。

すると、インテントが起動してBotがスタートします。
次に出て来たフレーズは、スロット「Flower type」に設定済みのフレーズになっていることがわかるでしょうか。

このようにBotに返してほしいフレーズ(質問など)をスロットで登録しておき、その返事として、「Flower type」などのスロットタイプなどを設定していきます。(今回は、サンプルのためすでにスロット値は入力済み)
それでは、「Flower type」→「Pickup Date」→「Pick up Time」の順に入力していきましょう。
まずは、「Flower type」の「rose」を入力します。すると次の「Pick up Date」に対する質問が返ってきます。
返ってきた質問に対し、「today」と入力します。すると次の「Pick up Time」に対する質問が返ってきます。


また、返ってきた質問に対し、「6pm」と入力します。するとこれまでの「Flower type」→「Pickup Date」→「Pick up Time」の流れの答えを確認してきます。

ここの設定値は、スロットの下にあるComfirmation promptに設定値を入力します。ここでは、OKの場合とキャンセルの場合の返事を設定することができます。
最後に「OK」と返事をすれば、注文完了の確認が返ってきます。
今回はここまでになります。
次回は、今回紹介をしたインテントを起動する際のフレーズの追加方法を紹介したいと思います。

最後まで読んでいただきありがとうございました。
それでは、また次回。