让 Alexa 听数字

Posted

技术标签:

【中文标题】让 Alexa 听数字【英文标题】:Make Alexa listen to numbers 【发布时间】:2019-02-20 11:41:22 【问题描述】:

我想让 Alexa 监听特殊的数字 - 单词,例如:

一二三, 一二, 五,六, 八、九、十、 十一

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


    如果输入词在特定列表中,我能否让 Alexa 仅触发此意图? (如果输入是“一二三”或“五六”,则只触发意图,而不是如果输入例如“九十一”)

    如何在我的 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"
)

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

正如您所做的那样,您必须使用AMAZON.Number 插槽类型。

如果输入词在特定列表中,我可以让 Alexa 仅触发此意图吗?

当您创建自定义槽类型时,需要理解的一个关键概念是这是 Alexa 的 NLP(自然语言处理)的训练数据。您提供的值不是限制用户可以说的严格枚举或数组。这有两个含义

1) 不在您的槽值中的单词和短语将传递给您,

2) 如果所说的内容未知,您的代码需要执行您需要的任何验证。

在后端验证槽值总是一个好主意。如果这些数字是您不支持的,请以适当的错误消息回复,例如

"Sorry I can proceed wiht Nine eleven, please give the correct number"

这样您就可以让您的用户知道他们必须使用不同的号码。如果有数字输入,任何数字都可以进来。所以验证和指导。

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

如果您使用AMAZON.Number 插槽类型,则值将作为123

"numberSlot": 
    "name": "numberSlot",
    "value": "123",
    "confirmationStatus": "NONE"

您可以轻松验证123 或根据需要将其转换为任何形式。

自动结果“123”=“一百二十三”?

我真的不明白这一点。 123 不会自动转换为 onehundredtwentythree。如果你指的是演讲,或者 Alexa 是如何说话的123,那么情况就不同了。在输出 SSML 中使用<say-as interpret-as="digits">123</say-as> 分别拼写每个数字。

【讨论】:

我想告诉 Alexa 不同的数字。像 eg “一二八”,我不想得到结果“128”,因为如果输入是“十一”,结果将是“111”,可以解释为“一一”一”、“十一一”、“一十一”、“一百一十一” 在我的情况下,数字很长(ID),如 596630、485200 等。我该如何处理它,因为用户不可能说出像 onehundredtwentythree 这样的数字。【参考方案3】:

1.创建自定义槽 2. 批量编辑创建的自定义插槽并在字母中插入数字。您可以从此链接获得帮助。 Numbers in letters(过滤你不想要的号码) 3.使用自定义槽创建自定义意图

【讨论】:

以上是关于让 Alexa 听数字的主要内容,如果未能解决你的问题,请参考以下文章

亚马逊的Alexa向一宝贝提出了致命的挑战

亚马逊的Alexa向一宝贝提出了致命的挑战

听~英语数字经济之父TED演讲:区块链将如何彻底改变我们的经济?(附视频&演讲稿)

Alexa Skill Kit - 保存用户输入

如何使用 Alexa stats(公式?)计算网站的 PageViews

批处理【请教大神们】怎样在数字跟汉字中间加tab制表符呢