【大模型架构解析】万字长文带你了解大模型中的NLP基础知识

1. 什么是自然语言处理 (NLP)

自然语言处理(Natural Language Processing,NLP)是一门结合了计算机科学、人工智能和语言学的学科,旨在让计算机能够理解、生成和处理人类语言。NLP 的核心目标是使机器具备与人类交流的能力,无论是书面语言还是口头语言。近年来,随着深度学习和大数据的发展,NLP 技术取得了显著的突破,被广泛应用于机器翻译、文本摘要、情感分析、自动问答、语音识别等多个领域。

NLP 主要涉及多个关键任务,如分词、词性标注、句法分析、命名实体识别和语义理解等。现代 NLP 方法通常依赖于预训练语言模型,如 Transformer 结构的 BERT、GPT 和 T5,这些模型能够通过大规模数据训练,捕捉语义信息并生成高质量的文本。
NLP 大致分为两个重叠的领域:

  • • 自然语言理解 (NLU),处理解释文本背后的含义,以及

  • • 自然语言生成 (NLG),专注于生成模仿人类书写的文本。尽管 NLP 与语音识别(将口语转换为文本)不同,但它通常与之协同工作。

2.NLP 的应用

图片

NLP 用于各种与语言相关的任务,包括回答问题、以各种方式对文本进行分类以及与用户交谈。
以下是 NLP 可以解决的一些任务:

2.1 情感分析

这涉及确定文本的情感基调。输入通常是一段文本,输出是概率分布,指示情绪是积极、消极还是中性。技术范围从 TF-IDF 和 n-gram 等传统方法到 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 信息检索

这涉及查找与查询相关的文档,这对搜索引擎和推荐系统至关重要。Google 的最新模型使用多模态方法同时处理文本、图像和视频数据。

2.10 摘要

摘要是缩短文本以突出最相关信息的任务。摘要分为两个方法类:

  • 抽取式摘要侧重于从长文本中提取最重要的句子,并将它们组合起来形成摘要。通常,抽取式摘要对输入文本中的每个句子进行评分,然后选择几个句子来构成摘要。

  •  抽象摘要通过释义生成摘要。这类似于编写摘要,其中包括原始文本中不存在的单词和句子。抽象摘要通常被建模为序列到序列的任务,其中输入是长格式文本,输出是摘要。

2.11 问答 (QA)

问答涉及用自然语言回答人类提出的问题。问答最显着的例子之一是 Watson,它在 2011 年与人类冠军一起玩电视游戏节目 Jeopardy,并以相当大的优势获胜。通常,问答任务有两种类型:

  • 多项选择题:多项选择题由一个问题和一组可能的答案组成。学习任务是选择正确的答案。

  • 开放域:在开放域问答中,模型以自然语言提供问题的答案,而不提供任何选项,通常是通过查询大量文本。

3.NLP术语

3.1 文档

文档是一段文本,可以是从单个句子到整本书的任何内容。它是 NLP 模型处理的基本文本单位。文档本质上可以是多种多样的,例如电子邮件、网页、文章或推文。
示例:

  • 报纸上的一篇新闻文章。

  • 一条推文:“刚刚看了一部精彩的电影!

  • 一封电子邮件:“亲爱的约翰,我希望这封电子邮件能找到你......”

3.2 语料库 (Corpora)

语料库(复数:corpora)是大量文档。它用作训练和评估 NLP 模型的数据集。语料库通常包含按主题、语言或流派相关的文档,用于分析语言模式和构建统计模型。
示例:

  •  一年内特定报纸的所有文章的集合。

  •  来自电子商务网站的客户评论数据集。

  • 古腾堡语料库:古腾堡计划的文学文本集。

3.3 文档特征

特征是机器学习模型中使用的文本的可测量属性或特征。特征是从文档中提取的,可以表示文本的各个方面,例如特定单词的存在、句子的长度或特定模式的出现。
示例:
1.词袋 (BoW):词汇中的每个单词都是一个特征,值是文档中单词的计数。

  • 文档:“I love NLP."

  • 特征: {“I”: 1, “love”: 1, “NLP”: 1}

2.逆文档频率 (TF-IDF):一种统计度量,用于评估单词在文档中相对于语料库的重要性。

  • 文档:“Machine learning is fun."

  • 特征(TF-IDF 分数):{“Machine”: 0.5, “learning”: 0.5, “is”: 0.1, “fun”: 0.7}

3.词性 (POS) 标签: 指示每个单词的语法类别(例如,名词、动词、形容词)的特征。

  • 文档:“The quick brown fox jumps."

  • 特征: {“The”: “冠词”, “quick”: “形容词”, “brown”: “形容词”, “fox”: “名词”, “jumps”: “动词”}
    例如,让我们考虑下面显示的 2 个文档:

Sentences:
Dog hates a cat. It loves to go out and play.
Cat loves to play with a ball.

