怎样去定义聊天机器人的“智能”二字?
编译丨拓扑社 原野
聊天机器人的概念现在炙手可热。因为越来越多人意识到, 进入数字世界的最好入口就是通讯应用 ,而聊天机器人就是这个入口的守门卫士。 它的表现,将直接决定着我们到底采用哪款通讯应用,哪种技术架构,哪种软件生态。
但,疑问还是存在着。在聊天机器人的语境中,人工智能究竟又意味着什么?所谓的机器学习以及自然语言处理,又会在这个版图中各自找到怎样的定位和角色?你该如何让你的聊天机器人变得更加“智能”呢?
我们不可能期盼明天就出来个如星球大战一样的会说话的仿真机器人,现在拥有的至多是一个能够不断学习,试着与人互动的软件而已。从此出发,它的演化将依循怎样的路径,这完全有赖于我们对“智能”二字的定义。今天,就让我们来聊聊聊天机器人的未来。
让我们先来回顾一下聊天机器人短暂的发展历程
在纯计算机学的专业论述当中,我们现在口中的“聊天机器人”其实被称之为“chatterbots”。它们是基于人工智能而衍生出来的一些有待研究的学科项目,只是因为“图灵测试”这个概念才逐渐为越来越多的人所熟知。
在概念不断普及,流行的同时,还专门设立了罗布纳奖(Loebner Prize)。纽约的慈善家Hugh Loebner 在 1991 年组织了首次正式的图灵测试。从1991年起,每年举行一次这样的竞赛,哪个计算机的反应与人类的反应最难区别,哪个计算机将获得 100000 美元的奖金和一块金牌。迄今为止,奖牌争夺战仍在进行中。此外,每年还会给予相对来说最像人类的计算机2000美元的奖金和一块铜牌。对于热衷人工智能的人来说,罗布纳奖(Loebner prize)的比赛已经成了每年重要的赛事。
而到了今天我们大家所说的“聊天机器人”,其内涵和形式有了进一步的丰富和提升。我们现在使用的是诸如 Siri、Google Now、Alexa、或者 Cortana 这样的数字助手。它们通过利用其无限广博的信息量,对你所提出的某个问题给予回答。它们能够将你随意打出来的一段文本转化成为结构化的数据,使之在系统内部解读成为一段请求,生成答案之后,再将这个答案转化成为语音或者文字。
如今,这样一串复杂的流程确实看起来有点“智能”的意思了。为什么这么说?因为针对一个请求,它们有能力持续不断地提供大量的相关信息,使之能够完成你的目标。
对一款聊天机器人“智能”的定义
让我们换一个稍微技术一点的角度: 从学术上来看,机器人是一个智能工具,它有着一个明确的目标,并且自发的进入到一个“感知-思考-行动”的循环当中来取得这个目标。 这句话又是什么意思呢?
它能够在一定的情境下,选择并完成这个目标,这本身就是一个极度复杂,难以实现的科研难题。它不仅仅需要的是理性,还要兼备一定的情绪,一定的社会化互动才行。
请点击此处输入图片描述
感知-思考-行动,这三个环节所组成的流程:
流程的第一个阶段是感知,它需要感知它所处的环境,获取到足够多的信息,以便于去执行某一项任务。目前的聊天机器人其实要处理的任务超级简单,它只需要理解你所输入的信息就好了。但是如果我们往深处去理解,如果我们现在在开发一款真正的机器人,那么光是感知这个环节就足够具有挑战性,因为它需要具备所有世界最顶尖的传感器才可以做到。
第二步是思考。思考分为下面的几部分:1)将所收到的信息转化成一种机器能够理解的形式;2)将这个信息存储在信息库中,使之可以进行分析;3)基于之前所存储的信息,结合刚刚获取到的新信息,使机器人目前的状态获得刷新;4)在基于所有信息的基础上去做决策(往往是迈向一个之前已经设定好的目标);5)将这个决策转化为一种机器能够执行的行动。
请点击此处输入图片描述
鉴于最近“深度学习”概念的不断深入人心,神经网络具有的强大威力,人们越来越知道机器是可以实现“学习”这个行为的。学习使得智能机器可以从它们所接收的信息当中发现各种模式,并以合适的方式进行回应。但是,很多人就片面地将“学习”跟“人工智能”等同了起来。“学习”只是“思考”的组成部分而已。
更何况,学习这个概念实在太过模糊,无法准确定义出“智能”的轮廓。我们现在还是把讨论回归到“聊天机器人”的身上吧。除去学习这个概念之外,聊天机器人该怎么做,才能算得上“智能”呢?
第一步:能够将所感知到的信息转化成为更加有用的信息。
在这个环节,“自然语言处理和识别”是 AI 能够发挥价值的地方,也是聊天机器人体现智能涵义的第一步。尽管在这个领域已经有了长足的进步,但是任何一个跟聊天机器人对过话的人都会形成共识:现在这个问题绝不算是彻底解决了。(同样,还得指出机器学习在提升 NLP 上也有着相当重要的作用。)
就在“自然语言处理”之后,“学习行为”开始之前,这中间还存在着一个对聊天机器人来说至关重要的环节:它的知识库,也就是说,信息是如何获取和储存的。这一点极其重要,是因为它决定着接下来学习的质量,以及机器所能展现出来的智能水平层次在何种尺度上。
还是举个例子好了,其实很大程度上,Google Now、Siri、Cortana 这三款软件智能水平的高低,就是取决于它们自身如何组织信息,并将信息呈现出来。(该观点见《连线》杂志《有关搜索的未来》一文)
在这个考量下,它必须做到下面的三件事:
1.它必须做到更快速的学习;
2.它有能力来判断哪些是相关的信息;
3.它有能力将信息提取出来,并对其进行一定的推理,给出一个切中题目的答案。
当信息以正确的规则,正确的方式,以数据结构存储后,它就能显现出来无比强大的作用,甚至对所完成的学习成果实现数以几倍的扩大效应。
请点击此处输入图片描述
思考的最后一步:行动。 它能够基于目前收集和习得的信息,去决定接下来该做什么。在聊天机器人这个例子上,更准确的说,就是聊天机器人知道接下来他应该去说什么。这个决定也不一定就是一个步骤,一个更加智能的聊天机器人会事先提前规划出好几个步骤,问出一连串的问题,并根据最新获取到的信息,不断提升“规划”和“问题”的质量。
一旦这个决策的流程走完了,思考的环节结束,进入“行动”的环节。对于一款聊天机器人来说,这就很简单了,无非是把聊天机器人想说的内容转化成文本信息,变成文字打到聊天框里。但是如果是一款语音或者视频机器人,这个“行动”的环节就非常难搞定。道理很简单,跟打字相比,要从声音、图像上无限趋近于人类,这哪怕是在今天都是难如登天的工作。
让我们再来总结一下, 一款人工智能产品是一款能够进入“感知-思考-行动”循环里的机器,围绕着一个既定的目标,自发地将自己不断向这个目标逼近。
请点击此处输入图片描述
现在市面上的所有聊天机器人是否都达到了智能的标准?
只要你是在通过一款通讯软件,跟机器/算法进行对话,机器/算法还能给你反馈,那么你眼前的这个玩意儿就是聊天机器人。但是它们是不是都是具有智能的?如果你比较拘泥于学院派的理论,那么它们勉强都可以算得上智能,毕竟,它们都是从你这里获取到一个指令,并基于一定的逻辑给予反馈。
但如果对于我们普通人来说,这样的体验远远没有达到我们满足的要求。如果按照这样的定义,一个使用了 AJAX 的简单表格,能够在你的名字旁边划一个勾号,这也算得上智能了。它也是经历了“感知-思考-行动”这个过程,并且实现了“获取你信息”的这个目标。但,我们都知道这压根算不上什么智能,更别说是一款聊天机器人了。
那么问题又回到了原点:我们该怎样去定义一款聊天机器人所应该具备的智能呢?你应该看到网上有数不清的文章在教开发者如何让聊天机器人“显得聪明”。办法其实有很多,通过非常精美、简洁、流畅的人机交互界面能够传递这个感觉,通过自然语言处理技术,自动对你的语言组织方式进行纠错也能办到。
有些人将智能理解为:聊天机器人必须拥有记忆。它应该记得你是谁,并且对你的行为语言进行一定的反馈。但是有更多的人不认同,觉得除此之外,还得让机器人在一段时间后学习到一些东西,并且向前演化。个人来看,我觉得后者这个关于智能的定义显得苛刻了一些。
讨论聊天机器人是否具有智能的新思路
现在关于聊天机器人有好几种分法。今天分享一下我所喜欢的一种分法。 宽泛的来看,聊天机器人就分成两种。一种是帮助你去做某些事情,又名“帮助者”,或者为你收集信息,或者从你那里收集信息,又名“收集者”。 如果两相对比,“帮助者”就显得更加具有智能一些。它们能够理解你所说话的内容,并且为你去完成某项任务。绝大多数有一定用途的机器人,都归为这个类别下。机器人可以帮助你购买东西,收集最近几天的天气信息,成为你私人生活的助理,代你去预约会面,等等。
“收集者机器人”,它们在行为上完全有别于“帮助者机器人”。最大的一个区别是:它们不会像是“帮助者”一样去听你说什么,然后执行你发出的命令。从一方面来说,它们易于开发制造,只需要把信息收集起来提供给使用者,让人自行去做决策即可;从另外一方面来说,它们却往往被人们所忽视,觉得这些机器人并不具有什么智能。它们往往在对话中只发问,不回答。
但是,我认为这些人对“收集者机器人”的贬低,无视是完全没有道理的。是的,它们确实不理解自然语言,但是往往会有严格约束的交互界面(往往是按钮和下拉菜单,而非自由输入的聊天框)。它们也不会随着时间的推移学到多少东西。但是,从机器人本身开发的目的来看,它们本来就是用来收集信息的啊,回答问题就偏离了这个目的,是非常多余的功能。 它们其实应该是打造智能平台最为关键的一个环节。为了理解这个观点,我们需要后退一步,从另外的一个角度来看这两种机器人。
所有者的角度
“帮助者聊天机器人”的所有者,当然就是需要帮助的那个人。机器人要有用,那么就得以智能的方式,为所有者做一些事。这也意味着,用户应该可以发出一些简单的指令,并从机器人那里获得结果。在过去一个非智能的系统中,也许这个结果得花好长时间才能浮出水面。NLP(自然语言处理),NLU(自然语言理解),机器学习,这些词都成为了定义这些机器人具备智能的关键特点。
请点击此处输入图片描述
相对而言,“收集者”的所有者,是需要收集信息的人。从这个层面上来说,“收集者”的智能定义就完全不一样了。用户通过简单的指令,明确自己想要收集的信息是什么,而收集者机器人不仅仅是收集信息,更重要的是,它要以一种对用户有用的方式,将这些信息呈现。一旦它能圆满完成这个任务,那么所有者就会认为它是具备智能且有用的。
从智能工具向智能平台的过渡
现在,让我们再稍微发散一点思维,想一想如果这个“收集者聊天机器人”并不一定非得具有智能,要是它只是“智能平台”中的一个环节呢?事实上,这个智能平台上有四个组成部分:
1.确认所有者的需求,从而建立目标,并使之向前推进。
2.构建一个用于收集信息的系统。(它可以是,也不一定非得是以聊天机器人的形式出现),在最完备的方式下去收集信息。(感知)
3.处理、存储、最终将信息转化成某种易用的形式,使之能够完成目标。(思考)
4.将收集到的信息,以一种最合适的方式呈现给所有者,使得他能够完成自己的这个任务。(行动)
之所以我会选择用“平台”,而非“工具”这样的形容,是因为这里面有可能涉及好几个机器人,一个来收集信息,一个来组织信息,另外一个呈现信息。甚至有可能在一个智能平台上压根没有聊天机器人的位置。
为什么要提出智能平台的概念?它为什么重要?
在过去,聊天机器人的概念只会出现在科幻小说中,而如今,它已经成为活生生的现实,这当然会让人很兴奋。但是,现实点来看,获得成功的聊天机器人,目前市面上寥寥无几。我认为主要的原因就在于人们对聊天机器人的设计思路上就错了。
如果你现在仔细看看市面上这些获得成功的聊天机器人(Google 助手、X.ai,mimetic.ai),它们都是搭建在某个智能平台上,它们的成功其实跟自然语言并没有太大关系。
自然语言处理技术确实重要,这一点不假,但是它不是聊天机器人获得成功,使其变得有用的关键原因。就比如说,日程安排助手,它们的功能就是查看所有参会者的日程,选择一个对大家来说都合适的时间地点,这样一款对大家工作有着大用途的工具,完全不需要自然语言处理技术的介入。况且,这项技术真的非常的难。对于现实中智能产品的推广普及,并无那么大的作用。
文章写的有点儿长,总结一下重点就是:
不要把自己当前的挑战看作是:“在聊天机器人内部创造某种智能”,正确的做法应该是把所有的精力都放在打造一个能够解决现实世界问题的智能系统上面。在这个平台上面去逐渐实现智能,其途径无非是两点:1.明确任务目标;2,.平台上能够实现“感知-思考-行动”这个流程。而聊天机器人只是作为平台上的一个部件而已。
本文为拓扑社编译,未经同意不得转载或引用
寻求报道&合作请联系:tobshe@itjuzi.com
关注拓扑社微信:tobshe,获取更多内容哦~