自然语言处理状况简介

news2025/10/30 15:50:08

一、说明

        自然语言处理已经进入大模型时代,然而从业人员必须了解整个知识体系、发展过程、知识结构,应用范围等一系列知识。本篇将报道此类概况。

二、自然语言处理简介

        自然语言处理,或简称NLP,是处理和转换文本的计算机科学学科。它由几个任务组成,这些任务从标记化开始,将文本分成单独的意义单位,应用句法和语义分析来生成抽象的知识表示,然后再次将该表示转换为文本,用于翻译、问答或对话等目的。

        本文简要介绍了自然语言处理。它首先简要介绍了科学学科的历史概述,解释了所使用的不同时期和方法,然后解释了各种NLP任务,分为连贯的兴趣领域,然后概述了当前的NLP程序。在接下来的几周里,其他文章将研究 Python 库和 NLP 的具体项目。

2.1、自然语言处理的起源

来源:自然语言处理、语言学、机器学习、人工智能

        自然语言处理是一门计算机科学学科,可追溯到1950年。它是几个科学领域的综合,目标、范式和方法从中协同并具体化。这些领域是语言学、机器学习和人工智能。对这些领域的简要概述有助于理解NLP如何处理语言,以及该学科如何在不同的亿万年中发展,在此期间,其他学科的进步和见解被合并。

        语言学是对语言及其不同方面的经典研究,如句法、语义、形态学和音韵学。它试图创建一个通用的框架,语言是如何被创造和工作的。特别是在理论语言学中,引入和研究了不同类型的逻辑,以反映信息是如何从表达中表示和推断的。

        机器学习涉及设计处理结构化或非结构化数据的算法,以识别模式并评估与这些模式相关的其他或更新数据。数据以数字表示或转换为数字表示,然后应用不同的数学模型和算法。机器学习还具有几个目标:聚类、检测单独的相关数据组、异常检测、查找不属于已知模式的数据或回归,创建近似复杂输入以生成输出值的函数。

        人工智能关注的是机器如何构建或表示智能的一般问题。这是一门跨越数学算法、计算机程序、数据结构、电子学和机器人技术的学科。它制定了以下研究领域,这些领域本身代表了一个单独的目标。在推理和问题解决中,程序应该处理概念的符号表示,并执行支持程序目标或议程的计算。通过知识表示,程序需要能够表示有关其应用领域的知识,例如使用本体,连接概念并表达其关系的类似网络的数据结构。最后,自动和自主数据处理需要学习和感知,以提高知识和推理能力,特别是通过处理来自文本、图片、视频和声音等许多不同领域的数据

        如果把所有这些学科放在一起,这幅图景就会演变。人工智能的牵强附会目标塑造了NLP研究的视野:创建理解,处理和推理语言的程序,与人类交谈或形成有关文档的知识。机器学习为其处理数值数据的算法提供了数学基础。通过将文本表示为数字数据,可以对文本进行分类、分类和比较。在某种程度上,从文本的数字表示中,事实和三段论可能会受到干扰。最后,语言学塑造了语言基础结构的遗产,将语言分为句法、语义等。这种分离极大地形成了早期的NLP方法,因为程序被设计为通过创建句法模型,将启发式应用于令牌,使用最终转换为知识表示的语义表示来逐步处理文本。

2.2、自然语言处理的历史

来源:自然语言处理

        NLP在三个不同的时代发展:符号,统计和神经。通过遵循上述考虑,很明显,每个时代的目标和方法都反映了继承人相邻学科的知识体系。

        第一个时代被称为符号NLP。语言是通过其语法和语义来考虑的。语言表达是单词的有序序列,其中单词代表一个概念,其中细粒度的内部结构和单词关系塑造了整体含义。将一个句子简化为不同的词,将词简化为它们的引理,即它们的屈折词源,表达了表达的内容。然而,只有考虑其句法和语法,单词的高阶关系才会显现出来,句子的真正含义才得以实现。这个时代的NLP系统关注创建复杂的规则,这些规则以句法和语义形式处理和表示语言。直到今天,这些基于规则的系统过去和现在都用于多个NLP任务。

        第二个时代称为统计NLP。用于研究和工业的计算机越来越可用,以及计算机可读取的数据量不断增加,导致提出了处理语言的统计方法。通过使用这种先进的处理能力,可以并行处理多个文本和文档,然后应用先进的机器学习算法来检测语言模式。这个时代的典型机器学习模型是贝叶斯网络、隐马尔可夫模型和支持向量机,它们仍然用于 NLP 任务。应用统计学可以带来一些关于语言本质的见解,这些见解甚至反映在理论语言学中。这最终形成了与决策有关的专家系统和涉及符号信息的表示和推理的知识系统。

        第三个时代被称为神经NLP,因为它使用了庞大而复杂的神经网络。神经网络是由单个神经元组成的复杂结构,也称为感知器。感知器的概念可以追溯到1950年,当时它被用来对执行简单输入输出转换的函数进行建模。就像在第二个时代一样,计算处理能力的提高,特别是能够对大量数据执行数学功能的图形处理单元的提高,导致了越来越复杂。神经网络被用于困难的机器学习任务,因为它们显示出一个有前途的特征:神经网络不是手动创建重要特征,即算法工作的数据输入模式,而是自己学习特征。他们接受训练的数据越多,特征和结果就越强大。当应用于处理文本的数字表示时,考虑了相同的效果。网络学习了语言的结构,并很快在几个NLP任务中超越了既定的基准。如今,基于神经网络的NLP正在成为NLP研究的主要形式。

