解构语音交互产品--VUI设计原则

语音交互作为对话式交互的一种,目前相对权威的VUI设计原则来自Google的对话式交互规范指南。阅读了《语音用户界面设计》和Slack公司的Amir Shevat写的《聊天机器人:对话式体验产品设计》两本书,其提及对话设计要点与该指南的大部分原则是一致的。本文主要讲对话交互的相关设计原则和一些策略。

目录

  • 一、VUI对话设计核心要点
    • 1.创建虚拟角色画像
    • 2.突破框架去思考
    • 3.考虑用户场景
    • 4.对话不存在“出错”的概念
    • 5.站在更高角度去思考
  • 二、对话设计技巧与策略
    • 1.通过确认和应答给予用户信息
    • 2.引导用户提供正确的信息
    • 3.对话中的问候语和结束语
  • 三、吸引用户与机器人互动的方法

一、VUI对话设计核心要点

对话设计的5个核心要点:

1.创建虚拟角色画像
2.突破框架去思考
3.考虑用户场景
4.对话不存在“出错”的概念
5.站在更高角度去思考

1.创建虚拟角色画像

品牌宣传
品牌宣传,就是让用户记住并喜欢上你的产品,愿意回来使用你的服务。品牌宣传内容包括:机器人(虚拟角色)的名字,使用的语言,标识和配色,提供服务的方式,以及出错时机器人如何处理。

首先要构思好你的产品品牌理念。如果你的产品品牌期望给用户传达快速、高效的意向,那么在设计对话UI时,就需要突出直观、高效、简洁、数据驱动的特点。如果是更轻松、娱乐化的品牌,那么就可以传达适应性、贴近、亲切的特点。

定义人物角色
人物角色包含:名字、面向的用户群体、首要任务、公众的接受度、品牌理念、价值、个性。

确定个性
在开始撰写对话脚本之前,你需要确定你的机器人是什么类型的性格,这应该与你的目标受众,你需要完成的任务类型以及你想要宣传的品牌相匹配。

创建角色画像的几个关键点

1)要记住,无论你是否打算创建用户画像(即为你的对话UI注入“人格”),用户在对话交互时都终将会感知到一个角色,而这一点对你的品牌至关重要。所以尽快创建反映你的品牌和特色的人物角色。

2)把你的对话UI当成一个真实的人去构思,确保你的用户记住并喜欢上你的产品,并回来使用你的服务。(这就是品牌宣传的目的)

3)对话的整个过程保持人物个性的一致性。在正常对话和错误处理流程中,对话的语气和品牌风格都要一致。一个在出错流程中表现一致性的例子:

@travel-bot:很高兴为您预订航班。您想去哪里?(友好的对话代理)
@user:我想去gera
@travel-bot:找不到gera,请重新输入。(冷漠的机器人)

2.突破框架去思考

在定义好对话的品牌理念和基本属性后,不要马上开动设计逻辑和撰写对话草稿。

对话草稿(或称对话脚本、示例对话),包含用户和对话代理两个角色之间来回往复的对话。

首先应该考虑核心场景,然后列举出诸多可能存在场景和一些“出错”状况,再梳理一个总体的逻辑。逻辑不需要细化到每个细节、每句对白,重点是要围绕用户的意图展开,最后才草拟撰写对话草稿。

总得来说,需要考虑的场景有:

  • 几个最常见的使用场景,并为每个场景写一个最优路径的对话。
  • 异常情况的修复对话,比如系统没有听到或者没有理解用户的话的示例。
  • 新手引导示例对话,如问候语,介绍语。
  • 帮助流程的对话。
  • 反馈流程的对话。

google交互规范指南中,以一个猜数字的小游戏作说明。下图中将业务逻辑和对话的台词串在一起,这是不建议的做法。
解构语音交互产品--VUI设计原则_第1张图片

建议做法是把逻辑流程做总体说明(下图),再撰写各个流程的对话脚本。
解构语音交互产品--VUI设计原则_第2张图片

