在亚马逊Alexa有没有办法让一个意图初始化一组话语?
我问,因为我需要识别汽车的型号以及时间和地点。为汽车/地方添加插槽似乎很荒谬,因为可能有8000多种可能性。
例如:
valetService.prototype.launch = fucntion(intent, session, response){
if(intent.slots['vehicleType'] === 'car'){
response.ask('Which vehicle?', *activate utterance*);
}
};
如果这是不可能的,我是否可以创建一系列函数来处理所需的每条信息,然后每次更改单字目标的目标函数?
答案 0 :(得分:3)
您无需执行您的问题所针对的目标。您要避免的 - 不定义自定义插槽类型 - 实际上是您问题的答案。
您可以使用Custom Slot Type
来获得所需内容。我同意列出所有可能的选项是荒谬的,但这就是问题所在:你没有必要!
您所要做的就是定义一个自定义插槽类型,可能会添加一些值,因为我不确定您是否可以离开而且已经完成了。 Alexa会将插槽的值发送给您的技能,即使它不在列表中。在亚马逊的话:
请注意,自定义插槽类型不等同于枚举。如果口语理解系统识别,则仍可返回列表外的值。虽然对自定义插槽类型的输入是对列表中的值进行加权,但它不仅限于列表中的项目。在使用插槽值时,您的代码仍需要包含验证和错误检查。请参阅Alexa发送的处理请求的“处理可能的输入错误”部分。
您可以找到所有相关信息here。