

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 確認
<a name="intent-confirm"></a>

ユーザーとの会話が完了し、インテントのスロット値が入力されたら、スロット値が正しいかどうかをユーザーに尋ねる確認プロンプトを設定できます。たとえば、自動車のサービスを予約するボットは、ユーザーに次のようなプロンプトを出すことがあります。


|  | 
| --- |
| 2017 年のホンダシビックのサービスを 3 月 25 日午後 3 時に予定しています。よろしいですか? | 

確認プロンプトには次の 3 種類の応答を定義できます。
+ **確認の応答** — この応答は、ユーザーがインテントを確認したときにユーザーに送信されます。たとえば、ユーザーが「注文しますか?」というプロンプトに「はい」と答えた後などです。
+ **拒否の応答** — この応答は、ユーザーがインテントを拒否したときにユーザーに送信されます。たとえば、ユーザーが「注文しますか?」というプロンプトに「いいえ」と答えた後などです。
+ **失敗の応答** — この応答は、確認プロンプトを処理できないときにユーザーに送信されます。たとえば、ユーザーの応答が理解できなかったり、「はい」または「いいえ」という応答ができなかった場合などです。

![\[確認の応答と拒否の応答の 3 種類の応答を示すフローチャート。\]](http://docs.aws.amazon.com/ja_jp/lexv2/latest/dg/images/conditional-confirmation-flow.png)


確認プロンプトを指定しない場合、Amazon Lex V2 は達成ステップまたは終了応答に移動します。

値を設定し、次のステップを設定し、各応答に対応する条件を適用して会話フローを設計できます。条件がない場合や次のステップが明示的に指定されていない場合、Amazon Lex V2 はフルフィルメントステップに移動します。

また、ダイアログコードフックを有効にして、インテントにキャプチャされた情報を検証してからフルフィルメントに送ることもできます。コードフックを使用するには、確認プロンプトの詳細オプションでダイアログコードフックを有効にします。さらに、前の状態の次のステップでダイアログコードフックを実行するように設定します。詳細については、「[ダイアログコードフックを呼び出す](paths-code-hook.md)」を参照してください。

**注記**  
 コードフックを使用して実行時に確認ステップをトリガーする場合は、構築時に確認ステップを **[アクティブ]** とマークする必要があります。

![\[Amazon Lex V2 コンソールには、確認プロンプトの詳細オプションが表示されます。\]](http://docs.aws.amazon.com/ja_jp/lexv2/latest/dg/images/response-confirm.png)


**注記**  
2022 年 8 月 17 日、Amazon Lex V2 はユーザーとの会話の管理方法の変更をリリースしました。この変更により、ユーザーが会話の中でたどるパスをより細かく制御できるようになりました。詳細については、「[Amazon Lex V2 の会話フローの変更 V2](understanding-new-flows.md)」を参照してください。2022 年 8 月 17 日より前に作成されたボットは、ダイアログコードフックメッセージ、値の設定、次のステップの設定、条件の追加をサポートしていません。

## Lambda 関数を使用してインテントを検証します。
<a name="intent-confirm-codehook"></a>

Lambda コードフックを定義して、フルフィルメントのために送信する前にインテントを検証できます。コードフックを使用するには、確認プロンプトの詳細オプションでダイアログコードフックを有効にします。

コードフックを使用すると、コードフックの実行後に Amazon Lex V2 が実行するアクションを定義できます。次の 3 種類の応答を作成できます。
+ **成功の応答** — コードフックが正常に完了するとユーザーに送信されます。
+ **失敗の応答** — コードフックが正常に実行されなかった場合、またはコードフックが応答で `Failure` を返した場合にユーザーに送信されます。
+ **タイムアウト応答** — 設定したタイムアウト期間内にコードフックが完了しなかった場合にユーザーに送信されます。