
Actions on Google 能够让设计师和开发者构建基于 Google Assistant 的语音交互应用,并与Google Home集成。Google 在其网站中给出了3个部分的指南:设计 (Design),开发 (Develop) 和发布 (Distribute)。本文将提炼其设计部分精华,并结合一些个人理解进行梳理总结 。
无需再去赘述人工智能(AI, Artificial Intelligence)在过去一年甚至未来一长段时间内的炙热程度,越来越多的机器人开始不断地出现在大众面前。而谈到机器“人”,无论系统表现出来的拟人程度如何,它都会自然而然地 —— 遵循人类的交流方式:对话。
回归自然的对话式体验让人们感觉到人机交互是一件多么容易的事,但是对话本身无论在任何时代都是一件复杂、并且不易被抽象的事情。本文将挑选 Actions on Google | Design 中的精华部分并结合一些个人理解和案例辅助,抽象出一些能够让设计师和开发者们在进行对话式设计时的快速参考。
进入正文之前,先简单介绍一下对话用户界面 CUI (Conversational User Interface) 和语音用户界面 VUI (Voice User Interface) 的区别。VUI 特指通过语音进行的对话交互模式,从早年的按键式电话系统交互到今天已经具有较长的发展历史,相对之下今天我们说的 CUI 则大多指以文本进行的对话交流。同样以对话交流作为核心的两者其实拥有非常多的重合部分,本文中的大部分观点可同时应用于两者。
语言哲学家 Paul Grice 说过,有合作的对话才能够被理解。他提出了著名的会话合作原则(Grice's Maxims)来定义对话中的基本原则:
如下图的案例,按照数量原则,当母亲被询问孩子的成绩如何时,其实只需回答“不太好”即可,但是她后面多加的一句话则会让听者推导出这样的结论:这位母亲认为孩子考得不好并不是孩子的问题,而是因为老师考了孩子出生前发生的事导致的。

同理在进行机器人对话设计时,为了达到效率,也必须要遵循语言学中这些潜移默化的基本合作原则。同时,通过解构我们习以为常的自然对话,构建一个好的 CUI 对话我们还需要特别关注以下几个模块:
在对话交流中,我们通过彼此话语中传达的细微信号轮流发言。缺少有效的轮回,可能会出现谈话的双方同时说话、对话内容不同步甚至难以被理解的情况。在对话设计的过程中,给予用户一定的话语权,让话轮轮转以达到对话中的角色平衡是非常重要的,不要形成只有系统一个人在说话而非“对话”局面。
对话线索 (Treading)
语言学中把那些能够让对话持续进行的微妙信号称之为“对话线索 (Treading)”,也就是中文俗语中我们常说的“话头”“话茬”或是“抛砖引玉”。在对话的结尾留下交流线索,让对方能够自然地往下说,是对话顺利进行的关键因素。

语意和上下文
对话的含义很大程度上取决于上下文,但是在日常的对话中,有一些我们不说出来的东西也带有意义。举例,你问一个朋友 “你周六要去参加 party 吗?”,她回答,“我要上晚班。”你的朋友是在暗示她不可能同时出现在两个地方,所以你可以推断出她不会去参加 party。
回到现实,在现阶段技术背景下,上下文理解仍然具有相当的技术门槛,在设计时我们应该偏向以“单轮交互对话”的形式让用户阶段性地完成任务,不要引导用户去做太多具有复杂上下文背景的任务。
对话修复(错误处理)
即使是人与人的对话,当对话形式或内容不准确时,都要通过修复让对话回到正常轨道。在对话设计中,当用户发出的话术跳脱上下文设定时,修复上下文内容以外的对话就变得非常重要。下图案例呈现了一个用户脱离了打车的上下文场景,CUI 尝试将其拉回来进行对话修复的流程。

当然,除了脱离上下文内容以外的内容,一些例如超时或者无回复的场景,一样需要进行修复。通过预测用户的不同行为来防止错误,不要只将精力集中于单一流程中,尝试在所有场景中都构建出稳定的体验。
对话式设计也有一定的流程和方法可循,我们并不鼓励在没有任何准备的情况下就直奔核心步骤开始编写话术。较为系统化的对话式设计的流程主要有6步:选择用例、创建人物性格、挑选声音、编写话术、测试、构建和迭代。
选择用例
不是所有事情都适合使用对话交互来完成。此处的用例指的是那些适合使用语音交互的业务和对话类型,它们一般都具有以下三个特征:
创造人物性格
人们会本能地将人类的特征和性格赋予在数字语音和文本话术中,即使只是几秒的声音或是短短的一段话。设计对话界面之前,提前思考你的对话想用户传达什么样的感觉。
如果你在做一个有趣的游戏,你可以会用一种调皮的语气说话。如果你在做一个新闻朗读器,你可能会偏向使用一种更严肃的语气。
挑选声音
针对设定的人物性格,挑选合适的声音,不同国家文化乃至不同的行业的人们对音色和音调的偏向都存在一定差异性。特别注意的是文字的对话界面设计 CUI 中没有这个步骤,文本会成为传递信息和情感的唯一出口。
编写话术
在选择用例、设定好人物性格和声音后,正式进入到对话式设计中最核心的步骤 —— 编写话术。但是我们需要完成的不仅仅是一个单一的对话流程,而是需要考虑基于同一业务下的多种对话类型:
例如下图的两个案例中,两个用户通过两种不同的表达方式来达成电影票预订的任务,在对话设计时要尽可能地覆盖同一任务中可能会出现的不同路径。


测试、构建和迭代
人们在编写话术时会倾向于使用书面语言,因此测试时一定要将对话大声地说出来,确保对话足够口语化,并在后期的迭代过程中不断地优化。
在对话式设计实践中,除了了解语言学的基础对话规则并遵循一定的设计流程以外,可以用于逐条对照的一些基本性原则必不可少。
问候和退出
人物性格

对话交流
对话修复(错误处理)
对话式设计是一个理性与感性并存,同时又富有挑战性的过程,需要不断地尝试、打磨、总结经验。不谈前景,回到现实,我们不要被现有的技术限制禁锢了双脚,而应该在现有能力上最大化地释放自然语言的固有力量,真正意义上发挥对话式设计的优势。
文章原创 转载需联系
Actions on Google 系列文档:
https://developers.google.com/actions/design/
Actions on Google 中文翻译:
https://mxd.tencent.com/weixin/doc/Actions_on_Google_Design.pdf