スロットタイプを使う次に、左側「OrderIntent」をクリックして、インテントの編集画面にします。画面下側に「インテントスロット」という欄がありますので、1番の「新しいスロットを作成」をクリックして「menu」(小文字)とテキスト入力し、エンターキーで確定します。その右側の「スロットタイプ」が選択できるようになりますので、先ほど作成した「MENU」をドロップダウンから選んでください。「menu」を追加しました。サンプル発話が3つ登録されていると思いますので、その1つの「コーヒー」のテキスト部分をマウスなどで選択してください。下図のようにポップアップ画面が出てきます。「既存のスロットを選択」の「menu」を選択してください。サンプル発話すべてについて同様にして、下のような状態にしてください。注文できるようになりました。今度は新しいサンプル発話を作って数量を指定できるようにします。「amount」(小文字)と入力・確定します。はじめ、よく使うスロットタイプをあらかじめ用意しています。数字を受け付けるものです。新しいビルトインスロットも追加されていますので、ブログなど確認してください。次に新しいサンプル発話を追加します。「サンプル発話」のテキストボックスに「コーヒーを一杯お願い」と入力してエンターキーを押してください。スロットに置き換えます。今度は「一」(杯は含めない)の部分を選択します。ポップアップが現れたら、「既存のスロットを選択」から「amount」を選択してください。これで「〇〇を〇〇杯お願い」という発話が追加されました。ステップ4:確認ここまでの作業で、下図のようになっているはずです。インテント名と同様に、スロット名もバックエンドサービスで利用しますので、大文字小文字や綴りなどに気を付けてください。確認ができたら「モデルをビルド」します。対話モデルを変更したときには「モデルのビルド」をしないと反映されませんのでご注意ください。左側「JSONエディター」をクリックしてみてください。変更した対話モデルのソースコードが表示されます。GUIでスロットを作成しましたが、こちらのほうが分かりやすい方もいるかもしれません。編集することもできます。ステップ5:バックエンドサービスの対応Alexa開発者コンソールの「コードエディタ」タブを選択し、バックエンドサービスの編集画面にします。応答メッセージの作成。変数を展開するため両端はバッククォートにする。関数は、以下のような処理をしています。値をそれぞれ取り出します。発話されない場合があります。なるようにしています。オウム返しの応答メッセージを作成します。名前を変更しています。Alexaシミュレータで、動作確認をしてみましょう。漢数字を使ってください。(一部を抜粋しています)。バックエンドコードでスロット値を取り出す部分のコードと見比べてみてください。"2",}}}}ステップ7:同義語の設定インテントのところで、「人が話すことなので、いろいろなパターンの発話サンプルを用意する」というお話をしましたが、スロットの値にもゆれを持たすことができます。Alexa開発者コンソール「ビルド」タブに戻って、左側「スロットタイプ」の下の「MENU」をクリックしてください。スロット値が一覧になっていますが、「コーヒー」の右側「同義語を追加」のところに、「ホット」と「ブレンド」をそれぞれテキスト入力して、エンターキーを押すか右側の「+」をクリックし確定します。同様にカフェラテにも「ラテ」という同義語を追加しましょう。(確定し忘れないように注意)追加できたら、「モデルのビルド」を行い、Alexaシミュレータでテストしてみてください。これで同義語も受け付けるようになりました。この時のJSON入力をみてみましょう(一部抜粋)。このため、発話された同義語をオウム返しに応答しています。登録されていないメニューを発話するとどうなるのでしょう。実は「抹茶をお願い」と発話すると、応答メッセージは「抹茶を1杯承りました」となります。