Amazon Echo的beta版本为该流行的语音命令设备展示了一些的新用法。我们的专家解释了如何配置Amazon Echo以及为什么ASK API对其功能有帮助。
AWS Lambda首次亮相的新进展是Alexa Skill Kit API,该API可以做到开发者在Echo beta程序中能够鼓捣的一切。Echo采集语音识别并拥有一个非常自然的文本到语音的转换程序。但它并不是完美的,它缺乏一些最终用户可能想要的基本任务。让我们进入ASK API,Echo开发的关键。
ASK API让开发人员可以编写软件响应用户在Echo上的输入并将结果以语音的方式输出给用户。使用ASK,开发者需要一个Echo的API来调用函数,但是他们也可以使用亚马逊Web服务(AWS)Lambda。那意味着如果该软件没有被使用,那就没有开销。如果被使用了,AWS客户会根据他们所使用的计算资源收费。许多公司都只用到免费的层级,因为亚马逊允许每个月有100万次的函数调用。
启动ASK API
当我第一次听说ASK API的工作原理时,我想到的第一件事是把Alexa集成到Twilio来发送SMS消息。毕竟,我总是会向谁问东问西的呢?很自然只要说一句“Alexa,问我太太……”,那让我们开始构建这个系统吧。
我们假设你已经注册了AWS,Lambda和Echo ASK系统。除此之外,在这个例子里我用到的所有代码,包括最终产品,都是一个开源的项目,在Github上可以获取。
首先,将代码拿到本地然后看一眼一个Alexa Skill Kit的Lambda函数的典型结构。Lambda函数可以直接被hook到Amazon Echo或者通过简单通知服务,简单存储服务或者DynamoDB事件触发。你还可以将Lambda资源附加到Amazon API Gateway或者直接使用该API来运行。在下载完源代码后,压缩并通过Lambda控制台上传到你的AWS帐号。
在blueprint部分,点击“Skip”按钮:
在下一页,点击“Upload”按钮并将你从Github代码库取得的代码压缩文件附上。然后填写名称,将“Handler”改成“app.handler”。
“Role”是指身份和权限管理(IAM)相关的Lambda函数的角色。选择“Basic Execution Role”,你可以让Lambda创建一个默认的角色,按照提示往下走,系统会自动生成一个角色。
我在使用Google Chrome自动生成IAM角色时碰到了一些问题,但是切换到Safari就好了。如果你的浏览器有弹出窗口阻止,你可能需要禁用才能让自动生成的功能工作。
在填完criteria后,点击“Next”按钮在Lambda里创建函数。一旦函数被创建,点击“Event Sources”tab页,然后添加一个“Alexa”事件源。
添加ASK配置
一旦配好Lambda函数,就可以开始设置ASK。登录到Amazon Echo Skills Console并点击Alexa Skill Kit下的“Get Started”。
然后点击“Add a New Skill.”
在下一个界面,填写Alexa Skill的基本信息,包括名称,调用名(用户要激活你的应用时需要说什么),版本字符串和程序的终止点。对于终止点,请确保要切换到AWS Lambda并从Lambda应用中复制到Amazon Resource Networks。在下一页中,“Intent Schema”和“Sample Utterances”是两个很重要的需要完成的字段。
复制以下代码到Intent Schema
{
"intents": [
{
"intent": "SetPhoneNumber",
"slots": [
{
"name": "PhoneNumber",
"type": "LITERAL"
}
]
},
{
"intent": "AskMyWifeQuestion",
"slots": [
{
"name": "Question",
"type": "LITERAL"
}
]
}
]
}
该schema设定了两个不同的Alexa可以调用的intent。第一个是简单的“SetPhoneNumber”intent,接收一个参数“PhoneNumber”。第二个Intent叫“AskMyWifeQuestion”,接受一个参数“Question”。
设置的第二部分是“Sample Utterances”,这主要是帮助Alexa决定要触发哪个intent以及要给每个参数传入什么样的文本。在这一部分,输入一些Alexa应该接受的文本类型的样本,以及如何填写每个参数的映射。这个字段的第一个单词是intent名称。每一行的格式应该是一个intent名,后面跟着匹配那个intent的文本。注意intent名必须是一个单词,不能有空格。任何你想要作为参数传入的内容,应该写成{sample string|SLOTNAME}。
例如:
SetPhoneNumber My Wife's Number Is {five five five five five five five five five five|PhoneNumber}
AskMyWifeQuestion {What's for Dinner|Question}
AskMyWifeQuestion {Hello|Question}
第一行通过说“My Wife’s Number Is……”和一个数字(我们必须要拼写出这个数字作为样本)来调用“SetPhoneNumber”intent。第二个允许一个通用的字符串类型,“What’s for Dinner?”你可以添加任何你喜欢的样本字符串,包括那些只取文本的某部分作为发送到Question参数的字符串,比如:
AsMyWifeQuestion to {come home|Question}
这会忽略“to”的部分并只发送“come home”作为问题。
设置完这些字段后,点击“Next”,然后Skill Kit应用就可以在Amazon Echo上测试了。
增加功能
当Alexa接收到一个命令,Lambda函数执行“Skill”库。额外的intent可以作为第二个参数被添加到Skill库中。App.js文件里的askMyWifeQuestion函数包含了让一个Alexa intent工作的基本框架,被调用后,它会触发AskMyWifeQuestion intent。第一个参数是intent对象,第二个参数是一个在和Alexa交互时保存的会话对象。第三个参数是一个响应用户的回调函数。
要包含一个额外的intent,将其添加到Schema和Sample Utterances中,然后在app.js的技能定义里指定。你可以获取代码并根据自己的需求修改,还可以发布和共享。
Amazon Web Services
亚马逊CloudSearch优于DIY搜索工具?
亚马逊公有云AWS的“隧道期”
亚马逊WorkSpaces成VDI市场DaaS厂商新威胁?
Amazon API Gateway在激烈的竞争中崛起
三种预配AWS强化版OS
略过AWS测试可能导致云失败
AWS停运引发企业客户担忧
AWS C2S助力NSA攻坚大数据
亚马逊AWS诠释何为绿色云计算
云服务对比:DigitalOcean PK AWS
Amazon Web服务云平台解析
AWS案例:天润融通如何直连本地IDC与AWS公有云
亚马逊AWS如何在混合架构中架起“通天塔”?
AWS通云梯:AWS Direct Connect让你直上云端
人工智能再掀狂潮:亚马逊推出机器学习
“帝国”是怎样炼成的?
AWS如何谱写国际恋歌?
四种方式确保AWS关系数据库服务安全性
AWS密钥管理服务如何增强云安全?
如何在AWS中落实安全运维管理
如何一击即中配置的“甜蜜点”
2015年世界云计算的发展趋势
亚马逊Web服务(AWS) S3如何设置CloudFront分布?
AWS基础设施有“心”了
节省成本:AWS数据中心如何借东风
云端邮件:让你的企业沟通飞入云中
AWS市场也存安全问题
AWS和谷歌公司的云性能受到威胁
谷歌和AWS的SSD的“照妖镜”:基准测试
2014 AWS竞争支柱:Zocalo和Glacier
AWS在中国发布“AWS云创计划”
亚马逊AWS发布AWS中国区合作伙伴计划
AWS部署数据库:监控和管理谁负责
来自AWS re:Invent大会的三条重要消息
亚马逊打开大门 拥抱混合云
德国用户可近距离使用亚马逊云计算平台服务
AWS向中国有限预览客户推出多级别AWS支持服务
亚马逊弹性块存储加密解读
AWS 技术代言人谈混合云、移动、大数据和技术债务的运用
亚马逊AWS推出一系列移动应用开发工具
美国政府云计算使用:亚马逊网络服务得到FedRAMP认证
AWS CloudTrail扩展了API调用审计
避免Code Spaces悲剧 保护AWS安全七法
一较高下:互联网巨头谷歌 VS. 巨头亚马逊
AWS云的设计模式与实践
如何在AWS云平台上构建千万级用户应用
简单存储服务浏览器:亚马逊的适应性数据存储界面
如何用CloudFront建站?
亚马逊云产品十年路
AWS设计VM Import意在吸引更多VMware企业用户
停止为维基解密服务 AWS首开腔:并非政治原因
基于AWS的MSP服务实践案例
AWS下月实行“先试后买” 免费提供一年云服务
AWS整合Oracle技术:揭秘云中数据库
Novell将在AWS上提供SUSE Linux Enterprise Server 10和11
赔偿问题谈崩 礼来或将放弃使用AWS
AWS新推高性能运算云服务
弥补缺陷 AWS新推技术支持服务
分析师称亚马逊云计算部门价值超10亿美元
Amazon云将为企业设定标杆
Amazon GovCloud:私有云与公共云的博弈
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!