当前位置: 首页 > news >正文

全景图!最近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要一一对应不能乱写&#xff0c;如果不存在则会填充NULL&#xff0c;不会报错 Map<String, Object> map new HashMap<>(); // 让key的可读性增强 map.put("carNum", "103"); map.put("brand", "奔驰E300L&…...

手动实现 Spring 底层机制 实现任务阶段一编写自己 Spring 容器-准备篇【2】

&#x1f600;前言 手动实现 Spring 底层机制的第2篇 实现了任务阶段一编写自己 Spring 容器-准备篇【2】 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的…...

部署模型并与 TVM 集成

本篇文章译自英文文档 Deploy Models and Integrate TVM tvm 0.14.dev0 documentation 更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架&#xff0c;适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 本节介绍如何将 TVM 部署到各种平台&…...

Android Navigation 导航切换fragment用法

对于Android Navigation组件的导航到Fragment&#xff0c;您可以按照以下步骤操作&#xff1a; 首先&#xff0c;在您的项目的build.gradle文件中添加Navigation依赖&#xff1a; dependencies {def nav_version "2.3.4"implementation "androidx.navigation…...

Anaconda Prompt使用pip安装PyQt5-tools后无法打开Spyder或闪退

艹&#xff01;MLGBZD! 真TMD折腾人&#xff01; 出现原因&#xff1a; 首次安装完Anaconda3-2023.07-1-Windows-x86_64.exe后首次打开Spyder&#xff0c;此时是没有问题的&#xff0c;然后打开Anaconda Prompt&#xff0c;查看有哪些包&#xff0c;pip list 这时候开始首次安…...

【jvm】jvm整体结构(hotspot)

目录 一、说明二、java代码的执行流程三、jvm的架构模型3.1 基于栈式架构的特点3.2 基于寄存器架构的特点 一、说明 1.hotspot vm是目前市场上高性能虚拟机的代表作之一 2.hotspot采用解释器与即时编译器并存的架构 3.java虚拟机是用来解释运行字节码文件的&#xff0c;入口是字…...

通达信波段选股公式,使用钱德动量摆动指标(CMO)

钱德动量摆动指标(CMO)是由图莎尔钱德发明的&#xff0c;取值范围在-100到100之间&#xff0c;是捕捉价格动量的技术指标。该指标计算近期涨幅之和与近期跌幅之和的差值&#xff0c;然后将计算结果除以同期所有价格波动的总和。本文的波段选股公式使用均线识别趋势&#xff0c;…...

家电维修小程序开发指南:从零搭建到上线

随着科技的发展和人们生活水平的提高&#xff0c;家电已经成为人们生活中不可或缺的一部分。然而&#xff0c;随之而来的是家电维修门店业务的繁忙和效率的考验。为了提高家电维修门店的效率和服务质量&#xff0c;建立一个便捷高效的小程序已成为必要的选择。 本文将介绍一个简…...

玩赚音视频开发高阶技术——FFmpeg

随着移动互联网的普及&#xff0c;人们对音视频内容的需求也不断增加。无论是社交媒体平台、电商平台还是在线教育&#xff0c;都离不开音视频的应用。这就为音视频开发人员提供了广阔的就业机会。根据这些年来网站上的音视频开发招聘需求来看&#xff0c;音视频开发人员的需求…...

python 变量赋值 修改之后 原值改变

python 是一种动态语言&#xff0c;因此变量的类型和值 在运行时均可改变。当我们将一个变量赋值给另一个变量时&#xff0c;实际上是将变量的引用地址传递给新的变量&#xff0c;这意 味着新旧变量将指向同一个位置。因此&#xff0c;在更改其中一个变量的值时&#xff0c;另一…...

拂袖一挥,zipfile秒列zip包内容

使用wxpython列出文件夹中的zip文件及内容 最近在做一个文件管理的小工具,需要列出选择的文件夹下的所有zip压缩文件,并在点击某个zip文件时能够显示其中的内容。为此我使用了wxpython来实现这个功能。 1. 导入需要的模块 首先导入程序需要的模块: import wx import os imp…...

InnoDB文件物理结构解析2 - FIL_PAGE_INDEX

1. 关于索引组织表 InnoDB使用的是索引组织表(IOT)的方式存储表记录&#xff0c;索引组织表以主键构建一个B-tree的数据结构来存储行记录&#xff0c;行记录存储在树的叶节点内。这与Oracle数据库是不同的&#xff0c;Oracle数据库默认创建的表是堆组织表(HOT)&#xff0c;HOT…...

XML-BEANS compiled schema: Could not locate compiled schema resource 异常处理

使用poi5.2.2生成ppt&#xff0c;生成堆叠图&#xff0c;设置值时抛出异常 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&#xff08;依赖注入&#xff09;&#xff1a;DI&#xff08;Dependency Injection&#xff09;是一种实现松耦合和可测试性的软件设计模式。它的核心思想是将依赖关系的创建与管理交给外部容器&#xff0c;使得对象之间只依赖于接口而不直接依赖于具体实现类。通过依赖注入…...

用i18n 实现vue2+element UI的国际化多语言切换详细步骤及代码

一、i18n的安装 这个地方要注意自己的vue版本和i1n8的匹配程度&#xff0c;如果是vue2点几&#xff0c;记得安装i18n的8版本&#xff0c;不然会自动安装的最新版本&#xff0c;后面会报错哦&#xff0c;查询了下资料&#xff0c;好像最新版本是适配的vue3。 npm install vue-…...

Vue3 :Pinia入门

