免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

NLP 迎来了黄金时代

  • 2019-11-29
  • 本文字数:3363 字

    阅读完需:约 11 分钟

NLP迎来了黄金时代

时钟拨回到 20 年前。


那一年,我以机器翻译方向的博士毕业,到几家单位应聘。当年,毕业的博士还很少。因此,应聘单位对我似乎还是网开一面,这导致我经历的应聘过程都十分轻松短暂。几个单位基本只关心两个问题:第一,“你是博士?“,第二,“你会 C++吗?“ 当得到肯定的答复之后,对方就给了 offer。虽然这么容易拿到了 offer,但其实我并不开心,因为他们并不关心我的博士研究方向,也不关心我今后做什么。我自己很不甘心也觉得不太靠谱,毕竟在专业方向上做了这么多年,丢掉实在可惜,于是我拒绝了这些 offer,选择留在了研究所继续从事 NLP 相关的科研工作。


走到今天来看,我确实是幸运的:NLP 历尽低谷,终于迎来了大爆发的“黄金”时代!


NLP(自然语言处理,Natural Language Processing)是利用计算机对人类的语言文字进行处理。由于语言文字是人类交流沟通的最基本方式,因此 NLP 也是最典型的 AI 领域之一,被誉为“人工智能皇冠上的明珠”。几百年来,多少人为了摘得这颗“明珠”,付出了艰苦的努力。个人认为,和 AI 的发展类似,NLP 的发展也同样经历了如下的三个阶段:


第一个阶段的 NLP 主要基于规则。我读博士的那几年,现在看上去好像正好处于这个时代后期(这一点纯属不成熟的个人看法。不少人仍然在继续探索规则方法。规则方法在很多领域仍然具有很强的生命力)。通过人工或者自动半自动地收集规则,机器可以完成一系列 NLP 任务。以机器翻译为例,只要输入的新句子能够匹配上事先设定或得到的规则,并且假定这些规则是正确的话,系统可能会输出一条看似还不错的结果。但如果上述任一条件不满足的话,系统可能会输出让人不知所云的结果。而自然语言太过复杂,通过有限的规则来刻画,几乎是不可能的事情。因此,基于规则的方法可能在某个特定的小领域能够取得不错的结果,一旦推广到更宽泛的领域,效果往往很不理想。


第二个阶段的 NLP 主要基于统计,更明确地说,基于数据+统计机器学习方法。 进入二十一世纪,计算机硬件能力的快速提升和数据量的增长,使得数据驱动的方法悄然成为主流。很多基于统计机器学习的 NLP 方法其实早就在基于规则的年代被人提出,但一直到这个阶段才为人广为所知、广为人用。最著名的是 IBM 的统计机器翻译模型,该模型最早提出于 1990 年,然而十几年后才真正大放异彩。正是数据+算力驱动了这一变革过程。在这个阶段的 NLP 当中,人工特征工程+统计机器学习成了很多 NLP 任务的标配。 不论是搜索引擎还是统计机器翻译,都基本如此。然而,这些传统统计机器学习的方法的一个最大问题是特征工程,即好的特征需要人类不断的探索和努力,有时归结于灵感或者只是运气,让人无法捉摸。虽然有些特定任务中的人类特征总结得还相当不错,但是一旦换一个任务这些特征可能就完全无法使用。“找特征”成了基于统计的 NLP 任务的最主要工作。


第三个阶段的 NLP 主要是基于深度学习。 本质上说,深度学习也是一种统计机器学习方法,因此这个阶段本质上也是数据+统计机器学习。但是,深度学习已经在很多领域表现优异,其名头已经盖过传统的统计机器学习。因此,说这个阶段基于深度学习毫不为过。上一个阶段最让人头疼的就是特征问题,本质上就是 NLP 的对象(字、词、短语、句子、段落、篇章等)如何表示的问题。而深度学习的最大好处就是能够自动学到对象的表示,从而避免了人工特征工程的大工作量和难以保证的结果。为了学到对象的较好的表示,深度学习方法通常一方面采用深层的神经网络方法来学习,另一方面需要更大量的数据。因此,大量硬件的投入对于这个阶段来说通常也必不可少。


尽管存在可解释性差、运算代价巨大等问题,但深度学习 NLP 带来了大量 NLP 任务效果的提升。就以机器翻译为例,统计机器翻译已经在效果上较大幅度领先于早先的规则机器翻译系统,而基于深度神经网络的机器翻译又将效果再度提高了一个台阶。在很多其他 NLP 任务上,基于深度学习的方法也基本领先于传统方法。机器翻译和机器阅读等任务甚至都号称“超过了人类”。造成这种结果的基本原因就是深度学习这个“黑盒子”似乎找到了以往人类没有发现的好用的特征,这些特征独自或者和人类提出的特征结合能够发挥出更好的效果。


