全景图!最近20年,自然语言处理领域的发展

夕小瑶科技说 原创
作者 | 小戏、Python
最近这几年,大家一起共同经历了 NLP(写一下全称,Natural Language Processing) 这一领域井喷式的发展,从 Word2Vec 到大量使用 RNN、LSTM,从 seq2seq 再到 Attention,Transformer,Bert,直到现在的大模型 GPT-4。作为理解、生成与处理自然语言这一人类生活、交流的核心工具与信息共享的重要载体,计算语言学家早在上世纪五十年代就从“计算”的视角开始关注使用“机器”对自然语言进行处理。而伴随着各种技术的逐步成熟,NLP 这一领域蓬勃发展欣欣向荣,以 ACL 收录为例,从 1952 年至今,已经发表了超过 80000 论文:

伴随着出版物的增加,NLP 领域也发展成为了拥有多个不同分支,由不同子领域子学科共同构成的大领域大学科,过去可能有不少综述 NLP 历史,梳理 NLP 发展脉络的文章、综述,但是很遗憾很少有从一个空间的角度对 NLP 广泛铺开的领域进行概述的研究。
而今天介绍的这篇由德国慕尼黑工业大学出品的论文,便对最近 20 年 NLP 研究领域进行了一个详尽系统的分类与综述,帮助大家站在一个上帝视角,概览 NLP 360 度的全景图。作者希望通过这样的工作,可以帮助任何一个 NLP 领域的学者、从业者、实践者以及初学者识别 NLP 的研究趋势,帮助研究社区弥补现有的空白,以更好的探索 NLP 中的各种研究领域。
论文题目:
Exploring the Landscape of Natural Language Processing Research
论文链接:
https://arxiv.org/pdf/2307.10652.pdf
GPT-4能力研究传送门(遇浏览器警告点高级/继续访问即可):
https://gpt4test.com
1. NLP 究竟包含哪些子领域?
要说 NLP 的子领域,随口一提就可以想到许多,从机器翻译到情感分析,从信息检索到文本生成,但是要以一套结构化的体系完整的概述 NLP 领域的分类法,可能就并不是一件那么轻松的工作。
而论文作者在参考 ACL、EMNLP、COLING 以及 IJCNLP 等 NLP 领域主要会议网站上列出的最近几年的投稿主题,以及 ACL Anthology 中包含的研讨会的主题,及 EMNLP 2022 中 828篇论文的研究领域,构建了初版的 NLP 领域分类法,同时为了尽可能全面完整的构建 NLP 研究领域的方方面面,作者又与 NLP 不同领域的专家进行了 20 余次一对一的访谈,根据访谈结果以及对初版分类的修订与完善,作者构建了这样一套 NLP 研究领域分类法如下图所示:

可以看到,作者共将 NLP 分为了 12 个大领域,包含多模态(Multimodality)、自然语言交互( Natural Language Interfaces)、语义解析(Semantic Text Processing)、情感分析(Sentiment Analysis)、句法分析(Syntactic Text Processing)、NLP 中的认知语言学分析(Linguistics & Cognitive NLP)、可解释 NLP(Responsible & Trustworthy NLP)、逻辑推理(Reasoning)、双语(Multilinguality)、信息检索(Information Retrieval)、信息提取与文本挖掘(Information Extraction & Text Mining)、文本生成(Text Generation)。
通过这套分类法,作者使用半人工半自动的标注方式构建了一个包含 178521 篇论文领域标注的训练集,并且训练得到了一个弱监督的论文领域分类器,通过此分类器,作者分类得到了 1952 年至 2022 年 ACL Anthology 中包含的所有共计 74279 篇论文作为最终的分析研究对象。
2. NLP 研究领域的发展脉络?
虽然 NLP 最早的论文出现在 1952 年,但是其论文数量至 2000 年才开始缓慢增长,从 2000 年至 2017 年,NLP 的研究数量增加了四倍,而在接下来的五年中,NLP 的研究数量又翻了一番,这表明这五年 NLP 领域得到了爆炸式的发展,而根据作者构建的论文领域分类集,作者研究了 NLP 中最受欢迎的研究领域(Fos)的发展与变化情况:

可以看到机器翻译与语言模型是 NLP 文献中最受欢迎的研究领域,但是这两个领域的发展变化有着十分明显的区别,机器翻译是一个经过深入研究,已经被建立了许多年的研究论文,发文数量以及增长率都相对平稳,而语言模型虽然也经过了长时间的研究,但是其出版数量直到 2018 年才开始显著增长,在关注其他 NLP 的领域时也可以看到类似的情况,表示学习与文本分类虽然研究广泛,但是增长率没有显著变化,而对话系统以及低资源 NLP 则在近期获得了非常高的增长率。

