移动设备与IVR系统设计
IVR系统-智能语音客服。在打电话场景下,公司和人们的沟通方式。人们用它完成股票询价、机票预订、银行转账以及交通信息查询等。比如,现在很多公司的系统中,“人工服务请按9”一类的话语。
IVR系统通常被用来作为电话回复的第一阶段,通常还是由人工客服为用户提供服务,但经过IVR系统用户的信息可被提前收集。
IVR的策略同样也适用于VUI设计,但是移动VUI依然面临一个系列独特的挑战。
挑战一:确定它是否需要一个视觉化的呈现,比如一个虚拟角色。
挑战二:确定VUI什么时候可以允许用户说话,可以被打断吗?需要使用按键通话功能吗?
与IVR系统不一样的是,在移动设备上,我们可以增加一个可视化组件,不如在用户传达信息,确认信息,以及告诉用户什么时候轮到他们说话等。如果有一个可视化组件,则会让移动设备增加优势,允许用户同时使用语音和屏幕进行交互,是一种多模态界面(multimodal interface)。比如,siri,在和她语音的时候会有声波的动效表示声音正在录入,除了说出“hey,siri”,也可长按home键呼出Siri。如果你和siri说“找工作怎么这么难”,它会用屏幕来显示,文字太多的情况下使用语音会让用户觉得很困扰。
如果你的VUI会搭载可视化组件,比如移动应用,视频游戏或者智能手表,那么进行视觉和语音的协同设计就非常重要。如果视觉设计师和VUI设计师知道最后才在一起工作,那么两种媒介的融合可能不便于使用。VUI和视觉是组成用户与系统同一个会话的两个组件,必须从一开始就一起进行设计。
VUI通常单轮任务/单轮对话(one-turn task),但是不要让VUI局限于此。为了更有针对性地思考如何更好地设计移动VUI,“对话式设计”很值得讨论。
对话式设计
在与VUI进行多轮对话时,VUI经常会回答“对不起,我不明白你在说什么”,无论重复多少次,都无法回答你的问题。
对话式设计定义为如何与VUI系统进行一轮以上的对话,并思考用户接下来可能会做什么。不要强迫用户展开新一轮对话,而是去尝试了解用户的意图并允许用户继续交谈。有必要为用户近期所说的话保留历史记录,否则,与一个不能记住上一轮对话内容的系统交谈,是一种不舒服的体验。
尽管这个对话与跟真人交谈不太一样,但Google还是成功地进行了四轮对话,并且知道“他”和“那里”分别指代的是什么。此外,Google在恰当的时机切换到了更加可视化的模式:直接显示餐厅的地理位置和评价。
设定用户期待
比如设定闹钟,既然有了设定的功能,就要有取消闹钟的功能。如果你设置了可以完成某项任务的预期,请务必考虑与之相关的任务。
设计工具
这里的工具并不是说某个软件,而是一种方法论。
1. 示例对话
示例对话是开始设计时最好也是最便宜的方法。它是你设计的VUI与用户之间,可能产生的交互行为的快照,它看起来向一个电影脚本,它包含了两个主要角色之间来回往复的对话。
示例对话不仅仅是设计系统要对用户说什么的方法,也是设计整个对话过程的关键方法。因为如果你每次只设计一个提示语,通常会使对话显得呆板、重复和不自然。
对话编写工具:Celtx
2. 视觉原型
在设计一个包含VUI的移动应用时,线框图和原型在早起设计流程中也是非常重要的。
这两种工具可以结合示例对话,将用户体验可视化。
3. 流程图
在编写和评估了各种示例对话后,下一步就是绘制VUI的流程图。
这两种工具可以结合示例对话,将用户体验可视化。对于IVR系统,或者一个封闭式语境下的系统来说,流程图需要包括用户使用中所有可能存在的分支。
4. 原型工具
确认策略
过多的确认也许能确保信息的准确度,但同时也会让人抓狂。
VUI确认策略时,可以参考以下几点:
错误的后果是什么?(比如,发出了一个预定机票的指令,如果发生错误,会预定错误的航班吗)
系统将以什么形式进行反馈?(会有音频提示吗?会有非文本的视觉反馈吗?比如Amazon Echo上的光环)
会有一个小屏幕吗?如智能手表或者像iphone那样的中号大小的屏幕?
以什么形式来确认最合适的?(明确的确认还是含蓄的,或者是混合式的确认)
如果有人把钱从一个地方转账到另一个地方,确认是极其重要的。另一方面,如果这个app纯粹是为了娱乐,出错可能不是一件大事儿,只是可能会中断用户的对话体验。
利用好你能利用的一切感知通道。
1. 显性确认
强制用户确认信息。比如,用是非问句询问。
2. 隐形确认
让用户知道他的话接收到了,但不需要他们确认。(比如,“已经帮你设置了购买保险,但提醒……”,在隐性确认的情况下,可能需要允许用户取消或者退一步)
确认信息的方式
1. 三级置信度
使用这种方法,系统将在一定的阈值内,以明确的形式确认信息,拒绝较低置信度的信息,并以隐性确认来确认置信度超过80%阈值的信息。
2. 隐性确认
只一种方法是只使用隐性确认,且不要求用户进行操作。
如果我问:”世界上最高的山峰是什么?”,一个采用隐性确认的系统马上会说回答“世界上最高的山峰是珠穆朗玛峰”,它会将答案和连同原始问题的一部分一同回复我,让我知道系统成功识别了我的问题。当置信度很高时,直接回答“珠穆朗玛峰”会让对话看起来更加自然顺畅。
3. 非语言式确认
使用行动反馈,不需要口头响应。比如使用一款应用程序控制你家的灯光开关,当你说“打开灯”时,系统没必要回复说“好的,将为您打开卧室的灯”,直接执行操作便可。
但是,如果指令到操作之间有一定的延迟,可以考虑用语音来确认。如果发出开灯的指令后需要几秒钟才能,可以让系统先回复“好的”或者“我知道了”让用户知道后面会发生什么。
4. 通用确认
开放式聊天
命令-控制模式
比如,代办记事清单,语音界面转瞬即逝,可视化列表比较适合用户随时查看。
命令-控制模式和对话模式
1. 命令-控制模式
比如siri、google和Amazon Echo,通过说唤醒次和按下麦克风开启对话。
这里需要注意的问题是,谨慎确定你系统的时间窗口,即用户说出唤醒词或按下按钮后,系统保持聆听状态的时长。如果太长,系统可能会听到一些用户不打算对系统说的话。如果太短,你会遗漏那些在说话之前短暂犹豫的人说的话。根据经验看,10s是一个不错的其实长度。
2. 对话模式
当用户和VUI之间会有一个较长的对话时,没有必要让用户每次说话的时候都明确告诉他要开始说话了。
人们的话伦转换并不总是明确的。在很多情况下,一次转换可能只是某人在另一个人说话的时候,当我发出“嗯嗯”的声音时,并不代表我希望对方停止说话让我说。这里只是表示我在活跃。
VUI系统可以处理一些常见的微妙的表达方式。
对话式标识
另一种使VUI更加人性化的方法是使用对话式标识。
包括以下三个方面:
1. 时间线(首先、完成了一半、最后)
2. 接受回执(“谢谢”、“知道了”、“好的”以及“我很抱歉”)
3. 积极反馈(“干得好”“很高兴听到这个消息”)
总之,让用户时刻知道自己处在的对话进程在哪里。
异常处理
出错可能为以下几种情况:
1. 未监测到语音
明确地说出来:你的系统只使用语音(比如IVR系统)、用户没有其他的回复方式(比如手机上的触控按键)、用户必须回复后系统才能继续进行任务/对话。
什么也不做:用户可以通过其他方式进行下一步操作(比如通过按键选择一个回复)、就算什么也不做,也不会中断对话、当有视觉提示告诉用户系统没有理解时。比如一个一直看着用户,听用户讲话的虚拟形象。
不要每次都回答“我不明白”,因为那会很烦人,VUI设计师应该利用人类已经适应的对话规则,而不是不断地告诉自己没有听懂。
2. 监测到语音,但是没有识别
和未监测到语音相似
3. 语音被正确识别,但系统无法处理
因为程序中没有针对这种情况的回复,也可能是程序中写了错误的回复。这种情况下,需要设计师去扩展对话语料。
4. 部分语音识别错误
例如“三点半”识别成“三点棒棒“
5. 增强错误提示
例如“三点半”识别成“三点棒棒“
不要责怪用户
新手用户和专家用户
持续跟踪上下文
在这个对话场景下,VUI知道代词“他”和“那”指的是前文所说的人和地点。持续跟踪这些信息不容易,但是如过不跟踪这些信息,你的VUI只能进行单轮对话。
比如
用户和Cortana之间的对话
用户:最贵的狗是什么?
Cortana:google会显示出最贵的狗是藏獒。
用户:Where can I get one?
这里的one,Cortana并不知道“one”指代的是上文给出的答案“藏獒”,用户需要把one替换成藏獒,Cortana才能显示答案列表。
帮助和其他通用部分
帮助:在移动设备或者应用中,不会出现明显的“帮助”字眼,用户通常会出现“你能做什么”这类问法,可利用视觉的形式列出用户可以使用设备或者应用做什么。
退出系统:人们习惯了在结束对话后有个标志代表结束对话。比如,当用户对Amazon Echo说说晚安时,它也会回复晚安。
返回上一步:可用GUI来表示,比如返回btn。
延迟
产生延迟的原因:
1. 糟糕的连接性能;
2. 系统处理进程
3. 数据库访问
面对已知的延迟情况,你需要确保系统有应对的处理方式。你可以告知用户关于延迟的情况(“请稍等,正在查找相关记录”),也可以用非语音和视觉的提示,比如延迟提示音或者可视化效果,比如loading动效。
对于唤醒,很多设备采用了本地化识别,这样会更快,其他的音频还是会上传至云端进行识别处理。
消除歧义
用户:“帮我定八点定闹钟”。
设备:“请问是上午八点还是下午八点呢?”
用户:“上午八点。”
设备:“好的,已经为你设置了下午八点的闹钟。“
一天有两个八点,当设备不明确时,需进一步询问,消除歧义。
但当对某个指令置信度很高时,即便有歧义,可根据上下文和用户使用设备的习惯,也可以直接取值。
用户:”请播放《记得》。”
设备直接播放张惠妹的《记得》。
前提是,之前用户一直听的是张惠妹的《记得》,而不是林俊杰或是其他翻唱的版本。
设计文档
提示
用途
1. 为配音演员提供需要录制的文案列表;
2. 从用户哪里得到确认;
3. 为TTS引擎提供输入
语法/关键短语
由于技术的进步,语音识别技术已无需识别完成确切的句子,只需识别关键短语就好。
无障碍设计
无障碍设计原则:
1. 省时、高效
在进行视觉设计时,应该减少用户完成任务所需点击的次数。语音交互也一样,尽量减少用户询问的次数。
2. 简短
比如购物app,用户正在听某个商品的信息,需要提供产品名称、价格和评级,其他的只要到内容详情页去浏览。
3. 语速快一些
应该设置调整语音速度的功能
4. 随时打断
允许用户随时打断对话,
用户:“帮我查一下附近的餐厅。”
设备:“附近有小南国、翠华、港丽餐厅……”
用户:“帮我查一下去翠华餐厅的路线。”
5. 提供上下文语境
VUI设计最大的挑战之一就是告诉用户能做什么,GUI界面可以把提示都显示出来,而对于语音界面,功能是不可见的,所以设计VUI界面时,应该告诉用户如何回复,以及他们能做什么。
6. 我在哪儿
可以随时请求帮助,并且帮助用户重新定位到他当前应用程序所处的上下文处境。
7. 文字转语音
符合品牌调性
8. 其他类型的无障碍设计
通用设计原则