这个阶段带来的一个重要变化是文本生成任务突然间成为可能。大量的自动写诗、自动写稿、自动写标题等算法系统纷涌而出,这是以往的阶段难以见到的。基于深度学习的 NLP 使得很多任务都可以抽象为编码-解码问题。表面的文本可以编码为内部的特征表示,而从特征表示又可以解码为表面的文本。这种极简抽象正好代表了 NLP 的两个任务,前者叫自然语言理解(Natural Language Understanding, NLU),后者叫自然语言生成(Natural Language Generation, NLG)。这种抽象使得很多原来没有太多办法的生成任务至少具有想象的可能。以自动摘要这一任务为例,尽管前人尝试了很多生成式摘要方法,但基本结论还是抽取式摘要方法更佳。有了深度学习之后,可以将原文编码为特征表示,然后再基于该表示生成一个更短的文本,从而得到生成式摘要。另一个任务是图文生成或文图生成,即可以根据图像来生成一篇文本,或者基于文本来生成图像,从而实现跨模态的处理。还有,如果不同语言的特征表示存在对齐的可能性(很多研究工作组都在尝试),多语言生成问题也会迎刃而解。


深度学习 NLP 带来的另一个重要变化是端到端模式的流行。 传统 NLP 任务大都基于流水线模式,即任务会逐层分解,通过多层模块之间的有序调用完成某个任务。比如传统的语音翻译过程一般为:先将输入语音转化为源文本,然后将源文本翻译成目标文本,最后将目标文本转换成语音进行输出。这种流水线方式每一个前面步骤的错误都有可能延续到后续模块,从而造成错误的级联效应。Google 于 2019 年给出了一种端到端的语音翻译方法,引起了学术界和工业界的广泛关注。从原理上来说,这种端到端的方法可以避免逐层错误传播的缺点,能够获得更好的效果。目前,很多学术机构和公司都在跟进这一具有革命性的方法。当然,端到端的模式已经在其他一些 NLP 任务中获得了较好的效果,这种直达任务的模式有可能会成为大多数 NLP 任务的新选择。


近年来深度学习 NLP 本身也出现了新变化,最典型的就是预训练+微调的任务处理方式变得十分流行。 预训练最早起源于图像处理领域,大家可以在 ImageNet 上训练出基本的模型,然后将该模型用于新任务中,而只需要对模型进行微调。这种思路也被引入到 NLP 任务中,出现了 ELMo、GPT2、BERT 等预训练模型。这种做法至少有两个好处。其一,新任务可以减少对数据的依赖,因为预训练模型是基于大量数据得到的,其中编码了大量重要信息。其二,减少了训练代价,新任务不需要从头训练。上述预训练模型取得了非常令人鼓舞的结果,很多模型在很多 NLP 任务中都取得了更好的结果。预训练模型的竞赛还一直在继续。


但基于深度学习的 NLP 方法也有很多不足。可解释性和运算代价大是这类方法的通用性问题,这里就不再展开论述。当然,也是因为可解释性问题的存在,NLP 中学到的特征表示到底表征的是什么东西目前还不太清楚,这使得深度学习 NLP 方法可控性不强。以文本生成为例,用深度学习生成人类可控的文本目前看还是个大难题。


不管如何,NLP 迎来了属于自己的黄金时代。


这个时代不仅仅有搜索、推荐、广告、信息流、社交网络等“老树开新花”的领域,也包括人机对话、机器阅读、自动写作等充满生命力的新兴领域。NLP 在内容相关的各种应用中都扮演着极其重要的角色。


NLP 技术的发展不能离开场景,场景和技术的有效结合才能充分发挥出 NLP 技术的能力。身在工业界,我每一天都为 NLP 技术和场景的各种可能组合激动不已。终于等到你,还好我没放弃!


作者介绍


王斌博士,小米人工智能实验室主任,NLP 首席科学家。中国中文信息学会理事,计算语言学、信息检索、社会媒体处理、语言与知识计算等专委会委员及《中文信息学报》编委,中国计算机学会中文信息处理专业委员会委员。加入小米之前,在中科院计算所、信工所从事自然语言处理和信息检索相关的科研工作,任中科院博导、研究员,中科院大学教授。发表学术论文近 150 篇,科研成果获得国家科技进步二等奖 2 项,省部级科技奖 3 项。是 SIGIR、CIKM、ACL、IJCAI、AAAI、WWW 等会议的程序委员会委员。


延伸阅读:


