Amazon Lex
開発者ガイド

演習 1: 設計図を使用して Amazon Lex ボットを作成する (コンソール)

この演習では、以下のことを行います。

  • 最初の Amazon Lex ボットを作成して、Amazon Lex コンソールでテストします。

    この演習では OrderFlowers 設計図を使用します。設計図については、「Amazon Lex および AWS Lambda の設計図」を参照してください。

     

  • AWS Lambda 関数を作成して、Lambda コンソールでテストします。リクエストの処理中に、この Lambda 関数をボットから呼び出します。この演習では、AWS Lambda コンソールに用意されている Lambda の設計図 (lex-order-flowers-python) を使用して Lambda 関数を作成します。設計図コードは、同じ Lambda 関数を使用して初期化と検証を行う方法、および OrderFlowers インテントを達成する方法を示しています。

     

  • ボットを更新し、インテントを実現するためのコードフックとして Lambda 関数を追加します。エンドツーエンドエクスペリエンスをテストします。

以下のセクションでは設計図の機能について説明します。

Amazon Lex ボット: 設計図の概要

OrderFlowers 設計図を使用して Amazon Lex ボットを作成します。ボットの構造の詳細については、「Amazon Lex: 仕組み」を参照してください。このボットは次のように事前設定されています。

  • インテント – OrderFlowers

  • スロットタイプ – 1 つのカスタムスロットタイプ (FlowerTypes) と列挙値 (rosesliliestulips)。

  • スロット – ボットでインテントを達成する前に、インテントには以下の情報 (つまり、スロット) が必要です。

    • PickupTime (AMAZON.TIME 組み込みタイプ)

    • FlowerType (FlowerTypes カスタムタイプ)

    • PickupDate (AMAZON.DATE 組み込みタイプ)

  • 発話 – 以下のサンプル発話はユーザーのインテントを示しています。

    • 「花をピックアップしたい」

    • 「花を注文したい」

  • プロンプト – ボットは、インテントを識別した後で、以下のプロンプトを使用してスロットを満たします。

    • FlowerType スロットのプロンプト – 「どの花を注文しますか?」

    • PickupDate スロットのプロンプト – 「何日に {FlowerType} をピックアップしますか?」

    • PickupTime スロットのプロンプト – 「何時に {FlowerType} をピックアップしますか?」

    • 確認ステートメント – 「かしこまりました。お客様の {FlowerType} は {PickupDate} の {PickupTime} までにご用意いたします。それでよろしいでしょうか?」

AWS Lambda 関数: 設計図の概要

この演習の Lambda 関数では、初期化と検証、およびフルフィルメントの両方のタスクを実行します。したがって、Lambda 関数を作成した後に、初期化/検証とフルフィルメントタスクの両方を処理するコードフックとして同じ Lambda 関数を指定することで、インテント設定を更新します。

  • 初期化および検証のコードフックとして、Lambda 関数は基本的な検証を実行します。たとえば、ユーザーが指定したピックアップの時間が通常の営業時間外である場合、Lambda 関数は時間を指定し直すことをユーザーに再度プロンプトするように Amazon Lex に指示します。

  • フルフィルメントコードフックの一環として、Lambda 関数は花の注文が確定した (つまり、インテントが達成された) ことを示す概要メッセージを返します。

次のステップ

ステップ 1: Amazon Lex ボットを作成する (コンソール)