【FCon上海】与行业领袖共话AI大模型、数字化风控等前沿技术。 了解详情
写点什么

从发展历史看,为何聊天机器人会变得如此火

  • 2017-08-15
  • 本文字数:3634 字

    阅读完需:约 12 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

目前,聊天机器人是科技领域的一个热门话题。它刚好处于我们沟通交流方式转折的中心地带,在微软和 Facebook 这样的主流科技公司中,它也是策略与方向的中心。微软的 CEO Satya Nadella 说:“聊天机器人就是我们的 APP。”

为什么聊天机器人这么受欢迎?

聊天机器人变得十分受欢迎,部分原因在于人工智能的复兴以及它在工业领域的应用,但也有部分原因在于我们不知满足的对按需服务的渴望,还有我们从邮件、电话转向短消息应用的习惯。一个最近的研究显示,在客户关系方面,美国消费者中 44%的人倾向于使用聊天机器人而不是人类客服,61%的被试说,他们至少每个月和聊天机器人对话一次。这是因为聊天机器人符合当下的消费者需求,它们能不分昼夜地立刻回复消费者的问题。

大品牌和科技公司已经认识到这个消费者需求方面的转变,他们现在依靠这些机器收发员和智能助手为消费者提供更好的体验。尤其是从去年 Facebook 开始向第三方机器人开放它的 Messenger 平台后,情况更是如此。

所以,随着智能助手和聊天机器人大规模的增长,与流行的信仰和媒体炒作的虚假繁荣不同,智能助手和聊天机器人的确变得没什么新奇的了。我们已经在自然语言处理社区拥有这些技术 50 多年了,智能助手和聊天机器人是自然语言处理核心使命的绝好实例,也就是说,我们给计算机编程,让它能理解人类如何沟通交流。

在这篇文章里,我们要展示三种不同的聊天机器人,让你和它们互动,并理解它们如何进步。我将给出关于每个聊天机器人工作原理的一些技术性说明,以便你了解自然语言处理如何工作。

聊天机器人

我们在这篇文章里讨论三种聊天机器人:

1. ELIZA,它诞生于 1966 年,它是自然语言处理社区中最早的已知的聊天机器人;

2. ALICE,它诞生于 20 世纪 90 年代末,正是它启发了电影《她》(Her);

3. Neuralconvo,它是诞生于 2016 年的深度学习聊天机器人,它能从电影脚本中学习如何讲话。

要知道,我们这里提到的三种机器人都是用来“聊天”的机器人,而不是“面向任务的”机器人。面向任务的机器人是为特定用途而创造的,比如检查某个物品是否有库存,或者订购披萨等。而聊天机器人的功能就只是模拟一个真人,让你能和它聊天。通过了解这些聊天机器人的进步,你将会看到自然语言处理社区是如何使用不同的方法,来复制人类沟通交流的。

ELIZA,一个心理治疗机器人

ELIZA 的第一个版本是在 1996 年由约瑟夫·魏泽鲍姆(Joseph Weizenbaum)完成的,他是麻省理工学院的教授,一个聪明的怪人,同时也被视为人工智能的创立者之一。ELIZA 模仿的是一个心理治疗师,魏泽鲍姆的同事们都信任它,并愿意向它透露非常个人化的信息,即使他们知道这是一个计算机程序。魏泽鲍姆震惊于他的同事们,因为他们如此相信 ELIZA 能帮助他们,即使知道它是计算机程序也相信,所以魏泽鲍姆在他的余生中一直倡导人工智能的社会责任。

但是 ELIZA 能模拟心理治疗师,是因为它非常聪明地用问句重复了你的话,并回复给你,就像是真正的心理治疗师会做的那样。这个聪明的策略意味着,ELIZA 能回答一个它并不理解的问题,回答的方式就是用一个相对简单的方法改写用户的输入,让它变成一个问句,这样用户就能继续保持在对话中了。

像所有的算法一样,聊天机器人需要规则来告诉它如何把一条输入改写成一条输出。对一个聊天机器人来说,输入就是你提供的文本,输出就是它返回给你作为回答的文本。仔细看看 ELIZA 给你的回答,你可以看出两个粗略的规则:

  • 在句法层面上,它会转换人称代词(将“我的”变成“你的”,反之亦然);
  • 要模仿语义上的理解,比如它假装了解你输入的句子的意思,它就要被编程为能识别出某些特定的关键词,并且回复出之前被设定好的合适的句子。举个例子,如果你输入了“我想要……”,它就会回答“如果你……那对你来说意味着什么呢?”

你可以去试试并找出 ELIZA 的局限,问它问题,并思考为什么它做出那些回答。记住:它可是 20 世纪 60 年代的产物,那时候消费者技术的顶峰就是彩色电视机而已。