下图是一个主要场景的最优路径的对话脚本,用户顺利完成游戏。
解构语音交互产品--VUI设计原则_第3张图片

3.考虑用户场景

设计对话UI需要考虑以下几个场景相关的问题:

  • 用户在哪里?所处的环境是怎样的?
  • 用户正在做什么?
  • 用户使用的是什么设备?
  • 用户的交互体验是怎样的?
  • 用户要完成什么任务?目标是什么?
  • 用户的期望和意图是什么?
    试着去满足用户的意图,而不是仅仅考虑满足功能。

4.对话不存在“出错”的概念

人的表达会存在各种各样的情况,所以不管用户说什么,不要把它当成是一个错误来处理,而是要考虑如何把这转变为一个机会,去推进更顺畅自然的沟通。

要点分析:“出错”情况的应对
在决定如何处理异常流程前,来看下几种VUI可能出错的情况:

  • 未检测到语音。可能是因为用户确实没有说话,也可能是系统没有检测到,结果就是造成系统获取信息超明。
  • 检测到语音,但没有识别。这种情况可能是因为背景噪音,或者多人一起说话等。
  • 语音被正确识别,但系统无法处理。可能是系统回复类型中没有用户所说的用例情况或者系统无法提供的功能服务,也可能是系统无法理解用户同一意图下的其他替代表述。
  • 部分语音识别错误。ASR工具返回了错误的识别结果,这种情况可能会导致匹配上错误的行为,向错误方向继续。

处理错误的策略
1.增强错误策略,这是一种常见策略,具体如下:

  • 提醒用户系统需要什么样的信息(即重复提示/询问)例如“抱歉,没有听清,请说出你想要看的电影?”
  • 提示更为详细,并提供更多的帮助。例如“无法识别您的号码,您的航班号应该是3个数字,在UA的后面”

2.过程矫正。将用户拉回正确对话的能力

  • 将用户限制在正确流程中。例如点餐场景,用户点了没有供应的咖啡,点餐机器人“我们今天没有你要的咖啡,我们有普通咖啡和意式咖啡,您今天想喝哪个?”
  • 目前无法处理,但可以收集信息。同样上面例子,点餐机器人可以回复“我们目前没有卡布奇诺,等我们开始供应卡布奇诺时,我会通知您”
  • 当用户的回答偏离任务时,为保持上下文顺畅,提供两条信息将用户转回目标。Wordhopwcng(一家构建CRM工具包的公司)的CEO一个有趣观点:“如果在对话中,机器人与用户之间的沟通出现障碍,为了维护上下文的通畅,你可以连续提供两条信息: 第一条是回滚信息,表示此处出现了误解。例如“I’ve never heard that before” 第二条用于提示上下文。将焦点重新转回你的目标,不要误解影响用户体验。” 例如用户与航班机器人flighter-bot的对话:

@user:You sound like Trump
@flighter-bot:I’ve never heard that before.Not sure how to respond to that.
@flighter-bot:Ready to book your flight?

3.及时提供帮助
修复问题很重要的一点,就是要准备好去帮助用户,当他们出现困惑、没有听懂问题,或是不知道该说什么的时候。为了应对这些问题,采用预防机制,例如设定好一些提示。

需要理解用户提出“帮助”的表达。以下几种表述都是需要帮助:

  • 用户直接说“帮助”命令、或者“我不知道”之类的话,都是在请求帮助,系统要给予预设的回复。
  • 用户说“能再说一遍吗?”可能是想要重复听某些内容
  • 用户不说话。这种情况会导致超时未检测语音,也要帮助。例如触摸Siri后不说话,几秒后Siri会提示“你可以这样问我” ,这是展示语音产品功能的方式。如下图:
    解构语音交互产品--VUI设计原则_第4张图片

