Amazon Lex V2 を使用している場合は、代わりに Amazon Lex V2 ガイドを参照してください。
Amazon Lex V1 を使用している場合は、ボットを Amazon Lex V2 にアップグレードすることをお勧めします。V1 には新機能を追加されませんので、すべての新しいボットには V2 を使用することを強くお勧めします。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
演習 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
) と列挙値 (roses
、lilies
、tulips
)。 -
スロット – ボットでインテントを達成する前に、インテントには以下の情報 (つまり、スロット) が必要です。
-
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 ボット (コンソール) を作成する