这是一个完全依靠自然语言处理来建构聊天机器人的路径:机器人通过上面所说的那些规则来理解人类语言,也就是将语法规则编进计算机里。这种方法让人印象深刻,但如果你想通过自然语言处理的方法让 ELIZA 更像人类,你就必须要添加更多的语法规则,但语法是复杂且自相矛盾的,你很快会发现这样行不通。这种方法和机器学习的路径形成了鲜明对照,在用机器学习构建聊天机器人的路径中,算法将会基于它在其他对话中得出的观察结果,来猜测正确的回答。你将会在最后的聊天机器人 Neuralconvo 中看到这一点,但是首先,我们先来看看 ALICE。

ALICE,电影《她》中的明星

从 20 世纪 60 年代快进到 90 年代,你就遇到了 ALICE,第一个人们熟知的能在线交流的聊天机器人。导演斯派克·琼斯(Spike Jonze)说他在 21 世纪初得知了 ALICE 并与它聊天,这第一次让他产生了 2013 年电影《她》中的想法,这是一部讲述人和人工智能坠入爱河的故事,这个人工智能就是他的操作系统。

但就像 ELIZA 一样,ALICE 也是一个根据规则建构起来的计算机程序,接收输入并产出输出。事实上,ALICE 在以下三个方面优于 ELIZA:

  • 它以一种被称为人工智能标记语言(AIML)的编程语言编写,这种语言类似于 XML,它允许 ALICE 在更为抽象的层面上做出回应;
  • 它拥有成千上万种可能的回应;
  • 它会存储之前与用户的对话,并将对话存储在数据库中。

ALICE 是一个开源的机器人,任何人都可以下载并修改或改进它。它最初由理查德·华莱士(Richard Wallace)写成,随后有 500 多名志愿者为这个机器人做出了贡献,他们为 ALICE 创造出了 10 万多条 AIML,让它在对话中重现。

所以,和 ELIZA 相比,ALICE 的进步让它能有更多的回应方式来适应用户输入的文本,这使得 ALICE 能够模仿一个普通人,而不是专门模仿心理治疗师。问题在于,它的缺点现在更为明显了,它没有开放式的陈述和问题,对你的输入缺少回应。

所以,虽然 ALICE 和 ELIZA 相比更为先进,但它的输出依然是由人写成的,算法只是来挑选什么样的输出更适合某一输入。从根本上说,人们写出了回答,也写出了用来挑选什么回答合适的算法,这都是为了模仿一场真是的对话。

改进聊天机器人的表现和智能是一个很流行的研究领域,目前,很多改进聊天机器人的兴趣点都围绕在深度学习方面。把深度学习应用到聊天机器人上,似乎可以大规模提升机器人更像人类地和人互动的能力。ELIZA 和 ALICE 重新组织的文本都是由人类写出的,而一个深度学习机器人,在分析人类言语的基础上,能够从无到有地创造它自己的文本。

Neuralconvo,一个深度学习机器人

Neuralconvo 是在 2016 年由 Julien Chaumond 和 Clément Delangue 使用深度学习训练创造出来的现代聊天机器人,他们二人还是 Huggingface 的联合创始人。深度学习是一种训练计算机学习数据中模型的方法,它使用的是深度神经网络。深度学习在计算机科学方面取得了巨大突破,特别是在人工智能和自然语言处理方面。把深度学习应用到聊天机器人中,它就能让程序去挑选回应,甚至让程序生成全新的文本。

Neuralconvo 能自己生成文本是因为它通过读取上千部电影脚本来“学习”,并识别出文本中的模型。当 Neuralconvo 读一个句子的时候,它能识别出你语句中的模型,然后到它受训练的语句中寻找类似的模型,然后生成一句新的句子返回给你,它认为,如果这个句子在某电影脚本中是某段谈话的一部分,那这个句子也就可以接上你说的话。基本上来说,它就是以它看过的电影为基础,尽量表现得很酷。

ELIZA 和 Neuralconvo 之间最根本的区别就是:ELIZA 是被编程来用特定的回答回复你输入文本中特定的关键词的,而 Neuralconvo 则是在它看过的电影脚本的基础上进行可能性的猜测。所以,没有任何规则让 Neuralconvo 对某一问题给出特定的回答,它的回答是充满无限可能性的。鉴于 Neuralconvo 是通过电影脚本接受训练的,所以它的回复也是相当戏剧性的。

这背后发生作用的具体模型是基于序列到序列的架构,这种架构最先被应用于生成 Quoc Viet Le 和 Oriol Vinyals 的对话。这种架构由两部分组成:第一部分将你的句子编码成一个向量,它基本上就是文本的代码;当所有输入的文本都被这样编码之后,第二部分就会解码这个向量,并通过预测最有可能再次出现的单词逐字逐句地生产出回答。