4.人工干预
如果是真人辅助的业务型对话系统,可以为错误数据设置一个阀值,当达到阀值时,转人工助手处理

5.知道合适的退出时机
防止用户受挫的策略之一,就是提供一种让用户可以轻松结束对话的方式。为用户离开做准备也是非常关键而且正确的技巧。也需要让用户知道如何再回来,接着上次的服务继续。

6.转到另一个机器人
当前对话UI无法处理用户的意图,可能是因为系统无法提供这项服务。可以将用户转向其他机器人。可以解决对话中发生的错误,还能为其他机器人带来流量,通过互通消息或者能带来潜在收入。
下图的左边是Mica机器人,任务是帮助用户发现世界上好玩的地方。当用户问“weather”天气时,Mica无法处理时,它给用户推荐了Poncho天气机器人。下图右边是Poncho机器人,当用户问“where should I go ”(我应该去哪里)时,Poncho推荐了Mica机器人。
解构语音交互产品--VUI设计原则_第5张图片

5.站在更高角度去思考

对话UI的使用不仅仅为了好玩,不应只停留在为娱乐类产品提供更多游戏化方式的截断,应该更多的思考如何让它真正的帮助人们创造价值。

二、对话设计技巧与策略

除了上面的几个核心设计要点,还有一些设计原则和对话设计的技巧。

1.通过确认和应答给予用户信息

在决定VUI的确认策略时,可以参考一下几点:

  • 错误的后果是什么。用来决定采用何种确认策略(隐性确认 or 显性确认)
  • 系统将以什么形式进行反馈。(语音确认 or 非语言形式确认)
  • 会有一个小屏幕吗?可以通过屏幕显示信息,或让用户确认信息。
  • 以什么形式来确认最合适。不同场景使用不同的策略。

信息接收与确认的几个设计原则
1)显性确认与隐性确认
显性确认:通常要与用户核实其需提供的输入是否被正确的处理或者请求用户允许操作,采用显示确认识机器人在得到确认之前将不会执行操作。
适用场景:高风险的请求(例如消费付款的确认)或者难以撤销的操作时适合使用显性确认。

隐性确认:它会直接确认输入已收到,或在不请求用户批准的情况下进行操作。隐性确认时,可以将答案和连同原始的问题的一部分,一同回复给用户。让用户知道系统识别到了他的问题。如果置信度很高,为了看起来更自然流畅,也可以直接简单的回答。
适用场景:系统对获取信息的识别准确度较高,出错可能性较低的场景。

还有一种根据信息的识别率来选择确认策略的方法,称为“三级置信度法”(系统设置识别率阀值,例如45%~80%)

  • 在45%~80%置信度区间时,使用明确的形式确认信息。
  • 置信度80%以上时,使用隐性确认来确认信息。
  • 置信度45%以下的,走修复流程,可以回复“对不起,没有听清您讲的话”。

2)非语言式确认

  • 一些能感知到结果的操作,只需要执行就行,而不需要口头响应。比如“找开灯”,执行结果是可以直接“看”到的。如果无法通过“看”来确认,需要使用音频确认。
  • 使用一个“声音标识”来确认。用一个有简短且有识别度的声音,比如Siri会用一个声音来表示结束聆听。

3)屏幕确认
如果语音产品是有屏幕的设备、移动应用APP或者电脑程序,通过屏幕确认信息或者向用户显示结果更为有效。屏幕可以来显示一些结果是列表类的信息,还可以通过屏幕让用户来确认选项。
关于是否在设备屏幕上显示用户所说的话,可以分以下情况:

  • 显示的情况:手机助手类产品,很多情况用户的响应只是简单转化为一个搜索请求,让用户看到系统识别到的信息是有好处的,如果虚拟助理出错了,用户可以尽快知道。
  • 不显示的情况:对话性更强的系统,用户与系统要进行一系列的对话。这类系统不需要精准识别到每个词,只要能映射到真实意图就可以了。这种情况不适合显示用户说的每句话。

