如果用户要求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值中不是一个可能的无线电名称。
所以我有两个问题:
答案 0 :(得分:0)
创建自定义广告位类型时,需要了解的关键概念是 这是Alexa NLP(自然语言)的训练数据 处理中)。您提供的值不是严格的枚举或数组 限制了用户可以说的话。这有两个含义
1)不在您的广告位值中的单词和短语会被传递给您,
2)如果说的是,您的代码需要执行所需的任何验证 未知。
由于您知道该插槽的可接受值,因此请始终对代码执行插槽值验证。这样,当您收到类似“ aenjaejfn”之类的内容或不支持的内容时,您总是可以礼貌地回覆
“对不起,我听不懂,您能再说一次吗”
或
“抱歉,我们的列表中没有aenjaejfn。请您选择 从[提供您列表中的一些样本]中获取一些东西”
更多信息here