首页 > 解决方案 > 让 Alexa 听数字

问题描述

我想让 Alexa 监听特殊数字 -例如:


所以我用插槽类型的 AMAZON.NUMBER 创建了这个意图:

图像


  1. 如果输入词在特定列表中,我可以让 Alexa 触发这个意图吗?(如果输入是“一二三”或“五六”而不是如果输入例如“九十一”则不触发意图)

  2. 如何在我的 node.js 服务器上捕获单词,例如捕获“一二三”而不是自动结果“123”=“onehundredtwentythree”?


skill.intent("numeric_input", function(request, response) {
  let inputID = request.slot("input").toLowerCase();
  response.shouldEndSession(false)
  console.log(inputID); // is "123"
})

任何帮助将非常感激。

标签: node.jsamazonalexaalexa-skillalexa-app

解决方案


如果您知道您的输入可以有多少个数字,我会创建话语,例如:{input}, {input}{input}, {input}{input}{input}。当然,这只有在您知道数字序列最多三个数字时才有效。

要将数字转换为单词,您必须使用某种包或自己编写来转换它们,因为 alexa 没有任何此类功能。

我还有一个建议。如果您知道,该用户只能说出 1-9 个数字。这不是很多,您可以使用这些值创建自定义插槽。在这种情况下,alexa 会将单词返回到您的代码中,并且您可以阻止某些您不想得到的数字,例如十一。自定义插槽


推荐阅读