三、自然语言处理的目标

3.1 自然语言处理任务

资料来源:在实践中利用LLM的力量:关于ChatGPT及其他的调查,自然语言处理:最新技术,当前趋势和挑战,3:深度学习在自然语言处理中的用途调查,维基百科自然语言处理

结合科学论文,维基百科和Python中常见的NLP项目,NLP任务列表令人惊讶。以下列表并不详尽,它侧重于Python NLP库支持的任务,并且分组与维基百科的分组不同。

需要将两个主要组分开:核心NLP任务,结构为经典语言学的片段,主要操作在令牌和句子上,以及使用计算机的高级NLP任务及其经典NLP任务的组合技能,顶部操作并生成任意数量的文本。

3.2 核心 NLP 任务

  1. 文本处理 - 确定和分析句子的单个标记
  • 标记化:将句子分成单独的标记或称为块的标记组,例如通过检查原始文本的标点符号,或使用规则/启发式方法对相关单词进行分组。也称为分块和分词。
  • 词形还原:通过应用规则和启发式方法识别引理,这是一种单词核心形式
  • 词干分析:通过使用语言词典将屈折词简化为其核心形式 句法分析 - 识别并表示句子的语法。
  1. 文本语法
  • 解析:确定句子的语法结构,使用依赖解析(考虑单词的关系)或选区解析(使用概率方法)
  • 词性标记:应用 pars 树并将句子中的标记标记为名词、动词、形容词、标点符号等。
  1. 文本语义 - 识别句子中单词的含义
  • 命名实体识别 (NER):识别权利,例如人员、城市或头衔
  • 词义消歧:识别并解决给定上下文中单词的同义词、多义词、下义词和亢义词特征
  • 语义角色标签:标识句子中名词的角色,例如执行操作的代理、操作发生的主题或位置等。另请参阅语义角色
  1. 文档语义 - 识别段落和完整文本的含义
  • 文本分类:定义文本所属的不同类别,例如用于垃圾邮件筛选。
  • 主题建模:自动识别不同文档的主题。
  • 情绪分析:计算文本对主题的正、中或负的极性
  • 毒性识别:对文本的细微解释,识别语言使用的负面方面。

3.3 高级 NLP 任务

  1. 文本生成 - 为预期主题创建有意义的文本
  • 拼写更正:更正句子中单个单词的拼写
  • 文本摘要:将文档压缩为其关键思想,可以进一步指定为通用或基于查询
  • 机器翻译:将文本从一种自然语言翻译成另一种自然语言
  • 问答:从给定的文本中,确定与语言相关的相关部分(抽取模型),或生成一个新文本,将包含的事实构建成新陈述(生成模型)。同样有区别的是,他的问题是否封闭在一个领域,还是开放领域,因此也包括所有外部背景。
  1. 知识与干扰 - 从文本中提取事实并进行逻辑干扰以发现新事实。
  • 开放性问题/推理:在开放环境中,识别并解决问题。
  • 信息提取:从给定的文本中,识别与外部标准相关的信息,然后以外部格式存储此信息
  1. 自然语言理解 - 定义整个语言的抽象表示
  • 形态学:单词如何变化以表示一组单词内的时间、性别或单词间关系的规则集
  • 语法:如何形成连贯的结构化和有意义的单词组来传达含义的规则集
  • 语义:单词的固有含义,它们所代表的概念。
  • 语言建模:确定在一组单词、句子甚至段落组中给定前一个单词的下一个单词的概率