《小米 NLP 首席科学家王斌:NLP 在落地、商业化方面进展慢是假象》


2019-11-29 08:0020816
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 529.0 次阅读, 收获喜欢 1975 次。

关注

评论 6 条评论

发布
用户头像
不错
2019-12-15 19:51
回复
用户头像
2019-12-09 11:35
回复
用户头像
你只讨论学术我非常赞同对NLP的现状分析,但是商业面抛开成本来谈NLP解决方案的,我只能认为是居心叵测。不要让NLP再来一次五代机灾难,至少别在中国搞成灾难。
2019-12-09 09:14
回复
用户头像
有幸加入王老师团队,又学到很多!
2019-12-06 11:23
回复
用户头像
王老师深入浅出,梳理了NLP技术的历史沿革,赞~
2019-12-06 09:56
回复
用户头像
大佬讲的很好
2019-12-03 12:13
回复
没有更多了
发现更多内容

ETH以太链丨BSC币安链智能合约系统开发部署

V\TG【ch3nguang】

以太坊 币安智能链

轻量应用服务器和云服务器的区别

天翼云开发者社区

服务器 云服务器

Footprint Analytics 与 GasZero 达成合作,将打造 “0 Gas” 区块链生态系统的未来

Footprint Analytics

区块链 web3

浪潮信息 KeyarchOS 助力 IT 企业安全管理业务完成 CentOS 迁移替换 | 龙蜥案例

OpenAnolis小助手

开源 操作系统 IT 浪潮信息 龙蜥案例

判断LED显示屏的质量指南

Dylan

性能 质量 环境 LED显示屏

业财融合背景下,全面预算管理的发展之路

智达方通

业财融合 全面预算管理 全面预算管理系统 企业全面预算管理

说点大实话丨知名技术博主 Kirito 测评云原生网关

阿里巴巴云原生

阿里云 微服务 云原生

生成式AI:游戏研发的革命者

百度开发者中心

游戏开发 #人工智能 生成式AI 文心一言

隐语小课|私有信息检索(PIR)及其应用场景

隐语SecretFlow

AI 数据安全 隐私计算 开源社区 数据要素

和鲸科技为临床医学科研场景打造可供多角色协同的低代码研究平台

ModelWhale

人工智能 低代码 数据科学 在线编程 临床研究

生成式AI技术原理与应用

百度开发者中心

#人工智能 生成式AI 文心一言

安全可信| 首批!通过两项算力调度能力评估!

天翼云开发者社区

云计算 云服务

避坑PCB的常见设计问题

华秋电子

PCB

九科信息成功签约中咨数据有限公司RPA项目

九科Ninetech

使用EF Core更新与修改生产数据库

高端章鱼哥

EF Core .net6

共享服务器的复杂性与核心原理

天翼云开发者社区

服务器

一劳永逸,解决.NET发布云服务器的时区问题

互联网工科生

.net 云服务器 时区

量化智能机器人开发,炒币机器人功能部署搭建

V\TG【ch3nguang】

量化交易机器人开发 炒币机器人

关于工厂数字孪生应用实例的解析

3DCAT实时渲染

数字孪生 实时渲染

质押挖矿模式系统开发,矿池系统部署搭建

V\TG【ch3nguang】

挖矿矿池系统开发案例 质押挖矿

SphereEx DBPlusEngine - 更全面、更便捷的 ShardingSphere 商业版功能全览

SphereEx

数据库

低成本生成式AI:引领未来内容创作新篇章

百度开发者中心

#人工智能 生成式AI 文心一言

生成式AI掀起创意新革命

百度开发者中心

#人工智能 AI作画 生成式AI 文心一言

5分钟,结合 LangChain 搭建自己的生成式智能问答系统

字节跳动云原生计算

大数据 云搜索

10倍性价比,万物新生基于 StarRocks 无缝直替 Trino

StarRocks

数据库 数据仓库 StarRocks trino

基于 Argo CD 与 Argo Workflows 的 GreptimeDB 云端自动化升级实践

Greptime 格睿科技

rust 时序数据库 云原生数据库 国产时序数据库 自动升级

基于云原生网关的流量防护实践

阿里巴巴云原生

阿里云 云原生

Dropzone 4 for Mac(文件拖拽操作增强工具) 4.6.8中文激活版

mac

苹果mac Windows软件 Dropzone 4 文件管理器

钱包量化多币种质押挖矿系统开发合约源代码详情

V\TG【ch3nguang】

钱包系统开发 质押挖矿

购买矿机产出代币模式系统开发搭建

V\TG【ch3nguang】

代币 挖矿矿池系统开发案例

NLP迎来了黄金时代_AI&大模型_王斌_InfoQ精选文章