我们只需将上述 2 个文档组合在一起,就可以构建一个语料库。

Corpus = "Dog hates a cat. It loves to go out and play. Cat loves to play with a ball."

并且 features 将是所有唯一的单词:

Fetaures: ['and', 'ball', 'cat', 'dog', 'go', 'hates', 'it', 'loves', 'out', 'play', 'to', 'with']

我们将其称为特征向量。在这里,我们记住,我们将通过将 'a' 视为单个字符来删除它。

4.NLP的工作原理

NLP 模型的工作原理是查找语言的组成部分之间的关系,例如,在文本数据集中找到的字母、单词和句子。NLP 架构使用各种方法进行数据预处理、特征提取和建模。
让我们简化并分解这些步骤,以便更好地理解。

4.1 数据预处理

理解 NLP 的第一步侧重于上下文框架内对话和话语的含义。主要目标是促进语音机器人和人类之间有意义的对话。
例如,向聊天机器人发出命令,例如“向我展示最好的食谱”或“播放派对音乐”,属于此步骤的范围。它涉及在正在进行的对话的上下文中理解和响应用户请求。
在模型处理特定任务的文本之前,通常需要对文本进行预处理,以提高模型性能或将单词和字符转换为模型可以理解的格式。此数据预处理中可以使用各种技术:
4.1.1 分词
将文本分解为更小的单元(称为标记)的过程,这些单元可以是单词、子词或字符。
类型:

  • 单词分词化:将文本拆分为单个单词。例:
    “我学习机器学习。”将被单词标记化为 ['我', '学习', '机器', '学习',‘。’]

  • 句子分词化:将文本拆分为单独的句子。例如,
    “我在公众号上学习机器学习。目前,我正在学习 NLP” 将被句子标记化为 ['我在公众号上学习机器学习。', '目前,我正在学习 NLP。']

  • 子词分词化:将单词分成更小的单元,如前缀、后缀或单个字符。

4.1.2 词干提取

  •  定义:通过去除后缀和前缀将单词简化为词根形式的过程。

  •  示例:“running”和“runner”这两个词的词干提取为 “run”。

  •  与词形还原的区别: 与词形还原相比,词干提取是一种更粗糙的技术,可能并不总是产生真正的单词。

4.1.3 词形还原

  •  定义:将单词简化为基本形式或字典形式的过程,称为引理。

  • 示例:单词 “running” 和 “ran” 被词形还原为 “run”。
    词干分析器比词形还原器更快,计算成本更低。

from nltk.stem import WordNetLemmatizer
# create an object of class WordNetLemmatizer
lemmatizer = WordNetLemmatizer()

print(lemmatizer.lemmatize("plays", 'v'))
print(lemmatizer.lemmatize("played", 'v'))
print(lemmatizer.lemmatize("play", 'v'))
print(lemmatizer.lemmatize("playing", 'v'))
输出 :
play
play
play
play

词形还原涉及将同一单词的变形形式组合在一起。这样,我们就可以接触到任何在本质上有意义的单词的基本形式。

from nltk.stem import WordNetLemmatizer

# create an object of class WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
print(lemmatizer.lemmatize("Communication", 'v'))
输出 :
Communication

词形还原器比词干分析器更慢,计算成本更高。

4.1.4 归一化
自然语言处理 (NLP) 中的规范化是指将文本转换为标准形式的过程。规范化的目的是确保文本数据处理方式的一致性,使 NLP 模型能够更好地理解和解释文本。一些常见的规范化技术包括将文本转换为小写、词干提取、词形还原以及删除停用词或标点符号。

  1. 1. 小写字母:

  • 将文本中的所有字符转换为小写,以确保将 “Apple” 和 “apple” 等单词视为同一单词。

  •  示例:"Apple" -> "apple"

  1. 2. 删除标点符号:

  • 标点符号在 NLP 任务中通常没有重要的意义,因此它们通常会被删除。

  • 示例:"Hello, world!" -> "Hello world"
    3.删除停用词:

  • 停用词是常用词(如 “and”、“the”、“is”),它们可能对文本的含义没有太大贡献,并且经常被删除。 示例:"This is a pen" -> "pen"

import nltk
from nltk.corpus import stopwords
from nltk.stem import PorterStemmer, WordNetLemmatizer
import re
# 下载NLTK数据
nltk.download('punkt')
nltk.download('wordnet')
nltk.download('stopwords')
# 样例文本
text = "Running is better than walking! Apples and oranges are different."
# 转化为小写
text_lower = text.lower()
print("Lowercased text:", text_lower)
# 移除标点符号
text_no_punct = re.sub(r'[^\w\s]', '', text_lower)
print("Text without punctuation:", text_no_punct)
# 分词
words = nltk.word_tokenize(text_no_punct)
print("Tokenized words:", words)
# 删除停用词
stop_words = set(stopwords.words('english'))
wor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI安全这点事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值