4)响应度
系统后端在响应用户的请求时,可能存在响应时间长而造成的延迟现象。响应延迟产生的原因一般是系统连接性能差、系统正在处理进程、数据库访问以及处理语音识别响应时间长。

响应延迟的处理方法:

  • 如果用户的请求需要很长的时间来处理,那么机器人应该告知用户他正在处理请求。如“正在处理”、“请稍等,正在查询相关记录”等消息,或者告诉用户何时能得到结果。
  • 用非语音的方式提示用户。例如一段短的提示音,或者“加载中”的动态可视化效果。
  • 由于语音识别的响应时间长造成的延迟,目前智能音箱类采用的方式是“一级本地识别,二级云端识别”,即先在本地唤醒,唤醒后再上传到云端进行识别。

以上都是关于响应时间长的,但有些情况,系统没有延迟,也最好插入1、2秒延迟。因为机器人太快回复会给用户带来不安,适当延迟才是自然的对话方式。

总之,不管是显性、隐性、或者是非语言形式的确认方式,对于用户输入的信息,都应该给予回应。

5)避免重复
采用随机性的措辞与用户确认其输入和操作让对话显得自然一些。

6)要能理解用户回复的各种确认信息
确保你的机器人能理解用户表示确认的所有形式,比如:是、已确认、OK、对、没错…. 这个可以通过对词条维护或用NLP技术都可以实现。

2.引导用户提供正确的信息

对话界面的挑战之一是处理用户的输入。设计要点中提到一种“出错”情况:识别到了语音,但系统无法处理。主要原因有两种:
1.系统无法理解用户的表达。因为用户可以使用许多不尽相同的方式来传达同一个意思,且这种表达是不能穷举的。
这种情况下,可以使用“AI技术+人工语料维护”来解决。使用NLP的同义词、词向量和计算文本相似度技术等来理解用户的语义表述,可以将用户相同意思不同表述的语句映射到同一意图上来处理。人工语料维护,即对无法识别/错误识别的数据重新打标签,将其映射到同一意图或者词条上,并让机器不断学习来训练和优化模型。

2.用户输入的请求是系统没有的技能或服务。这种情况可以在VUI中引导用户提供正确的信息。VUI设计存在“无边界”的特点,即让用户知道“能让产品做什么”是设计的难点。

以下是引导用户输入正确信息的方法:
1)设定用户的期望。比如你的产品如何介绍语音功能?可以在用户首次使用时为用户提供新手引导,或者在使用过程中提供帮助。机器人能否得到想要的正确答案,取决于怎么提问题。要把用户的问题引导到产品能提供的服务上。例如你的产品不应该问:“请问能为你做什么?”,而应该问:“我可以为您预订航班,请问您想去哪里?”

2)限制用户的选择范围,提高系统理解用户意图的概率。例如使用手机语音助手发送短信,语音助手:“给小jo发送短信为“好的,一会见”,请问发送还是取消?” 这样可用户的选择限定在发送和取消上。

3)用预设回复的快捷回复按钮引导用户到正常对话流。例如下图中,是一个辅助心理辅导机器人Woebot,它用按钮预设回复,限制了对话只能向“我需要帮助解决一个问题”和“记录”情绪两个流程上。用户只能二选一。
解构语音交互产品--VUI设计原则_第6张图片
这个对话bot的场景中要求用户输入的是情感类的隐私信息,所以没有使用语音识别服务,其采用了大量的按钮来引导对话,将对话严格地限制在流程内,从而完成任务,这是个典型使用预设回复的例子。

4)使用示例而不是说明。当向用户询问信息时,可以给出示例。让用户参照示例写入信息比理解通用指令更加容易。

3.对话中的问候语和结束语

1)新用户和专家用户的提示语
根据你的产品和用户的熟悉程度,应该提供不同的问候语

  • 对于新用户要用简单的话语让用户知道你能提供什么服务,并引导用户操作。
  • 对于专家用户,不需要冗长的指令或者教学细节,可以缩短解释性的提示语。

