阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

    阅读完需:约 12 分钟

目前,聊天机器人是科技领域的一个热门话题。它刚好处于我们沟通交流方式转折的中心地带,在微软和 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 )关注我们。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2017-08-15 17:172855

评论

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

大厂面试必须掌握的 Linux 性能优化题

倪朋飞

Linux 面试 性能优化

区块链的创新技术给奢侈品行业带来了新的机会

CECBC

奢侈品

量化策略系统搭建,马丁策略交易软件

专科出身,2年进入苏宁,5年跳槽阿里,论我是怎么快速晋升的?

钟奕礼

Java 编程 程序员 架构 面试

源中瑞智慧平安社区--为平安生活助力

13530558032

Java高级研发:2021阿里天猫、中间件、蚂蚁金服JD要求+面题答案

钟奕礼

Java 编程 程序员 架构 面试

Golang 泛型浅析

D

开源 云原生 编译器 语言 Go 语言

朱嘉明:《量子时代和数字经济2.0 》推荐序

CECBC

数字经济

EGG NETWORK阿凡提以“自由匿名竞价”流通市场EFTalk

币圈那点事

区块链电子合同签署平台搭建,区块链电子存证解决方案

13828808769

区块链+ #区块链#

DevEco Studio 2.1 Beta3强势来袭

Geek_283163

华为 鸿蒙 开发

探索js让你的网页“自己开口说话”

云小梦

JavaScript 音视频 audioContext API

4K Video Downloader V6.1.50 版本正式发布

科技猫

产品 软件 行业资讯 开发日志 发布

4月日更挑战|初夏开更,新人领书

InfoQ写作社区官方

4月日更 热门活动

美团点评高级1234面:算法+HashMap+Zookeeper+线程+Redis+kafka

钟奕礼

Java 编程 程序员 架构 面试

2021阿里面试通关手册必备:5000字面经解析(技术/攻克)

比伯

Java 架构 面试 程序人生 计算机

公安合作作战指挥中心,情报分析研判系统建设

百家号在线视频编辑器的技术演进

百度Geek说

大前端

访问控制相关概念及常见模型

龙归科技

身份和访问管理

历史命令被黑客删除?教你实时备份

运维研习社

Linux 4月日更 服务器安全

区块链电子印章签约平台的搭建,区块链电子签约解决方案

13828808769

区块链 #区块链#

Redis-技术专题-数据日志持久化

洛神灬殇

redis 持久化 aof rdb

大厂面试必问!Android彻底组件化方案实践方法!面试总结

欢喜学安卓

android 程序员 面试 移动开发

安卓开发从零开始!分析Android未来几年的发展前景,安卓系列学习进阶视频

欢喜学安卓

android 程序员 面试 移动开发

勇做全球区块链“分布式存储”领航

CECBC

分布式

Redis 期中测试

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

gorm源码阅读之schema

werben

Go 语言 gorm

架构培训作业

肖春

架构师训练营

WebRtc学习之旅 —— 初认识

小驰笔记

WebRtc学习之旅 —— Android端应用开发

小驰笔记

区块链电子合同--赋能企业数字化转型

13530558032

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