使用模拟器时 Alexa 技能请求中的意图错误

Wrong intent in Alexa Skill Request when using the simulator

我使用此意图模式设置了我的意图:

{
  "intents": [
    {
      "intent": "StartIntend"
    },
    {
      "intent": "AMAZON.YesIntent"
    },
    {
      "intent": "AMAZON.NoIntent"
    }
  ]
} 

我的示例语句如下所示(德语):

StartIntend Hallo
StartIntend Moin
StartIntend Guten Tag

当我使用语句 "Yes" 或 "Ja" 时,为什么亚马逊开发者控制台会生成以下请求?

{
  "session": {
    "sessionId": "SessionId...",
    "application": {
      "applicationId": "amzn1.ask.skill...."
    },
    "attributes": {},
    "user": {
      "userId": "amzn1.ask.account...."
    },
    "new": true
  },
  "request": {
    "type": "IntentRequest",
    "requestId": "EdwRequestId...",
    "locale": "de-DE",
    "timestamp": "2017-02-17T21:07:59Z",
    "intent": {
      "name": "StartIntend",
      "slots": {}
    }
  },
  "version": "1.0"
}

无论我输入什么,它总是使用预期的 StartIntend

这是为什么?我忘记了什么/我做错了什么?

架构和表述看起来是正确的。 我尝试通过执行以下步骤复制您所看到的内容:

  1. 已将它们 as-is 复制到我帐户的一项新技能中
  2. 在配置页面选择北美地区。
  3. 将 lambda 设置为指向我现有的 lambda。出于测试目的,我只需要一个有效的 ARN。无论如何我都会忽略回复。
  4. 然后在服务模拟器中输入"Yes"

它确实向 Lambda 发送了 AMAZON.YesIntent。 所以我得出结论,您发布的数据没有任何内容。

我尝试输入 Ja,这导致了 StartIntend,但我想我希望如此,因为北美的 Ja 不是 "Yes"。

您是否将区域设置为欧洲,并为欧洲区域输入了 Lambda?

在 Alexa Skills Kit 中创建技能时,您需要选择正确的语言,即德语,请参见下面的屏幕截图。

其他一切似乎都是正确的。

我与亚马逊支持人员讨论过。经过一些实验后发现,您必须将 "ja" 写成小写。这似乎是模拟器本身的错误。