[英]Alexa custom intent accepts values which are not stored in the possible slot.values that should trigger it
如果用户要求Alexa播放我在JSON文件中为Alexa控制台上的{radio}
插槽提供的电台之一,就会触发我的意图。 但是,如果用户要求Alexa播放“ random_english_words”,则该意图也有效。
为简化起见,将发生以下情况:
-User: Alexa play A better radio
-Alexa: I will play A better radio
=> Alexa does her job just fine.
-User: Alexa play what the Movie
-Alexa: I will play what the Movie
Alexa应该发送错误,因为在radio_slot
值中“ what the Movie”不是一个可能的无线电名称。 但是等等,这变得更加奇怪。
User: Alexa play aenjaejfn
Alexa: There was a problem with the requested skill's response
Alexa的工作很好,因为aenjaejfn在radio_slot值中不是一个可能的无线电名称。
所以我有两个问题:
创建自定义插槽类型时,要理解的关键概念是这是Alexa NLP(自然语言处理)的训练数据。 您提供的值不是严格的枚举或数组,它限制了用户可以说的内容。 这有两个含义
1)不在您的广告位值中的单词和短语会传递给您,
2)如果未知,您的代码需要执行所需的任何验证。
由于您知道该插槽的可接受值,因此请始终对代码执行插槽值验证。 这样,当您收到类似“ aenjaejfn”之类的内容或不支持的内容时,您总是可以礼貌地回覆
“对不起,我听不懂,你能再说一遍吗”
要么
“很抱歉,我们的清单中没有aenjaejfn。能否请您从[提供清单中的一些示例]中进行选择?”
更多信息在这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.