我可以在alexa语音服务中动态创建自定义插槽类型吗?

时间:2016-06-27 06:32:16

标签: alexa alexa-skills-kit alexa-voice-service

我想为我从用户获得的响应创建插槽类型,因为我想使用该插槽再次查询。找不到任何官方文件说明这是否可行。

3 个答案:

答案 0 :(得分:5)

我认为,事实上,这是可能的。您必须定义自定义插槽类型,如下所述:https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/defining-the-voice-interface#custom-slot-types

现在,自定义插槽类型会要求您提供可能的值,您应该这样做。但!似乎Alexa仍然会正确解析槽值,即使它们不在您提供的可能值列表中!

这似乎是一个没有记录的功能,我告诉你的是基于我自己的观察:My custom slot type is taking on unexpected values

总的来说,我的印象是,作为一个整体的交互模型不应该被视为一套严格的规则,更多的是作为Alexa Voice Service自行决定解释的指南。

答案 1 :(得分:4)

通过使用名为“query”的自定义插槽类型创建名为“Search”的自定义意图,我能够实现这一目标。这会将用户在插槽值中所说的内容发送到我的Web服务,我可以在其中搜索字符串。

我必须在插槽值部分中放入一个示例(以通过验证),但在我的测试中,插槽正在接收动态数据并按照您的预期传递到我的Web服务。参见随附的屏幕截图。

screen shot of search intent

答案 2 :(得分:2)

我认为你的意思是Alexa Skills Kit,而不是Alexa语音服务。您使用Alexa Skills Kit编写技能(应用程序),并且是组成对用户的回复的元素。

不,你不能自发地组成插槽类型。 Alexa服务使用交互模型(包括插槽类型)将声音数据转换为intent + slots。为了返回最高质量,它们需要固定的交互模型。这是在设计时提供的,"编译"进入他们的认可水平。因此,它们不支持需要临时更改交互模型的功能。