翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
会話中に値を設定する
Amazon Lex V2 では、会話のすべてのステップでスロット値とセッション属性値を設定できます。その後、これらの値を会話中に使用して条件を評価したり、インテントフルフィルメントに使用したりできます。
現在のインテントのスロット値を設定できます。会話の次のステップが別のインテントを呼び出すことである場合は、新しいインテントのスロット値を設定できます。
割り当てられたスロットが埋まっていない場合、または JSON パスを解析できない場合、属性は null
に設定されます。
スロット値とセッション属性を使用するときは、次の構文を使用してください。
-
スロット値 — スロット名を中括弧 (「{}」) で囲みます。現在のインテントのスロット値には、スロット名のみを使用する必要があります。例えば
{slot}
です。次のインテントで値を設定する場合は、インテント名とスロット名の両方を使用してスロットを識別する必要があります。例えば{intent.slot}
です。例:
-
{PhoneNumber} = "1234567890"
-
{CheckBalance.AccountNumber} = "99999999"
-
{BookingID} = "ABC123"
-
{FirstName} = "John"
スロットの値には次のいずれかを指定できます。
-
定数文字列
-
Amazon Lex レスポンス内の文字起こしブロックを参照する JSON パス (en-US および en-GB)
-
セッション属性
例:
-
{username} = "john.doe"
-
{username_confidence} = $.transcriptions[0].transcriptionConfidence
-
{username_slot_value} = [username]
注記
スロット値を
null
に設定することもできます。埋まったスロット値を再誘発する必要がある場合は、顧客にスロット値の入力を再促進する前に、値をnull
に設定する必要があります。割り当てられたスロットが埋まっていない場合、または JSON パスを解析できない場合、属性はnull
に設定されます。 -
-
セッション属性 — 属性名を角括弧 ("[ ]") で囲みます。例えば
[sessionAttribute]
です。例:
-
[username] = "john.doe"
-
[username_confidence] = $.transcriptions[0].transcriptionConfidence
-
[username_slot_value] = {username}
セッション属性の値は、次のいずれかを指定できます。
-
定数文字列
-
Amazon Lex レスポンス内の文字起こしブロックを参照する JSON パス (en-US および en-GB)
-
スロット値リファレンス
注記
割り当てられたスロットが埋まっていない場合、または JSON パスを解析できない場合、属性は
null
に設定されます。 -
注記
2022 年 8 月 17 日、Amazon Lex V2 はユーザーとの会話の管理方法の変更をリリースしました。この変更により、ユーザーが会話の中でたどるパスをより細かく制御できるようになりました。詳細については、「Amazon Lex V2 での会話フローの変更 V2」を参照してください。2022 年 8 月 17 日より前に作成されたボットは、ダイアログコードフックメッセージ、値の設定、次のステップの設定、条件の追加をサポートしていません。