2)采用“对话式标识”提示
无论新手还是专家用户,都要采取“对话式标识”来提示,让用户知道他们的答案已被系统接收,以及当前提问的进度,这使VUI更人性化。对话式标识包含三个部分:

  • 时间线(首先,完成一半了,最后)
  • 接收回执(好的,知道了,谢谢)
  • 积极反馈(很高兴听到这个消息,非常好)

三、吸引用户与机器人互动的方法

目前多数语音产品缺乏用户与机器人互动性,使产品弃用或者少用,无法为用户创造价值。

1.确定性
在梁宁老师的《产品思维30讲》中提到的一个让我印象最深刻的概念是:确定性。
一个能给用户提供确定性的产品,是可以让人留恋和持续依赖的,而所有的铁粉都是对产品的确定性有依赖。比如一台ATM机,给用户的确定性是稳定的出钞。比如地图APP,当我查询路线时,能高效地给我提供最优导航方案。再有一个例子是荷包金融APP(虽然因为P2P行业问题,它现在已经不能正常兑付了,但不能否认它是个非常优秀的产品),这也许是业内第一家每日收益到账的产品,打开APP后会有金币的声音,点击金币即可将收益直接复投。无论是从用户操作上,视觉上,还是听觉上都给用户带来了愉悦感,且让用户知道自己的资金每天都获得收益,其实这就是一种确定性。
确定性其实就是稳定持续地实现用户的价值。

《对话式体验产品设计》书中提到Greenshpan关于优秀的应用与用户之间的一些建议:
1)创造一个完美的第一印象
2)持续增加价值
3)持续改进设计
这些建议在对话交互产品同样适用。首先要给用户好感,然后让用户保持对产品的好感并形成习惯。

2.习惯形成模型–Hook模型
解构语音交互产品--VUI设计原则_第7张图片
Hook模型也称上瘾模型,模型中描述了习惯形成的四个步骤:
1)触发:这是一个内部触发器,由外部触发器引发,并驱使用户使用该产品采取行动。
2)行动:一个能产生奖励的简单行动。
3)奖励:实现价值。即找到痛点或者实现用户意图。
4)投资:一种行为,通过机器人使服务更好,而且产生未来触发的机会。

3.小雅智能音箱
根据QuestMobile发布的《2018中国移动互联网春季报告》,小雅AI音箱是目前用户粘性最高的智能音箱,其月人均使用时长近600分钟,人均使用次数240次,使用频次是天猫精灵及小米的7-8倍。喜马拉雅副总裁说“在有小雅之前,用户每天收听喜马拉雅也就128分钟,而有了小雅之后,他们每天停留在喜马拉雅里的时间超过了3个小时。”
Voicebot 报告中显示智能音箱的最高频应用是听音乐、电台、新闻等内容。听内容是用户的高频的需求,这也是为什么市面上的智能音箱投入大量精力来做有声内容的原因之一。而小雅智能音箱有先天优势,喜马拉雅FM采用独家版权模式,定位是一个在线听书电台,有市场上70%畅销书的有声版权,85%网络文学的有声改编权,6600+英文原版畅销有声书。

综上,关于产品的“确定性”以及Hook模型都是以实现用户价值为前提的,而小雅智能音箱的例子也表明,要促进用户与智能对话产品互动,关键点在于你的语音产品是否实用,能否解决用户的问题。只有为用户持续带来价值的产品才会使用户依赖。

参考材料:
Google对话式交互规范指南
《语音用户界面设计》by Cathy Pearl
《聊天机器人:对话式体验产品设计》by Amir Shevat
Voicebot-2018年美国智能音箱用户调查报告

相关链接:
解构语音交互产品—认知篇
解构语音交互产品–人工智能AI技术

你可能感兴趣的:(语音交互,VUI设计,对话式体验)