本文由作者 Sabaku_no_Gaara 于社区发布
本章为读者创建一个 VUI 系统打下了基础。以专题形式,阐述设计工具、会话信息确认、错误行为处理,以及如何处理新手用户和专家用户等基本设计原则。
1
对话式用户界面
对话式设计定义:思考如何与 VUI 系统进行一轮以上的交互。
因此,需要设计一轮以上的对话,并思考用户接下来可能会做什么。不要强迫用户展开新一轮对话,而是去尝试了解用户的意图并允许用户继续交谈,同时有必要为用户近期所说的话保留历史记录。
2
多模态界面
与 IVR 系统不同的是,在移动设备上我们可以增加一个可视化组件。
比如在向用户传达信息、确认信息,以及告诉用户什么时候轮到他们说话等。(比如:百度地图的小度,他会告诉用户什么时候可以说话,目前所处的状态,说完之后给予的反馈)
如果有一个可视化组件,则会让移动设备增强优势。允许用户同时使用语音和屏幕进行交互。(手机上虚拟助手,有些虽然以语音交互为主,但是在用户的智能手机上也会有一个配套的APP)。
3
设定用户期望
优秀的对话式设计不仅仅是精心制作的友好提示。Google 交互设计师 Margaret Urban 建议:如果你不能理解答案,就不提问。
“当某个人成功完成了一次语音交互,伴随着脑内咖(endorphin)的升高,用户会获得一种成就感和满足感。此时正是一个绝佳的时机来告诉用户”你做的很棒,要不要再试试这个?”
是否让我们想到了网页登陆验证的时候,需要完成一块拼图,但是你再慢他也告诉你超越全球96%以上的人。
“如果你已经设计了一个设置闹钟的功能,但是你没有提供用户取消设置的方式,这就像给人一条浴巾但是没给他香皂一样。如果你设置了可以完成某项任务的语气,请务必考虑与之相关的任务。”
4
确定策略时需注意的几点
输入确认:必须确保用户感觉到自己是被理解的,同时有助于让用户知道,什么时候 VUI 不理解他们所说的话。
1、确认错误的后果是什么?比如:预定错误的航班?制定错误的任务?播放错误的歌曲?
2、系统将如何反馈?比如:会有音频提示吗?是否有视觉反馈吗?比如Amazon Echo上的光环。
3、是否拥有屏幕?比如:车载导航、手机屏幕、智能手表。
4、选择合适的确认形式?比如:明确确认、含蓄确认、混合式的确认。
5
确认策略的两种方案
显性确认:重要信息,需强制用户确认信息。
隐性确认:让用户知道他的话接收到了,但不需要他们确认。
6
确认信息的方式
三级置信度:
系统将在一定的阈值内,以明确的形式确认信息,拒绝较低置信度的信息,并以隐性确认来确认置信度超过80%阀值的信息。
1、80%以上,使用隐性确认。如果是误识别代价高的话,考虑采取显性确认。
2、45%-80%,使用显性确认,以明确的形式确认信息。
3、45%以下的,拒绝确认信息。
举例:用户:帮我再买一份口香糖。
VUI:(置信度大于80%,使用隐性确认)好的,已经为您再购买一份口香糖。
(置信度45%~79%,使用显性确认)您是想再多买一份口香糖,是吗?
(置信度小于45%)对不起,我没有听清您讲的话,您想买什么?
隐性确认:
1、只使用隐性确认,不要求用户进行操作。
2、将「答案」和连同「原始的问题的一部分」一同回复,让用户知道系统识别到的是哪个问题。
3、当置信度高的时候,也可以不用连同问题,这样更自然流畅。
非语言式确认:
1、仅需行动反馈,而不需要口头响应。
2、通过视觉确认,比如小米智能家居,可以通过语音交互打开灯光、电视、窗帘等。
① 如果没有延迟,没必要再对其回复。
② 如果有3-5秒延迟,需进行回复,让用户知道并不是设备没有听到她的声音。
3、使用一个“声音标识”,即简短的、有识别度的声音。这样有助于帮助用户快速知道他们已经到了哪一步。
通用确认:
1、在某些对话式系统中,最好不要询问用户具体说了些什么 - 哪怕是隐性确认。
2、通用确认可以让用户分享更丰富的体验,因为这类反馈能适应用户输入的各种信息,并让对话继续进行。通常人与人之间的对话,也不会句句必回复,也会有 “嗯” “哦 ”“啊” “然后呢”等。
视觉确认:
1、确认一个项目清单,通过屏幕显示进行沟通会更加有效。人的记忆有限,通常用户一次性不能记住超过大约7个听觉项目。
2、用来确认用户的选择。用户可以通过说话或按下按钮来回复。而 GUI 的反馈指令更加明确。
7
判断你的 VUI 适合哪种类型
目前大多数的 VUI 系统都是“命令 - 控制”模式,这意味着当用户想要说话时,必须给出明确的指示。
1、用户可以随时向系统询问 / 发出命令吗?
2、是否参与一个有明确开始和结束的封闭式对话?
8
命令-控制模式
唤醒系统方式:按键通话(车载导航、Siri等)、直接进行关键词呼叫(“OK Google”“小度”等唤醒词)。
唤醒系统反馈:系统检测到用户说话完成,通常会使用某种非语言的音效进行提示,然后做出相应处理(比如:“啵”的一声或者视觉反馈:声波线、点状动效、设备逐渐发光等)。
系统聆听时间:用户说出唤醒词或按下按钮后,系统保持聆听状态的时长,根据经验来看,10秒 是个不错的起始时间段。
唤醒响应时间与反馈方式
唤醒响应时间与唤醒反馈方式有关,不同唤醒反馈方式下,最佳响应时间不同:
1、当唤醒反馈为"灯光"反馈时,唤醒响应速度越快越好,在200ms时,用户响应舒适度最高(对响应时间评价为刚刚好的用户比例),73%的用户对速度满意。
2、当唤醒反馈为"灯光+音效"时,唤醒响应速度的舒适时间为300ms左右,76%的用户对速度满意。
3、当唤醒反馈为"灯光+人声"时,唤醒响应速度的舒适时间为500ms左右,74%的用户对速度满意。
-数据来源:百度人工智能交互设计院智能音响时间测试实验
唤醒等待时间体验感
用户请求及反馈阶段响应时间对等待体验的影响:
1、1250ms以内是用户认为响应速度较优的区间,其中650ms为最佳体验值。在450ms时,少量用户觉得响应速度太快了,用户会感觉到紧迫感和压力,难以接受。
2、在1450ms时,有53%的用户开始感觉响应有延时,但仍能够接受。
3、从2150ms开始,有20%的用户认为音箱响应太慢,不能够接受。我们认为20%的用户不满意,已经不足以被称为一个优秀的产品。
-数据来源:百度人工智能交互设计院智能音响时间测试实验
9
对话模式
1、不要强迫他们不断地去表明他们将要开始说话,自然地对话技巧进行话轮转换。
2、通过更精细的设计,使 VUI 系统可以处理一些常见的微妙表达方式。(用户处理完毕说“谢谢”,你可以设置系统忽略这种情况,或回复“不用客气”,而不是提示或者报错。)
3、不要问你都无法理解的反问句。
4、打破话轮转换的情况,用户在系统说完之前就进行提问。
5、在命令 - 控制模式和对话模式之间进行切换。唤醒之后进行自然的对话。
10
对话式标识
使 VUI 更加人性化、更具吸引力,对话式标识是让用户了解交谈进展以及进展情况的重要方式,当系统在对话中使用了一些基本的对话礼仪后,用户的参与度会更高,并且会以同样的方式进行回复。
反面案例:
虚拟助理:你昨晚你睡了几小时?
用户:大约7个小时。
虚拟助理:你昨天吃了几份水果和蔬菜?
用户:大概有4份。
虚拟助理:你昨晚吃药了吗?
用户:吃药。
虚拟助理:再见。
正确案例:
虚拟助理:我会问你几个有关你身体健康的问题。第一个问题,昨晚你睡了几小时?
用户:大约7个小时。
虚拟助理:不错。你昨天吃了几份水果和蔬菜?
用户:大概有4份。
虚拟助理:了解了。最后一个问题,你昨晚吃药了吗?
用户:吃药。
虚拟助理:好的,暂时就这些了,我明天还会再问你的,回见。
11
异常处理
“当你与人类交谈时,永远不会出现不可恢复的错误状态。”— ABI JONES, Google 设计主管
“你偶尔因为犯错和不知道某些事情导致评分降低造成的影响,比你每次做对一件事情重要百倍。” — 英特尔语音助手部经理 Pilar Manchon
如果处理得很好,错误情况就不会影响用户,你可以让用户回到正常流程,并顺利完成任务。但如果处理不好,用户不仅这次无法完成任务,他们以后都可能再也不用你的产品了。
一个好的设计师应该知道,你不能只设计正常的情况, 你还要对出错的情况做出设计。这对于 VUI 设计来说尤为重要,因为出错情况是家常便饭。
未检测到语音 / 检测到语音,但没有识别
1、什么情况下可以明确说出来?
① 你的系统只使用语音
② 用户没有其他的回复方式
③ 必须要用户回复后,系统才能继续进行任务 / 对话
2、什么情况下可以什么都不做?
① 用户可以通过其他方式进行下一步操作(比如通过按键选择)
② 就算什么也不做,也不会中断对话
③ 系统没有理解时,用视觉信息提示告诉用户,比如:提示列表等
④ 利用虚拟表情形象反馈,疑问、微笑等动作表达
其他异常处理
1、当出现:语音被正确识别,但系统无法处理
① 程序对关键属性理解不明,写了错误的回复
② 没有针对一些情况的回复
解决:对用户可能会说到的所有情况做更完善的预测,通过数据收集来避免此问题
2、当出现:部分语音识别错误
① 什么也不去处理,因为这不是你想要的结果
② 匹配错误的行为
解决:可以用 N-Best 列表来智能匹配最有可能的识别结果
3、增强错误提示
① 当需要用户说话的时候,使用这种增强错误提示策略
② 必要的情况下,进阶错误行为提示可以更为详细,并提供更多的帮助
③ 如果你正在设计一个可以提供真人辅助的系统,可以为错误数量设置一个阈值,当达到该阈值时,将用户转移给人工助手。
12
新手和专家用户
如果你的用户会定期使用你的系统,那么在设计中就需包含不同的策略。
“务必确保你的目标不是简单的训练你的用户,应当适应用户的行为,而不是用已有的命令让用户感到厌烦。”— Google 交互设计师 Margaret Urban
我们在 VUI 设计上该如何更好的交互设计?
1、减少冗长指令以及其他引导提示。通过计算 APP 使用次数和频率来确认是否切换模式。
2、缩短解释性提示。但是请务必使用“对话式标识”。
3、启动效应。
什么是启动效应?
指某人受到某种特定的刺激后(例如一个词语或者图像)会影响他们对之后刺激的反应。首先让用户预先知道你会问他们几个确定数量的问题,为后面会发生的事情提供了暗示,用户就会知道如何去准备。比如以下情况:
1、当给人们呈现一个还没完成的草图,随着这个草图越来越完整,人们就越来越辨认出这张图画的是什么。之后,再给他们呈现其他还没完成的草图时,他们会更早辨认出这张图画的是什么;
2、如果当给人们呈现一组汉字,假如里面含有 “河” 这个字,随后让他们写出部首是 “氵” 的字时,这些人回答 “河” 的几率会更大。
谈谈自己对新手和专家用户的理解
1、专家型用户:代表老用户且愿意探索你的产品或服务,有着很大的包容度。并会积极提出各种改进的建议和享受产品带来的惊喜感。
2、新手:什么叫新手,就是刚刚下载你的产品,准备使用的用户,对产品功能都还处于陌生摸索的阶段。他们不会因为你的技术而使用你的产品,使用你的产品目的是完成某项任务。他们有兴趣使用更高级更复杂的产品,但却不愿意接触全新的东西,要想让他们认可,那么产品就必须足够简单。
13
持续跟踪上下文
持续跟踪信息并不容易,但如果不跟踪这些信息,你的 APP 就只能做单轮的对话行为。
指代:用两个不同的词语指同一个东西。比如:“他” “哪些”
14
帮助和其他通用部分
我们在设计 IVR 系统时,我们会确保每个状态都包含一组通用组件:重复、主菜单、帮助、操作和再见。
15
延迟
产生原因:糟糕的连续性能、系统处理进程、数据库访问
处理方式:告知用户关于延迟的情况(比如:“请稍等,正在查找相关记录”)、非语音和视觉的提示(比如:延迟提示音以及加载状态)、可视化效果(比如:加载中的动态图标)
处理细节:延迟的时长可能为0~10秒,在没有延迟的时候最好也插入几秒的延迟。因为如果在系统说“请稍等”之后,紧接着就继续对话的话,会给用户带来异样的感受。很多设备针对唤醒词采用了本地化识别的方式,这样唤醒的会更快。
16
消除歧义
问题来源:用户只会提供执行命令所需的部分信息,而没有提供所有的细节。
产品举例:用户可能会询问某地的天气,而很多地方都有叫这个名字的地点,诸如“湖南路”那边的天气怎么样。
解决方案:
1、依靠任何已知的信息来确定答案,而不是再次询问用户。
2、根据上下文线索进行判断。
3、反问用户进行确认,确保系统对用户同一个问题的各种各样的回复形式都有良好的适应性。
4、指令不明确。比如“给胡歌打电话,拨打工作电话还是家庭电话?”,系统以隐性的形式对名字进行了确认,系统对这个名字有很高的置信度,并且仅有一个胡歌。
5、用户回答的信息超初了你的 VUI 系统可以处理的范围时,你可能需要缩小范围消除歧义。
17
设计文档
我们需要制作:示例对话(sample dialogs)和会话流(dialog flow)文档外其他一些情况。例如:在设计过程中,你还需要创建提示列表、完善对话每个状态指定完整的语法规则等等。
18
无障碍设计
“一开始,我就很讨厌屏幕阅读器的工作方式。为什么它会被设计成这样?当以视觉的方式来展示信息没有任何意义时,屏幕阅读器只是简单地将文字转换成音频。
所有那些应用花在创造完美用户体验的时候和精力此时都变得没有任何意义,甚至有的给盲人用户带来了更糟的体验。”
— 克里斯·莫里(Chris Maury)
19
典型 VUI 项目交付项内容
示例对话:系统和用户之间可能产生交互行为的预设对话,对话看起来就像电影剧本一样,包括两个主要角色之间来回往复对话。
流程图:展示下一个状态分支的所有方式,不一定要罗列所有的交互或示例对话,也可以是功能的分组、文本的分组等。
提示列表:如果没有屏幕可以使用配音演员或语音合成来播放提示列表。
产品原型:如果这是一个多模态产品,有屏幕、支持触摸交互。
------正文分割线------
点个“在看”吧