Alexa技能开发:自定义槽类型验证行为异常问题
Alexa自定义槽类型槽验证异常问题
我在Alexa技能中使用了自定义槽类型IncomeType,包含两个可接受值:
- Principal Income
- Side Job
该槽用于询问用户薪资属于主业还是副业收入,请勿建议改用内置类型或通过Yes-/NoIntent处理此问题。
预期交互逻辑
结合自定义槽类型与槽验证功能,期望实现:
- 场景A:用户给出有效回复(如“我的薪资是主业收入”),直接接受槽值,不触发重提示
- 场景B:用户给出无效回复(如“我的薪资是香蕉”),触发槽验证配置的重提示语(而非原始Speech Prompt),引导用户修正输入
我已配置“仅接受槽类型的值和同义词”规则,并定义了对应的重提示语,但实际出现以下异常:
实际问题
- 启用槽验证后,正确的用户输入被判定为无效,触发重提示。例如用户说“我的薪资来自副业”,系统播放重提示:“哎呀,这不是我已知的类型,请说主业或副业”
- 用户输入无效内容时,系统未播放配置的重提示,而是重复原始的Alexa Speech Prompt,导致测试用户误以为Alexa未听清而重复错误输入,最终因多次无效输入终止交互
推测原因
我怀疑该问题与亚马逊文档中“对于必填槽,Alexa会先获取槽值,再进行后续验证步骤”的描述有关,但此行为不符合槽验证的逻辑。另外,内置类型的槽验证行为完全符合预期:首次请求用原始提示,无回复则重复原始提示,无效输入触发验证重提示,我期望自定义类型也能实现相同的交互逻辑。
内容的提问来源于stack exchange,提问作者So.Vanara
相关产品推荐
相关产品推荐

