询问对话框 (cli) 不理解意图中的 AMAZON.NUMBER 插槽

ask dialog (cli) not understanding an AMAZON.NUMBER slot in an intent

我正在开发一个应用程序,它有一个使用节点和 ask-cli 的 Alexa 应用程序。为了进行测试,我使用了 ask dialog 命令。我的 Alexa 技能与琐事示例的工作方式类似,您向用户提出问题,用户回答一个答案,但给出多项选择的索引。

问题是,为了进行身份验证,我要求用户为 Alexa 技能提供一个由四位数字组成的数字(我知道这不太安全,但目前我不知道更好的方法)。因此,当我使用数字对其进行测试时,它不会填充请求意图的 slot 变量,但如果我使用文本而不是实际数字,它就会起作用。

需要提及的一件重要事情是,它使用我的声音在网站上按预期工作,因为我没有看到它可以区分我是在发音数字还是文本号码的方式,并且它会解释它作为文本。另外,我们需要考虑一下,如果我只使用 1 位数字 作为答案,它也有效。

失败的测试是(Alexa的最后一条消息是受控错误消息):

  User > abrir la trivia favorita
  Alexa >  ¡Bienvenido!. Para empezar, ¿Puedes decirme tu código de usuario?
  User  >  9225
  Alexa >  No he entendido el código de usuario. ¿Podrías repetirlo?

但如果我这样做了(Alexa 的成功消息):

  User > abrir la trivia favorita
  Alexa >  ¡Bienvenido!. Para empezar, ¿Puedes decirme tu código de usuario?
  User  >  nueve dos dos cinco
  Alexa >  ¡Hola Pepín!, Bienvenido al sistema. ¿Cuál trivia deseas?

也适用于(Alexa 的成功消息):

  User > abrir la trivia favorita
  Alexa >  ¡Bienvenido!. Para empezar, ¿Puedes decirme tu código de usuario?
  User  >  claro 9225
  Alexa >  ¡Hola Pepín!, Bienvenido al sistema. ¿Cuál trivia deseas?

这也有效(Alexa 的成功消息):

  User > abrir la trivia favorita
  Alexa >  ¡Bienvenido!. Para empezar, ¿Puedes decirme tu código de usuario?
  User  >  nueve mil doscientos veinticinco
  Alexa >  ¡Hola Pepín!, Bienvenido al sistema. ¿Cuál trivia deseas?

我的模型是:

{
  "name": "AnswerIntent",
  "samples": [
    "{Answer}",
    "Elijo la opción {Answer}",
    "La opción que deseo es {Answer}",
    "Me gustaría elegir la opción {Answer}",
    "Claro es este {Answer}",
    "Si claro es este {Answer}",
    "Claro {Answer}",
    "Sin duda {Answer}"
  ],
  "slots": [
    {
      "name": "Answer",
      "type": "AMAZON.NUMBER",
      "samples": []
    }
  ]
}

我想知道这是否符合预期,因为当您使用语音与它交互时,它所做的是将其转换为以文本形式书写的数字,而不是实际数字?或者我在用我的插槽做什么?

docsAMAZON.NUMBER"Converts numeric words ("五")转换成数字(如"5")。"所以它只适用于文字。

也许您可以将插槽类型更改为 AMAZON.FOUR_DIGIT_NUMBER,此类型可识别四位数字的特殊表达方式。

您可以在此处查看文档amazon documentation