亚马逊Alexa语音交互设计四范式(下)
本文笔者将与大家分享Alexa技能设计的四大范式中的两大范式——Be Available(设计易用性)、Be Relatable(设计亲和力)。
Be Available(设计易用性)
构建扁平的、语音优先(voice-first)的设计,对用户同时开放所有选项。不要陷入GUI设计使用的嵌套垂直菜单模式。你的技能需要处理任何可能触发意图的信息。
1. 创建一个有效的调用名(invocation name)
用户使用特定的调用名打开自定义技能。这个命令需要足够特别且十分好记。通常,客户将调用名与操作、命令或问题组合在一起,因此你的调用名称应该是惟一的,并且不能太长。
例如,假设我们有一项技能叫做“每日占星”。用户可以在一句话中同时调用并且提问:“Alexa,请每日占星给我看看水瓶座的运势。”这句话唤醒了Alexa,打开了技能,并同时提出查看某个星座运势的请求。
2. 响应时间限制设计
当Alexa等待用户响应时,会有一个时限(8S)。在这段时间里,用户有机会作答。等待时间结束后,服务要么二次询问(re-prompt)用户是否需要帮助要么直接结束会话。如果你的技能进行了二次询问,它将在会话结束前提供8秒钟的应答等待。
与自然对话一样,如果Alexa觉得用户没有理解或者对刚才的提问感到困惑,她可以通过二次询问来重新组织和阐述问题,从而得到她所想要的答案。
当用户对对话的上下文足够熟悉时,他们不需要再把完整的问题听上一遍,你可以缩短二次询问的长度力图简洁。关键是你已提供了足够的信息来引导用户,让他们明白如果他们不知道如何回答,你就会在8秒后终止与他们的联系。二次询问为用户提供了一个机会去扩展初始的问题,从而使对话能够继续下去。
Do
Alexa:欢迎回到电影大家谈。有什么需要我帮忙的吗?
用户在8秒钟内没有作答,触发了二次询问:
Alexa:你可以听听本周新上线了哪些电影,也可以听听预告片。你想听哪个?
Don’t
Alexa:欢迎回到电影大家谈。有什么需要我帮忙的吗?
用户在8秒钟内没有作答,触发了二次询问:
Alexa:有什么需要我帮忙的吗?
3. 设计简单的选项
避免在任务中涉及用户不熟悉的信息或复杂数据,例如一长串字母数字密码。
Do
Alexa:我会讲故事、背古诗还有唱歌,你想让我做什么呢?
Don’t
Alexa:我会讲故事、背古诗、唱歌、讲笑话、说绕口令、模仿动物,还会…
用户:Alexa,别说了。
4. 明确、具体的完成任务
避免反复校验某个词或者一句话中可能被误识别的部分,也不要对上轮对话输入中可能发生的错误或者歧义做反复校验。
在本例中,客户正在观看Prime Video,并要求Alexa暂停他们正在观看的内容。
Do
用户:Alexa,暂停。
Alexa自动暂停了视频,整个过程中只用了一个提示音证明她听见了请求。
Don’t
用户:Alexa,暂停。
Alexa:你确定要暂停吗?
(视频作为背景音仍在播放)
用户:是的!暂停,现在就暂停!
Alexa:好的,暂停你的视频“高堡奇人第一季第一集新…”
用户:Alexa,别说了。
5. 避免在调查中要求复杂输入或可能带来高歧义性的输入
调查类任务应当接受用户提供的任何信息,并提供结合上下文的简短提示,用于填充完成任务所需的各项细节。
Do
用户:Alexa,给我从A to Z餐厅点意大利橄榄香肠披萨。
Alexa:好的,三份中号的意大利橄榄香肠披萨,还要点别的吗?
用户:不了。
Alexa:已下单!你的披萨将在30分钟内送到。
Don’t
用户:Alexa,给我从A to Z餐厅点意大利橄榄香肠披萨。
Alexa:你要中号的还是大号的意大利橄榄香肠披萨?
用户:三分中号的。
Alexa:Pizza Pro现在买两个大号披萨特价。要下单吗?
用户:好吧…但是我想要两个意大利橄榄香肠披萨。
Alexa:好的,你要了两个披萨,第一个披萨上面加什么?
用户:意大利橄榄香肠披萨,给我在订单加两个!!!
Alexa:Pizza Pro没有找到上面加两个的披萨。
用户:算了,不买了,我不饿了。
提供明确的选择,这样用户才能做出清楚的决定。开放式问题会让用户感到困惑,或者用你并不支持或者并不希望的方式去回答问题。例如,询问“你想要什么?”就是十分开放式的。甚至像“你想要布里干酪或豪达干酪吗?”这样的问题,都可能会带来开放式的答案“没错”。
Do
Alexa:我们有布里干酪和豪达干酪,你想选择哪个?
Don’t
Alexa:你想要布里干酪或豪达干酪吗?
6. 为用户找出与输入预期匹配度最高的前三个选项
避免在用户对自己的需求目标并不明确的时候,给他们展示一些需要进一步查看或处理后方能理解的信息或数据。
Do
用户:Alexa,问一下我的菜谱,我上周晚饭做了什么?
Alexa:上周你做了7道菜。最近的一次是烤三文鱼,你还想做这个吗?
用户未回答:
Alexa:好,那我们开始做吧。烤三文鱼需要…
Don’t
用户:Alexa,问一下我的菜谱,我上周晚饭做了什么。
Alexa:上周你做过烤三文鱼,意大利面和肉丸,火鸡肉饼,加苹果酱的猪排…
用户:Alexa,别说了。
7. 合理阅读列表中的项目
对于需要大声朗读的文章或冗长的信息,避免在没有首先说明有多少信息的情况下念出所有条目。此外,避免搜索和浏览包含大量目录的任务,这些目录总是返回太多的结果,导致用户无法通过语音进行索引。
Do
用户:Alexa,问一下我的旅行策划,我的行李单上还剩几项没有装箱?
Alexa:你还有8项没有装箱:有人字拖,游泳衣,浴巾。还想听更多吗?
Don’t
用户:Alexa,问一下我的旅行策划,我的行李单上还剩几项没有装箱?
Alexa:你还需要带上人字拖、泳衣、浴巾、防晒霜、太阳镜……
用户:Alexa,别说了。
8. 设计简洁的列表
让Alexa只阅读每个列表项的基本内容。例如,只读标题,并且只读对语音应答有关键意义的副文本。一般来说,阅读列表的前几项不要超过20秒。
从阅读2 – 5个项目开始,根据以下几点进行调整:
- 用户对列表项的熟悉程度
- 条目名称的长度和语音友好性(voice-friendly)
- 每项需要读取和显示的元素总数
Do
Alexa:根据你的口味,你可能会喜欢以下几种奶酪:切达奶酪、豪达奶酪和哈瓦蒂奶酪。
Don’t
Alexa:你可能喜欢切达干酪、豪达干酪、贾尔斯伯格干酪、波特切达干酪、圣阿格尔蓝奶酪、戈贡佐拉干酪、布里干酪、格鲁耶尔干酪、夏普切达干酪和雷吉亚诺帕尔马干酪。
9. 控制列表节奏
首先让Alexa介绍一下列表,例如“这是最受欢迎的快餐”,并让她在列表项之间短暂停顿。停顿和节奏帮助听者区分上一个列表项的结束和下一个列表项的开始,例如:
- 在每项后面使用逗号而不是句号或问号,并且给逗号设置一个350毫秒的时长停顿。这可以让最后一项听起来和列表里的其他项差别不大。
- 避免在以句号或问号结尾的列表中添加额外的停顿。
- 对于冗长的列表项或那些需要用户进行更深入思考的项目,可以考虑将350毫秒的暂停延长为400毫秒。
- 通过反复倾听来测试听觉体验,然后不断调整,直到它听起来舒适为止。
10. 用问题引导用户
时刻记住,用户经常用他们想要使用的技能来开启和Alexa的对话。一旦他们这么做了,你就需要引导用户去告诉Alexa应该如何帮助他们。
提出问题,引导用户输入,是一种自然的提示方式。
要么直接问问题,要么在提示的结尾处抛出问题,这样用户就会知道如何立即回复。反之,如果问的很绕弯子,或者在应答的中段问问题,可能会导致用户在麦克风打开之前或者提示还没说完之前就开始回答,极易造成识别错误。用户被问到问题时,往往会立即回答。
11. 在询问中为用户提供指导
通常,在让用户回答之前,抛出一个问题。这个问题提供了继续对话的线索,并指导用户下一步该说什么。问题要明确具体,但是也要准备好用户会以不同的方式回答或者过度回答。
Do
Alexa:让我们开始旅行计划吧。你想去哪个城市?
Don’t
Alexa:让我们开始旅行计划吧。一旦我知道你要去哪里,你想在那里做什么,我就能帮助你了。你想去哪里?你最近去过波特兰。
12. 避免不必要的是/否确认
如果提出询问的选项是“是”或者“否”,只需询问用户是否想要做某事。不要再问“是或者不是”。
Do
Alexa:你还想继续购物吗?
Don’t
Alexa:你还想继续购物吗?是或者不是?
13. 二选一句式中选项不能过长
只有在选项很短(每个选项只有一两个词),并且只有两个选项的时候可以使用二选一句式
Do
Alexa:你想听故事还是诗歌?
Don’t
Alexa:你喜欢超级恐怖的鬼故事还是非常有趣的儿童摇篮曲?
14. 完成任务后结束技能会话
一旦技能已经满足了用户的要求,那么最好马上结束会话。虽然你可能会觉得用户可能会失去发现新功能的机会,但是使用开放式问题来提示用户很容易带来麻烦,并且随着时间的推移,用户的参与度会越来越低。
一个开放式的问题,比如,“我还有什么可以帮你的吗?”会给用户带来很高的认知负荷,他们需要回忆你的技能都有哪些功能可用。在嘈杂的环境下,或者当用户明确希望结束会话时,如果技能依旧不断地催促他们继续对话,会让他们的反感情绪加剧。
Be Relatable(设计亲和力)
让Alexa和用户对话,而不仅仅是对着他们说话。Alexa应当简明扼要、胸有成竹的告诉用户他们需要输入哪些信息。
1. 你怎样说,就怎样写
一般情况下,写作和说话是两种不同的表达方式,因为大多数人的阅读速度比说话速度快,我们可以通过写作传达更多的信息,所以写作相对而言更加正式。
但是在Alexa的设计中,你需要用人们说话的方式来撰写对话。测试脚本最好方法是把它表演一番,一个人扮演Alexa,另一个人扮演用户。当你大声说出来的时候,就会很快的意识到,按照书面表达设计出来的对话听起来奇怪且生硬。
此外,你也不能把网站上或者其他书面渠道的内容直接生搬硬套过来。不要用选择菜单来提示用户如何说话,更不要试图让用户去使用充斥着大量术语的选项。取而代之的是,让用户用自己日常说话的方式去表达。
请注意:无论你的脚本和提示听上去多么完美,一旦通过语音合成后,他们仍旧可能会听上去很奇怪。
撰写对话时,考虑以下几点:
- 让交互尽量简短,每一个词都要有它的价值,无一字废话。
- 通过使用缩略语的方式保证对话不过于正式或者生硬。
- 通过添加停顿和标点,模仿真实对话的节奏。
- 避免重复的语句。
Do
用户:Alexa,打开订制旅行。
Alexa:我们来开始订制旅行吧,你想什么时候出发?
Don’t
用户:Alexa,打开订制旅行。
Alexa:我们来开始订制旅行吧,请说“我要去某个城市”来告诉我你要去哪里。请说“我要在某时出发”来告诉我你要什么时间出行。请说“我要从某城市出发”,来告诉我你的出发城市。有什么我可以帮你的?
2. 简洁
用户需要Alexa说话简洁,没有赘言。这有助于他们理解Alexa在说什么,并对正在发生的事情充满信任感。较长的回答往往更难懂难记。
3. 使用唤气测试(one-breath test)
在设计Alexa的应答时,你可以大声把你写好的话读出来。如果能够用正常对话的语速把这句话一口气读出来,表示长度是适合的。如果你需要换气,就要考虑缩减一下这句话。
对于那些包含连续性内容的答案,比如一个需要分步完成的任务,你需要将这些内容分组,每一组的内容分别阅读。读完整个内容可能需要多次换气停顿,但要确保这是组间的停顿,而非每组内容中段的停顿。
4. 上下文相关性
按上下文相关性从高到低的顺序列出选项,避免让选项按照从和对话主题无关到有关的顺序排列。列表中的第一项应与用户刚刚采取的操作最为相关。这可以帮助用户节省时间和精力,更好地理解和表达他们的选择。
Do
Alexa:你可以在明晚9点看上集重播。我可以告诉你剧集更新的时间,或者目前哪几集在流媒体上可以播放。你想选择哪个?
Don’t
Alexa:这部剧没有更新。我可以告诉你类似类型的剧集,或另外一个正在热播的电视剧,或者告诉你这部剧更新的时间。你也可以根据类型选择节目。这Q部剧明晚会重播。你想要哪一个?”
5. 保持语法的一致性
保持动词、名词搭配时语法的一致性,特别是在列表项中。列表设计原则见上一章 设计易用性 列表和引导设计建议。
Do
Alexa:我可以帮你搭顺风车、支付小费、查询价格,以及申请收据。
Don’t
Alexa:我可以帮你搭顺风车、付小费给司机、申请你上一次打车的收据,还能进行价格查询。
6. 增加多样性
通过多样性(variety)为对话注入自然活力,对于那些需要经常重复的交互,也可以减少机械感和枯燥感。你可以通过同义词为答案增加变化,然后从这些恰当的答案里随机选择一个作为回复。
当用户可能反复听到同一句回答的时候,你就需要引入多样化的表达,比如你的欢迎语和告别语。这类应答是非常适合添加个性化的。
7. 在重复任务中,丰富Alexa的应答
当用户与Alexa的频繁交互,在常用或重复交互中使用多样性的应答变得尤为重要。这适用于对话标记(marker,如“那么”、“下面”等过渡词)和升级错误提示(escalating error prompting ,针对用户回答的不自信或不说话情况下的错误提示)策略。这些应答可随机选择,以防止Alexa听起来像机器人。
在这个例子中,用户故意答错:
Do
Alexa:答案有误,再试一次:《权利法案》是哪一年签署的?
用户:1812年?
Alexa:恭喜你……答错了,正确答案是1791年。
Don’t
Alexa:答案有误,再试一次:《权利法案》是哪一年签署的?
用户:1812年?
Alexa:错误,继续下一题。
8. 对话标记(conversation markers)使用建议
当人们对话时,会通过标记词和短语去组织话题的内容和指导话题的方向,这有助于将谈话分成几个更容易理解的部分,用户在使用你设计的技能时,同样会得益于下面这些标记词。
在这个例子中,Alexa在每一步引导中都加入了对话标记,来帮助用户学习机洗毛衣:
Alexa:好,洗毛衣需要三步。
(间隔半秒钟)
Alexa:首先,把毛衣翻过来,用普通的洗涤剂,选择温和程序进行洗涤。
(间隔半秒钟)
Alexa:接着,把毛衣放到烘干筒里,用低温烘干10分钟。
(间隔半秒钟)
Alexa:最后,把毛衣放在平整的晾衣板上晾干。就大功告成啦!
使用时间线标记(timeline markers)
“首先”、“然后”、“最后”,这些词给一段持续的语句提供了预期、顺序以及对于下一步的准备。在内容包含多步或者需要耗费较长对话时间的情况下,使用这些词语会改善体验。但注意,避免在快捷的交互中使用这些时间线标记。
2. 使用确认和反馈词(Acknowledgements and feedback)
“谢谢”、“明白了”、“好的”、“太棒了”、“没问题”,这些词让用户知道Alexa听懂了自己的话或者自己说的信息已经被接收到了。
3. 使用指代词(Pointers)
“这”、“那”、“这里的”、“它”,这些词可以代替一些之前被引用过或刚刚被提及的主体。
4. 使用过渡词(Transitions)
“现在”、“那么”、“接下来”,这些词可以引导话题的转换。
参考链接
https://developer.amazon.com/zh/docs/alexa-design/adaptable.html
作者:Rachel Hu,阿里云OS VUI交互设计师
本文由 @Rachel Hu 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自Unsplash, 基于CC0协议
大大的启发