初识自然语言处理NLP

news2024/9/21 16:23:18

文章目录

  • 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.coloradmin.cn/o/1995316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JNPF快速开发平台赋能数字办公方式转变

随着信息技术的飞速发展,数字化转型已成为各行各业提升效率、优化流程的重要手段。JNPF快速开发平台正是在这样的背景下应运而生,它通过简化开发流程,使得非技术人员也能参与到应用的构建中来,从而加速了数字办公方式的转变。 数字…

解决r2dbc连mysql时timestamp字段的时区问题

现象: 在两个mysql库用相同SQL都建了某表,都有created_at字段: created_at timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, 。但是在往此表insert记录时,B库的created_at字段比当前时间慢了8个小时,而A…

MySQL学习(19):锁

1.什么是锁 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,数据是供许多用户共享的资源,数据库必须保证数据并发访问的一致性、有效性,这就要靠锁来协调实现。 MySOL中的锁,分为以下三类: &am…

深度学习基础 - 向量投影

深度学习基础 - 向量投影 flyfish 给定两个向量 a \mathbf{a} a 和 b \mathbf{b} b,我们想要计算 a \mathbf{a} a 在 b \mathbf{b} b 上的投影。 点乘 (Dot Product) 点乘是一个标量,表示两个向量在相同方向上的程度。公式为: a ⋅ b …

行为验证码热门行业解决方案

行为式验证码是一种较为流行的验证码。从字面来理解,就是通过用户的操作行为来完成验证,而无需去读懂扭曲的图片文字,以下是常见的案例。 ​​热门行业解决方案 教育解决方案 教育资源不断线上化,使得违法违规内容风险不断提高&…

最近在西安召开的学术会议:EI检索超快,信息系统与计算技术领域!

第十二届信息系统与计算技术国际会议(ISCTech 2024)将于2024年11月8日-11月11日在中国西安盛大举行,由长沙理工大学主办,同济大学、西北工业大学联合协办。会议聚焦信息系统与计算技术等相关研究领域,广泛邀请国内外知…

货运物流App项目开发功能介绍

货运小程序通常具备多种功能,以便于用户管理和跟踪货物运输。以下是一些常见的功能介绍: 注册和登录: 用户可以通过手机号码或邮箱注册并登录账户。 货物发布: 用户可以创建货运订单,填写货物信息(如品名、…

Proxmox vzdump backup ct vm

vzdump 参考 vzdump 备份参数参考 创建一键Proxmox vzdump 备份ct 虚拟机 vzdump 备份参数参考vmid 105 106 22-29行是环境变量,根据主机的实际情况更改ct 模板默认下载目录/var/lib/vz/template/cache所有备份默认目录/var/lib/vz/dumpiso 存放/var/lib/vz/template/iso# -*…

【扒代码】CCFF跨尺度特征融合

import torch import torch.nn as nn import torch.nn.functional as Fclass RepVggBlock(nn.Module):def __init__(self, ch_in, ch_out, actrelu):super().__init__()self.ch_in ch_in # 输入通道数self.ch_out ch_out # 输出通道数# 第一个卷积层,使用 3x3 卷…

iOS ------ UIKit相关

UIView和CALayer UIView UIView表示屏幕上的一块矩形区域,它是基本上iOS中所有可视化控件的父类。UIView可以管理矩形区域里的内容,处理矩形区域的事件,包括子视图的管理以及动画的实现。 UIKit相关类的继承关系 UIView继承自UIResponde…

封装加载(raect18+antd)

该组件主要是anted的组件中自带的loading属性&#xff0c; 1、封装loading组件 import React from react;function WithLoading(WrappedComponent: React.ComponentType<any>) {return (props: any) > {const [isLoading, setIsLoading] React.useState(true);Reac…

基于JAVA的高考智能排考场系统设计与实现,源码、部署+讲解

绪 论 随着教育规模的不断扩大和技术的进步&#xff0c;传统的考试管理方式面临着诸多挑战&#xff0c;如考试安排的复杂性、作弊现象的频发以及考试过程中的监督和管理等问题。因此&#xff0c;针对这些挑战&#xff0c;智能排考系统应运而生。 智能排考系统利用先进的技术…

接口基础知识5:详解request headers(一篇讲完常见字段)

课程大纲 一、请求头的定义 HTTP请求头部&#xff08;HTTP Request Headers&#xff09;&#xff1a;HTTP协议中的一部分&#xff0c;用于在客户端和服务器之间传递附加信息。这些头部字段提供了关于请求、客户端环境、或请求的上下文的信息。 请求头是键值对的形式&#xff…

day04-套餐管理

完成套餐管理模块所有业务功能&#xff0c;包括&#xff1a; 新增套餐套餐分页查询删除套餐修改套餐起售停售套餐 要求&#xff1a; 根据产品原型进行需求分析&#xff0c;分析出业务规则设计接口梳理表之间的关系&#xff08;分类表、菜品表、套餐表、口味表、套餐菜品关系…

element plus el-select修改后缀图标

使用 element plus 提供的api 默认为&#xff1a; 修改后为&#xff1a; 方法&#xff1a; <el-select v-model"value" placeholder"Select" size"large" style"width: 120px;":teleported"false" :suffix-icon"…

图数据库Neo4j的调研

图数据库Neo4j的调研 一、neo4j基础概述 概述 neo4j作为当下最热门的图数据库之一&#xff0c;他的底层实现是java语言&#xff0c;所以安装的时候必须有jre环境。并且neo4j是根据计算机中图论理论来实现的。 neo4j图数据库主要有以下组成元素&#xff1a;&#xff08;具体…

Kibana,Docker Remote Api,Kubernetes Api Server我未授权访问漏洞(附带修复方法)

一.Kibana Kibana是⼀个开源的分析与可视化平台&#xff0c;设计出来⽤于和Elasticsearch⼀起使⽤的。你可以⽤kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互⽅式是以各种不同的图表、表格、地图等直观地展示数据&#xff0c;从⽽达到⾼级的数据分…

【数据链路层】ARP协议

文章目录 以太网以太网帧对的格式 MAC地址对比MAC地址和IP地址 MTU和MSSARP协议ARP协议的工作原理ARP欺骗 以太网 ”以太网" 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输…

数学思维曼哈顿距离

前言&#xff1a;刚刚看到这个题的时候模拟了一下&#xff0c;感觉就是一个曼哈顿距离的问题&#xff0c;我们计算当前位置和中心的曼哈顿距离&#xff0c;然后比较x 或 y 到中心距离的大小&#xff0c;如果有一个小于等于&#xff0c;那么就是ok的 #define _CRT_SECURE_NO_WAR…

正点原子imx6ull-mini-Linux驱动之Linux IIO 驱动实验

工业场合里面也有大量的模拟量和数字量之间的转换&#xff0c;也就是我们常说的 ADC 和 DAC。 而且随着手机、物联网、工业物联网和可穿戴设备的爆发&#xff0c;传感器的需求只持续增强。比如手 机或者手环里面的加速度计、光传感器、陀螺仪、气压计、磁力计等&#xff0c;这些…