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的设计流程。
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,《谷歌语音交互规范英文原版》
你也许感兴趣的:
- 谷歌抛弃滚动加载——重新采用「分页」显示搜索结果
- 【外评】泄露API文档揭示谷歌搜索如何把守互联网大门
- 【外评】谷歌搜索 API 文档泄露
- 【外评】披萨上的胶水?两只脚的大象?谷歌人工智被媒体嘲讽
- 【外评】谷歌云计算 VMware 引擎 (GCVE) 私有云宕机事故
- 【外评】Flutter 是否面临死亡?
- 【外评】Flutter 团队有多大?
- 【外评】谷歌搜索结果被人工智能编写的错误代码污染,令程序员沮丧不已
- Google Reader被“代码屎山”杀死
- 谷歌裁掉整个 Python 团队!PyTorch 创始人急得直骂人:“WTF!核心语言团队无可替换”
你对本文的反应是: