近日亚马逊推出Alexa的语音设计指南,这可以算是目前市面上第一份语音设计的官方平台设计指南。虽然整体看来此份设计指南较粗略、浅显,但介于当下语音如此火热,而语音设计的方法论指导实在甚少,还是翻译了此Design Guideline供自己和各位设计师朋友了解Voice Design和常规UI 设计的差异。
一设计流程 Design Process
当用户和Alexa对话时,要以一种全新的交互方式来“取悦”他们。让一切能高效、简便、有趣地搞定。
设计之初,为用户和Alexa编写一段脚本:先粗略写个框架,保证交互能顺利进行,用户能达成所愿。接着,再增加稍复杂的内容,设计一些惊喜。考虑清楚你期望产品为用户带来怎样的体验和感受。
1.确定目标,定义故事情节
首先,弄清楚用户的需求是什么,产品能提供哪些功能,卖点是什么。其次,定义出用户场景及不同场景下的操作行为。最后,通过编写脚本和绘制流程图来完善所有交互细节。
明确用户目标及产品特性
列举出用户需要产品的各种场景,可以通过以下问题来帮你明确:
产品的目标是什么?用户为什么要使用产品?
用户和产品交互前、交互中、交互后都会做哪些事?
用户能从产品中获取到哪些价值?这些价值是通过其他方式无法获取到的
定义故事情节
基于用户目标和产品特性定义操作步骤:
用户会用产品做什么,不会做什么?
用户期望产品能提供哪些信息?
用户会通过哪些方式唤起产品?
产品的哪些属性能直接帮助用户达成目标?
是否还需要借助网站、App等其他平台获取额外信息?
2.编写脚本
如同电影脚本一样,这里的脚本主要描写用户和Alexa间的所有对话。撰写脚本能帮你明确对话的发展走向,以及很多原本可能并没设想到的场景。
撰写脚本时请注意以下问题:
确保对话简洁。
描述用户怎么说,而不是怎么看、怎么写。
避免反复重述。
当需要用户提供信息时,请给予引导和提示。
简短地表述观点。
通常情况下,一次性提供的选项不要超过三个。
一次只提一个问题。
3.绘制流程图
脚本并不能展示真实场景下用户和产品间的所有交互细节,实际情况下,用户或许会说得很多,或许会说得很少,或许会说一些超出你期望的话。因此,需要通过以下方法来补充脚本的不足,获取更多用户操作行为的可能:
绘制最短路径
通常,当用户一次性提供的信息足够完整,产品能一次性调用出其关联账号及所有必要的信息时,任务路径就是最短的。
绘制其他可能路径和决策树
通常,用户所说的内容不一定包含所有需要的信息。在流程中绘制出可能的替代路径和用户可能做出的选择。
绘制出背后的系统实现逻辑
系统的一个确认命令也许就会改变用户接下来的操作流程。因此梳理背后的系统逻辑也很有必要,比如是走新用户流程还是老用户流程。
绘制产品帮助流程
帮助流程中应表述清楚用户能通过产品完成哪些事情。由于产品具有一定复杂性,帮助流程能或多或少提供一些解答。
绘制账号连接流程(如果有的话)
流程中应当确定账号连接时需要的信息,并提供连接失败时的解决方案。
4.开始设计
当你已经写好脚本,并绘制好详细的流程图后,便可开始撰写产品和用户之间的对话了。
判断意图
意图是指产品所能完成的特定任务。制定旅行计划也许会包括5个意图:制定计划、预订旅行票务、中止、取消、帮助。
(关于如何基于脚本和流程罗列意图,请参看“用户怎么说”章节。)
收集语料
语料包括用户表达意图时可能使用的所有词汇、短语和句子。比如,表达想要计划一次旅行意图时,用户可能会说“制定一个旅行计划”,“为下周五制定一个旅行计划”或者说“制定一个波特兰的徒步计划”,这些表达都属于语料。
(关于如何收集语料,请参看“用户怎么说”章节。)
二用户怎么说 What Users Say
确保Alexa能“听懂”用户说的话
人与人之间的对话是在当前场景下,以合理的方式进行见解交换。表达意图和收集意图并非想象中那么简单,你需要有意替Alexa和用户之间的对话做精心设计。强大的语音体验系统应该允许用户以各种方式表达想法和意图。
CUI(Conversational UI)由“用户说”,和“Alexa答”两部分组成。对于很多人来说,这是一种新型的交互,所以请注意用户是以什么方式参与到对话中的,以便做出相应的设计。
继续完成设计
先明确你期望通过产品给用户带来什么样的体验和感受。一旦确定好产品目标、编写好脚本并绘制好流程图后,接着设计意图和语料。
收集意图
意图是指用户要求产品做的事情。产品也许能帮用户制定旅行计划、查询信息、讲笑话、或者“打怪兽”,这些就是意图。
不要设想用户的表达与你预期的意图完全匹配。用户可能会说“计划一次旅行”,也可能说“计划一次夏威夷度假”。产品应当提供足够充沛的语料库(词汇、短语、句子),以确保能应对各种场景。
以下是“制定旅行计划”意图的语料案例
使用内置意图库
每一款Alexa产品都应具备取消、暂停、帮助功能,而诸如“重播、播放、下一项”这类意图都应使用内置意图库。内置意图都已配置好了,因此Alexa可以快速辨识。比如有了内置“帮助”意图,你便不用定义用户寻求帮助的方式。如果产品需要回应其他附加信息,那么你可以扩充内置意图。
收集语料
语料是用户对Alexa说的话,语料由关键命令、自然语音(如填充词和参数)组成。收集语料(用户的各种表述方式)是语音交互体验设计最重要的任务之一。
为了保证体验顺畅,需考虑意图明确、意图不明确、意图模糊三种场景下的语料。轻微的语调错误甚至是发音不准,产品应该都能做出应对。比如当在讨论鲜花时“arrangement”和“arrangement”两个词汇都应考虑在内,即使它们有相近的含义。
一次性完整语料(One-shots):一次性完整语料是指一次性提供了判断意图的完整内容。一次性语料可用在程序的开头,也可用在中间。
不完整语料(Partial information):用户提出某个要求时,提供的信息经常不足以判断意图。这样就需要接下来再进行多轮语料收集。
过度回复
某些时候,即使Alexa只要求用户回答一项内容,但用户还是会回答很多。比如Alexa问用户出发日期,用户却既说了日期又说了出发城市。甚至还有用户会回复一些不相干的内容,比如目的地、参与的活动,但就是不回答Alexa问他的出发日期。在对话式设计中如何应对此类场景十分重要。
用户变更语料
当用户意识到Alexa弄错了,或想要改变主意时,他们会更改语料。如果用户在说完一段语料后又接着发出“不”或“哎呀”之类的声音, 请准备好应对。
提供足够丰富的语料
要确保产品表现完美,那么语料库的基准是:每个意图提供30 的语料(即使是简单意图)。不需要100%涵盖,但越丰富越好。当然,要持续完善、扩充语料库,这样才能让产品越来越“聪明”。
创建语料Tips
当用户说“我想计划一次旅行”时,Alexa需要收集出发地、目的地、旅行日期、活动项目等语料,这时恰好可以趁机问问家庭成员,或者朋友的相关信息,这样能让对话更加真实自然。
一次性完整语料的衍生
考虑一下用户会通过哪些方式在一段语料中说出所有slots。
不完整语料的衍生
就像你不希望用户一次性提供给你太多信息一样,产品也要专注,因为用户不一定会一次性提供所有你需要的语料。
定义参数(slots)
Slots可以用来定义语料中的变量,比如城市、日期。Slots在任务型产品和信息型产品中是相似的。先设计好参数(slots)在语料中什么位置出现,然后从内置目录中选择参数值(或者建立自有参数值)。
在以下语料案例中,{toCity} 和{travelDate} 就是参数(slot)。
使用内置参数(slot)值
尽量使用内置参数值以便于节省时间,而且还能提高准确率。如果需要,你也可以扩展内置值。比如,你可以增加“AMAZON.US_CITY”用以囊括当地所有城镇。
仔细核对参数(slot)
虽然填充参数值很简单——只要找到、复制、粘贴一段词汇就行了,但也要仔细核查一下。错误的参数值会导致产品逻辑出错,进而破坏用户体验。
重复的参数值:重复的值要删除。
不相干的词汇:避免把与参数不相干的词汇包含在内。
拼写错误或标点错误:对于如“child’s play”这种带撇的值,要确保撇是直撇号,而不是文本编辑软件中的那种弯撇号。
slot:直译是“插槽”。属于开发中使用的词汇,检索出的意思是指函数的参数,组件开发时定义的一个参数。(如有不准确欢迎指正)
联系客服