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

时间:2019-02-01 22:02:14

标签: node.js lambda amazon alexa

我正在开发一个使用node和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": []
    }
  ]
}

我想知道的是,这是预料之中的事情,因为当您使用声音与之交互时,它所做的就是将其转换为用文字而不是实际数字书写的数字?还是我正在使用插槽进行某些操作?

2 个答案:

答案 0 :(得分:0)

根据docs AMAZON.NUMBER“将数字单词(“五个”)转换为数字(例如“ 5”)。”因此,只能使用文字。

答案 1 :(得分:0)

也许您可以将广告位类型更改为AMAZON.FOUR_DIGIT_NUMBER,这种类型可以识别通常说四位数数字的特殊方式。

您可以在此处amazon documentation

查看文档