介绍英雄趣味问答:你的第一个 Alexa 技能
让我们更详细地看看英雄趣味问答项目,以及我们将遵循的步骤来完成我们的第一个项目。
现在是时候开始构建我们的第一个 Alexa 技能了!我们希望你和我们一样充满期待。在开始之前,了解这个应用的核心内容至关重要。让我们一起来看看。
简介
英雄趣味问答 Alexa 技能将允许用户只需向 Alexa 提问,就能听到关于他们最喜欢的漫画超级英雄的一些有趣冷知识。
完成本章后,我们的第一个 Alexa 技能将说出:
“这里有一条超级英雄趣味知识:布鲁斯·韦恩的智商高达 192,超过了史蒂芬·霍金和阿尔伯特·爱因斯坦。你可以对我说‘告诉我一个超级英雄趣味知识’,来听下一条。”
接下来,让我们先了解构建 Alexa 技能的完整流程。
构建 Alexa 技能的流程
Alexa 技能使用起来非常简单,但开发过程可能稍显复杂。作为技能开发者,我们的责任是让用户的交互体验自然且直观。
在开发技能时,拥有清晰的流程有助于保证技能的质量。在本课程中,我们将整个流程划分为以下几个阶段:
- 规划:提前设计好对话流程!用户体验会是什么样子?有哪些意图(intents)和用户表达方式(utterances)?
- 构建语音用户界面(VUI):在控制台中搭建语音用户界面模型。
- 编码:编写后端逻辑代码。
- 测试:通过控制台或实际设备测试技能。
- 准备上架信息:为技能在 Alexa 商店上架做好准备。
- 认证:提交技能进行认证,并根据反馈进行相应调整。
规划英雄趣味问答
让我们进一步讨论“英雄趣味问答”这个技能,并规划用户可能与之进行的对话场景。
一个很好的起点是编写对话脚本。为了让 Alexa 技能尽可能贴近真实对话,我们可以模仿人类的交流模式,设计高效流畅的对话流程。
这就像写一部戏剧的剧本,只不过在我们的场景中只有两个角色:Alexa 和用户。在构思脚本时,请始终牢记设计原则。
在进入下一节之前,建议你使用自己喜欢的工具(无论是纸笔还是 Word 文档等文字编辑器)写下一段对话脚本。在写作过程中,尝试设想各种可能出现的情况。
用户是否会始终遵循脚本?是否存在他们偏离脚本的情况?
编写脚本时需要注意的事项
当我们开始思考用户与技能之间的对话时,很容易陷入自我限制,只想到理想情况(即“愉快路径”)。在 Alexa 技能的语境中,“愉快路径”指的是用户严格按照预设流程提问,不会提出技能无法处理的问题。例如,如果技能设计用于获取最新新闻,而用户却要求播放音乐,这就超出了预期范围。
在现实世界中,用户可能会以多种方式提问,甚至提出完全无关的问题。用户有自己的想法,因此我们必须作为开发者,确保技能能够妥善应对这些各种各样的情况。请记住:我们无法控制用户的行为,只能控制我们的代码和语音界面的设计。
下面我们来看一些可能出现的不同情况。
考虑愉快路径
在设计技能时,从愉快路径入手是个不错的选择。在我们的案例中,愉快路径是指用户请求一条与超级英雄相关的趣味知识,而 Alexa 则给出一条有趣的超级英雄冷知识。以下是可能的对话示例:
用户:“Alexa,打开英雄趣味问答”
Alexa:“欢迎来到英雄趣味问答!可以试试问我一个英雄趣味知识,或者问我怎么用。”
用户:“告诉我一些关于超级英雄的事。”
Alexa:“死侍,漫威最受欢迎的角色之一,最初原本是死亡掠夺者的恶搞版本。”
当用户不走愉快路径时
上述对话是理想情况下的流程,但实际对话很容易出问题!我们的技能必须能够优雅地处理各种异常情况。让我们看一个非理想路径的例子:
Alexa:“欢迎来到英雄趣味问答!可以试试问我一个英雄趣味知识,或者问我怎么用。”
用户:“告诉我天气情况。”
Alexa:“出错了!请问我一个英雄趣味知识,或者问我怎么用。”
支持求助功能
Alexa 开发者还需要支持用户主动寻求帮助,并清楚地告知用户可以与技能进行哪些互动。技能应提供使用说明,例如有效的语音指令。
用户:“Alexa,打开英雄趣味问答。”
Alexa:“欢迎来到英雄趣味问答!可以试试问我一个英雄趣味知识,或者问我怎么用。”
用户:“帮助。”
Alexa:“英雄趣味问答可以帮助你了解你最喜欢的超级英雄。可以试试问我一些超级英雄趣味知识!”
退出技能
用户应能在任何时候通过说“退出”或“停止”来退出技能。
用户:“Alexa,打开英雄趣味问答。”
Alexa:“欢迎来到英雄趣味问答!可以试试问我一个英雄趣味知识,或者问我怎么用。”
用户:“退出。”
Alexa:“再见。”