自然语言处理状况简介

一、说明

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

二、自然语言处理简介

        自然语言处理,或简称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库。

你可能感兴趣的:(LLM和ChatGPT,人工智能,自然语言处理,人工智能)