从零到一,设计一个Chatbot

Posted by

 

开发Chatbot已然成为2017年人工智能市场上的一个热点话题。自从2016年上半年,Facebook发布Messenger bot platform 以来,累积已经有了至少45,000的的Bot以及9亿的Messenger平台用户进入到了这个生态圈。随后Skype, Alexa,Telegram乃至Line纷纷发布了自己的Bot平台。基于这些平台出现的Wit.ai, Microsoft Bot framework,Kitt.AI这类Bot开发平台,纷纷如雨后春笋般进入了市场之中,开发Bot的成本也在逐步降低。

 

有趣的是,Bot本身倒不是一件新鲜事。最早的Bot可以追述到60多年前的Eliza,当然,在那个时代,我们并没有如今这般丰富的图形界面或者是自然语言理解能力。Eliza本身也仅仅是一个Demo的形态存在。但是,Bot的可能性已经得到了一定验证,即人们乐意以对话的方式与机器进行直接交互。将视野转到最近几年,Slack可能是最近一个接近Bot大潮的产品了。笔者在2014年就开始开发Slack Bot了,限制于语义理解的平台,Slack Bot的开发潜力仅仅限制于关键字或者是指令的匹配。但仅仅基于此,与Trello的整合已经吸引了大量生产力用户。而随着2016年语音识别技术的现象级突破,人机对话的第一道门槛终于被成功突破,也使得自然语义与Bot的结合成为了一种可能。然而,Bot中的设计问题,始终是产业界所忽视的一环,究竟怎样的Bot才是好的Bot,怎样的Bot才是能够产生价值的呢?本文将结合笔者经验,为大家介绍,怎么去开始设计一个Bot。

 

特定用户(User)

用户,用户,还是用户。任何人机界面最终的归宿还是人的诉求。对人的理解始终是任何产品设计的第一步。用户是谁,他需要什么,他有一些什么习惯等等,将会构成我们产品开发的基础。而Bot开发也是如此,在笔者工作的过程中,用户研究始终是工作的第一环。比如,为了设计出真正有用的智能音箱,我们就在考虑,这样一种产品形态,它的最大用户群是哪些人。当进行了广泛的用户调研和市场横向比较之后。我们从音乐类播放软件,蓝牙音箱产品中抽象出了单身年轻白领这样一个典型的用户形象。基于这一类人群,我们进行了进一步的用户访谈。为了抽象出真实的场景,我们设计了数个常见的音乐需求任务,例如,获取喜欢歌手的音乐,在闲暇时间听歌放松,想给好友分享一首好听的音乐。在我们对其完成任务方式的记录过程中,我们逐渐丰富了自身对这类用户的认识。

 

特定场景(Scenario)

在交互设计中,场景和用户往往是不可分割的。任何用户都是在场景中完成某项任务,而同时,场景也不会脱离用户而存在。那,什么是场景呢?简单来说,就是用户所处的时间、空间、环境,或者说,我们想要做的这个硬件和这个用户“相遇”的那一瞬间。时间空间环境可以是具体的某个常规时间,真实地点,也可以是符合某件事件发生的时刻。例如,一个典型的音箱场景就是用户早上起床时被闹钟叫醒,想要了解今天的天气。在构建这种场景的过程中,很困难的一点是场景的细粒度。我们可以将设计考虑到工作日和休息日,也可以仅仅用一个早中晚来概括。在这两者之间,通常很难找到一个平衡点。而在笔者进行设计的过程中发现,这种场景的设计以精细为第一优先。当我们能够将场景的描述精准到,听众听完之后眼前仿佛就出现了这一场景时,这样的描述才是具有设计指导意义的。而更多的人意识到了这一场景的真实性,并且能够感同身受,使用场景也变得越发明确。

 

 

特定服务(Task)

产品最终还是为了满足用户而存在的,而这种需求所对应的就是不同的服务,用户基于这些服务完成了任务,并且同时满足了自身的需求。业界常常会有一种以功能多少为导向的竞争倾向,似乎,拥有更多功能的产品便是更优秀的。而这恰恰是用户体验设计中最为大忌的一点。尤其是针对对话交互界面相关产品的开发,这一点更容易造成负面影响。举个例子来说,尽管Amazon Alexa Echo有成千上万的Skills,但是用户用到最多的还是集中在音乐、有声这些最为基础的音箱功能上。在笔者的研究过程中发现,甚至仅仅是音乐功能中最简单的几个音乐点选方式构成了操作中的绝大多数指令。如果在功能设计的过程中,不去明确用户真正需要的功能是什么,仅仅是堆积功能,最终的结果极有可能是花费大量的时间在无用的开发上,从而浪费宝贵的开发资源。我们在设计音箱功能的过程中,始终采用一种测试驱动的设计方式,去验证功能的可行性和价值。不同于图形界面,我们拥有大量的prototype工具,可以制作出交互式原型进行验证。而在对话交互界面中,这一点变的相对困难了。若是不带数据的体验还好,可以通过图形界面的prototype工具体验对话的效果,但是若考虑到用户的自然语言输入,在任何的原型下都会遇到无法推进测试的风险。极有可能用户在第一环就无法进一步推进下去。在这里,我们利用了ruyi.ai平台中的实时测试功能。对话脚本和功能的编写本身就是基于图形界面的支持,并且可以即时接入到微信界面之中,我们在产品早期便可模拟真实音箱进行纯语音交互层面上的对话体验。更重要的一点是,在这个验证想法的过程中,我们完全不需要动用到开发的力量,便可以测试功能是否有好的体验。也因此,我们针对音箱功能的设计做了大量的用户测试。结合Wizard of Oz的方法,用户在一种仿真的环境下,完成点选、控制、切换、探索音乐的所有任务。

 

小结

User centered design(UCD)是一个老生常谈的问题。在GUI的设计过程中,我们已经总结出了大量的设计经验。因VUI(Voice user interface)本身具有不同于GUI的特质,GUI的设计经验并无法完全迁移。我们在设计Chatbot产品的过程中,充分整合了UCD中的精髓,并且结合设计领域的研究方法,对产品的设计进行了充分的推动,试图针对智能家居的使用场景、用户,提供最为匹配的优质服务。