Amazon Alexa 语音设计指南(五):设计自查表&术语表
本文为《Amazon Alexa 语音设计指南》系列译文的第五篇,enjoy~
设计自查表
如何知道你的设计是否正确呢?当你设计了一系列的语音交互体验,请考虑以下几点:
Alexa技能术语表
你可以通过下面的介绍,学习Amazon Alexa语音设计指南中经常出现的一些术语。
A
Alexa app: 为Alexa用户提供的,用于和Alexa配合使用的应用。主要用于配置设备、相关设置、记录和查看历史对话。
Alexa service / Alexa: 基于云端,为Amazon Echo、Amazon Echo Dot、Amazon Tap等设备提供语音服务。你可以在云端搭建个人服务,为Alexa增加新功能。
Alexa Skills Kit: 为Alexa创建新功能所需的API、工具、文档的集合。参看 Getting Started with the Alexa Skills Kit.
Alexa-enabled device: 可以为Alexa服务提供接口的设备,以及使用Alexa语音服务的设备。比如Amazon Echo、Amazon Echo Dot、Amazon Tap。
Ask: 用户在试图调用某个特定技能时,对Alexa说的一句话。该命令需要和技能的invocation name有机结合。比如说:“Alexa, ask Astrology Daily for my horoscope.”(“Alexa, 问问每日占星,我的星座运势怎么样”)用户可以选择非常丰富词汇,去开启一段和Alexa的对话。参看 Understanding How Users Invoke Custom Skills.
C
Cloud-enabled device: 具备联网能力的智能家居设备,如灯泡、开关、调温器等。这些设备通常由 device cloud控制。
Confirmation: Alexa试图向用户确认其是否已经知道Alexa理解正确了用户意图,以下是确认的类型:
Implicit confirmation(隐含确认) (又名landmarking): 一种将Alexa听到的信息巧妙重复给用户,以
获取用户确认的提问方式。例如:
User: Alexa, 问问每日占星,我的星座运势怎么样。
Astrology Daily: 你是什么星座?
此处,重复“星座”这个词就是一个landmarking技巧。用于与用户建立信任,同时也不破坏对话的
自然流畅。
Explicit confirmation(明确确认): 一种将Alexa听到的信息重复给用户,并且明确要求用户确认的提问
方式。例如:
User: Alexa, 问问每日占星,我的星座运势怎么样。
Astrology Daily: 你想向每日占星询问你的星座运势,对吗?
想获得何时提供确认的建议,参看 Voice Design Best Practices.
Custom interaction model: 你自定义技能(you define for a custom skill )时用到的交互模型。由意图模式(intent schema)构成。意图模式定义了技能可以支持的命令,以及一系列用户可以用于调用命令的表达样例(sample utterances) 。
Custom skill: 使用custom interaction model 的自定义技能。开发者可以自定义你技能支持的命令, (intents) 以及自定义用户可以说的语句,这些语句将用于完成(或调用) 这些命令(sample utterances)。意图和表达样例之间的映射构成了交互模型,或者说构成了技能的语音用户界面。
一个完整的自定义技能包括基于云服务的代码托管,以及能够提供Alexa服务所需信息,向服务器发送请求的配置器。这是一种你可以搭建的最灵活的技能,但同时也是最复杂的。你必须自己设计语音交互界面。
D
Detail card: 显示在Alexa应用中,包含技能相关信息和技能使用方法的卡片。用户可以查看详情卡片并且选择开启他们喜欢的技能。详情卡上显示的大部分信息都是在开发平台的Publishing Information 部分准入的。参看 Submitting an Alexa Skill for Certification.
Device cloud: 可以控制智能云设备。对于某个智能家居技能,你的技能适配器将把命令从Alexa智能家居技能API传输到设备云。
Device cloud account: 用于登录设备云的独立用户账户。用户使用Alexa应用通过Alexa服务器连接设备云账户。OAuth 2.0 是首选的连接机制。
Device discovery: Alexa智能家居技能API通过技能适配器发现可控设备的过程。
Dialogue errors: 用户和Alexa之间发生的出乎意料之外的对话。以下是对话错误的类别:
Low confidence errors(低置信度错误): 当Alexa对她理解的正确程度信心不足时,她将再次询问刚
才的问题,或者结束对话。
Timeouts/Silence/No input(超时、沉默、无输入): 当用户没有回答Alexa的问题时,通常会使用
re-prompt鼓励用户回答。
False accept(误解): Alexa对她理解的正确程度具有较高的置信度,但实际上理解错误。
获取更多错误处理方面的建议,请看Voice Design Best Practices中“处理对话” 部分。
E
Example phrase: 向用户展示如何启用技能的短语。你可以在开发平台的Publishing Information 提交这些短语。这些短语必须包含在你的sample utterances列表中。参看 Submitting an Alexa Skill for Certification。
Exit command: 用户试图停止交互或退出对话的命令。
H
Home card: Alexa app中,用来描述和强调某个自定义语音交互技能的构件。在测试和调试Lambda函数和网络服务时,卡片也很有用。参看 Including a Card in Your Skill’s Response。
I
Intent: 用户对于某个技能命令相关的核心请求或动作。比如:“Alexa,问一下历史迷六月三号发生过什么。”在这句话中 “六月三号发生过什么。” 映射到一个特定意图,该意图能被Alexa的某项特殊技能所处理。这告诉Alexa用户希望“历史迷”提供历史上的某天的相关信息。
关于如何定义意图的细节,参看 Defining the Voice Interface 以及 Custom Interaction Model Reference。
Intent schema: 是一种JSON结构,用于声明某些能被技能服务所处理的意图。关于细节,参看Defining the Voice Interface 以及 Custom Interaction Model Reference。
Interaction: 用户和Alexa之间的对话。可能是单一的请求-响应, 或一组扩展的多轮对话。
Interaction model: 用户对于技能提出的要求,包括单词和短语。对于自定义技能,你可以通过创建一个 intent schema和sample utterances定义交互模型(define the interaction model)。对于一个 smart home skill, 通过 Smart Home Skill API定义。
Interruptions: Alexa和用户间的对话被另一个事件打断。比如Alexa和用户对话时忽然响起了闹钟或计时器的铃声。
Invocation:调用,开启某个特定技能的行为。比如“Alexa, 问问每日占星,我的星座运势怎么样。”这是一个典型的例子,说明用户可以如何唤醒Alexa并且直接向“每日占星”技能提问。之后Alexa继续问道 :“你是什么星座?”。以下是invocation的类别:
Full intent(完全意图): 用户的请求包含了Alexa完成任务所需要的所有信息。如: “Alexa,问一
下历史迷八月十二号发生过什么。”
Partial intent(部分意图): 用户的请求包含了意图,但丢失了某些槽(slot)。如: “Alexa, 问问
每日占星,我的星座运势怎么样。” 在这里,丢失了具体“星座”, Alexa需要继续获取用户的信息。
No intent(无意图): 用户请求中不包含意图也没有槽。如: “Alexa, 打开历史迷”
关于处理不同类别调用词的更多建议,参看 Voice Design Handbook。
Invocation name: 用户想要使用自定义技能的名称。用户使用结合了调用名称的短语同技能进行交互。如: “Alexa,问一下历史迷八月十二号发生过什么。”。在例子中,“历史迷”就是调用名称,是一个能够检索历史事件的技能。请注意,智能家居技能没有调用名。
M
Max error condition: 对话发生连续错误的情况。此时会终止对话,这样设计的目的是避免让Alexa陷入无限的错误循环之中。
N
Notification: 用户让Alexa稍后提醒他们的事件。最常用的情况是闹钟和计时器。通知可能会发生在Alexa安静的状态下,也可能发生在和用户交互的过程之中。
P
Prompt: 为了询问更多信息对用户说一段话。提示问句包含在你给予用户的回答中。以下是提示的类型:
Open-ended(开放式提问): 可以引出的答案范围较广。例如: “你有什么需要?”
Menu-style(菜单式): 提供一系列的可选项(建议不多于5个)。 例如: “我们有摩卡、拿铁、美式以及卡布奇诺,你想选择哪个?”
Re-prompt(重复提问):当对话发生错误时,为了帮助用户恢复错误,再次询问用户。例如:
User: Alexa, 打开记分员。
Score Keeper: 有什么要更新的?
User: … (无应答)
Score Keeper: 你可以给游戏者加分, 询问目前得分, 或者开始一轮新游戏。如果想得到更多帮助信
息,请说“帮助”,那么,你需要什么帮助呢?
Landmark (又称implicit confirmation): 详见,隐含确认。
S
Sample utterance: 一种连接特定意图和表达方式的结构化文本。你需要提供一系列表达样本作为自定义技能的交互模型。当用户触发了这些表达方式,Alexa服务会向你的服务器发送包含相应意图的指令。 你只为自定义技能提供表达样本( provide sample utterances )智能家居技能通过智能家居技能API定义(defined by the Smart Home Skill API)。Service: 基于云端的服务,用于支持技能。服务器从Alexa获取请求并且返回应答。对于一个自定义技能来说,服务器接收包含意图的请求,并且返回包含语音生成的结果给用户。对于一个智能家居技能来说,这项服务是一个需要设备指令的 skill adapter ,然后和设备云关联,以便控制诸如灯、恒温器这样的设备。你可以用AWS Lambda函数或者web service去部署服务。智能家居技能适配器只能使用Lambda。Skill: Alexa的技能或功能。Alexa提供一系列的内置技能(比如音乐播放), 开发者可以使用Alexa技能工具包去开发新的技能。一个完整的技能包括代码(基于云服务的格式)以及开发者平台所提供的配置。参看 custom skill 和 smart home skill。
Slot: 槽,一个意图中的可变信息。比如: “Alexa,问一下历史迷六月三号发生过什么。” 在这句话中 “June third ” 就是一个日期slot的值。
对于一个意图来说, slots包括必须提供或者可供选择两类。
Required(必须提供): 一个槽的取值对于Alexa完成用户请求是必须的。比如说: “Alexa, 问问每日占星,金牛座的星座运势怎么样” ,如果没有具体的星座,每日占星就不能提供星座运势。如果用户没有提供必须的槽值,你必须询问用户这个槽值。
Optional(可供选择): 一个槽的取值对于Alexa完成用户请求不是必须的。比如说:“Alexa,问一下历史迷六月三号发生过什么。”在这里,六月三号是可选项,因为如果用户没有提到特定的日期,历史迷可以提供当日相关的信息。在这种情况下,就无需询问槽值。
关于定义槽, 参看Defining the Voice Interface 和 Custom Interaction Model Reference。
Smart home skill: 一种可以控制智能家居的技能,比如控制灯,或者恒温器。Smart Home Skill API定义了技能可以支持的指令,以及用户的表达方式。
System errors: 与用户和Alexa之间的对话无关,而是系统出现了错误。比如: 数据服务用于获取用户请求的信息向Alexa发送失败。
T
Tell: 用户可以要求Alexa调用某个技能的词语,和调用词相关联。比如: “Alexa, tell Color Expert that my favorite color is red.” 有丰富的短语可以用于调用。参看Understanding How Users Invoke Custom Skills。
Text-to-Speech(TTS): 将文本合成语音(Alexa的声音)。Alexa服务能够将纯文本转化为语音。
Turn: 对话的一轮由一个请求和答案构成,而不是单指某一句话。所以“Alexa,打开星座运势”, “你想看什么星座?”, “双鱼座”, “今天双鱼座的运势是…” 这是一个两轮的对话,而不是四轮对话。
U
Utterance: 用户表达给Alexa他们想做什么, 或者回答Alexa的问题。对于自定义技能,你需要提供一系列的sample utterances 匹配意图,作为你自定义交互模型的一部分。对于智能家居技能, Smart Home Skill API 提供了一系列预制的utterances。
V
Voice Interface or Voice User Interface(VUI): 主要通过语音对话进行的一种人机交互的方式。对于一个自定义技能, 语音界面由云端服务器可处理的spoken utterances 和 intent匹配构成。参看Defining the Voice Interface。
W
Wake word: 唤醒词,当用户想要和Alexa说话,会通过这种命令唤醒Alexa。 比如: “Alexa, ask History Buff what happened on December seventh.” 在这里, “Alexa” 就是唤醒词。Alexa用户可以在一系列定义好的的唤醒词中进行选择。
原文地址:https://developer.amazon.com/designing-for-voice
译者:Rachel Hu,阿里云OS VUI交互设计师
本文由 @Rachel Hu 翻译发布于人人都是产品经理。未经许可,禁止转载。
题图来自PEXELS,基于CC0协议
“确保用户可以得益于你的技能”、“优雅的处理那些出乎意料的问题”——这两点常常被忽略呢