【问题标题】:Wrong intent in Alexa Skill Request when using the simulator使用模拟器时 Alexa 技能请求中的意图错误
【发布时间】:2017-02-17 21:11:06
【问题描述】:

我使用此意图架构设置了我的意图:

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

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

StartIntend Hallo
StartIntend Moin
StartIntend Guten Tag

当我使用“是”或“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

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

【问题讨论】:

    标签: alexa-skills-kit alexa-skill


    【解决方案1】:

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

    1. 按原样将它们复制到我帐户的新技能中
    2. 在配置页面上选择了北美地区。
    3. 将 lambda 设置为指向我拥有的现有 lambda。出于测试目的,我只需要一个有效的 ARN。反正我会忽略回复。
    4. 然后在服务模拟器中输入“是”

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

    我尝试输入 Ja,这导致了 StartIntend,但我想我会这样认为,因为 Ja 在北美不是“是”。

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

    【讨论】:

    • 感谢您花时间尝试重现我的问题。我的端点区域设置为欧洲。不过没关系,我的端点也可以托管在北美,所以我猜亚马逊只是将它用于连接目的。模拟器服务请求也将意图设置为错误的意图,尽管我在模拟器中输入了“是”。
    • 让我补充一下,我直接在模拟器的左侧请求窗口中查看请求,我不调试我的服务以查看实际请求。但应该是 1:1 一样吧?
    • 是的,我希望它们是一样的。
    • 只是为了告诉你,我找到了解决这个问题的方法:模拟器似乎有一个小错误:你必须输入小写的“ja”。
    • 哈!那好吧。很高兴您解决了问题,感谢您分享答案。
    【解决方案2】:

    我与亚马逊支持人员讨论过这个问题。经过一些实验证明,你必须用小写写“ja”。这似乎是模拟器本身的一个错误。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 对不起。我的语言设置为德语。您是否尝试复制它?
      猜你喜欢
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      • 2020-07-23
      • 2018-09-24
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多