Google对话式UI设计手册之二 — — 理解对话是如何工作的:通向更好UI的关键

Xu Wenhao
BotHub.AI
Published in
6 min readAug 29, 2017

--

在前不久,Google 基于 Creative Common Attribution 授权 发布了他们的对话式UI设计手册。BotHub.AI 作为 Facebook Messenger List DevelopmentProvider 将手册逐一翻译成了中文,希望能够进一步推动 Chatbot 在设计,使用上的发展。我们会在之后的一段时间逐步将这些内容校对后发布出来。

如果您希望进一步了解如何构建 Chatbot,欢迎来信到 support@bothub.ai 以及访问我们的 官方网站 并订阅我们的邮件列表。

下面是这个手册中的第二篇。

理解对话是如何工作的:通向更好UI的关键

“25年之后,没有人还会点击下拉菜单,但是所有人仍然会指着地图来纠正相互间的句子。这是基本原理。好的信息软件反应了人类而不是电脑如何处理信息。” —— Bret Victor, Magic Ink

让我们来面对它。现在,大部分用户界面达不到我们在科幻小说中被许诺的未来 —— 被人工智能保卫,并毫不费力地和聪明的机器人和智能应用对话。

那我们如何才能做到呢?

对于初学者,我们必须教我们的机器和人交谈,而不是相反。

想想这个:对话将我们的文明发展到了今天所在。所有的人类发明都诞生自我们通过口头交流的想法。而口头交流是一种我们通过长时间进化来的能力,事实上用了超过10万年。相比较而言,写作只有大约5,000年,更别说计算机了。

所以人们显然不会随便改变他们的谈话方式。 而他们对于谈话应该如何工作的无意识的期望也不会消失。

无论我们是否意识到这一点,我们都在谈话中遵循一些特定的规则和习惯。如果我们把一个好的人类对话进行解构,我们可以找出如何创建更好的UI。

对话的6个步骤

对话的基本机制,可以分解为6个简单的步骤

  1. 打开一个渠道来设立一个共同基础 —— 说话人 A 向说话人 B 发送了一条消息
  2. 承诺参与 —— B 向 A 承诺参与对话
  3. 构造意图 —— A 以及 B 通过一组结构化的概念和(通常没有说出来的)上下文连结起来了
  4. 进化 —— A 或者 B (或者两个都有)通过他们间的互动学到了或者获得了些什么
  5. 收敛于协议 —— 如果一切正常,A 和 B 达成协议;如果没有,两个人都可能尝试修复这个情况
  6. 动作或者互动 —— 随对话的结果而来的可能是一个功能性的动作,或者一些不明确的目标可能达成了(比如变得不太寂寞)

话轮转换

作为一个一些明显但又重要的对话中的工具,话轮转化包含了我们认为理所当然的微妙信号。语法帮助听的人预测是否回复的时机到来了,而韵律 —— 一个由语速,音量,音高,以及沉默的组合 —— 标志了转化点的到来。人们使用这些暗示,将对话在相互之间传递接力。如果没有有效的话轮转换,我们要么互相交谈,或者对话无法同步。

协作原则

语言哲学家 Paul Grice, 他的工作也曾应用在人工智能领域,说过人们必须抱着合作态度说话才能被理解。他提出过一些协作对话的基础规则,被称作为 Grice箴言, 说人们必须像情境所要求地尽可能地真诚,有信息量,有相关性以及清楚。你可以在 像你的用户一样有协作精神 中的 协作原则 部分阅读更多相关内容。

言外之意与上下文

对话的意图取决于它的上下文。而在一般的对话中,我们经常留下的 言外之意 也包含了我们的意图。

比如你问一个朋友,“你会去周六的聚会么?”,而她回答 “我那天晚上上班”。你的朋友在暗示她不可能在同一时间出现在两个地方,所以你可以推断她并不会去参加聚会。

或者在另外一个上下文中,当被问到想要预约多少人的时候,你回答说 “哦,只有我和我丈夫”,你预期对方会推断你在聚会中预约了两个位子。

如果我们没有这些推断和原则在背后运转,我们的对话就需要超级字面化才能被理解。

对话线索

一个对话中的所有元素都应该绑定在同一个连贯的对话线索中。作为任何一个喜欢 Knock-Knowck 笑话的人可以知道,将对话的每一轮串在一起保留了相关性的持续并加强了整体的交流。

为了能够成功做到这一点,设计师应该对对话展开中每一组话轮(称之为配组对话)建立认识:

Q: What time is it?

A: It’s exactly noon.

它不必一定是一个问题-答案对。听众的信号塑造配组对话:

A: You won’t believe what happened!

B: What??

同样我们之前提过的支持和否决:

A: This is the worst line ever!!

B: I know!

如果一个UI不能产生一个全由绑定的配组对话组合层的精密的线索化的交流,那么这个对话会迅速破碎,或者简单得令人乏味。由此,对话线索是一个使得体验对用户更加吸引人的一个基础工具,比如这个游戏示例:

UI: Welcome to Number Genie! I'm thinking of a number from 0 to 100. What's your first guess?

User: 50

UI: It’s lower than 50. Next guess?

User: How about 9.

UI: Piping hot! Go lower.

User: Okay…is it 8?

UI: Keep going.

User: 7!

UI: Yes! It’s 7. How about another round?

User: No Thanks.

UI: Alright, talk to you later then.

你可以在 设计演练 中看到我们是如何在这个简单的猜数字游戏中应用我们的最佳实践的。

修复对话

破碎的对话也是由缺少共同基础导致的。意图也可能因为通过不合适的违反了 Grice 的协作对话的规则的贡献而开始瓦解。例如,如果一个人问 “你知道谁会去聚会么?”,然后他们简单回答 “是的”,这既不配合,也不自然,使得它难以修复。

即使是在一个运行中的对话中,形式和内容都可能是不精确的,不合适的,或者无意义的,需要通过修复对话来让事情回到正规。任何一方都可以在话轮中或者话轮外发起来修复对话,但是一般来说有一个顺序上的偏好,并且说话人通常会指出或者修复自己的错误。一个UI需要能够基于对话流以及自然交互来修复对话。你可以在 像你的用户一样有协作精神解锁口语化的力量 以及 对话中,并不存在错误 里读到更多的关于修复对话的策略。

底线:对话是你的UI的基础

对话是协作和谈判的原则性的,相互协调的过程。参与各方都要创造并同意意图,并在一个丰富的,微妙的上下文背景下进行运转。理解这个可以给你一个设计你自己的对话式UI的理论模型。

最佳实践

在创建一个UI体验的时候记住以下这些基础的“积木”:

  • 对话的6个步骤
  • 话轮转化中的角色
  • 协作原则
  • 言外之意与上下文
  • 对话线索
  • 修复对话

Glossary

Adjacency Pair 配组对话

--

--