10分钟看懂谷歌语音交互设计规范都讲了些什么

前段时间把谷歌语音交互设计规范看完了,整个设计规范比较长,初看的时候比较懵,但是回过头看还是蛮干货满满的。

为了自我梳理和造福想偷懒的同学们,在这里把10篇文章的框架内容整理出来,方便大家可以快速知道重点在哪里,每篇都是解决什么问题。

本人觉得虽然亚马逊的Alexa在这个领域更领先,但是看完亚马逊的语音交互设计后,觉得谷歌的设计规范更友好,而且方法论更多一点。

好了,进入正文,首先谷歌语音交互设计规范分三个部分:

  • 第一章:对话式UI ( Conversational UI )的基础概念 (第一节~ 第二节)
  • 第二章:如何设计对话式UI (第三节~第六节) (重点&干货)
  • 第三章:最佳实践(第七节~第十节) (一些实践过程中的设计Tips)

下面是整个设计规范的主要内容。

第一章:对话式UI ( Conversational UI )的基础概念

这章偏概念,可以简单了解下。

一. 《对话式UI以及它的影响力》

  • 良好对话的4个要素:轮流(Turn-taking),串联(Threading),能够利用语言的潜在效率,预估用户行为的多样性。
  • 保罗格里斯的两个原则:「合作原则」(Cooperative Principle) +「格里斯原则」
  • 用口语化的表达。
  • 给予用户信心:用多样的应答词,显性确认,隐形确认。

二. 《理解对话机制,优化对话体验》

  • 对话的六个步骤。
  • Turn-taking轮流。
  • The Cooperative Principle 合作原则。
  • Implicature and context 语义与语境。
  • Threading串联。
  • Repair 修复。

第二章:如何设计对话式UI ( Conversational UI )

本章是整个设计规范的重点,建议点击每节标题查看详细内容。

三. 《设计原则与方法》

本节重点讲了设计语音交互的5个步骤及遵循的原则。

1. 设计语音交互的5个步骤 (重点)

  • 选择正确的用户场景:适合对话UI的场景通常比较简单、直观,不需要太复杂性的互动。
  • 创建用户画像:你的对话表达与功能的呈现方式能够体现一致性、品牌诉求和人的个性特征。
  • 撰写对话:这个过程中你会构思出大量的对话,并探索出最好的实现方式。
  • 进行测试:大声念出对话,用模拟工具进行测试,确保对话听起来比较自然,接近人类的对话方式。
  • 实现和迭代:使用API.AI实现对话功能,或用Actions SDK在你自己的工具平台中开发。

2. 设计需要遵循的原则

  • 保持简洁。
  • 给予用户信任。
  • 考虑对话的场景。
  • 听起来愉悦,但又不分散用户注意力。
  • 要能够使新手用户感兴趣,同时也需要持续吸引专家用户。
  • 轮流交谈,不要打断用户的话。
  • 不要猜测用户的意思。

四. 《对话UI设计流程与步骤》

本节以Number genius(一个0-100猜数字的游戏,具体玩法看下图)为例讲述了对话UI的设计流程。

图0:10分钟看懂谷歌语音交互设计规范都讲了些什么

1. 使用场景

Number genius的使用是低风险的,但多次使用很容易会陷入无聊。

2. 创建画像

Number genius的AI画像是乐观、愉悦、鼓舞人心。有引导性、机智,能够推动游戏进行,并鼓励用户探索。不会很正式,会采用简单的语言,这样游戏能够吸引不同的用户年龄层与群体。

3. 撰写对话

需要考虑各种用户在玩Number genius时的非常规情况。比如 CUI说完后,用户没说话; CUI说了大于50,用户仍然猜小于50的数字; 用户一直猜同一个数字;用户突然说其它的事,比如设定一个闹钟; 用户突然退出等情况。

4. 进行检测

大声念或者使用谷歌的在线模拟器检验。

五. 《设计走查清单》

走查清单可以在你设计完后,再次检查自己的设计有无纰漏和不恰当。

1. 问候语和结束语

  • 告诉用户你是谁,让用户知道在对话的对象。
  • 对话包含的信息要合适,确保新老用户都能理解。
  • 采用合适的方式结束对话。

2. 自然的对话

  • 轮流机制,给出用户线索,让他知道该他说话了。
  • 听起来自然,用对话思维去撰写。

3. AI画像

  • 反应品牌的独特性和特质。
  • 保持形象的一致性。
  • 让用户愿意多次交流。

4. 对话修复

  • 理解近似表达(比如yes,definitely,it sure does)。
  • 当用户说了系统不能识别或根本没在说话,做出调整,主动询问。
  • 随时准备给予帮助。
  • 可以重复提供信息,比如当用户说「什么? 再说一遍」时可以识别并给出响应。
  • 如果用户没回答,或是尝试了2-3次都没法识别,那就用恰当的语句来退出。

六. UI 设计工具包

第三章 最佳对话式UI ( Conversational UI )实践

本章讲了很多语音设计实践中解决方法。也很值得细看,特别是第八至第十节。

七. 《像你的用户一样,善于合作化的表达》

1. 格里斯法则

  • 质量——只说真实的内容。
  • 数量——恰到好处,不多不少。
  • 相关——只说和主题有关的内容。
  • 态度——简单直接,避免模棱两可。

2. 理解语义识别和对错误的修复

3. 适应用户不同的说话风格

4. 让用户能够依据直觉就知道要说什么

八. 《开启口语表达的力量》

1. 围绕已获取的信息进行沟通交流

对话UI应该就已获取到的信息进行沟通交流,这样人们就能够理解并增强对对话UI系统的信任,这也就是所谓的「隐形确认」(implicit confirmations)。比如:

User:Who made the statue David?

UI:David was created by Michelangelo.

2. 用具体例子让用户知道要说什么

对话UI可以用例子来快速告诉用户怎么使用它们,比如:

User:How do I set an alarm?

UI:To set an alarm, try saying things like “Set an alarm for 6 a.m.,” or “Wake me up in two hours,” or “Set a ‘medication’ alarm for everyday at 7 p.m.”

3. 避免说废话

不要说一些显而易见的话,比如:

To get the news, say “Get the news.” To listen to the news, say “Hear the news.”

4. 只在需要的时候才提供引导

在后退和对话修复场景中,或者用户似乎被卡住的时候,可以就需要进行一些提示。

User:Start a metronome. (节拍器)

UI:Sure, what tempo?

User:[No reply]

UI:You can say, for instance, “110 beats per minute.” Or you can give me a tempo like “Allegro” or “Moderately fast.” (We can always speed it up or slow it down later.)

九. 《通过确认和应答给予用户信心》

1. 对于高风险的请求,使用显性确认,使信息更清楚明确

显性确认是指系统会把主动权交给用户,在进行下一步操作之前,向用户进行口头确认。比如:

That was ____, right? Okay, to confirm, I got ___. Is that right? Okay, that’s a table for 6 at Quartino, on Friday at 7. Is that right?

2. 对于简单的请求,使用隐性确认,以提升对话效率

在上一节介绍了隐性确认,隐性确认适合于系统对获取信息的识别准确度较高,出错的可能性较低的场景中。

User:What’s the state flower of Nebraska?

UI:The state flower of Nebraska is goldenrod.

3. 不要直接让用户退出,避免使用「Go back」命令策略

建议根据用户具体场景,自动组织语言,适应对应的情况,来引导用户回到正确的路径上。不要说「If that’s not right, say ‘Go back.」。

4. 利用应答让用户知道系统已经接收识别了来自他们的信息

应答是一些像是Okay、Sure、Thanks、Got it这样的短语,可以确保让用户知道他们说的话已经被系统获取到,以及让对话流畅自然。比如:

User :Put an appointment on my calendar

UI :Sure. When for? User :Saturday at 2.

UI: OK, Saturday at 2 p.m. What should I call this?

5. 利用随机的应答来避免单调和套路化

为了保持新鲜感和多样性,可以提供一个特殊的随机应答列表,如Dnoe、Okey、Alright、Sure等等。

十. 《对话中不存在“错误”》

本节讲的是如何建立对话中的错误处理机制。

1. 错误情况分为

  • 输入缺失(no-input error)——系统未获取到用户输入。
  • 无法匹配(no-match error)——获取到了输入,但是系统无法正确的分析处理。

2. 错误处理办法

(1)有效的提示

以下是一些应对错误的提示策略。

无内容的快捷重复提示:

“What was that?”

“Say that again?”

有内容的快捷重复提示:

“Sorry, what time?”

“I missed that number.”

重复询问:

“First, what’s your favorite color?”——”What’s your favorite color?”

“Sure, what movie would you like to see?”——”To get started, what movie do you want to see?”

更改问题:

“What time is this for?”——”Sorry,what time?”

“For when?”—— “What time would you like to book this for?”

回答一个没有明说的请求:

“I have your name and email from your account, so now all I need is your phone number.”

“You can give me the day, the time, or both.”

积极主动询问:

“I could put you down for 6 p.m. for now, does that work?

“Do you want to finish this later?

(2)及时提供帮助

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

此外,也需要准备好去应对用户的一些寻求帮助的要求,可能是想要重复听某些内容,例如,「能再说一遍吗?」,也可能是说出像是「帮助」或「我不知道」之类的话。

(3)知道合适的退出时机

另一种防止用户受挫的策略,就是提供一种让用户可以轻松结束对话的方式。同时,通过这样的方式,也可以让用户知道如何再回来,并接着上一次的服务继续。

App退出:

App:I’m thinking of a number. What’s your first guess?

App :I didn’t hear a number.

App:If you’re still there, what’s your guess?

App:We can stop here. Let’s play again soon.

用户退出:

User:Let’s stop playing.

App:Ok. Your score was 3 out of 5. Talk to you later.

(4)提供规避错误的路径

始终保持人性化的表达:

以下是一些有用的策略,能够帮助你的程序听起来更人性化。

  • 提供一个用于提示的文案列表。
  • 随机的从这个列表中选择进行提示。
  • 通过排列组合可以创建大量不同的提示。
  • 在提示中,把固定的文字用占位符来替代,当做一种变量,在正式运行时,就可以生成多变的内容。例如,「Welcome,%s」。
  • 要记录曾使用过的提示语,在下一次随机生成提示时,不要用之前用过的。

努力获取用户的信任:

有时候用户可能会只是随意尝试下,看系统会如何回应,所以也需要为这部分做好准备。其实可以想象下,平时你是怎么跟邻居打好关系的,比如要向人家借割草机之前,可以先借给他们一杯糖。与用户的相处也是这样,他们可能会先试探下系统能否为他们提供期望的信息。

积极主动的协助用户达成目标:

可以提醒用户任务完成进度,处于何处,以及回到主路径的方式。有时候,可能也需要主动的把控局面,根据你程序的角色画像以及自信的程度,去推动对话继续进行。

参考资料

  • 侯雯佩,《Google对话式交互规范指南1-8》
  • Google,《谷歌语音交互规范英文原版》
余下全文(1/3)
分享这篇文章:

请关注我们:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注