内容概况:
主要讲述NLP专栏的内容和NLP的发展及其在现代生活中的广泛应用。课程强调实践为主、理论为辅的学习方法,并通过多个生活场景展示了NLP技术的实际应用,如对话机器人、搜索引擎、翻译软件、电商推荐和智能客服等。
这边我就不多做自我介绍了,来讲下我们的专栏。这系列专栏主要讲解nlp的基础运用。主要会以实践为主、理论为辅的方式讲解主体内容。先解释下何为以实践为主、理论为辅,就是在篇章中重实践、轻概念化讲解理论。
因为NLP专栏包含诸多理论,如NLP本身以及机器学习、深度学习的很多理论,这些理论又多又杂。若单纯从理论开始讲,很多内容用不到,而且计算机科学是实践科学,需大量动手练习来提升能力。所以只有多练、多尝试、多思考,才能有好效果。
当然,我们的专栏也并非没有理论讲解,只是会点到为止,不会大面积推导公式。若大家对公式推导的理论感兴趣,可自行学习。在这系列专栏中,还是希望大家动起手来,按照已有代码多去练习、多去敲,这样或许能有代码的感觉,也多去思考,这样学习这门专栏可能会比较轻松
好,话不多说,我们开始这篇文章的日志。今天的主要是 nlp 概述,我们将从 nlp 的发展历史、重要人物、任务分类以及框架和会议介绍等方面,比较笼统地介绍一下 nlp 是什么、它可以做什么以及它是如何发展过来的。
首先,我们来看一个场景。假设有一个对话机器人,比如明天是周末,你想睡个懒觉,可以通过对话机器人设置闹钟。这在目前的生活中是比较常见的画面。大家看到这个场景后,脑海中应该会浮现出这样的画面。不过,可能目前你还没有直接用言语吩咐设备进行调整的习惯,但你可能经常使用搜索引擎。搜索引擎就是 nlp 的一个常见落地场景,还有我们常见的翻译软件。近些年,翻译软件做得越来越好,比以前强多了。不知道大家很久以前是否也用过类似的软件,以前的翻译软件比较机械,整句话翻译效果很差,现在则好很多。或者在网络购物的电商场景中,商品推荐也是 nlp 的落地场景,它可能需要用到自然语言知识,解析当前商品,再从库里找到相似商品推荐给用户,当然也可能会用到一些其他信息,比如用户特征等。还有比较常见的智能客服,目前我们见到的智能客服越来越多,以前客服主要以人工为主,现在一般由智能客服引导,若解决不了问题,用户输入 “人工客服” 四个字,就会自动转接人工客服。智能客服在我们生活中非常常见,它节省了公司很大的人力成本。可以说,随着我们使用的终端 APP 和各种产品越来越多,其中覆盖了非常多的 nlp(自然语言处理)应用。所以,我们说 nlp 发展的黄金时代已经到来。
那么,nlp 到底是什么呢?nlp 的英文全称是 national language processing,指的是计算机理解并处理人类的语言,也指实现人与计算机之间用自然语言进行有效沟通的各种理论方法。从本质上讲,我们想象中的人工智能,即有一个机器人可以与我们实现对话,其实本质就是 nlp 研究的核心内容,就是让计算机理解我们的语言,再通过计算机的逻辑回复我们。这就是 nlp 的主体内容。
今天,我们从五个方面来讲 nlp 的概述,分别是发展历史、关键人物、任务分类、框架介绍和会议介绍。先来看看发展历史。讲述 nlp 的发展历史,我将以时间线为轴,描述 nlp 或者说 AI 这门学科的几次兴起与没落。首先,nlp 相关的初始阶段在 20 世纪初,日内瓦大学的费南迪德教授提出了一种将语言描述为系统的方法。他是一位语言学家,想把语言变成结构化的东西。当时他主要考虑的是,如果能把语言变成结构化的东西进行处理和理解,那么不同语言之间的交互行为或翻译行为就会得到很大改善。很多人认为他是近代自然语言之父,他提出的把语言结构化的想法对后来 nlp 自然语言处理的很多概念起到了很大的推动作用。
接着,在 1950 年,图灵发表了一篇论文,名为《机器如何思考》。在这篇论文中,他探讨了机器怎样去思考,提出了真正具有智能机器的可能性。随后,在 1952 年,他正式提出了非常有名的图灵测试。如果一台机器能够与人类展开对话,并且能被 30% 以上的人类无法判别出其身份,即 30% 的人不知道它是机器人,以为它是真人,那么就说明这个机器具有人类智能。2014 年,一个俄国的智能机器人通过与人类的对话,其中 30% 以上的人无法知道它是一个机器人,以为它是一个 13 岁的小男孩,所以我们认为已经通过了图灵测试。但值得思考的是,即使现在已经通过了图灵测试,那个智能机器也不是真正具备人工智能的机器。首先,它局限于一个 13 岁的小男孩,问答范围和理解范围有限,并没有达到我们所理解的智能范畴。
我们认为,上个世纪 50 年代以来,人工智能的初始已经出现。兴起则是在 1956 年,达特茅斯学院举办了达特茅斯会议。这个会议非常有名,讨论的是如何让机器模仿人类学习以及具有一定的智能。一般认为这个会议标志着人工智能概念的诞生。这个会议出现的人物都很出名,基本上看到名称就能想起对应的数学公式。1958 年,达特茅斯会议的发起人麦卡锡在 IBM 工作时,带领一群麻省理工的学生开发了一门全新的表处理语言叫 LISP,它是 list processing 的缩写。它就是表处理语言嘛,你看,在 1958 年之前的编程语言以及计算机都比较简陋,不支持表处理。而 LISP 增强了符号的运算以及符号的推理,深受当时数学家的喜爱。它具备强大的数学能力,为后续的计算以及简单的人工智能探索奠定了基础。因此,LISP 被认为是人工智能的母语。如今看来,LISP 的架构形式与我们目前的编程语言不太一致,其想法在当下仍显得有些前卫。有兴趣的同学可以去查阅一下 LISP。
在 1964 年,随着 50 年代的兴起,到 60 年代后,NLP 走到了低谷时期。这一年出现了第一个智能对话程序 ——eliza。eliza 的实现方式较为简单,通过对句子的排列组合、语法规则以及设定好的规则,可以实现与人类的简单交流。这种交流非常简陋,可能现在随便写个代码都能实现。但要注意,这是在 1964 年,能做出这样的东西已经非常厉害了。早期的 Siri(苹果手机的对话系统),如果你问它 eliza 是谁,它可能会告诉你 eliza 是它的前辈。上世纪 60 年代后,由于计算能力的限制,尽管大量经费投入到 NLP 方向以实现人工智能,但得到的反馈并不好,人们对人工智能的预期和信心都下降了,所以 NLP 乃至 AI 都陷入了低谷时期。
随着 80 年代的到来,我们熟知的 SVM、LR 等初期机器学习模型出现了。在这个时间节点附近,卡内基梅隆大学召开了第一届机器学习国际研讨会,标志着机器学习的兴起,也意味着 AI 的再次回归。随着 80 年代后期机器学习模型的出现,感知机也问世了。人们开始探索多层感知机是否可以堆叠,随着 BP 反向传播算法的出现,多层感知机得以搭建,深度神经网络也有了雏形。与此同时,树模型也发展得比较火热,随着 ID3、C4.5 的出现,树模型在那个时候备受关注。可以认为,NLP 或者说 AI 再次兴起。不过,这里还有一些小故事。在 1980 年,专家系统非常火爆,可能一些上了年纪的朋友听说过。专家系统认为,使用专家构建的知识库加上推理机,可以做非常智能的事情,比如在金融领域和农业领域。在当时看来,它确实能解决很多问题,但专家系统的构建非常费力,维护成本也很高。尤其是当所在领域发生重大变革时,整个专家系统可能需要重新构建。因此,随着巨额支出和维护成本的增加,专家系统逐渐没落并被遗忘。但实际上,专家系统在很多领域目前仍有一定应用,所以很多人认为专家系统的兴起与衰落也是 AI 第二次的兴起与衰落。
我们来看一下第三次的兴起热潮。可以认为是从 97 年开始,也可以说是从 2000 年开始。1997 年,深蓝首次战胜了棋王卡斯帕罗夫。深蓝的主要策略是遍历策略,因为象棋棋盘大小有限,深蓝通过对每一步的遍历,背后可能有一个非常庞大的棋谱知识库,通过这种方式寻找最优的下一步,从而战胜了棋王。当时有人认为,由于象棋棋盘较小,所以可以通过遍历寻找最优解。而围棋棋盘及其遍历组合数甚至比当时已知宇宙的星星数量都多,计算机永远不可能战胜围棋选手。当然,我们现在知道,在 2016 年,围棋棋王也被打败了。后面我们还会介绍这件事。
我们还要介绍一个东西,即新一波热潮的引领者。在 2006 年到 2009 年期间,华裔教授李飞飞带领团队搭建了一个ImageNet 数据库。这里需要介绍一下这个数据库,它是一个图片数据库,最后收录了 1500 万张图片,并将这些图片分为大约 22000 多个类别。
为什么要有一个图片分类的类别呢?
我们可以思考一下,人类认知世界就是一个分类过程。假设你现在在看我的视频,你盯着屏幕,旁边放着一个杯子,里面有水。你看了一眼这个东西,认为这是一个杯子,这是你的杯子。为什么它是杯子呢?人类的认知和理解是通过认知和推理知道它是杯子的。但本身我们认识这个东西就是一个分类过程,因为我们知道这个是杯子,而旁边这个东西是床、床头柜或者桌子。这本身就是一个对立的分类问题。所以,李飞飞教授他们搞了这么庞大的图像分类数据集,就是想用来做图像分类。如果电脑能够做图像分类,知道这个是杯子,那个是桶,这个是桌子,那它就相当于有了一部分人工智能。在 2010 年,他们依靠这个数据集举办了ImageNet 挑战赛,一共连续举办了七年。这个挑战赛非常有价值,引领了新一轮深度学习 AI 的热潮。为什么这么说呢?因为在 2012 年之前,挑战赛没有使用所有的图片。它在里面选取了大概 150 万张图片,做千分类。在 2012 年之前,机器的最佳效果正确率大概在 70% 左右,错误率在 25% 到 30%,或者以前可能更低。但在 2012 年,当时的 hinton 和他的徒弟 Alex 提出了 Alex net 这样一个由 CNN 为架构的深度神经网络模型。首次的把这个比赛的分类项目(其实还有其他项目),**在 2012 年的时候,其 top5 的错误率达到了 15% 左右,直接领先了第二名大约十个点左右,在整个计算机视觉领域引起了轩然大波。**人们突然发现,哇,居然有这么强大的东西。那为什么这个深度学习模型的架构这么强呢?随着这股热潮引领之后,各大我们熟知的主力公司都开始入驻 image net 大赛,比如 Google、微软等一系列公司。在 2014 年的时候,Google 提出了 google net inception 模型(inception net),把错误率提到了 6.66 点七的水平。如果机器去分类图片,错误率在 6% 左右意味着什么呢?**意味着它跟人的能力已经类似了,一个人做图片分类也会有误差。**在 2014 年把错误率逼近到了 6% 左右。2015 年,微软提出的 res net(残差神经网络),理论上可以叠无限层。使用这样的图片分类模型,把计算机的错误率提到了 3% 点儿几,说明目前计算机去做 ImageNet 数据集上的图片分类任务已经超过人类。
在这之后,为什么连续七届的比赛不再举办分类项目了呢?实际上,人们认为计算机在分类项目上已经全面超越人类,不需要再做下去了。那之后又做了一些语义分割、图片理解之类的比赛。这个比赛在这一轮 AI 的兴起上意义非常重大,从图像分类作为切入点,引入了很多图像处理界的大公司加入,让人们突然认识到以深度神经网络为首的模型在图像领域可以超越人类,很不可思议。
随着到 2016 年之后,阿尔法狗和李世石的世界围棋大战,阿尔法狗赢了。这次的反响比之前深蓝战胜人类棋王的反响大很多。人类一直不认为计算机能在围棋上战胜人类,而且阿尔法狗发展非常快,在两年前(2014 年)计算机围棋刚刚起步,连一般选手都打不过,三年后就可以打败棋王。它融合了减值策略和强化学习,可以不断训练变强。这次比赛推动了 AI 风口的到来,阿尔法狗及其后续版本在国内围棋界引起轩然大波。后来 Google 把阿尔法狗的后续版本放到腾讯 QQ 游戏的围棋对战平台,横扫了国内厉害的围棋选手。现在基本上可以认为人类在围棋上很难打败人工智能。
说完这个热潮之后,2018 年,随着之前 NLP 的经验积累,Google 发布了以双向 transformer 为基础模型的大规模预训练语言模型 BERT。如果大家来上这门课,可能对 BERT 比较熟悉。BERT 确实使 NLP 的基础任务都得到了较大提升,NLP 开启了全面的预训练时代。在 16 年到 18 年这个节点,很多做科学研究的以及很多公司都从图像领域转接到了 NLP 领域。因为图像领域经过前些年的发展,基本上已经形成了一定的规模,很多方法论和模型已初步具备工业落地的能力,学术上的研究就变得没有那么火热了。而 NLP 在 16 年到 18 年逐渐开始起步,18 年 BERT 出来之后逐渐变得火热起来。
这其实就是人工智能或者说 NLP 的发展历史,可以发现这个发展历史是几次潮起潮落,在不断的前行中发展到了目前为止。前些年还有人说这轮 AI 是泡沫,是空谈,人工智能没有那么智能。在这里我也有一个自己的想法想表达。我们进入互联网时代已经有 20 多年了,20 多年的互联网时代给我们积累了大量的数据,我们一定会从大量数据里面去寻找特征,去优化我们目前已有的服务和生活,**AI 就是在这样的前景里诞生的。它其实可以不叫 AI,可以叫数据处理、数据挖掘等很多东西。但我认为在数据达到一定程度之后,我们一定会去运用数据去寻找规律,提升我们的产品和服务水平,这样的话 AI 一定会诞生的。**所以我个人非常看好目前我们做的这些东西的前景,因为它可能不是真正的人工智能,也不是我们想象中的智能机器人,但它可以渗透于各个行业,在各个行业里提供便利,减少人工成本,提高用户体验或趣味性等,它可以助力行业发展,而且覆盖的面非常广,只要是有数据积累、需要数据的行业它都可以发挥作用。
下一章节内容 关键人物故事分享