文章目录
- 1、简介
- 2、自然语言处理的发展简史
- 3、语言学理论
- 4、统计与机器学习方法
-
- [n-gram 模型](#n-gram 模型)
- 隐马尔可夫模型(HMM)
- 条件随机场(CRF)
- [朴素贝叶斯(Naive Bayes)](#朴素贝叶斯(Naive Bayes))
- 5、深度学习方法
-
- [词嵌入(Word Embeddings)](#词嵌入(Word Embeddings))
- 卷积神经网络(CNN)
- 循环神经网络(RNN)及其变种
- [Transformer 模型](#Transformer 模型)
- 6、预训练模型与转移学习
-
- [BERT(Bidirectional Encoder Representations from Transformers)](#BERT(Bidirectional Encoder Representations from Transformers))
- [GPT(Generative Pre-trained Transformer)](#GPT(Generative Pre-trained Transformer))
- [T5(Text-to-Text Transfer Transformer)](#T5(Text-to-Text Transfer Transformer))
- 7、自然语言处理的应用
- 8、小结
🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎人工智能和前端开发。
🦅个人主页:@逐梦苍穹
📕所属专栏:人工智能
🌻gitee地址:xzl的人工智能代码仓库
✈ 您的一键三连,是我创作的最大动力🌹
1、简介
自然语言处理(Natural Language Processing, 简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域。
自然语言处理(NLP)涉及多个层次的理论和技术,从基础语言学到先进的深度学习模型。
2、自然语言处理的发展简史
3、语言学理论
句法学(Syntax)
- 上下文无关文法(Context-Free Grammar, CFG):定义如何生成句子的规则,通常用于句法树的构建和分析。
- 依存语法(Dependency Grammar):研究句子中词语之间的依赖关系,更适合捕捉语言的实际使用情况。
- X-bar 语法:一种扩展的短语结构语法,用于解释句子的层次结构。
语义学(Semantics)
- 词汇语义学(Lexical Semantics):研究词语的含义及其组合方式,包括同义词、反义词、多义词等。
- 组合语义学(Compositional Semantics):通过逻辑和数学方法,研究句子意义如何从单词的意义中组合而成。
- 框架语义学(Frame Semantics):基于认知语言学,研究语言表达的意义与背景知识的关系。
语用学(Pragmatics)
- 言语行为理论(Speech Act Theory):研究语言使用者通过语言进行的各种行为,如声明、提问、命令等。
- 会话含义(Conversational Implicature):研究说话者如何通过语言的间接使用传递隐含意义。
- 语用推理(Pragmatic Inference):研究听话者如何通过上下文理解隐含信息。
形态学(Morphology)
- 屈折变化(Inflection):词形变化以表示语法信息,如动词的时态、名词的数。
- 派生变化(Derivation):通过添加前缀或后缀形成新词,如名词转化为动词。
- 形态分析与生成:利用规则或统计方法进行词形还原(Lemmatization)和词干提取(Stemming)。
4、统计与机器学习方法
n-gram 模型
- 平滑技术(Smoothing Techniques):如加法平滑、Katz 回退、Kneser-Ney 平滑,用于处理未见过的 n-gram。
- 统计语言建模:通过计算 n-gram 的联合概率和条件概率来预测下一个词或词组。
隐马尔可夫模型(HMM)
- 维特比算法(Viterbi Algorithm):用于找到最可能的隐藏状态序列。
- 前向-后向算法(Forward-Backward Algorithm):用于计算序列中各状态的概率分布。
- Baum-Welch 算法:一种 EM(Expectation-Maximization)算法,用于从未标注数据中估计 HMM 的参数。
条件随机场(CRF)
- 特征函数设计:利用输入数据的特征,如词性、词形等,构建特征函数。
- 参数估计:通过最大似然估计(Maximum Likelihood Estimation)或正则化方法估计模型参数。
- 序列标注:通过动态规划算法,如维特比算法,实现最优标注序列的解码。
朴素贝叶斯(Naive Bayes)
- 贝叶斯定理:通过计算后验概率进行分类。
- 假设条件独立性:尽管这一假设在实际应用中不总是成立,但朴素贝叶斯在许多实际应用中表现良好。
- 拉普拉斯平滑:处理零概率问题,防止某些词语未见过的情况下影响分类结果。
5、深度学习方法
词嵌入(Word Embeddings)
- Word2Vec:通过 Skip-gram 和 CBOW 模型训练词向量,捕捉词语的语义相似性。
- GloVe(Global Vectors for Word Representation):通过全局词共现矩阵训练词向量,平衡全局和局部信息。
- FastText:扩展 Word2Vec,通过子词信息提高对低频词和未见词的处理能力。
卷积神经网络(CNN)
- 一维卷积(1D Convolution):适用于文本数据,利用卷积核捕捉局部词组特征。
- 池化层(Pooling Layer):如最大池化(Max Pooling)和平均池化(Average Pooling),用于缩减特征图尺寸,提高模型泛化能力。
- 应用场景:文本分类、情感分析、句子匹配等。
循环神经网络(RNN)及其变种
- 标准 RNN:处理序列数据,但存在梯度消失和梯度爆炸问题。
- 长短期记忆网络(LSTM):通过引入记忆单元和门机制,解决长期依赖问题。
- 门控循环单元(GRU):简化的 LSTM,计算效率更高。
- 双向 RNN(Bi-directional RNN):结合前向和后向 RNN,提高对上下文信息的捕捉能力。
Transformer 模型
- 自注意力机制(Self-Attention Mechanism):捕捉序列中任意位置的依赖关系,计算复杂度为 O(n^2)。
- 多头注意力(Multi-Head Attention):通过并行注意力头,捕捉不同子空间的信息。
- 位置编码(Positional Encoding):在模型中引入位置信息,弥补 Transformer 缺少序列位置信息的不足。
- 预训练模型:如 BERT(双向编码器表示)和 GPT(生成预训练变换器),通过大规模语料预训练,在特定任务上微调,显著提高性能。
6、预训练模型与转移学习
BERT(Bidirectional Encoder Representations from Transformers)
- 双向训练:通过同时考虑左上下文和右上下文,捕捉更丰富的语义信息。
- 遮掩语言模型(Masked Language Model):在预训练阶段随机遮掩部分词语,模型通过预测这些词语进行训练。
- 下一句预测(Next Sentence Prediction, NSP):预训练时通过判断两句子是否连续,学习句子间的关系。
GPT(Generative Pre-trained Transformer)
- 单向训练:通过从左到右生成文本,适合文本生成任务。
- 解码器架构:与 BERT 的编码器架构不同,GPT 采用解码器架构,更适合生成任务。
- 零样本、少样本学习:通过大规模预训练,GPT-3 展现出在许多任务中的零样本和少样本学习能力。
T5(Text-to-Text Transfer Transformer)
- 统一任务格式:将所有 NLP 任务统一为文本到文本的格式,简化了模型的使用和任务转换。
- 预训练任务:通过多种预训练任务(如遮掩语言模型、拼写纠错等)提高模型的泛化能力。
- 多任务学习:在预训练阶段同时进行多种任务,提高模型在不同任务上的表现。
7、自然语言处理的应用
文本分类
- 情感分析:通过分类模型判断文本的情感倾向,如积极、消极、中立。
- 主题分类:将文本分类到不同的主题,如新闻分类、文档分类等。
- 垃圾邮件检测:通过分类模型识别垃圾邮件,提高邮箱的安全性。
信息提取
- 命名实体识别(Named Entity Recognition, NER):识别文本中的实体,如人名、地名、组织名等。
- 关系抽取(Relation Extraction):从文本中提取实体间的关系,如人物关系、事件关系等。
- 事件抽取(Event Extraction):识别文本中的事件及其参与者、时间、地点等信息。
机器翻译
- 统计机器翻译(Statistical Machine Translation, SMT):通过统计模型进行语言翻译,如短语翻译模型、层次短语模型。
- 神经机器翻译(Neural Machine Translation, NMT):通过端到端的神经网络模型进行翻译,如基于序列到序列(Seq2Seq)模型、Transformer 模型。
- 自适应翻译(Adaptive Translation):通过实时反馈和用户校正提高翻译质量。
问答系统
- 检索式问答(Retrieval-Based QA):通过搜索技术在大量文档中检索答案,常用于知识库问答。
- 生成式问答(Generative QA):通过生成模型生成答案,常用于对话系统、聊天机器人等。
文本生成
- 语言模型生成(Language Model Generation):通过训练好的语言模型生成连贯的文本,如文章生成、新闻生成等。
- 对话系统(Dialogue Systems):生成自然、连贯的对话,如智能助手、客服机器人等。
- 故事生成(Story Generation):生成富有创意和连贯的故事,常用于娱乐、教育等领域。
8、小结
通过结合以上理论知识和技术方法,自然语言处理在处理复杂语言任务方面取得了显著进展,同时仍面临诸如语义理解、上下文处理等挑战
随着深度学习和计算能力的提升,NLP 的应用前景更加广阔。