Alexa意图插槽AMAZON.LITERAL导致构建失败

Sim*_*leJ 4 alexa-skills-kit

我正在尝试AMAZON.LITERAL在我的Alexa技能中使用插槽类型,但是当我尝试构建时,我看到了这个错误:

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
Run Code Online (Sandbox Code Playgroud)

插槽已命名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": []
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:

这是我在提交错误时从亚马逊获得的回复:

我们不再支持AMAZON.Literal插槽类型,我们要求开发人员使用客户插槽类型,因为他们有一些值,但如果没有,那么您可以使用AMAZON.SearchQuery,您将获得客户正在寻找的整个查询,并且相同你可以在lambda函数中使用它.

小智 6

我遇到了同样的问题.这是解决方案.

您需要将Sample Motterances定义为

Remember {Neil | Who} {died | What} {yesterday | When}
Run Code Online (Sandbox Code Playgroud)

亚马逊强制要求提供示例输入以及您的插槽名称,因为AMAZON.LITERAL可以采用各种各样的值.

有关更多信息,请参阅此处.