Neuralconvo 并非要愚弄你,让你在任何时候都认为它是一个人类,因为它只是一个在电影脚本中受训的演示机器人。但你想象一下,如果它能够使用特定上下文的数据来接受训练,比如你自己的短信或者 WhatsApp 短消息,这样一个机器人将会是多么高效啊!这就是聊天机器人的前景,但你要记住,它们仍然是将文本视为输入,使用规则,再将不同的文本作为输出返回给你的算法。

这就是我们从 20 世纪 60 年代至今的聊天机器人之旅。

查看英文原文 An Interactive History of Chatbots


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

公众号推荐:

AIGC 技术正以惊人的速度重塑着创新的边界,InfoQ 首期《大模型领航者AIGC实践案例集锦》电子书,深度对话 30 位国内顶尖大模型专家,洞悉大模型技术前沿与未来趋势,精选 10 余个行业一线实践案例,全面展示大模型在多个垂直行业的应用成果,同时,揭秘全球热门大模型效果,为创业者、开发者提供决策支持和选型参考。关注「AI前线」,回复「领航者」免费获取电子书。

2017-08-15 17:173009

评论

发布
暂无评论
发现更多内容

备忘录模式,震撼来袭免费下载

android 程序员 移动开发

备战金九银十:BAT大厂最爱问的Android核心面试百题详细解析!

android 程序员 移动开发

大学做客户端竟连外包面试都面不过?客户端真的会两年内消失么?

android 程序员 移动开发

图片加载框架之图片加载框架选型(一)中篇,阿里P8大佬亲自教你

android 程序员 移动开发

在中国程序员是青春饭吗?,在阿里工作5年了

android 程序员 移动开发

基于-Kotlin-+-Netty-实现一个简单的-TCP-自定义协议,阿里技术专家深入讲解

android 程序员 移动开发

地狱难度!字节跳动Android高级岗:说说RecyclerView的回收复用机制

android 程序员 移动开发

备战秋招-阿里巴巴面试真题:-给你一个Demo-你如何快速定位ANR?

android 程序员 移动开发

大意了,又是 OOM ,Android 内存监控一定要注意这几点

android 程序员 移动开发

基于 Kotlin + Netty 实现一个简单的 TCP 自定义协议,kotlin扩展函数原理

android 程序员 移动开发

大牛教你详解 Activity 的生命周期,kotlin反编译工具

android 程序员 移动开发

大佬教你如何处理Android启动页黑屏,以及原理解析,android软件开发语言

android 程序员 移动开发

在腾讯从事Android 开发8年的老王,尽然在一轮裁员风暴中绊了跟头!

android 程序员 移动开发

基于RocketMq的分布式事务解决方案(1),一线互联网移动架构师Android框架体系架构

android 程序员 移动开发

基于RocketMq的分布式事务解决方案,android实战开发记账本app视频

android 程序员 移动开发

大学毕业做音视频开发,月入20K,你呢,带你全面掌握高级知识点

android 程序员 移动开发

基于MediatorLiveData实现红点的统一管理,事件分发机制怎么回答

android 程序员 移动开发

大型项目必备IPC之其他IPC方式(二)(1),移动跨平台开发框架移动

android 程序员 移动开发

太难为我这个应届生了,腾讯面试了8轮,终拿下腾讯Android测发岗offer

android 程序员 移动开发

图巨多,手把手教学Android-Studio超详细安装过程,kotlin菜鸟教程

android 程序员 移动开发

图文DEMO并茂讲解RecyclerView滑动时回收和复用触发的时机

android 程序员 移动开发

在面试中需要注意哪些问题你知道吗?(内含Android面试题

android 程序员 移动开发

复习2个月拿下美团Android岗offer,还有点不容易啊!,最新Android开发进阶

android 程序员 移动开发

大厂背书有多爽?绩效太低跳槽意外收到多份小厂受邀,面试卡壳居然还卡进了复试

android 程序员 移动开发

因为不了解Android事件分发机制,居然被实习生嘲笑了,天呐

android 程序员 移动开发

坑!页面短视频加载又卡又慢?阿里P8大佬教你两套办法秒开短视频

android 程序员 移动开发

备战2021:阿里巴巴,字节跳动,阿里+头条+抖音+百度+蚂蚁+京东面经

android 程序员 移动开发

大学做客户端竟连外包面试都面不过?客户端真的会两年内消失么?(1)

android 程序员 移动开发

国内大厂在移动端跨平台的框架接入分析,2021年一起努力应对互联网寒冬吧

android 程序员 移动开发

在-Kotlin-中使用-Dagger-会遇到的陷阱和优化方法,android开发实例大全PDF

android 程序员 移动开发

在Android中集成Flutter的学习笔记,flutter登录跳转

android 程序员 移动开发

从发展历史看,为何聊天机器人会变得如此火_语言 & 开发_Will Gannon_InfoQ精选文章