在 Lex V2 机器人的意图中使用默认槽位值 - Amazon Lex

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Lex V2 机器人的意图中使用默认槽位值

使用默认值时,如果用户输入中未提供插槽,您可以指定一个源用于为新意图填充的插槽值。此来源可以是之前的对话、请求或会话属性,也可以是您在构建时设置的固定值。

您可以将以下内容作为默认值来源。

  • 之前的对话(上下文)— #context-name.parameter-name

  • 会话属性 — [attribute-name]

  • 请求属性 — <attribute-name>

  • 固定值 — 任何与先前值不匹配的值

通过 CreateIntent 操作向意图添加插槽时,可以添加默认值列表。将按这些默认值列出的顺序对其进行排列。例如,假设您有一个带插槽的意图,其插槽定义如下:

"slots": [ { "botId": "string", "defaultValueSpec": { "defaultValueList": [ { "defaultValue": "#book-car-fulfilled.startDate" }, { "defaultValue": "[reservationStartDate]" } ] }, Other slot configuration settings } ]

识别出意图后,名为 “reservation-start-date” 的插槽的值将设置为以下值之一。

  1. 如果 “book-car-fulfilled” 上下文处于活动状态,则使用 “startDate” 参数的值作为默认值。

  2. 如果 “book-car-fulfilled” 上下文未处于活动状态,或者未设置 “startDate” 参数,则使用 “reservationStartDate” 会话属性的值作为默认值。

  3. 如果前两个默认值均未使用,则该插槽没有默认值,Amazon Lex 将照常引发一个值。

如果使用插槽的默认值,则即使需要该插槽,也不会引发该插槽。