ask dialog(cli)不理解意图中的AMAZON.NUMBER插槽



我正在开发一个应用程序,该应用程序具有使用节点和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": []
}
]
}

我想知道的是,这是意料之中的事情吗?当你用声音与它互动时,它所做的就是将它翻译成文本中的数字,而不是实际的数字?还是我在用我的老虎机做什么?

根据文档AMAZON.NUMBER"将数字单词("five")转换为数字(如"5")。"所以它只适用于单词。

也许您可以将插槽类型更改为AMAZON.FOUR_DIGIT_NUMBER,这种类型可以识别四位数的特殊发音方式。

你可以在这里查看文档amazon文档

最新更新