自然语言处理状况简介

一、说明

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

二、自然语言处理简介

        自然语言处理,或简称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.xdnf.cn/news/147418.html

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

相关文章

跟着顶级科研报告IPCC学绘图:温度折线/柱图/条带/双y轴

复现IPCC气候变化过程图 引言 升温条带Warming stripes(有时称为气候条带,目前尚无合适且统一的中文释义)是数据可视化图形,使用一系列按时间顺序排列的彩色条纹来视觉化描绘长期温度趋势。 在IPCC报告中经常使用这一方案 IPCC是…

嵌入式Linux应用开发-基础知识-第十九章驱动程序基石④

嵌入式Linux应用开发-基础知识-第十九章驱动程序基石④ 第十九章 驱动程序基石④19.7 工作队列19.7.1 内核函数19.7.1.1 定义 work19.7.1.2 使用 work:schedule_work19.7.1.3 其他函数 19.7.2 编程、上机19.7.3 内部机制19.7.3.1 Linux 2.x的工作队列创建过程19.7.3…

BASH shell脚本篇2——条件命令

这篇文章介绍下BASH shell中的条件相关的命令,包括:if, case, while, until, for, break, continue。之前有介绍过shell的其它基本命令,请参考:BASH shell脚本篇1——基本命令 1. If语句 if语句用于在顺序执行语句的流程中执行条…

八大排序(三)堆排序,计数排序,归并排序

一、堆排序 什么是堆排序:堆排序(Heap Sort)就是对直接选择排序的一种改进。此话怎讲呢?直接选择排序在待排序的n个数中进行n-1次比较选出最大或者最小的,但是在选出最大或者最小的数后,并没有对原来的序列…

Python无废话-办公自动化Excel修改数据

如何修改Excel 符合条件的数据?用Python 几行代码搞定。 需求:将销售明细表的产品名称为PG手机、HW手机、HW电脑的零售价格分别修改为4500、5500、7500,并保存Excel文件。如下图 Python 修改Excel 数据,常见步骤: 1&…

docker 基本操作

目录 一、docker 概述 二、容器 2.1容器的特性 2.2namespace的六项隔离 三、docker与虚拟机的区别 四、Docker核心概念 五、docker 基本操作命令 镜像操作 1、搜索镜像 2、获取镜像 3、查看镜像信息 ​编辑 4、查看下载的镜像文件信息 5、查看下载到本地的所有镜…

搭建智能桥梁,Amazon CodeWhisperer助您轻松编程

零:前言 随着时间的推移,人工智能技术以惊人的速度向前发展,正掀起着全新的编程范式革命。不仅仅局限于代码生成,智能编程助手等创新应用也进一步提升了开发效率和代码质量,极大地推动着软件开发领域的快速繁荣。 当前…

SpringCloud(一)Eureka、Nacos、Feign、Gateway

文章目录 概述微服务技术对比 Eureka服务远程调用服务提供者和消费者Eureka注册中心搭建注册中心服务注册服务发现Ribbon负载均衡负载均衡策略饥饿加载 NacosNacos与Eureka对比Nacos服务注册Nacos服务分集群存储NacosRule负载均衡服务实例权重设置环境隔离 Nacos配置管理配置热…

用于自然语言处理的 Python:理解文本数据

一、说明 Python是一种功能强大的编程语言,在自然语言处理(NLP)领域获得了极大的普及。凭借其丰富的库集,Python 为处理和分析文本数据提供了一个全面的生态系统。在本文中,我们将介绍 Python for NLP 的一些基础知识&…

2023 彩虹全新 SUP 模板,卡卡云模板修复版

2023 彩虹全新 SUP 模板,卡卡云模板,首页美化,登陆页美化,修复了 PC 端购物车页面显示不正常的问题。 使用教程 将这俩个数据库文件导入数据库; 其他的直接导入网站根目录覆盖就好; 若首页显示不正常&a…

计算机网络学习易错点(持续更新~~~)

目录 概述 1.internet和Internet的区别 2.面向连接和无连接 3.不同的T 4.传输速率和传播速率 5.传播时延和传输时延(发送时延) 6.语法,语义和同步 一.物理层 1.传输媒体与物理层 2.同步通信和异步通信 3.位同步(比特同…

nginx多文件组织

背景: nginx的话,有时候,想部署多个配置,比如:使用不同的端口配置不同的web工程。 比如:8081部署:项目1的web页面。 8082部署:项目2的web页面。 1)nginx.conf worker_processes…

Google vs IBM vs Microsoft: 哪个在线数据分析师证书最好

Google vs IBM vs Microsoft: 哪个在线数据分析师证书最好? 对目前市场上前三个数据分析师证书进行审查和比较|Madison Hunter 似乎每个重要的公司都推出了自己版本的同一事物:专业数据分析师认证,旨在使您成为雇主的下一个热门商品。 随着…

7.JavaScript-vue

1 JavaScript html完成了架子,css做了美化,但是网页是死的,我们需要给他注入灵魂,所以接下来我们需要学习JavaScript,这门语言会让我们的页面能够和用户进行交互。 1.1 介绍 通过代码/js效果演示提供资料进行效果演…

嵌入式Linux应用开发-基础知识-第十九章驱动程序基石⑤

嵌入式Linux应用开发-基础知识-第十九章驱动程序基石⑤ 第十九章 驱动程序基石⑤19.9 mmap19.9.1 内存映射现象与数据结构19.9.2 ARM架构内存映射简介19.9.2.1 一级页表映射过程19.9.2.2 二级页表映射过程 19.9.3 怎么给APP新建一块内存映射19.9.3.1 mmap调用过程19.9.3.2 cach…

华为云云耀云服务器L实例评测|部署在线轻量级备忘录 memos

华为云云耀云服务器L实例评测|部署在线轻量级备忘录 memos 一、云耀云服务器L实例介绍1.1 云服务器介绍1.2 产品优势1.3 应用场景1.4 支持镜像 二、云耀云服务器L实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 memos3.1 memos介绍3.2 Docker 环境搭建…

C语言数组

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 runoob0、runoob1、...、runoob99,而…

Scala第十章

Scala第十章 章节目标 1.数组 2.元组 3.列表 4.集 5.映射 6.迭代器 7.函数式编程 8.案例:学生成绩单 scala总目录 文档资料下载

Jmeter分布式压力测试

目录 1、场景 2、原理 3、注意事项 4、slave配置 5、master配置 6、脚本执行 1、场景 在做性能测试时,单台机器进行压测可能达不到预期结果。主要原因是单台机器压到一定程度会出现瓶颈。也有可能单机网卡跟不上造成结果偏差较大。 例如4C8G的window server机…

防火墙基础之H3C防火墙分支与分支之间双向地址转换

分支与分支之间双向地址转换 原理概述: 防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理​与筛选的软件和硬件​设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资…