四、自然语言处理编程管道

        典型的NLP项目遵循相同的预处理和转换步骤,使文本适用于算法。这些步骤是预处理、统计/语义信息收集、数值表示转换和目标任务应用。

        在预处理期间,文本被分成有意义的单元。通常,这些单元也会进一步减少,以减少下游任务处理的信息量。

  • 标记化:将句子分隔为单个标记。
  • 词干分解:删除标记的屈折结尾,并根据规则集提供基本词。
  • 词形还原:删除标记的屈折结尾,并根据字典提供基本单词。
  • 分块:识别构成语义单元的相关单词组,例如识别一个人的名字、中间名和姓氏,而不是三个单独的名词。

        要应用任何 NLP 算法、机器学习模型或将文本输入神经网络,需要将文本转换为数字表示。通常,这种表示不仅考虑单个文本,还考虑一组作为语料库创造的相关文本。对于文本语料库,可以使用以下技术来生成数字表示:

  • 词袋:由每个单词的单词/出现次数对组成的数据结构。
  • One-Hot Encoding:二进制标识每个单词的单词是否存在于文档中。
  • TFID:一种指标,它将文本中单词的绝对出现率与整个校园中单词的反频率相结合,平衡非常频繁和很少使用的单词的出现。
  • 词嵌入:表示单词相对含义的多维向量,通过处理大量文本和分析相关单词的出现而产生。词嵌入是衡量单词相似性的非常有效的工具。这个想法可以升级为句子、段落甚至整个文档构建向量,以查找语料库中不同级别的相似性。

        从这里开始,经典的NLP任务,从语法和语义开始,以及高级NLP任务都是可行的。

五、总结

        自然语言处理是一门计算机科学学科,共享语言学、机器学习和人工智能的传统、目标和方法。通过符号、统计和神经处理的三个时代,创建了一个复杂的理解和广泛的 NLP 任务列表。今天,执行句法和语义分析从显式的笼子规则系统转变为神经网络中学习的特征表示。由此,文本翻译、问答、推理和最终文本生成等高级 NLP 任务变得可行。在本文中,您了解了时代、NLP 任务和典型 NLP 项目的步骤。下一篇文章展示了用于各种NLP任务的具体Python库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1054046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文笔记】DiffusionTrack: Diffusion Model For Multi-Object Tracking

原文链接:https://arxiv.org/abs/2308.09905 1. 引言 多目标跟踪通常分为两阶段的检测后跟踪(TBD)和一阶段的联合检测跟踪(JDT)。TBD对单帧进行目标检测后,使用跟踪器跨帧关联相同物体。使用的跟踪器包括使…

【STM32基础 CubeMX】外部中断

文章目录 前言一、中断是什么二、使用CubeMX配置你的第一个中断三、代码分析CubeMX四、中断函数按键中断点灯示例代码总结 前言 当涉及到STM32基础的外部中断时,我们进入了一个引人入胜的领域,它允许微控制器与外部世界进行互动并实时响应各种事件。外部…

【论文阅读】通过3D和2D网络的交叉示教实现稀疏标注的3D医学图像分割(CVPR2023)

目录 前言方法标注3D-2D Cross Teaching伪标签选择Hard-Soft Confidence Threshold Consistent Prediction Fusion 结论 论文:3D Medical Image Segmentation with Sparse Annotation via Cross-Teaching between 3D and 2D Networks 代码:https://githu…

2023年中国艺术涂料市场发展历程及趋势分析:艺术涂料市场规模将进一步扩大[图]

艺术涂料是一种用于绘画和装饰,具有各种纹理或通过涂装手段后具有高装饰性的新型涂料。由于具有高度饱和的颜色、良好的遮盖力和可塑性,呈现立体装饰效果好、色彩搭配适当、风格独具特色的特点,而使得涂装出的饰面自然贴合、更加美观漂亮&…

Centos7环境下安装MySQL8详细教程

目录 一、Xftp7下载二、MySQL8安装包的下载三、将MySQL8安装包上传至服务器四、解压mysql8安装包五、rpm包的安装六、依次安装下列文件七、对MySQL进行初始化和授权八、查看数据库初始密码九、启动MySQL服务十、使用初始密码登录MySQL关于MySQL的卸载 一、Xftp7下载 关于Xftp7…

