亚马逊官网Alexa技能初级入门-01
为何建立Alexa技能
您将学到的内容:
为什么要培养Alexa技能
您可以创建哪些类型的Alexa技能
Alexa技能的运作方式
建立技能的步骤
建立技能的要求
为什么要培养Alexa技能?
VUI是自然的,对话性的且以用户为中心的。
出色的语音体验允许人们以多种方式表达意义和意图。它既丰富又灵活。因此,为语音构建与为Web或移动设备构建图形用户界面(GUI)不同。技能使用越容易,它提供的速度和效率就越高。
速度与效率
Alexa的技能为平凡或惯常的任务带来了速度和效率,这就是为什么语音准备普及的原因。
考虑一下厨房计时器。使用Alexa,设置计时器就像说“ Alexa,设置计时器10分钟”一样容易。谁会想到按一下微波炉上的几个按钮会变得不太方便?
您想创造什么类型的技能?
借助Alexa技能套件(ASK),您可以想象完全定制的语音体验,或者使用我们的预构建模型来建立广泛的技能。Alexa Skills Kit提供了预构建的交互模型,其中包括预定义的请求和语音,以帮助您快速开始构建。
通过销售技能来赚钱。您可以 通过订阅,一次性购买或消耗品将吸引人的内容作为技术产品向客户出售 。
例如,假设您建立了一种知识共享技能,可以帮助用户教会一个过程或任务。您可以从免费的介绍性内容开始,以赢得用户对这项技能的价值的信任。然后,您可以出售对更高级和更有价值的高级内容的访问权。
要使用预构建模型吗?请参阅下面的示例
Smart Home Skills
智能家居技能
使用Smart Home Skill API通过预构建的模型构建智能家居技能。这类技能可控制智能家居设备,例如相机,灯,锁,恒温器和智能电视。Smart Home Skill API使您对用户体验的控制较少,但由于不需要自己创建VUI,因此可以简化开发。
调用该技能也非常容易。用户可以发出如下请求:
“ Alexa,打开客厅灯”
“ Alexa,将温度提高两度”
“ Alexa,展示前门摄像头”
Flash Briefing Skills
使用Flash Briefing Skill API为您的客户提供新闻标题和其他简短内容。用户可以发出如下请求:
“ Alexa,给我我的简短简报”
“ Alexa,告诉我消息”
作为技能开发人员,您可以为请求的Flash简报定义内容供稿。这些提要可以包含播放给用户的音频内容或读取给用户的文本内容。
Video Skills
使用视频技能API为用户提供视频内容,例如电视节目和电影。用户可以发出如下请求:
“ Alexa,在海边玩曼彻斯特”
“ Alexa,将电视切换到第4频道”
作为技能开发人员,您可以定义技能可以处理的请求,例如搜索和播放视频内容,以及视频内容搜索结果如何在支持Alexa的设备上显示。
Music Skills
使用Music Skill API为用户提供音频内容,例如歌曲,播放列表或广播电台。用户可以发出如下请求:
“ Alexa,播放音乐”
“ Alexa,玩爵士乐”
该API处理用户可以说来请求和控制音频内容的单词。这些口语变成了您的技能要求。您的技能将处理这些请求并做出适当响应,然后在支持Alexa的设备上为用户发送回音频内容。
注意:目前,仅美国支持音乐技能。
这些只是预建技能的一些示例,可以帮助您加快开发速度。
Alexa技能的运作方式
以下是演示Alexa如何工作的简单工作流程。在此示例中,用户调用了称为Hello World的简单Alexa技能。
- 要启动该技能,用户说:“ Alexa,打开Hello World。”
- 启用了Alexa的设备将语音发送到云中的Alexa服务。在那里,通过自动语音识别处理语音,以转换为文本,并通过自然语言理解来识别文本的意图。
- Alexa发送一个JavaScript对象表示法(JSON)请求,以处理对云中AWS Lambda函数的意图。Lambda函数充当后端,并执行代码以处理意图。在这种情况下,Lambda函数返回“欢迎使用Hello World技能”。
下面的动画演示了用户与Alexa技能进行交互时会发生什么。假设您正在使用无服务器云计算AWS Lambda托管技能代码。
步骤
用户说出唤醒词Alexa。
Alexa听到唤醒词并听。
Alexa服务使用交互模型来确定将请求路由到何处。
JSON请求被发送到技能的lambda函数。
lambda函数检查JSON请求。
lambda函数确定如何响应。
lambda函数将JSON响应发送到Alexa服务。
Alexa服务接收JSON响应,并将输出文本转换为音频文件。
启用了Alexa的设备接收并播放音频。
建立技能的步骤是什么?
请遵循以下步骤来增强ASK的技能。
建立本教程技能的要求
通过执行以下操作准备构建:
在Alexa开发人员控制台上注册一个帐户 。 控制台是您建立和优化技能的地方。
可访问Internet的端点,用于托管您的后端基于云的服务。 您的后端技能代码通常是Lambda函数。在本课程中,您将创建一个具有Alexa托管技能的技能,开发人员控制台将为您提供Lambda终结点,并允许您直接在控制台上使用Alexa Skills Kit(ASK)SDK。请记住,如果您打算使用ASK SDK,则支持的语言是Node.js,Python和Java。Alexa托管的技能仅在Node.js和Python中可用。
适用于您计划使用的编程语言的开发环境。Lambda本机支持Java,Go,PowerShell,Node.js,C#,Python和Ruby,并提供了运行时API,该API允许您使用任何其他编程语言来编写函数。
可公开访问的网站,用于托管您使用的任何图像,音频文件或视频文件。 如果您使用Alexa托管的托管选项托管技能后端,则将为您提供Amazon Simple Storage Service(Amazon S3)。如果您使用其他托管选项(例如AWS Lambda),则可以使用Amazon S3托管您技能中使用的文件。如果除技能图标外没有其他文件,则不需要托管任何资源。
(可选)支持Alexa的设备进行测试。技能适用于所有支持Alexa的设备,例如Amazon Echo,Echo Dot,Fire TV Cube和使用Alexa语音服务(AVS)的设备。如果您没有设备,则可以在开发人员控制台中使用Alexa模拟器。通过模拟器,您可以看到Echo Show和Echo Spot的显示模板,尽管显示不是交互式的。如果您的技能包括显示和触摸交互,则需要具有Alexa功能且带有屏幕的设备来测试该技能。