Vue3 &#xff1a;Pinia入门 Date: May 11, 2023 Sum: Pinia概念、实现counter、getters、异步action、storeToRefs保持响应式解构 什么是Pinia Pinia 是 Vue 的专属状态管理库&#xff0c;可以实现跨组件或页面共享状态&#xff0c;是 vuex 状态管理工具的替代品&#xff0c…...

Java线程池的类型和使用

Java线程池的类型和使用 引言 在并发编程中&#xff0c;线程池是一种非常重要的工具&#xff0c;它可以实现线程的复用&#xff0c;避免频繁地创建新线程&#xff0c;从而提高程序的性能和效率。Java的并发库提供了丰富的线程池功能&#xff0c;本文将介绍Java线程池的类型和…...

QT的信号槽的四种写法和五种链接方式

目录 四种信号槽写法&#xff1a; 五种连接方式&#xff1a; 实例&#xff1a; 常见错误及改正&#xff1a; 错误1: 未连接信号与槽 错误2: 信号和槽参数不匹配 错误3: 未使用Q_OBJECT宏 错误4: 跨线程连接未处理 在Qt中&#xff0c;信号&#xff08;Signal&#xff09…...

Vue+SpringBoot项目开发:后台登陆功能的实现(二)

写在开始:一个搬砖程序员的随缘记录文章目录 一、SpringBoot项目的搭建二、数据库配置1、新建数据库2、新建用户表 三、SpringBoot项目的配置 一、SpringBoot项目的搭建 项目搭建传送门&#xff1a;从零开始&#xff0c;SpringBoot项目快速搭建 二、数据库配置 1、新建数据库…...

Spring Boot 定时任务的使用

前言 在实际开发中&#xff0c;我们经常需要实现定时任务的功能&#xff0c;例如每天凌晨执行数据清理、定时发送邮件等。Spring Boot 提供了非常便捷的方式来实现定时任务&#xff0c;本文将详细介绍如何在 Spring Boot 中使用定时任务。 一、Spring Boot 定时任务简介 Spr…...

创客匠人:如何通过精准定位实现创始人IP打造与知识变现

在当今知识经济时代&#xff0c;越来越多的专业人士希望通过个人品牌实现知识变现&#xff0c;但许多人面临一个共同困境&#xff1a;明明很努力&#xff0c;却收效甚微。创客匠人作为深耕知识付费赛道9年的专业机构&#xff0c;揭示了这一现象背后的关键原因——90%的IP失败源…...

零基础在实践中学习网络安全-皮卡丘靶场(第八期-Unsafe Filedownload模块)

这期内容更是简单和方便&#xff0c;毕竟谁还没在浏览器上下载过东西&#xff0c;不过对于url的构造方面&#xff0c;可能有一点问题&#xff0c;大家要多练手 介绍 不安全的文件下载概述 文件下载功能在很多web系统上都会出现&#xff0c;一般我们当点击下载链接&#xff0c…...

数据湖是什么?数据湖和数据仓库的区别是什么?

目录 一、数据湖是什么 &#xff08;一&#xff09;数据湖的定义 &#xff08;二&#xff09;数据湖的特点 二、数据仓库是什么 &#xff08;一&#xff09;数据仓库的定义 &#xff08;二&#xff09;数据仓库的特点 三、数据湖和数据仓库的区别 &#xff08;一&#…...

【vue】Uniapp 打包Android 文件选择上传问题详解~

需求 uniapp兼容android app&#xff0c;pc&#xff0c;h5的文件选择并上传功能。 需要支持拍照和相册选择&#xff0c;以及选择其他类型文件上传~ 实践过程和问题 开始使用uni-file-picker组件 以为很顺利&#xff0c;android模拟器测试…… 忽略了平台兼容性提示~&#…...

使用ORM Bee (ormbee) ,如何利用SQLAlchemy的模型生成数据库表.

使用ORM Bee (ormbee) &#xff0c;如何利用SQLAlchemy的模型生成数据库表. 将原来SQLAlchemy的模型&#xff0c;修改依赖为&#xff1a; from bee.helper import SQLAlchemy 然后就可以开始生成了。很简单&#xff0c;主要是两个接口。 db.create_all(True) #创建所有模型的表…...

Python分形几何可视化—— 复数迭代、L系统与生物分形模拟

Python分形几何可视化—— 复数迭代、L系统与生物分形模拟 本节将深入探索分形几何的奇妙世界&#xff0c;实现Mandelbrot集生成器和L系统分形树工具&#xff0c;并通过肺部血管分形案例展示分形在医学领域的应用。我们将使用Python的NumPy进行高效计算&#xff0c;结合Matplo…...

SQL 基础入门

SQL 基础入门 SQL&#xff08;全称 Structured Query Language&#xff0c;结构化查询语言&#xff09;是用于操作关系型数据库的标准语言&#xff0c;主要用于数据的查询、新增、修改和删除。本文面向初学者&#xff0c;介绍 SQL 的基础概念和核心操作。 1. 常见的 SQL 数据…...

Shell 命令及运行原理 + 权限的概念(7)

文章目录 Shell 命令以及运行原理&#xff08;4-1.22.08&#xff09;Linux权限的概念1. 什么是权限2. 认识人&#xff08;普通用户&#xff0c;root用户&#xff09;以及两种用户的切换认识普通用户和root用户两种用户之间的切换指令提权 3. 文件的属性解析 权限属性指令ll显示…...

SpringBoot3项目架构设计与模块解析

一、项目概述 这是一个基于SpringBoot3构建的企业级后台管理系统&#xff0c;从项目结构来看&#xff0c;系统采用了经典的分层架构设计&#xff0c;包含完整的控制器层、服务层、数据访问层和实体层。项目整合了Web开发、数据库访问、权限控制等核心功能模块。 二、项目整体…...