而整个 NLP 的研究领域中,也出现了经典的二八法则,大多数 NLP 领域的研究程度显著低于这些最受欢迎的 NLP 领域的研究程度,似乎 NLP 研究的发展主要来自于热门领域与应用的驱动,但是总体而言,NLP 所有领域的研究都在保持正向增长。
3. 什么才是 NLP 研究的未来?
所谓知古方能鉴今,根据整个 NLP 领域的研究发展,作者又探究了 NLP 各个领域的研究趋势并探索了 NLP 领域未来的发展方向:

首先,作者采用矩阵式的方式绘制了从 2018 年到 2022 年 NLP 相关的各个 FoS 的文章数量-增长率矩阵,增长率高且总体文章数量的较多的研究领域属于 NLP 中的“明星”产品,可以看到,占据 NLP 舞台中心的领域包括语言模型、可解释性 NLP、低资源 NLP等,而类似机器翻译、文本分类与表示学习则由于其高的文章数量与低的增长率成为了 NLP 研究的基础,值得关注的还有一部分保持高增长率与低文章数量的研究领域,比如段落检索、风格转换、代码生成等,这些研究领域虽然近期热度高涨,但是由于文章数量较少无法得到明显的进一步发展趋势的判断。

利用创新扩散理论,作者绘制了 NLP 研究领域的创新生命周期图如上图所示,从上图可以看出,语义解析领域已经基本步入了夕阳,接近创新生命周期的衰落期,而机器翻译、表示学习与文本分析整体虽然都比较受欢迎,但是其已经过了创新生命周期从成熟到衰落的拐点,发展速度目前正在减缓。而可解释性 NLP,多模型以及自然语言交互等领域正处于快速发展期,在未来的研究中很有可能开始加速,而作为明星产品的绿色 NLP 正值当打之年,未来可能会迎来爆发。
总结与讨论
尽管当下伴随着大模型的横空出世,似乎许多 NLP 问题都一夜之间变成了已经被解决的问题,这篇文章很合时宜的指出,伴随着 NLP 使用模型越来越大,模型参数量直逼天文数字,与之伴生的计算成本问题、环境问题以及伦理问题有可能成为未来 NLP 研究的主流。
伴随着一个领域的快速发展,可以宏观的全景的对一个领域有一个全面的理解是一件相当困难的事,而这篇通过收集、分类与判断以呈现领域结构化概述的工作可能对我们更加明确的了解我们身处的这个领域会非常有帮助吧!

