【问题标题】:AMAZON.TIME issue in Alexa SkillAlexa Skill 中的 AMAZON.TIME 问题
【发布时间】:2018-12-11 02:40:20
【问题描述】:
{
  "intents": [
    {
      "name": ... // my current intent name
      "slots": [
        {
          "name": "StartTime",
          "type": "AMAZON.TIME"
        },
        {
          "name": "EndTime",
          "type": "AMAZON.TIME"
        }
      ]
    }
  ]
}

我正在使用 AMAZON.TIME 时隙类型作为时隙。问题是在我的一个插槽中,Alexa 无法正确处理数据。 详细信息 - 当我在 EndTime 时段中说“下午 1 点”时,Alexa 知道现在是“13:00”。但是,在 StartTime 时隙中,它只返回“00:00”,有时没有返回任何响应。 我在两个插槽上的每一步都完全相同。

【问题讨论】:

  • 1.您是在 Alexa 模拟器中输入文本还是通过语音使用它? 2. 您是否提供了至少 5-7 个话语并正确分配了正确的开始和结束时间段?
  • 1.在模拟器中输入文本。 2. 你的意思是意图话语吗?实际上,我的意图是使用 Lex 中的 json 导入的。对于意图表达,我已经正确分配。我在每个插槽内找到了用户话语字段。我需要在该字段中添加一些话语吗?

标签: alexa alexa-slot


【解决方案1】:

由于您在 Alexa 模拟器中输入文本,因此 Alexa 无法正确解析您的文本,因此无法识别您的开始时间和结束时间。

在 Alexa 模拟器中,尝试通过语音使用,有一个麦克风图像 - 按住它 -> 然后告诉你的响应 -> 然后释放麦克风图像。这将解决问题。

为什么会出现这种奇怪的行为?

让我们看一个示例:假设您正在开发一款天气应用,并且想了解伦敦上午 10 点到下午 2 点之间的天气。所以在模拟器中你输入:

告诉我上午 10 点到下午 2 点之间伦敦的天气

现在,当您说出上述回复但现在是语音时,Alexa 会将其解释为:

告诉我上午十点到下午两点之间伦敦的天气

根据AMAZON.TIMEdocs,ten am 将变为10:00,two pm 将变为14:00。但是你输入的文字10 AM 对AMAZON.TIME 来说有点奇怪,因此它不能正确识别它。

要使10 AM 正常工作,您需要定义自己的自定义插槽,然后手动处理您的代码。 但是,在生产过程中,最终用户会使用语音呼叫您的应用程序,因此当用户说10 AM 时,Alexa 会将ten am 作为槽值发送到您的应用程序,您的应用程序可能会中断。所以我不推荐这种方法。

Alexa 是使用/用于语音体验而构建的,因此使用语音进行测试比仅仅打字更有意义。

【讨论】:

  • 是的,应该使用语音。非常感谢。
猜你喜欢
  • 2017-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多