1.什么是自然语言处理(NLP)
自然语言处理 (NLP) 是一门构建机器的学科,它可以以书写、口语和组织的方式操纵人类语言(或类似于人类语言的数据)。
NLP 大致分为两个重叠的领域:
自然语言理解(NLU),负责解释文本背后的含义,以及
**自然语言生成 (NLG)**专注于生成模仿人类写作的文本。尽管 NLP 与语音识别(将口语转换为文本)不同,但 NLP 通常与其协同工作。
2. NLP 的应用
NLP 用于各种与语言相关的任务,包括回答问题、以各种方式对文本进行分类以及与用户交谈。
以下是 NLP 可以解决的一些任务:
2.1 情绪分析:这涉及确定文本的情感基调。输入通常是一段文本,输出是概率分布,指示情绪是积极的、消极的还是中性的。技术范围从 TF-IDF 和 n-grams 等传统方法到 BERT 和 LSTM 等深度学习模型。
2.2 恶意分类:恶意分类是情绪分析的一种特殊形式,可识别敌意并将其归类为威胁或侮辱等特定类型。这可用于审核在线内容,确保更安全的数字空间。
2.3 机器翻译:自动将文本从一种语言翻译成另一种语言。OpenAI 的 GPT-4 和 Google 的基于 Transformer 的模型等先进模型在提高翻译准确性和语境感知方面处于领先地位。
2.4 命名实体识别 (NER):NER 模型从文本中提取并分类名称、组织和位置等实体。这些模型对于总结新闻和打击虚假信息至关重要。
2.5 垃圾邮件检测:垃圾邮件检测模型将电子邮件分类为垃圾邮件或非垃圾邮件,帮助 Gmail 等电子邮件服务过滤掉不需要的消息。这些模型通常依赖于逻辑回归、朴素贝叶斯或深度学习等技术。
2.6 语法错误纠正:纠正语法错误的模型在 Grammarly 等工具中得到广泛应用。它们将语法纠正视为一个序列到序列的问题,其中输入是错误的句子,输出是纠正后的版本。
2.7 主题建模:主题建模识别文档语料库中的抽象主题。潜在狄利克雷分配 (LDA) 等技术通常用于法律文件分析和内容推荐系统。
2.8 文本生成 (NLG):NLG 模型可生成类似人类的文本,适用于从聊天机器人到内容创建等各种应用。GPT-4 等现代模型能够生成各种类型的连贯且符合上下文的文本。
-
自动完成:自动完成系统可预测序列中的下一个单词,用于搜索引擎和消息应用程序等应用程序。GPT-3 等模型在增强自动完成功能方面特别有效。
-
聊天机器人:聊天机器人通过查询数据库或生成对话来模拟人类对话。Google 的 LaMDA 就是一个能够进行细致入微、类似人类对话的聊天机器人的例子。
2.9 信息检索:这涉及查找与查询相关的文档,这对于搜索引擎和推荐系统至关重要。谷歌的最新模型使用多模式方法同时处理文本、图像和视频数据。
2.10 摘要是缩短文本以突出最相关信息的任务。摘要分为两类方法:
-
抽取式摘要侧重于从长文本中提取最重要的句子,并将它们组合起来形成摘要。通常,抽取式摘要对输入文本中的每个句子进行评分,然后选择几个句子来形成摘要。
-
抽象概括通过释义来生成摘要。这类似于撰写摘要,其中包含原文中不存在的单词和句子。抽象概括通常被建模为序列到序列任务,其中输入是长文本,输出是摘要。
**2.11 问答系统 (QA)**用自然语言回答人类提出的问题。问答系统最著名的例子之一是Watson,它在 2011 年参加了电视游戏节目_《危险边缘》 (Jeopardy)_,与人类冠军一较高下,并以巨大优势获胜。一般来说,问答任务有两种形式:
-
多项选择题:多项选择题由一个问题和一组可能的答案组成。学习任务是选出正确的答案。
-
开放领域:在开放领域问答中,模型通常通过查询大量文本来以自然语言提供问题的答案,而不提供任何选项。
3. NLP 术语
3.1 文档
文档是一段文本,可以是任何内容,从单个句子到整本书。它是 NLP 模型处理的基本文本单位。文档的性质可能多种多样,例如电子邮件、网页、文章或推文**。**
例子:
-
报纸上的一篇新闻文章。
-
一条推文:“刚刚看了一部精彩的电影!”
-
一封电子邮件:“亲爱的约翰,我希望你一切都好……”
3.2 语料库(Corpora)
语料库(复数:语料库)是大量文档的集合。它是训练和评估 NLP 模型的数据集。语料库通常包含与主题、语言或类型相关的文档,用于分析语言模式和构建统计模型。
例子:
-
特定报纸一年内的所有文章的集合。
-
来自电子商务网站的客户评论数据集。
-
古腾堡语料库:古腾堡计划的文学文本集合。
3.3 特点
特征是文本的可测量属性或特性,可用于机器学习模型。特征是从文档中提取的,可以表示文本的各个方面,例如特定单词的存在、句子的长度或特定模式的出现。
例子:
词袋(BoW):词汇表中每个单词都是一个特征,其值是文档中该单词的计数。
-
文档:“我爱 NLP。”
-
特征:{“我”:1,“爱”:1,“NLP”:1}
词频-逆文档频率 (TF-IDF):用于评估文档中某个单词相对于语料库的重要性的统计测量。
-
文档:“机器学习很有趣。”
-
特征(TF-IDF 分数):{“机器”:0.5,“学习”:0.5,“是”:0.1,“有趣”:0.7}
词性 (POS) 标签:指示每个单词的语法类别的特征(例如名词、动词、形容词)。
-
文献:“敏捷的棕色狐狸跳跃。”
-
特点:{“The”: “DET”, “quick”: “ADJ”, “brown”: “ADJ”, “fox”: “NOUN”, “jumps”: “VERB”}
例如, 让我们考虑下面显示的 2 个文档:
Dog hates a cat. It loves to go out and play.
Cat loves to play with a ball.
我们只需将以上两篇文档合并即可构建一个语料库。
Corpus = "Dog hates a cat. It loves to go out and play. Cat loves to play with a ball."
并且特征将全部为独特的单词:
Fetaures: ['and', 'ball', 'cat', 'dog', 'go', 'hates', 'it', 'loves', 'out', 'play', 'to', 'with']
我们将其称为特征向量。这里我们记住,我们将把“a”视为单个字符来删除它。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
4. NLP 如何工作?
NLP 模型的工作原理是查找语言组成部分之间的关系(例如,文本数据集中的字母、单词和句子)。NLP 架构使用各种方法进行数据预处理、特征提取和建模。
为了更好地理解,让我们简化和分解这些步骤。
4.1 数据预处理
理解 NLP 的第一步是关注语境框架内对话和话语的含义。主要目标是促进语音机器人与人类之间有意义的对话。
例如,向聊天机器人发出命令,例如“给我看最好的食谱”或“播放派对音乐”,都属于这一步的范围。它涉及在正在进行的对话中理解和响应用户请求。
在模型为特定任务处理文本之前,通常需要对文本进行预处理以提高模型性能或将单词和字符转换为模型可以理解的格式。此数据预处理中可以使用各种技术:
4.1.1 标记化
将文本分解为更小的单位(称为标记)的过程,这些单位可以是单词、子单词或字符。
类型:
- 单词标记:将文本拆分成单个单词。例如:
_“_我在 GeeksforGeeks 上学习机器学习。”将被分词为 [‘I’, ‘study’, ‘Machine’, ‘Learning’, ‘on’, ‘GeeksforGeeks’, ‘.’]
- 句子标记化:将文本拆分为单个句子。例如:
_“_我在 GeeksforGeeks 上学习机器学习。目前,我正在学习 NLP” 将被句子标记化为 [‘我在 GeeksforGeeks 上学习机器学习。’,‘目前,我正在学习 NLP。’]
- 子词标记:将单词分解为更小的单位,如前缀、后缀或单个字符。
重要性:标记化是许多 NLP 管道中的第一步,并影响后续处理阶段。
4.1.2 词干提取
定义:通过删除后缀和前缀将单词简化为其词根形式的过程。
例如:单词“running”和“runner”的词干分解为“run”。
与词形还原的区别:与词形还原相比,词干提取是一种更粗糙的技术,并且可能并不总是产生真实的单词。
4.1.3 词形还原
定义:将单词简化为其基本形式或词典形式的过程,称为词干。
例如:单词“running”和“ran”被词形还原为“run”。
重要性:通过对单词的不同形式进行分组,有助于理解单词的基本含义。
词干提取器比词形还原器速度更快,计算成本更低。
输出:
词形还原涉及将同一个词的变格形式组合在一起。这样,我们就可以找到任何词的本质有意义的基本形式。从这里得到的基数称为词干。
输出:
Communication
词形还原器比词干提取器速度慢且计算成本更高。
4.1.4 规范化
自然语言处理 (NLP) 中的规范化是指将文本转换为标准形式的过程。规范化的目的是确保文本数据处理方式的一致性,从而使 NLP 模型能够更好地理解和解释文本。一些常见的规范化技术包括将文本转换为小写、词干提取、词形还原以及删除停用词或标点符号。
小写:
-
将文本中的所有字符转换为小写,以确保“Apple”和“apple”等词被视为同一个词。
-
例如:
"Apple"
->"apple"
删除标点符号:
-
标点符号在 NLP 任务中通常不具有重要意义,因此经常被删除。
-
例如:
"Hello, world!"
->"Hello world"
删除停用词:
-
停用词是常用词(例如“and”,“the”,“is”),它们可能对文本的含义没有太大贡献,因此经常被删除。
-
例如:
"This is a pen"
->"pen"
输出:
4.1.5 词性(POS)标注
定义:为句子中的每个单词分配词性的过程,例如名词、动词、形容词等。
重要性:有助于理解句子的语法结构和含义。
例如:“GeeksforGeeks 是一个计算机科学平台。”让我们看看 NLTK 的 POS 标记器如何标记这个句子_。_
输出:
4.2 特征提取
大多数传统的机器学习技术都基于特征(通常是描述文档与包含该文档的语料库的关系的数字),这些特征由词袋、TF-IDF 或通用特征工程(例如文档长度、单词极性和元数据(例如,如果文本具有相关标签或分数))创建。较新的技术包括 Word2Vec、GLoVE 和在神经网络训练过程中学习特征。
4.2.1 词袋模型(BoW)
定义:文本数据的一种表示,其中每个文档都表示为其单词的包(多集),忽略语法和词序但保持多样性。
词袋模型是NLP中常用的一种技术,其中文本中的每个单词都表示为一个特征,并将其频率作为特征值。
重要性:简化文本处理,并用于文本分类和信息检索等各种 NLP 应用。
输出:
4.2.2 词频-逆文档频率(TF-IDF)
定义:TF-IDF(词频-逆文档频率)是一种数值统计,用于评估文档中某个单词相对于文档集合(或语料库)的重要性。基本思想是,如果某个单词在文档中出现频率高,但在其他许多文档中出现频率低,则应赋予其更高的重要性。
语料库D中文档d中术语t的 TF-IDF 分数由两个指标的乘积计算得出:词频 (TF)和逆文档频率 (IDF)。
1. 词频(TF)
词频 (TF) 衡量某个词在文档中出现的频率。它通常通过文档中的词总数进行归一化,以防止偏向较长的文档。
2.逆文档频率(IDF)
逆文档频率 (IDF) 衡量某个术语在整个语料库中的重要程度。它会降低出现在许多文档中的术语的权重,并增加出现在较少文档中的术语的权重。
- 将“+1”添加到分母中,以防止在该术语未出现在任何文档中的情况下被零除。
3. 结合 TF 和 IDF:TF-IDF
TF-IDF 分数通过将文档**d中术语t 的****TF值与IDF**值相乘来计算:
重要性:有助于识别文档中的重要词语,常用于信息检索和文本挖掘。
输出:
Feature Names (Words): ['barked' 'bed' 'cat' 'dog' 'mat' 'on' 'sat' 'the']
TF-IDF Matrix:
[[0. 0. 0.37420726 0. 0.49203758 0.37420726
0.37420726 0.58121064]
[0. 0.49203758 0.37420726 0. 0. 0.37420726
0.37420726 0.58121064]
[0.65249088 0. 0. 0.65249088 0. 0.
0. 0.38537163]]
4.2.3 N-gram
定义:来自给定文本或语音的 n 个项目(通常是单词或字符)的连续序列。
类型:
-
Unigram:单个单词。
-
二元词组:一对单词。
-
三字母组合:三个单词的序列。
重要性:捕获文本中的上下文和词语依赖关系。
输出:
4.2.4 词嵌入
定义:词向量是单词的密集向量表示,可以捕捉单词的含义、句法属性以及与其他单词的关系。与将单词视为离散实体的传统方法(如词袋法或 TF-IDF)不同,词向量将单词映射到连续向量空间中,其中语义相似的单词彼此相邻。
示例:Word2Vec、GloVe、FastText。
重要性:捕捉单词之间的语义关系,并用于各种 NLP 模型和应用程序。
**
**
输出:
4.2.5 上下文词嵌入
定义:上下文词嵌入根据句子中的上下文来捕获单词的含义。与传统的词嵌入(如 Word2Vec)不同,传统的词嵌入会为每个单词提供一个向量,而不管上下文如何,上下文嵌入会根据周围的单词为单词生成不同的向量。这些嵌入是使用 BERT(Transformers 的双向编码器表示)等模型生成的,这些模型在计算单词表示时会考虑整个句子。
例如:ELMo、BERT、GPT。
重要性:通过考虑周围的环境提供更准确的词语表示。
输出:
4.3 建模
数据经过预处理后,会被输入到 NLP 架构中,该架构对数据进行建模以完成各种任务。
-
根据手头的任务,可以通过上述技术提取的数值特征输入到各种模型中。例如,对于分类,TF-IDF 向量化器的输出可以提供给逻辑回归、朴素贝叶斯、决策树或梯度提升树。或者,对于命名实体识别,我们可以使用隐马尔可夫模型和 n-gram。
-
深度神经网络通常不需要使用提取的特征,尽管我们仍然可以使用 TF-IDF 或 Bag-of-Words 特征作为输入。
-
语言模型:从最基本的术语上讲,语言模型的目标是在给定输入词流的情况下预测下一个词。使用马尔可夫假设的概率模型就是一个例子:
深度学习也用于创建此类语言模型。深度学习模型将词向量作为输入,并在每个时间状态下返回下一个单词的概率分布作为词典中每个单词的概率。预训练语言模型通过处理大型语料库(例如维基百科)来学习特定语言的结构。然后可以针对特定任务对其进行微调。例如,BERT 已针对从事实核查到撰写标题等各种任务进行了微调。
4.3.1 命名实体识别(NER)
定义:识别文本中的命名实体并将其分类为预定义类别(例如人名、组织、位置、日期等)的过程。
示例:在句子“巴拉克·奥巴马是美国第 44 任总统”中,“巴拉克·奥巴马”被识别为一个人,“美国”被识别为 GPE(地缘政治实体)。
输出:
4.3.2 语言模型
定义:语言模型是一种统计模型,可以预测单词序列中的下一个单词。它为单词序列分配概率,帮助确定给定序列的可能性。语言模型是各种自然语言处理 (NLP) 任务的基础,例如文本生成、机器翻译和语音识别。
类型:
-
Unigram 模型:根据概率独立预测每个单词。
-
二元/三元模型:根据前一个或两个单词预测一个单词。
-
神经语言模型:使用神经网络(如循环神经网络 (RNN) 或 Transformers)来捕获文本中更复杂的模式和依赖关系。
重要性:文本生成、机器翻译和语音识别等任务的基础。
输出:
Generated sentence: i love natural language
4.3.3 传统 ML NLP 技术:
-
逻辑回归 是一种监督分类算法,旨在根据某些输入预测事件发生的概率。在 NLP 中,逻辑回归模型可用于解决情绪分析、垃圾邮件检测和毒性分类等问题。
-
朴素贝叶斯是一种监督分类算法,它使用以下贝叶斯公式找到条件概率分布_P(标签|文本) :_
并根据哪个联合分布具有最高概率进行预测。朴素贝叶斯模型中的朴素假设是各个单词是独立的。因此:
在 NLP 中,这种统计方法可以应用于解决垃圾邮件检测或查找软件代码中的错误等问题。
-
决策树 是一类监督分类模型,它根据不同的特征分割数据集,以最大化这些分割中的信息增益。
-
**隐含狄利克雷分配 (LDA)**用于主题建模。LDA 尝试将文档视为主题集合,将主题视为单词集合。LDA 是一种统计方法。其背后的直觉是,我们可以仅使用语料库中的一小部分单词来描述任何主题。
-
隐马尔可夫模型**:**马尔可夫模型是一种概率模型,它根据当前状态决定系统的下一个状态。例如,在 NLP 中,我们可能会根据前一个单词建议下一个单词。我们可以将其建模为马尔可夫模型,其中我们可以找到从单词 1 到单词 2 的转移概率,即 P(word1|word2)。然后我们可以使用这些转移概率的乘积来找到一个句子的概率。隐马尔可夫模型 (HMM) 是一种概率建模技术,它将隐藏状态引入马尔可夫模型。隐藏状态是数据的一种属性,无法直接观察到。HMM 用于词性 (POS) 标记,其中句子的单词是观察到的状态,POS 标记是隐藏状态。HMM 增加了一个称为发射概率的概念;给定隐藏状态的观察概率。在前面的例子中,这是给定单词的 POS 标记的概率。HMM 假设这个概率可以反转:给定一个句子,我们可以根据单词具有特定词性标记的可能性以及特定词性标记跟在分配给前一个单词的词性标记之后的概率来计算每个单词的词性标记。实际上,这是使用 Viterbi 算法来解决的。
4.3.4深度学习 NLP 技术
**卷积神经网络(CNN):**使用 CNN 对文本进行分类的想法最早出现在 Yoon Kim 的论文“用于句子分类的卷积神经网络”中。核心直觉是将文档视为图像。然而,输入不是像素,而是以单词矩阵表示的句子或文档。
**循环神经网络 (RNN)****:**许多使用深度学习的文本分类技术使用 n-gram 或窗口 (CNN) 来处理邻近的单词。它们可以将“纽约”视为单个实例。但是,它们无法捕获特定文本序列提供的上下文。它们不会学习数据的顺序结构,其中每个单词都依赖于前一个单词或前一个句子中的单词。RNN 使用隐藏状态记住先前的信息并将其连接到当前任务。称为门控循环单元 (GRU) 和长短期记忆 (LSTM) 的架构是 RNN 的类型,旨在长时间记住信息。此外,双向 LSTM/GRU 保留两个方向上的上下文信息,这有助于文本分类。RNN 还被用于生成数学证明并将人类思想转化为文字。
自动编码器**:**这些是深度学习编码器-解码器,它们近似从 X 到 X 的映射,即输入=输出。它们首先将输入特征压缩为较低维度的表示(有时称为潜在代码、潜在向量或潜在表示),然后学习重建输入。表示向量可用作单独模型的输入,因此该技术可用于降维。在许多其他领域的专家中,遗传学家已应用自动编码器来氨基酸序列中与疾病相关的突变。
编码器-解码器序列到序列**:**编码器-解码器 seq2seq 架构是对专门用于翻译、摘要和类似任务的自动编码器的改编。编码器将文本中的信息封装到编码向量中。与自动编码器不同,解码器的任务不是从编码向量重建输入,而是生成不同的所需输出,例如翻译或摘要。
Transformers**:** Transformers 是一种模型架构,最早在 2017 年的论文《Attention Is All You Need》(Vaswani、Shazeer、Parmar 等人)中描述,它放弃了循环,而是完全依靠自注意力机制来绘制输入和输出之间的全局依赖关系。由于这种机制一次处理所有单词(而不是一次处理一个单词),与 RNN 相比,它降低了训练速度和推理成本,尤其是因为它是可并行化的。Transformer 架构近年来彻底改变了 NLP,催生了包括BLOOM、Jurassic-X和Turing-NLG在内的模型。它还已成功应用于各种不同的视觉任务,包括制作3D 图像。
Transformer 模型的关键概念
自注意力机制:
- 自注意力机制允许模型在生成输出的每个部分时关注输入序列的不同部分。它计算输入特征的加权和,权重由每个特征与其他特征的相关性决定。
多头注意力机制:
- 该模型使用不同的权重矩阵(头部)多次计算注意力,然后将结果连接起来。这使得模型能够捕捉单词之间关系的不同方面。
位置编码:
- 由于 Transformers 没有内置的词序感(与 RNN 不同),因此将位置编码添加到输入嵌入中,以提供有关序列中每个单词位置的信息。
前馈神经网络:
- 经过注意力机制之后,数据经过前馈神经网络,被分别且相同地应用于每一个位置。
层规范化和残差连接:
-
Transformer 模型中各子层之间采用残差连接,然后进行层归一化,有助于稳定深度模型的训练。
-
重要性:由于其能够捕捉长距离依赖关系和并行计算,因此在许多 NLP 任务中处于领先地位。
输出:
Output shape: torch.Size([32, 10])
4.3.5 注意力机制
-
定义:一种允许模型在进行预测时关注输入序列的不同部分的技术。
-
重要性:通过提供上下文相关的信息来提高序列到序列任务的性能。
4.3.6 序列到序列(Seq2Seq)模型
-
定义:用于输入和输出为序列的任务(例如机器翻译)的模型架构。
-
组件:通常包括编码器和解码器,通常使用 RNN、LSTM 或变压器。
-
重要性:用于翻译、总结和对话系统等任务。
4.3.7 迁移学习
-
定义:使用预先训练的模型,以最少的额外训练完成新的相关任务的技术。
-
重要性:允许利用现有知识,减少对大型注释数据集和大量培训的需求。
4.3.8 微调
-
定义:采用预先训练的模型并使用额外的训练数据使其适应特定任务的过程。
-
重要性:增强预训练模型在特定任务应用上的性能。
4.3.9 零样本学习
-
定义:模型利用常识执行未经过明确训练的任务的能力。
-
重要性:展示了模型在没有特定任务的训练数据的情况下推广和适应新任务的能力。
4.3.10 小样本学习
-
定义:模型从极少量的例子中学习的能力。
-
重要性:减少了对大量注释数据的需求,并展示了模型快速适应新任务的能力。
5. NLP 模型和技术的比较分析
让我们分析一下每个模型和技术,并将其与前代模型和技术进行比较,突出它们的优点和局限性:
-
词袋法 (BoW) 与 TF-IDF:BoW 计算文档中单词的出现次数,而 TF-IDF 根据单词在文档和整个语料库中的重要性为单词分配权重。TF-IDF 通过赋予罕见单词更多的重要性来解决 BoW 的一个关键限制,从而更有效地捕捉文档的含义。然而,这两种方法都没有考虑词序和上下文,导致语义信息的丢失。
-
Word2Vec 与 BoW 和 TF-IDF 的比较:Word2Vec 是一种基于神经网络的技术,它学习连续的词向量,以捕捉单词之间的语义关系。与 BoW 和 TF-IDF 不同,Word2Vec 保留了上下文信息,并在密集的向量空间中表示单词,从而使其能够捕捉同义词、反义词和类比等语义关系。但是,Word2Vec 也有其局限性,例如难以处理词汇表外 (OOV) 的单词,并且无法根据上下文捕捉单词的不同含义(多义性)。
-
RNN(包括 LSTM 和 GRU)与 Word2Vec:Word2Vec 专注于单词表示,而 RNN(循环神经网络)则用于对数据序列(包括文本)进行建模。RNN 可以处理不同长度的输入序列,并保持隐藏状态以捕获来自先前时间步骤的信息。这使得 RNN 比 Word2Vec 更适合涉及时间依赖性的任务,例如情绪分析或机器翻译。
-
LSTM 和 GRU 与 Vanilla RNN:Vanilla RNN 存在梯度消失问题,这妨碍了它们学习长程依赖关系的能力。LSTM(长短期记忆)和 GRU(门控循环单元)是 RNN 的变体,旨在通过结合有效捕获长期依赖关系的门控机制来克服这一限制。然而,RNN(包括 LSTM 和 GRU)的计算成本可能很高,尤其是对于长序列。
-
双向 LSTM 与 LSTM:双向 LSTM 扩展了传统 LSTM,向前和向后处理输入序列。这使得模型能够从过去和未来的上下文中捕获信息,通常可以提高命名实体识别和情绪分析等任务的性能。但是,由于额外的向后传递,这种方法比标准 LSTM 的计算量更大。
-
Transformer 与 RNN(LSTM、GRU):Transformer 是一种神经网络架构,利用自注意力机制来模拟序列中单词之间的依赖关系。与 RNN 不同,Transformer 可以并行处理输入序列,从而使其计算效率更高,尤其是对于长序列。此外,Transformer 在捕获长距离依赖关系方面更有效,因为它们不受 RNN 那样的序列长度限制。然而,由于自注意力机制,Transformer 可能占用大量内存,并且通常需要大量训练数据才能实现最佳性能。
6. NLP 的演变
到目前为止,我们已经对 NLP 有了很好的了解。让我们研究一下 NLP 的演变,以了解 NLP 演变的完整图景。我们将在接下来的博客中详细讨论每一个。
自然语言处理 (NLP) 自 20 世纪 50 年代诞生以来,经历了显著的变革。这一历程可以分为不同的时代,每个时代都以突破性的进步和创新为标志。让我们深入研究 NLP 的演变,从早期的基于规则的系统到我们今天看到的复杂的大型语言模型 (LLM)。
6.1 20 世纪 50 年代至 80 年代中期:早期阶段和基于规则的方法
NLP 起源于 20 世纪 50 年代,当时主要致力于基于规则的方法。在此期间,研究人员致力于将语言规则编码到计算机程序中,希望使机器能够理解和生成人类语言。
关键里程碑 - **1957 年:**诺姆·乔姆斯基的开创性著作_《句法结构_》引入了转换语法,对计算语言学产生了深远的影响。- 1966 年:ALPAC 报告对早期的机器翻译工作提出了质疑,强调了语言处理的挑战性和复杂性。
6.2 20 世纪 80 年代末至 2000 年:统计方法和第一个网络架构
20 世纪 80 年代末,由于计算能力的提高和大型数据集的可用性,方法从基于规则转向了统计方法。
关键里程碑 - **1985 年:**循环神经网络 (RNN) 的引入为基于序列的数据处理奠定了基础。通过反向传播误差学习表征 - 1989 年:隐马尔可夫模型 (HMM) 在语音识别和其他基于序列的任务中变得流行。语音识别的隐马尔可夫模型 - 1997 年: Hochreiter 和 Schmidhuber 开发的长短期记忆 (LSTM) 网络通过解决梯度消失问题改进了 RNN。长短期记忆
统计方法的发展
-词袋 (BoW):一种表示文本数据的基础方法,通过计算单词出现次数来忽略语法和词序。- TF-IDF(词频-逆文档频率):对 BoW 的增强,将单词频率与其文档出现次数成反比,突出显示较少见、信息丰富的单词。信息检索简介
6.3 21 世纪初至 2018 年:深度学习与神经网络的兴起
21 世纪初,深度学习技术开始兴起,利用在海量数据集上训练的大型神经网络彻底改变了 NLP。
重要里程碑
-
2013 年: Mikolov 等人提出的 Word2Vec 可以创建密集的词嵌入,捕捉单词之间的语义关系。向量空间中单词表示的有效估计
-
2014 年:Sutskever、Vinyals 和 Le 提出的序列到序列学习和编码器-解码器架构极大地推动了机器翻译的发展。使用神经网络进行序列到序列学习
-
2014 年:Bahdanau、Cho 和 Bengio 引入了注意力机制,该机制允许模型在翻译过程中专注于输入序列的特定部分。通过联合学习对齐和翻译实现神经机器翻译
-
2017 年:谷歌的 Transformer 模型(在论文《Attention is All You Need》中介绍)通过完全依赖注意力机制彻底改变了 NLP。
词嵌入方法的详细开发
词向量化改变了机器理解单词的方式。这一旅程始于 Word2Vec,这是一种通过“向量化”单词来处理文本的神经网络,将语义相似的单词放在连续向量空间中紧密相连。
-
2013 年: Word2Vec 使用连续词袋 (CBOW) 和 Skip-Gram 架构转换词向量。向量空间中词表示的有效估计
-
2014 年: 斯坦福大学的 Pennington 等人开发的 GloVe,从语料库中汇总了全局单词共现统计数据。GloVe :用于单词表示的全局向量
-
2018 年: Facebook 人工智能研究实验室的 FastText 通过考虑子词信息改进了 Word2Vec,使其对形态丰富的语言有效。利用子词信息丰富词向量
注意力机制
-
2014 年:Bahdanau 等人引入了注意力机制,通过让模型关注输入序列的相关部分,显著提高了翻译质量。通过联合学习对齐和翻译实现神经机器翻译
-
2017 年:Vaswani 等人提出了 Transformer 模型,该模型专门使用注意力机制,提高了 NLP 任务的效率和性能。注意力就是你所需要的一切
Transformer 中的嵌入技术 Transformer 引入了新颖的嵌入技术,包括位置前馈网络和位置编码,帮助模型理解句子中的词序。注意力就是你所需要的
6.4 2019 年至今:大型语言模型 (LLM)
近年来,大型语言模型 (LLM) 已经突破了 NLP 能力的界限。
2019 年****关键里程碑:RoBERTa、BART、T5 和 GPT-2 等模型为语言理解和生成设定了新的基准。
-
RoBERTa:一种稳健优化的 BERT 预训练方法
-
BART:用于自然语言生成、翻译和理解的去噪序列到序列预训练
-
使用统一的文本到文本转换器探索迁移学习的极限
-
语言模型是无监督的多任务学习者
2020 年:OpenAI 的 GPT-3 拥有 1750 亿个参数,展示了令人印象深刻的语言生成和理解能力。语言模型是小样本学习者
2021 年:DeBERTa、T0 和开源 GPT-Neo 等模型继续取得进步。
-
DeBERTa:利用解缠注意力机制增强解码的 BERT
-
多任务提示训练可实现零样本任务泛化
-
GPT-Neo
2022 年:FlanT5、PaLM、BLOOM 和 ChatGPT 等模型将细致入微、情境感知的语言理解带到了最前沿。
-
扩展指令微调语言模型
-
PaLM:利用路径扩展语言建模
-
BLOOM:176B 参数的开放获取多语言模型
-
ChatGPT
2023 年:LLaMa、Bard、GPT-4 和 Claude 等模型的开发表明 NLP 正在不断取得进步。
-
LLaMa:大型语言模型元人工智能
-
GPT-4
-
Bard 和 Claude 是专有模型,其详细信息请参阅各自公司的网站。
大型语言模型的微调 微调 对于使预训练的 LLM 适应特定任务至关重要。这涉及对较小的、特定于任务的数据集进行额外训练,使模型能够专门化,同时利用其丰富的预训练知识。
-
2019 年:使用 BERT 和 RoBERTa 等模型的监督和无监督微调等技术变得流行。
-
2020 年:GPT-3 强调了少样本学习的潜力,在这种学习中,模型只需几个示例即可进行微调,从而在各种任务上取得令人印象深刻的表现。语言模型是少样本学习者
NLP 的历史展示了过去七十年来取得的惊人进步。从早期的基于规则的系统到当今复杂的大型语言模型,每个时代都为我们对人类语言的理解做出了重大贡献。随着我们继续开发更先进的模型,NLP 的未来将带来更多令人兴奋的创新和应用,使我们更接近真正理解和生成人类语言。
7. 结论
在这篇博文中,我们开始了解自然语言处理 (NLP) 的基础知识。我们首先定义 NLP,然后探索其核心领域:自然语言理解 (NLU) 和自然语言生成 (NLG)。然后,我们深入研究了 NLP 的各种应用,包括情绪分析、机器翻译和命名实体识别,重点介绍了如何使用不同的技术和模型来解决这些任务。
我们还介绍了基本的 NLP 概念和术语,例如标记化、词干提取、词形还原,以及词袋 (BoW) 和 TF-IDF 等特征在特征提取中的作用。此外,我们还讨论了词嵌入和 transformers 等先进技术,这些技术通过实现更复杂的语言理解和生成,彻底改变了该领域。
最后,我们探讨了 NLP 的演变,追溯了它从 1950 年代基于规则的系统发展到如今强大的大型语言模型 (LLM),例如 GPT-3 和 GPT-4。这一历史背景全面概述了该领域的发展历程以及塑造现代 NLP 的重要里程碑。
通过了解这些基础概念和 NLP 的发展,读者能够在未来的讨论和应用中进一步探索 NLP 的复杂性。
8.测试您的知识!
8.1 基本面试问题
1. NLP 的两个主要领域是什么?它们有何不同? —预期答案:自然语言理解 (NLU) 侧重于解释文本背后的含义,而自然语言生成 (NLG) 则负责生成类似人类的文本。
2. 解释词干提取和词形还原之间的区别。为什么在某些 NLP 任务中,前者更受青睐? — 预期答案:词干提取通过剥离词缀将单词简化为词根形式,这可能会导致非单词。另一方面,词形还原将单词简化为基本形式或词典形式(词根),通常会产生真正的单词。当准确性至关重要时,词形还原通常是首选,而词干提取速度更快且计算成本更低。
3. NLP 中的标记化的目的是什么?有哪些不同的类型? — 预期答案:标记化将文本分解为称为标记的较小单位,可以是单词、子单词或字符。类型包括单词标记化、句子标记化和子单词标记化。
4. 词频-逆文档频率 (TF-IDF) 与词袋 (BoW) 模型有何不同?它解决了什么问题? — 预期答案:TF-IDF 改进了 BoW,它不仅计算单词的出现次数,还根据单词在文档中相对于整个语料库的重要性对单词进行加权。它通过降低常用词的重要性来解决常用词过度出现的问题。
5. 什么是词嵌入?它们如何改进 BoW 和 TF-IDF 等传统模型? — 预期答案:词嵌入是单词的密集向量表示,可以捕捉单词的含义、句法属性以及与其他单词的关系。与将单词视为离散实体的 BoW 和 TF-IDF 不同,词嵌入将语义相似的单词放在连续向量空间中,以保留上下文。
6. 描述 Transformer 模型及其在 NLP 中的意义。它与 RNN 等以前的模型有何不同? — 预期答案:Transformer 模型完全依靠自注意力机制来处理顺序数据,而不是按顺序处理,与 RNN 相比,它更高效,能够捕获长距离依赖关系,而 RNN 按顺序处理数据,对于长序列效率较低。
7. 注意力机制在现代 NLP 模型中扮演什么角色,以及它如何提高翻译等任务的性能? ——预期答案:注意力机制允许模型在生成输出的每个部分时关注输入序列的特定部分,提供上下文相关的信息,并通过关注相关的单词或短语来提高翻译等任务的性能。
8. 在大型语言模型中,微调和零样本学习有什么区别? ——预期答案:微调涉及使用额外的训练数据使预训练模型适应特定任务,而零样本学习是指模型使用一般知识执行未明确训练的任务的能力。
9. NLP 从基于规则的系统到大型语言模型 (LLM) 的演变如何改变了这个领域? — 预期答案:从基于规则的系统到 LLM 的演变已经改变了 NLP,从手动编码的语言规则转变为利用海量数据集和 Transformers 等高级架构的数据驱动方法,从而产生了能够进行更复杂的语言理解和生成的模型。
10. 在 NLP 中,什么是语料库?它在模型训练中如何使用? — 预期答案:语料库是大量文档的集合,可作为训练和评估 NLP 模型的数据集。它用于分析语言模式和建立统计模型。
8.2 高级问题
1. 假设您的 NLP 模型无法正确对客户评论中的情绪进行分类,您将采取哪些步骤来诊断和改进模型? ——预期答案:步骤可能包括分析数据是否存在类别不平衡、检查预处理流程(例如标记化、删除停用词)、检查特征提取方法(例如 TF-IDF 与词嵌入)、探索替代模型(例如使用转换器而不是简单的逻辑回归),并验证不同验证集上的性能以排除过度拟合。
2. 在生产 NLP 系统中,您将如何处理词汇表外 (OOV) 的单词? — 预期答案:方法可能包括使用子词标记方法(如字节对编码 (BPE))或使用字符级嵌入。另一种方法可能是用特殊标记替换 OOV 单词,并微调模型以更好地处理这些情况。
3. 假设您负责为法律文档语料库构建命名实体识别 (NER) 系统。您可能会面临哪些挑战,您将如何应对这些挑战? — 预期答案:挑战可能包括处理特定领域的语言、长句和复杂句子,以及由于法律影响而需要的高精度。为了解决这些问题,可以使用针对法律文本进行微调的预训练模型,结合特定领域的嵌入,并应用主动学习等技术来迭代改进模型的性能。
4. 如果您的聊天机器人对用户查询提供不相关的答案,您将如何调试该问题? — 预期答案:调试过程可能涉及检查意图识别系统、验证对话流程和上下文管理、确保训练数据多样化且具有代表性,以及分析日志以查看对话偏离的位置。您还可以检查模型的置信度分数,以确定问题出在模型的理解上还是响应生成逻辑上。
**5. 您将如何设计一个 NLP 系统来自动生成研究论文摘要?**您会考虑哪些因素?— 预期答案:考虑因素包括选择提取式摘要方法还是抽象式摘要方法、评估摘要的质量和长度、处理特定领域的术语、确保模型捕捉论文的关键贡献以及解决冗余和连贯性等挑战。您还可以讨论在研究论文摘要数据集上微调预训练模型的重要性。
6. 假设您正在使用一个使用 TF-IDF 特征的文本分类模型。您如何整合其他信息(例如文本的情绪或作者的人口统计信息)来提高性能? — 预期答案:一种方法可能涉及为情绪分数或作者人口统计创建其他特征,并将它们与 TF-IDF 向量连接起来,然后将它们输入分类器。另一种方法可能是使用多输入模型,其中一个分支处理 TF-IDF 特征,另一个分支处理其他信息,在分类之前合并输出。
7. 你会采用哪些策略来减少用于招聘目的的 NLP 系统中的模型偏差? — 预期答案:策略可能包括仔细选择训练数据以确保多样性、使用对抗性去偏等技术、监控模型是否存在偏差输出以及在训练期间实施公平性约束。定期审核模型的决策并在敏感决策中加入人工参与也很重要。
8. 你会如何向没有技术背景的人解释 transformer 中的注意力机制概念? ——预期答案:你可能会解释说,注意力机制允许模型关注句子中的重要单词,类似于人们在试图理解复杂句子时可能会注意某些单词的方式。例如,在“猫坐在垫子上”这句话中,模型会更加关注“猫”和“垫子”以理解主要思想。
9. 你被要求优化一个机器翻译模型的性能,该模型在 处理罕见词汇时遇到了困难。你会提出什么解决方案?— 预期答案:解决方案可能包括实施子词标记化以将罕见词汇分解为更常见的子词单元,使用在大型语料库上预先训练的模型的迁移学习,在包含罕见词汇的数据集上微调模型,或使用包含这些罕见词汇的释义或合成数据扩充数据集。
10. 在您的 NLP 模型的预测难以解释的情况下,您将如何提高模型的可解释性? ——预期答案:方法可能包括使用更简单的模型(如决策树或逻辑回归)、在 Transformer 模型中实现注意力可视化以查看模型关注输入的哪些部分、使用 LIME 或 SHAP 等技术来解释预测,并结合事后分析来分解模型如何得出特定的决策。
8.3 自己动手
-
NLP 有哪些实际应用?
-
我们如何表示词嵌入?
-
为什么 NLP 中需要 CNN?
-
什么是迁移学习?进行迁移学习需要采取哪些步骤?
-
GPT 和 BERT 系列的主要区别是什么?
-
如果没有 NLTK 和 SpaCy 这样的库,您将如何构建命名实体识别管道?
-
您将如何确定文本中单词的位置?
-
与 RNN 等其他模型相比,Transformer 有哪些优势?
-
CNN 可以处理文本吗?为什么不推荐使用 CNN,而更推荐使用 RNN?
-
什么是循环神经网络 (RNN),它如何处理 NLP 中的序列数据?
-
抽象概括和提取概括有什么区别?
在大模型时代,我们如何有效的去学习大模型?
现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
掌握大模型技术你还能拥有更多可能性:
• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;
• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;
• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;
• 更优质的项目可以为未来创新创业提供基石。
可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF书籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型各大场景实战案例
结语
【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