使用默认插槽值 - Amazon Lex V1

如果您使用的是 Amazon Lex V2,请改为参阅 Amazon Lex V2 指南

 

如果您使用的是 Amazon Lex V1,我们建议您将机器人升级到 Amazon Lex V2。我们不再向 V1 添加新功能,强烈建议使用 V2 以获得全新的机器人。

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

使用默认插槽值

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

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

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

  • 会话属性 — [attribute-name]

  • 请求属性 — <attribute-name>

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

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

"slots": [ { "name": "reservation-start-date", "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 将照常引发一个值。

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