力扣 -- 718. 最长重复子数组

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int findLength(vector<int>& nums1, vector<int>& nums2) {int m nums1.size();int n nums2.size();//多开一行&#xff0c;多开一列vector<vector<int>> dp(m 1, ve…

华为云云耀云服务器L实例评测 | 搭建企业级 Registry 服务器 Harbor

文章目录 您需要了解Harbor介绍Harbor特性和优势系统设置关闭防火墙安装Docker安装Docker Compose配置镜像加速器 Habor安装传包并解压配置Harbor安装Horbor登录Harbor 测试创建项目推送镜像拉取镜像 您需要了解 本次搭建采用 华为云耀云服务器 &#xff0c;一键部署、快速搭建…

Visual Studio 代码显示空格等空白符

1.VS2010: 快捷键&#xff1a;CtrlR,W 2.VS2017、VS2019、VS2022&#xff1a; 工具 -> 选项 -> 文本编辑器 -> 显示 -> 勾选查看空白

RWA分析通过10个问题。不要让数字和视觉欺骗您!(文章很长,请仔细阅读)

已经有30个小伙伴加入我们的星球了&#xff0c;如果你不介意的话&#xff0c;可以加入 我的知识星球主要分享 1. 分享区块链各种有价值的内容 2. 一起攻读一些有用的书籍 3. 财富密码&#xff08;不敢保证&#xff09; 4. 一些自我的感悟 1.什么是现实世界资产&#xff08;RWA&…

【Flutter】Flutter Web 开发 如何从 URL 中获取参数值

【Flutter】Flutter Web 开发 如何从 URL 中获取参数值 文章目录 一、前言二、Flutter Web 中的 URL 处理三、如何从 URL 中获取参数四、实际业务中的用法五、完整示例六、总结 一、前言 大家好&#xff01;我是小雨青年&#xff0c;今天我想和大家分享一下在 Flutter Web 开发…

【C++历险记】国庆专辑---探索多态迷宫的代码之旅!

本篇目录 一、什么是多态&#xff1f;二、多态的定义及其实现2.1多态构成的条件2.2虚函数2.3虚函数的重写2.3.1析构函数的重写 2.4C11 override 和 final2.5重载、覆盖(重写)、隐藏(重定义)的对比2.6为什么不能是子类的指针或者引用呢&#xff1f;2.7为什么不能是父类对象呢&am…

【大家的项目】NFS FUSE: 为什么我们用Rust实现了自己的NFS服务器

乐观地看FUSE 我喜欢文件。每个计算机系统都理解文件。每个程序都知道如何读取和写入文件。这是一个真正通用的API。因此&#xff0c;我喜欢FUSE的想法。FUSE的名字来源于Filesystem in Userspace&#xff0c;也就是“用户态文件系统”&#xff0c;是一套允许用户模式程序定义文…

gwas数据根据eaf Z 和N 求beta和se

https://www.nature.com/articles/s41590-023-01588-w#Sec10

基于Java的汽车票网上预订系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

【计算机网络】应用层协议原理

文章目录 网络应用程序体系结构客户-服务器体系结构P2P体系结构 进程通信客户和服务器进程进程与计算机网络之间的接口进程寻址 可供应用程序使用的运输服务可靠数据传输吞吐量定时安全性 因特网提供的运输服务TCP服务面向连接的服务可靠数据传输服务TCP安全 UDP服务因特网运输…

Redis实现API访问频率限制

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

phpstudy_pro高效率建一个属于自己的网站

1.下载phpStudy_32 2.下载wordpress-6.3-zh_CN 安装好phpstudy后启动phpstudy中对应的服务&#xff0c;并在网站中配置好对一个的应用的路径 ps:根目录中的路径是你想要通过phpstudy部署应用的路径 这里以wordpress为例 将下载wordpress的压缩包解压后&#xff0c;需要修改…

Python海洋专题六之Cartopy画地形水深图

Python海洋专题六之Cartopy画地形水深图 海洋与大气科学 上期读取nc水深文件&#xff0c;并出图 但是存在一些不完美&#xff0c;本期修饰 本期内容 1&#xff1a;使用Cartopy画出范围图 导入函数包 import matplotlib.pyplot as plt import cartopy.crs as ccrs import c…

上机实验一 顺序表的基本操作和简单程序 西安石油大学数据结构

上机一 实验名称&#xff1a;顺序表的基本操作和简单程序 题目&#xff1a;设计一个有序顺序表&#xff0c;实现以下操作&#xff1a; 1.将元素x插入表中并保持有序&#xff1b; 2.查找值为x的元素&#xff0c;若找到则将其删除&#xff1b; 3.输出表中所有元素。 要求&a…

当面试被问到jvm(Java虚拟机)时,如何将面试官引入自己的节奏?

本文目录 前言快问快答抛砖引玉锦上添花好书推荐总结 前言 作为一名Java开发工程师&#xff0c;不管是校招还是社招jvm一定是必问必会的知识点。虽然说真正开发中用到的不多&#xff0c;甚至可以说用不到&#xff08;对于刚入行或者Java初级&#xff09;&#xff0c;但是当面试…