“自然语言交互”,这个名词似乎在去年已经长期占据科技类新闻的头条,各大巨头们都想抢占这个据说是下一个互联网入口的巨大机会。 然而,就跟历史上每一次的交互变革一样,目前我们离真正搞明白这个下一代的人机交互方式还有很长的一段路要走。希望通过这一系列的文章,我能帮助自己理清思路,同时也能为大家提供一些想法。同时希望,我真的能把这个系列坚持下去… 定义 跟一般“市面上”所说的“语音交互”不一样,本文用到的是“语言交互”,或者叫所谓的“对话式交互(CUI)”,因为本文想讨论的不只是语音交互,也包括文字交互。 本文关注什么 在阅读后面的内容前,我们先来问两个问题: 什么情况下语言交互效率更高? 什么情况下语言交互效率更低? 没错,在本文的语境下,我们暂时只讨论交互效率。 举一个例子 我想以我们做过的一个功能——日程提醒(实际上很多产品也做了这个)为例来展开下面的论述。如果我们是在日常会话中想让助理给我们设置一个提醒,我们也许会这么说: “下周一下午三点提醒我坐飞机” “中秋节10点提醒我要回家吃饭” …… 上面所列的是比较自然的一些语言交互的问法。由于本人所做的产品是面向PC端办公的场景,所以这里先比较纯键盘输入的文字交互和传统的基于图形交互界面(GUI)的鼠标+键盘的交互之间的优劣。那接下来我们就看一个选择时间的典型的GUI交互方式:
大家可以很容易地发现,第一种纯文字交互的好处是整个交互体验非常一致、流畅,用户只需要通过键盘打出TA想要设置的提醒内容就可以了;而第二种交互,用户必须通过鼠标和键盘的来回切换才能完成整个动作(时间用鼠标选择,事件内容要通过键盘输入),非常地不流畅。 我不知道大家的操作习惯怎么样,对于我来说,我既讨厌在鼠标和键盘间来回切换,也不太喜欢操作鼠标。 试想一下,你正单手托腮很慵懒地用一只手在操作鼠标,或者你正用一只手摆了个很帅的pose,另一只手在操作鼠标,而这时候你被迫要切换成两只手在键盘上面进行输入,这种姿势的切换是会给用户带来巨大的体验成本的。 鼠标加键盘是PC时代不得已的交互方式,虽然现在我们也讲所谓的“多模态交互”,但是鼠标加键盘的组合在很多场景下显然不是最优解。 谈谈效率 说完交互的问题,让我们回归到文章的中心:效率。 GUI有一个很大的问题,就是在处理特别多的选项的时候,无论是显示效率还是操作效率都不尽如人意,而时间选择就是一个典型的例子。 为什么?因为“日期”的选项是无穷多的,如果你提供未来一年的提醒功能,那么你需要想办法显示365-366天。 而“时刻”的选项也是非常多的,如果你的功能是精确到分钟的话,那么你则需要想办法显示60 * 60 * 24 = 1440个选项。当然一般的GUI都不会选择把全部选项直接平铺出来,因为这样太“傻”。 一般的做法(如上图Win10)都是以月为单位列出日期,然后提供翻页(翻月)功能。对于时刻的选择来说,一般的做法可以是降低精度(如上图Win10,以半小时为单位,降低了29倍的精度),或者是提供以滚轮滚动的方式来增减分钟。 这些做法的本质都是一样,就是只显示部分选项,隐藏其他选项,然后提供一个切换选项的机制。诚然这种做法里也还是有一些提高选择效率的方式,如最常见的“热门”选项:
但是总体来说,这种GUI的选择效率还是很低,因为用户真正想选的选项很多时候都不出现在“首页”,而且用户体验非常糟糕:我明明知道我要选的是什么,但是你居然要让我经过辣么多步骤才能选到我想选的。 另外大多数这些GUI的设定都有使用门槛,或者说预设了用户的某种先验知识,例如(如上图)需要用户学过普通话与拼音,或者需要用户知道焦作在哪个省(那些要先选省再选城市的GUI)等等,要知道,部分用户是不具备这些先验知识的。 改进GUI? 现在,我们要问一个问题,上述GUI的问题可以通过改善设计来解决吗?在这里,我想仅以“时刻”的选择为例来说明:
(请原谅我用表格来画UI……) (责任编辑:admin) |