Amazon Alexa 服务端搭建

本文介绍了如何搭建Amazon Alexa服务端,包括Skill的概念、交互方式、语音格式、Intent和Sample Utterances、Slot Value、处理异常对话以及JSON格式的请求处理和签名校验。在Alexa开发过程中,开发者需要设定意图和样本表达,处理用户的各种语音输入,并确保服务器对Amazon的请求进行有效验证和响应。
摘要由CSDN通过智能技术生成

2018.12.24 update: 最近好像开发alexa的人有点多,陆陆续续收到了几封邮件都是咨询这篇blog的。这篇文章写了也有将近一年了,有些信息很可能已经过时了,我建议遇到问题还是先去看官方的文档

Alexa是amazon自家的语音助手服务。用户需要购买一个echo音箱,然后就可以对着音箱说出各种各样的指令来指挥它。

Skill

在alexa开发过程,每一个开发者开发的程序被称为skill。在注册成为amazon developer后,便可以开发skill,这个skill在没有发布前,是只有开发者团队自己可见的。如果需要发布到amazon网站上供所有用户使用,则需要走发布流程,经过一系列的审核后,方可被普通用户搜索到。

目前虽然alexa上的skill很多,但其实最常用的也就只有天气、设置闹钟这几个。而当初amazon大力推广的语音叫车服务,美国人民并不买账。

交互方式

用户在对着音箱说话以后,语音识别的结果以POST请求的形式传到开发者的服务器上,服务器需要对这个请求在指定的时间内作出回应(以测试经验来看是7秒左右)。
amazon目前只提供java语言的服务端框架,其他语言需要自行编写。

语音格式

用户的语音识别结果并不是以原文的形式直接发送给服务端的。服务端需要在后台去设置好几种固定的格式,alexa会按照这几种格式去尝试匹配,并返回匹配度最高的结果。
2018-12-24 补充一点:在我开发接口的时候,Alexa不会在接口返回信息里提供用户说的原始文字,可能的原因是,防止用户的隐私被泄露(Alexa被意外唤醒而用户并不知情,并将用户的对话上传到了ALEXA)。换句话说,是不能把ALEXA当成一个语音转文字的API来用的。

intent & sample utterances

intent英文意为意图,在这里指代用户的某种动作。
假设现在我们的skill去控制一个智能灯泡,灯泡有开灯和关灯两种操作。那么这里开就是一种intent。我们可以定义这个intent叫onIntent. 一个skill有多少个intent,是配置在后台的intent schema里面的。
至于用户怎么表达出这个onIntent

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值