Alexa技能-以编程方式启用/禁用插槽匹配

时间:2019-07-18 14:15:09

标签: alexa alexa-skill alexa-slot alexa-intent

我有一种Alexa技能,一方面要求输入姓名,另一方面要求输入数字。名称将映射到AMAZON.FirstName类型的插槽,数字将映射到AMAZON.NUMBER类型的插槽。问题在于Alexa积极地将偶数值解释为名称。 (例如,说“八”可能会被冠以“泰特”的名字。)

据我所知,对话框委托只有在您确切知道每种类型需要捕获多少时才有用。但就我而言,我需要捕获一个名字的次数是可变的,所以我不能只填写一次该职位并完成工作。

理想情况下,我想以编程方式打开和关闭插槽。因此,当我提示用户输入名称时,任何话语都只能映射到名称上或被拒绝(显然,HELP和EXIT等仍然可以使用)。然后,当我要求输入数字时,任何话语都只会被映射为数字,它甚至都不会尝试将其转换为AMAZON.FirstName类型。

有什么方法可以实现?还是对于这种情况还有其他解决方法吗?

1 个答案:

答案 0 :(得分:0)

我会改变您采用的方法。在编写代码之前,您就有了一个很好的验证工具。单击您要验证的插槽,然后单击“验证”标签。

就在此处,您可以添加一个或两个规则。如果您选择一个,则可以添加“不在一组值之内”,并且可以键入“一个”,“两个”等,以避免将这些数字值放入名称槽。

如果您通过两个规则验证,则需要添加“插槽类型的插槽值内的值”。这样,您将只接受AMAZON.FirstName插槽类型内的值。

您实际上并不需要启用/禁用插槽,只需简单地将两者放在同一位置即可。只要确保您正确地验证了插槽,就可以避免无效数据进入您的技能:)

了解更多:https://developer.amazon.com/es-mx/docs/custom-skills/validate-slot-values.html