初识自然语言处理NLP

server/2024/9/24 19:13:24/

文章目录

  • 1、简介
  • 2、自然语言处理的发展简史
  • 3、语言学理论
    • 句法学(Syntax)
    • 语义学(Semantics)
    • 语用学(Pragmatics)
    • 形态学(Morphology)
  • 4、统计与机器学习方法
    • n-gram 模型
    • 隐马尔可夫模型(HMM)
    • 条件随机场(CRF)
    • 朴素贝叶斯(Naive Bayes)
  • 5、深度学习方法
    • 词嵌入(Word Embeddings)
    • 卷积神经网络(CNN)
    • 循环神经网络(RNN)及其变种
    • Transformer 模型
  • 6、预训练模型与转移学习
    • BERT(Bidirectional Encoder Representations from Transformers)
    • GPT(Generative Pre-trained 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 的应用前景更加广阔。


http://www.ppmy.cn/server/99721.html

相关文章

AI大模型开发——2.深度学习基础(1)

学习大模型开发之前,我们需要有足够的储备知识,类似于基础的python语法相信大家也都是十分熟悉了。所以笔者也是考虑了几天决定先给大家补充一些深度学习知识。 首先问大家一个问题,学习大模型之前为什么要先学习深度学习知识呢? …

Spring Boot 常用设计模式

在Spring Boot中,常用的设计模式多种多样,这些设计模式不仅帮助维护了代码的清晰度和灵活性,还使得框架易于扩展和维护。以下是一些在Spring Boot中常用的设计模式: 单例模式(Singleton Pattern)&#xff1…

坐标变换矩阵

在高级驾驶辅助系统(ADAS)领域,存在多种常用的坐标系:雷达Lidar坐标系、车辆坐标系、相机坐标系、图像坐标系。 旋转变换矩阵(Rotation Matrix) 在二维平面xoy上,由绿色坐标系逆时针旋转θ到蓝…

您知道Jmeter中Redirect Automatically 和 Follow Redirects的使用场景吗?

相信很多使用过jmeter的同学都没有关注过请求中的Redirect Automatically 和 Follow Redirects选项,如下图: 在 JMeter 中,Redirect Automatically 和 Follow Redirects 是与 HTTP 请求重定向相关的两个选项,它们之间是有很大区别…

element table表格树形数据展示

element table表格树形数据展示 1、效果 2、代码 <el-table ref"pointMultipleTable" border class"table-box" :data"[damActiveObj]"row-key"id" :tree-props"{ children: children }" :expand-row-keys"expand…

如何高效记录并整理编程学习笔记?一个好的笔记软件往往可以达到事半功倍的学习效果 φ(* ̄0 ̄)

在编程学习的旅程中&#xff0c;良好的笔记习惯不仅是知识积累的基石&#xff0c;更是提升学习效率、巩固学习成果的关键。选择合适的笔记工具&#xff0c;并掌握其高效使用方法&#xff0c;对于每一位编程学习者而言都至关重要。本文将从笔记工具的选择角度出发&#xff0c;探…

Arduino控制带编码器的直流电机速度

Arduino DC Motor Speed Control with Encoder, Arduino DC Motor Encoder 作者 How to control dc motor with encoder:DC Motor with Encoder Arduino, Circuit Diagram:Driving the Motor with Encoder and Arduino:Control DC motor using Encoder feedback loop: How …

C语言:位运算

&&#xff1a;与运算&#xff0c;相同位的两个数字都是1&#xff0c;就是1&#xff1b;有一个不是1&#xff0c;就是0&#xff1b; |&#xff1a;或运算&#xff0c;相同位一个是1&#xff0c;就是1&#xff1b; ~&#xff1a;取反&#xff0c;0为1&#xff0c;1为0&…