Agentic AI、具身智能、强化学习框架、端侧大模型……来QCon上海站,感受AI的未来! 了解详情
写点什么

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:0021119
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论 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
回复
没有更多了
发现更多内容

基于YonGPT 的智能招聘,全新的数智化招聘体验!

用友BIP

企业服务大模型 YonGPT

火山引擎DataLeap的Data Catalog系统搜索实践 (上)

字节跳动数据平台

数据中台 数据治理 数据安全 数据研发 企业号 8 月 PK 榜

现代化税收征管的“四精”目标 科学技术发挥关键作用

用友BIP

税务管理

瓴羊QuickBI,助您加速企业转型,免费试用

巷子

如何在 React 18 中使用 useSyncExternalStore

汽车之家客户端前端团队

js React ts

打包自己的Python应用并上传到PYPI

Rayzh

Python

《云管理产品与服务图谱(2023)》发布!MIAOYUN荣登【运维平台】板块

MIAOYUN

云计算 运维平台 云管理平台 云管理 云管理产品与服务图谱

腾讯云 ES 重磅推出,一站式全托管的自治索引终于来了!

腾讯云大数据

ES

如何正确使用 ThreadLocal,你真的用对了吗? | 京东云技术团队

京东科技开发者

内存泄露 ThreadLocal 源码剖析 企业号 8 月 PK 榜

华为开发者大会2023即将召开 主题演讲多平台线上直播

最新动态

关于自动限流的思考 | 京东云技术团队

京东科技开发者

限流 企业号 8 月 PK 榜 自动限流

瓴羊QuickBI在国内bi厂商中名列前茅,并展现出色的表现。

流量猫猫头

SUSECON 深圳 2023 创新峰会开启报名

Rancher

AB实验遇到用户不均匀怎么办?—— vivo游戏中心业务实践经验分享

vivo互联网技术

AB实验 分层抽样 用户不均匀 事前用户分层

可视化分析30天免费,瓴羊Quick BI助力企业转型

流量猫猫头

基于 Flink & Paimon 实现 Streaming Warehouse 数据一致性管理

Apache Flink

大数据 flink 实时计算

突破传统监测模式:业务状态监控HM的新思路 | 京东云技术团队

京东科技开发者

架构设计 业务监控 企业号 8 月 PK 榜 监测模式

香港云主机的优势,为何成为新一代网站托管首选?

一只扑棱蛾子

云主机 香港云主机

百度搭台,千家打擂,文心杯创业大赛成投资人新宠?

热爱编程的小白白

Flink Unaligned Checkpoint 在 Shopee 的优化和实践

Apache Flink

大数据 flink 实时计算

Next.js 13.4版本更新内容~

汽车之家客户端前端团队

SSR next 服务端预渲染

北京信息化协会信息技术应用创新工作委员会一行到开放原子开源基金会交流学习

开放原子开源基金会

开源 开放原子开源基金

大模型驱动软件2.0

汽车之家客户端前端团队

大模型

山东布谷科技iOS端分析直播app源码秒开技术(二):缓冲功能

山东布谷科技

软件开发 ios 开发 首帧秒开 缓冲 直播APP源码

GPU 容器虚拟化新能力发布和全场景实践

百度Geek说

人工智能 企业号 8 月 PK 榜

面试 JVM 一问三不知?看这篇就够

java易二三

Java 编程 程序员 计算机

Gartner首发中国数据、分析与人工智能技术成熟度曲线,柏睿数据入选实时数据管理典型厂商

新消费日报

IoT 场景下 TimescaleDB 与 TDengine 的性能对比测试报告出炉!点击查看

爱倒腾的程序员

数据库

🔥对线面试官-线程入门第一课

派大星

线程 Java 面试题

低代码开发工具到底是给“谁”用的?

优秀

低代码开发工具

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