我正在尝试在我的Alexa技能中使用AMAZON.LITERAL
插槽类型,但是当我尝试构建时,我看到了这个错误:
Build Failed
Slot name "{What}" is used in a sample utterance but not defined in the intent schema. Error code: UndefinedSlotName - Thursday, Apr 12, 2018, 2:08 PM
该插槽名为What
,我100%确定已定义。如果我将插槽类型更改为除AMAZON.LITERAL
之外的任何内容,则会成功构建。
这是我的整个模型:
{
"interactionModel": {
"languageModel": {
"invocationName": "chores",
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
"name": "AMAZON.HelpIntent",
"samples": []
},
{
"name": "AMAZON.StopIntent",
"samples": []
},
{
"name": "Remember",
"slots": [
{
"name": "Who",
"type": "AMAZON.Person"
},
{
"name": "When",
"type": "AMAZON.DATE"
},
{
"name": "What",
"type": "AMAZON.LITERAL"
}
],
"samples": [
"remember {Who} {What} {When}"
]
}
],
"types": []
}
}
}
编辑:
这是我在提交错误时从亚马逊获得的回复:
我们不再支持AMAZON.Literal插槽类型,我们会问 开发人员使用客户插槽类型是他们有一些值集 但如果没有,那么你可以使用AMAZON.SearchQuery获得 客户正在寻找的整个查询,您可以使用它 你lambda函数。
答案 0 :(得分:6)
我遇到了同样的问题。这是解决方案。
您需要将Sample Motterances定义为
Remember {Neil | Who} {died | What} {yesterday | When}
亚马逊强制要求提供示例输入以及您的插槽名称,因为AMAZON.LITERAL可以采用各种各样的值。
有关详细信息,请参阅here。
答案 1 :(得分:1)
以下面的格式添加一些示例话语,它应该有效:
remember {Jack|Who} {bring fruits|What} {tomorrow|When}
remember {Mark|Who} {pay bills|What} {today|When}