我如何让Alexa在发声中识别数字“ 2”和“ 4”

时间:2018-07-18 03:43:22

标签: alexa alexa-skills-kit alexa-skill alexa-slot

我遇到了有关Alexa Number类型的麻烦。当我尝试命令数字“两个”或“四个”时,Alexa总是返回未定义的值或“?”到我的服务器。

我的话语如下:

回显,告诉机器“机器名称”“动作”“ ......”。

  • “机器”是技能调用。
  • “机器名称”是AMAZON.FOUR_DIGIT_NUMBER。我也尝试过使用AMAZON.NUMBER。
  • 第二个和第三个组件是自定义类型,可以。

我已经阅读了几乎与此主题相关的主题。我发现解决方案{two | Machinename}不适合我。 Alexa技能套件总是会回应为

“内置插槽类型” {two | Machinename}”不能使用自定义值扩展。错误代码:InextensibleSlot”。

因为“ AMAZON.FOUR_DIGIT_NUMBER”和“ AMAZON.NUMBER”不是可扩展的内置类型。

  • 在另一种情况下,当我尝试将“ Machinename”(机器名称)移到我说话时的最后一个位置时。它仍然没有工作。除了“两个”和“四个”以外,所有数字都可以。因此看起来它与使用“ to”或“ for”进行调用无关。

任何人请给我一个解决方案或解决方法。

ps:对不起,我的英语不好。

谢谢。

2 个答案:

答案 0 :(得分:0)

我尝试使用AMAZON.NUMBER而不是AMAZON.FOUR_DIGIT_NUMBER进行交互,并且一切正常。插槽值已正确映射。

例如:询问四号机器开始打印

已生成请求:

"request": {
        ....
            "machinename": {
                    "name": "machinename",
                    "value": "4",
        ....
            "actionname": {
                    "name": "actionname",
                    "value": "start",
        ....
            "functionname": {
                    "name": "functionname",
                    "value": "printing",
        ....

希望这会有所帮助

答案 1 :(得分:0)

大约2周后,我尝试与Amazon联系,并从Internet上获得很好的解决方案。这次他们无能为力。

从Amazon支持团队那里,他们总是告诉我重新检查AMAZON.NUM / AMAZON.FOUR_DEGIT_NUMBER。我告诉他们使用模拟器始终可以,并向真实设备寻求帮助。但是没有任何预期的响应。 所以这一次,我试图通过另一种方式解决此问题:

  • AMAZON.SearchQuery ==>接收命令字符串并自行处理而不是插槽。
  • 对话框管理。

希望这会有所帮助