相关文章:
全景图!最近20年,自然语言处理领域的发展
夕小瑶科技说 原创 作者 | 小戏、Python 最近这几年,大家一起共同经历了 NLP(写一下全称,Natural Language Processing) 这一领域井喷式的发展,从 Word2Vec 到大量使用 RNN、LSTM,从 seq2seq 再到 Attenti…...
Mybatis参数传递
Map传参, #{}里的key要一一对应不能乱写,如果不存在则会填充NULL,不会报错 Map<String, Object> map new HashMap<>(); // 让key的可读性增强 map.put("carNum", "103"); map.put("brand", "奔驰E300L&…...
手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【2】
😀前言 手动实现 Spring 底层机制的第2篇 实现了任务阶段一编写自己 Spring 容器-准备篇【2】 🏠个人主页:尘觉主页 🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的…...
部署模型并与 TVM 集成
本篇文章译自英文文档 Deploy Models and Integrate TVM tvm 0.14.dev0 documentation 更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 本节介绍如何将 TVM 部署到各种平台&…...
Android Navigation 导航切换fragment用法
对于Android Navigation组件的导航到Fragment,您可以按照以下步骤操作: 首先,在您的项目的build.gradle文件中添加Navigation依赖: dependencies {def nav_version "2.3.4"implementation "androidx.navigation…...
Anaconda Prompt使用pip安装PyQt5-tools后无法打开Spyder或闪退
艹!MLGBZD! 真TMD折腾人! 出现原因: 首次安装完Anaconda3-2023.07-1-Windows-x86_64.exe后首次打开Spyder,此时是没有问题的,然后打开Anaconda Prompt,查看有哪些包,pip list 这时候开始首次安…...
【jvm】jvm整体结构(hotspot)
目录 一、说明二、java代码的执行流程三、jvm的架构模型3.1 基于栈式架构的特点3.2 基于寄存器架构的特点 一、说明 1.hotspot vm是目前市场上高性能虚拟机的代表作之一 2.hotspot采用解释器与即时编译器并存的架构 3.java虚拟机是用来解释运行字节码文件的,入口是字…...
通达信波段选股公式,使用钱德动量摆动指标(CMO)
钱德动量摆动指标(CMO)是由图莎尔钱德发明的,取值范围在-100到100之间,是捕捉价格动量的技术指标。该指标计算近期涨幅之和与近期跌幅之和的差值,然后将计算结果除以同期所有价格波动的总和。本文的波段选股公式使用均线识别趋势,…...
家电维修小程序开发指南:从零搭建到上线
随着科技的发展和人们生活水平的提高,家电已经成为人们生活中不可或缺的一部分。然而,随之而来的是家电维修门店业务的繁忙和效率的考验。为了提高家电维修门店的效率和服务质量,建立一个便捷高效的小程序已成为必要的选择。 本文将介绍一个简…...
玩赚音视频开发高阶技术——FFmpeg
随着移动互联网的普及,人们对音视频内容的需求也不断增加。无论是社交媒体平台、电商平台还是在线教育,都离不开音视频的应用。这就为音视频开发人员提供了广阔的就业机会。根据这些年来网站上的音视频开发招聘需求来看,音视频开发人员的需求…...
python 变量赋值 修改之后 原值改变
python 是一种动态语言,因此变量的类型和值 在运行时均可改变。当我们将一个变量赋值给另一个变量时,实际上是将变量的引用地址传递给新的变量,这意 味着新旧变量将指向同一个位置。因此,在更改其中一个变量的值时,另一…...
拂袖一挥,zipfile秒列zip包内容
使用wxpython列出文件夹中的zip文件及内容 最近在做一个文件管理的小工具,需要列出选择的文件夹下的所有zip压缩文件,并在点击某个zip文件时能够显示其中的内容。为此我使用了wxpython来实现这个功能。 1. 导入需要的模块 首先导入程序需要的模块: import wx import os imp…...
InnoDB文件物理结构解析2 - FIL_PAGE_INDEX
1. 关于索引组织表 InnoDB使用的是索引组织表(IOT)的方式存储表记录,索引组织表以主键构建一个B-tree的数据结构来存储行记录,行记录存储在树的叶节点内。这与Oracle数据库是不同的,Oracle数据库默认创建的表是堆组织表(HOT),HOT…...
XML-BEANS compiled schema: Could not locate compiled schema resource 异常处理
使用poi5.2.2生成ppt,生成堆叠图,设置值时抛出异常 XML-BEANS compiled schema: Could not locate compiled schema resource org/apache/poi/schemas/ooxml/system/ooxml/stoverlappercent872etype.xsb (org.apache.poi.schemas.ooxml.system.ooxml.st…...
IOC容器 - Autofac
DI(依赖注入):DI(Dependency Injection)是一种实现松耦合和可测试性的软件设计模式。它的核心思想是将依赖关系的创建与管理交给外部容器,使得对象之间只依赖于接口而不直接依赖于具体实现类。通过依赖注入…...
用i18n 实现vue2+element UI的国际化多语言切换详细步骤及代码
一、i18n的安装 这个地方要注意自己的vue版本和i1n8的匹配程度,如果是vue2点几,记得安装i18n的8版本,不然会自动安装的最新版本,后面会报错哦,查询了下资料,好像最新版本是适配的vue3。 npm install vue-…...
Vue3 :Pinia入门
Vue3 :Pinia入门 Date: May 11, 2023 Sum: Pinia概念、实现counter、getters、异步action、storeToRefs保持响应式解构 什么是Pinia Pinia 是 Vue 的专属状态管理库,可以实现跨组件或页面共享状态,是 vuex 状态管理工具的替代品,…...
Java线程池的类型和使用
Java线程池的类型和使用 引言 在并发编程中,线程池是一种非常重要的工具,它可以实现线程的复用,避免频繁地创建新线程,从而提高程序的性能和效率。Java的并发库提供了丰富的线程池功能,本文将介绍Java线程池的类型和…...
QT的信号槽的四种写法和五种链接方式
目录 四种信号槽写法: 五种连接方式: 实例: 常见错误及改正: 错误1: 未连接信号与槽 错误2: 信号和槽参数不匹配 错误3: 未使用Q_OBJECT宏 错误4: 跨线程连接未处理 在Qt中,信号(Signal)…...
Vue+SpringBoot项目开发:后台登陆功能的实现(二)
写在开始:一个搬砖程序员的随缘记录文章目录 一、SpringBoot项目的搭建二、数据库配置1、新建数据库2、新建用户表 三、SpringBoot项目的配置 一、SpringBoot项目的搭建 项目搭建传送门:从零开始,SpringBoot项目快速搭建 二、数据库配置 1、新建数据库…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
