【问题标题】:Alexa intent slot AMAZON.LITERAL causes failed buildAlexa 意图插槽 AMAZON.LITERAL 导致构建失败
【发布时间】:2018-09-23 03:51:47
【问题描述】:

我正在尝试在我的 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 函数。

【问题讨论】:

  • 技能目标是什么语言?据我了解,除 en-US 之外的任何内容均不支持 AMAZON.LITERAL。

标签: alexa-skills-kit


【解决方案1】:

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

您需要将示例话语定义为

Remember {Neil | Who} {died | What} {yesterday | When}

亚马逊强制要求提供示例输入以及您的插槽名称,因为 AMAZON.LITERAL 可以接受多种值。

更多信息,请参考here

【讨论】:

  • 我不认为在最新的 Alexa 开发控制台中是这种情况。此语法也会导致构建失败。
  • 我昨天做完上述修改后就建好了。我认为在您的情况下,您已将所有插槽并排放置在一起。 Alexa 将如何区分?
【解决方案2】:

以以下格式添加一些示例话语,它应该可以工作:

remember {Jack|Who} {bring fruits|What} {tomorrow|When}
remember {Mark|Who} {pay bills|What} {today|When}

【讨论】:

    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 2015-09-04
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多