aws-lambda - 如何为Alexa技能动态添加广告位值

标签 aws-lambda alexa alexa-skills-kit alexa-skill alexa-slot

我是Alexa开发的新手。我已经使用AWS lambda函数和Node.js代码成功创建了Alexa技能。这是我的意图模式。

{
  "intents": [
    {
      "slots": [
        {
          "name": "locationName",
          "type": "LOCATION_LIST"
        }
      ],
      "intent": "locationIntent"
    }
  ]
}


我还使用了具有以下值的自定义插槽类型“ LOCATION_LIST”。

kitchen
bedroom
bathroom
dining area


一切正常。但是我需要从我自己的服务中动态添加更多位置值。可能吗?

根据我的系统架构,我们无法预定义位置名称。那我该怎么办?

最佳答案

是的,有可能完成您的要求。

首先,让我们澄清一下插槽的工作方式。如this Alexa博客文章中所述:


“当您创建自定义插槽类型时,要理解的一个关键概念是这是Alexa NLP(自然语言处理)的训练数据。您提供的值不是严格的枚举或数组,它限制了用户可以说的内容。有两个含义:1)不在您的广告位值中的单词和短语将被传递给您; 2)如果您所说的内容未知,则您的代码需要执行所需的任何验证。”


这意味着您可以在未在SLOT定义中明确列出的插槽中接收单词。因此,您只需要在SLOT列表中提供足够的单词示例即可帮助Alexa NLP引擎。

我建议您尝试一下当前的实现,然后尝试替换其他位置,看看Alexa是否可以识别并返回它。尝试将插槽值写入日志并查看。您可能会感到惊喜。

关于aws-lambda - 如何为Alexa技能动态添加广告位值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46827106/

相关文章:

amazon-web-services - AWS SQS 长轮询不会减少空接收

amazon-web-services - AWS Cloudformation 模板存储

alexa - 使用 ask-cli 部署 alexa 技能时出现 "Building skill schema failed"错误

javascript - 我的Alexa技能给了我一个困难的错误,我不知道该错误的出处

amazon-web-services - 从 Lambda 函数安排的 CloudWatch 事件

node.js - AWS Lambda 不通过 nodemailer 触发电子邮件,但在本地开发环境中触发

dialog - 谷歌对话流 IP 地址

node.js - Alexa API技巧-nodejs get请求未执行

Azure Function - 如何在类中使用 context.log?

alexa-skills-kit - Alexa for Business 支持美国境外吗?我们计划添加对西类牙语的支持