翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ボットの会話について
ボットを作成したら、クライアントアプリケーションと Amazon Lex V2 ランタイムオペレーションを統合して、ボットと会話を行います。ユーザーがボットとの会話を開始すると、Amazon Lex V2 は セッション を作成します。セッションは、アプリケーションとボットの間で交換される情報をカプセル化します。詳細については、「Amazon Lex V2 ボットセッションについて」を参照してください。
一般的な会話には、ユーザーとボットの間の前後の流れが含まれます。例:
User : I'd like to make an appointment
Bot : What type of appointment would you like to schedule?
User : dental
Bot : When should I schedule your dental appointment?
User : Tomorrow
Bot : At what time do you want to schedule the dental appointment on 2021-01-01?
User : 9 am
Bot : 09:00 is available, should I go ahead and book your appointment?
User : Yes
Bot : Thank you. Your appointment has been set successfully.
RecognizeText または RecognizeUtterance API オペレーションを使用して、自分で会話を管理します。StartConversation オペレーションを使用する場合、Amazon Lex V2 がユーザーに代わって会話を管理します。
会話を管理するには、会話が論理的な終了に達するまで、ユーザーの発言をボットに送信する必要があります。現在の会話は、セッション状態に取り込まれます。セッションの状態は、ユーザーの発話があるたびに更新されます。セッションの状態には、会話の現在の状態が含まれており、ボットが応答で返します。 各ユーザーの発話に対応します。
会話は、次に示す状態のいずれかになります。
-
ElicitIntent - ボットがまだユーザーの意図を決定していないことを示します。
-
ElicitSlot - ボットがユーザーの意図を検出し、その意図を満たすために必要な情報を収集していることを示します。
-
ConfirmIntent - ボットが、収集した情報が正しいかどうかをユーザーが確認するのを待っていることを示します。
-
Closed - ユーザーの意図が完了し、ボットとの会話が論理的な終了に達したことを示します。
ユーザーは、最初のインテントが完了した後に、新しいインテントを指定することができます。詳細については、「Lex V2 ボットとの会話コンテキスト」を参照してください。
インテントは、次に示す状態のいずれかになります。
-
InProgress - ボットがインテントを完了するために必要な情報を収集していることを示します。これは、
ElicitSlot
会話状態と連動しています。 -
Waiting - ボットが特定のスロットの情報をリクエストしたときに、ユーザーがボットに待機するよう要求したことを示します。
-
Fulfilled - インテントに関連する Lambda 関数内のビジネスロジックが正常に実行されたことを示します。
-
ReadyForFulfillment - ボットがインテントを満たすために必要なすべての情報を収集し、クライアントアプリケーションがフルフィルメントビジネスロジックを実行できることを示します。
-
Failed - インテントが失敗したことを示します。
Amazon Lex V2 API を使用してボットとユーザー間の会話コンテキストとセッションを管理する方法については、以下のトピックを参照してください。