インテント間での情報の共有をする - Amazon Lex

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

インテント間での情報の共有をする

Amazon Lex は、インテント間の情報共有に対応しています。インテント間で共有するには、出力コンテキストまたはセッション属性を使用します。

出力コンテキストを使用するには、インテントを作成または更新するときに、出力コンテキストを定義します。インテントが実行されると、Amazon Lex V2 からの応答は、コンテキストパラメータとしてインテントからのコンテキストとスロット値を含みます。これらのパラメータは、後続のインテントやアプリケーションコード、Lambda 関数でデフォルト値として使用することができます。

セッション属性を使用するには、Lambda またはアプリケーションコードで属性を設定します。例えば、ShoeOrdering ボットのユーザーが靴の注文を開始したとします。ボットは、ユーザーと会話することで靴のサイズ、色、ブランドなどのスロットデータを集めます。ユーザーが注文を行うと、その注文を処理する Lambda 関数では、注文番号を含む orderNumber セッション属性を設定します。注文のステータスを取得するために、ユーザーは GetOrderStatus インテントを使用します。ボットは、ユーザーに発注番号や注文日などのスロットデータを求めます。ボットは、必要な情報を入手すると、注文のステータスを返します。

ユーザーが同じセッション中にインテントを変更すると予想される場合は、最新の注文のステータスを返すようにボットを設計できます。ユーザーに対して注文情報を再度求める代わりに、orderNumber セッション属性を使用してインテント間で情報を共有し、GetOrderStatus インテントを達成できます。ボットでは、そのためにユーザーの最後の注文のステータスを返します。