当前位置: 首页 > news >正文

初识自然语言处理NLP

文章目录

  • 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 的应用前景更加广阔。

相关文章:

初识自然语言处理NLP

文章目录 1、简介2、自然语言处理的发展简史3、语言学理论句法学(Syntax)语义学(Semantics)语用学(Pragmatics)形态学(Morphology) 4、统计与机器学习方法n-gram 模型隐马尔可夫模型…...

分布式系统架构-微服务架构

一.什么是分布式系统架构 分布式系统架构是指将一个单一的应用程序或服务拆分成多个独立的部分,这些部分可以在不同的计算机、服务器或者地理位置上运行,并通过网络进行通信和协作。分布式系统的设计旨在提高系统的可靠性、可用性和扩展性,同…...

docker搭建内网穿透服务

docker搭建内网穿透服务 frpfrpsfrpc zerotier构建 moon构建 planet查询客户端配置moon方法 nps frp 参考文章:https://blog.csdn.net/weixin_43909881/article/details/126526059 frps docker pull snowdreamtech/frps docker run --restartalways --network ho…...

html+css+js网页设计 体育 金轮健身7个页面

htmlcssjs网页设计 体育 金轮健身7个页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&…...

BGP基础简介(一)

AS 是一组运行相同IGP协议的设备组成的网络 AS号: 16bit:64512~65535为私有AS32bit:4200000000~4294967294为私有AS其余都是共有AS,需要向IANA申请 EGP 外部网关协议,bgp的前身,缺点:只发布路由信息,不…...

力扣面试150 反转链表 II 三指针

Problem: 92. 反转链表 II 👨‍🏫 参考题解 特殊情况 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val…...

GPT-4.o mini

https://share.xuzhugpt.cloud/ GPT-4.o mini 目前免费使用 把上面[chatgpt4o-mini-xuzhu]复制到UserToken的文本框中 点击[个人账户] 测试一下哈,看看: GPT-4.o代码有时候还是有严重错误:好奇怎么来的 上面是我写得,下面是GPT写…...

【C++】优先级队列(容器适配器)

欢迎来到我的Blog,点击关注哦💕 前言 string vector list 这种线性结构是最基础的存储结构,C(STL)container很好的帮助我们数据存储的问题。 容器适配器 介绍 容器适配器是C标准模板库(STL)中…...

docker代理

Dockerd 代理 sudo mkdir -p /etc/systemd/system/docker.service.d sudo touch /etc/systemd/system/docker.service.d/proxy.confproxy.conf [Service] Environment"HTTP_PROXYproxy.example.com:8080/" Environment"HTTPS_PROXYproxy.example.com:8080/&qu…...

(四)activit5.23.0修复跟踪高亮显示BUG

一、先看bug 在 (三)springboot2.7.6集成activit5.23.0之流程跟踪高亮显示 末尾就发现高亮显示与预期不一样,比如上面的任务2前面的箭头没有高亮显示。 二、分析原因 具体分析步骤省略了,主要是ProcessInstanceHighlightsResour…...

AsyncTask

AsyncTask简介 AsyncTask 是 Android 提供的一个轻量级的异步任务类,它允许在后台线程中执行耗时操作(如网络请求、数据库操作等),并在操作完成后更新 UI。其设计初衷是为了简化后台任务的处理,特别是在不需要复杂并发…...

嵌入式面试知识点总结 -- FreeRTOS篇

一、堆栈溢出检测 问题: 问题一:FreeRTOS堆栈溢出检测的方法? 解答: 参看:FreeRTOS学习 – FreeRTOSConfig.h介绍 两种堆栈溢出检测方法: 方法1: 开启方法,configCHECK_FOR_STACK_OVERFLOW…...

【深度学习】注意力机制(Transformer)

注意力机制 1.基础概念 1.1 查询、键和值 在人类的注意力方式中,有自主性的与非自主性的注意力提示两种解释方式。所谓自主性注意力提示,就是人本身主动想要关注到的某样东西;非自主性提示则是基于环境中物体的突出性和易见性,…...

【MySQL】将一张表的某一个值赋值到另一张表中

场景 两张表可以通过某个字段关联起来,并且想要将其中一张表的某个值赋值到另一张表的某个字段中 实操 在MySQL中,要将一张表(我们称之为Table_A)的某个字段的值赋给另一张表(Table_B)的对应字段&#x…...

怎样确定局域网里面是否有MAC地址冲突

目录 MAC地址冲突的现象1. 网络连接不稳定2. 数据包丢失3. 网络性能下降4. 无法访问特定设备5. 网络诊断工具的异常结果6. 网络安全问题 确定MAC地址冲突的方法如何解决MAC地址冲突总结 MAC地址冲突 是指在同一局域网(LAN)中,两个或多个设备具…...

springboot 大学生兼职平台系统-计算机毕业设计源码05282

摘 要 在当代大学生活中,兼职工作已经成为了许多学生的重要组成部分。校园兼职现象的普遍性及其对大学生生活的影响不容忽视。然而,现有的校园兼职系统往往存在信息不对称、管理不规范等问题。因此,我们需要深入理解校园兼职现象&#xff0c…...

CentOS linux安装nginx

下载nginx-1.21.3.tar.gz 及 nginx-upstream-fair-master.zip 上传nginx-upstream-fair-master至/app/server/nginx/modules/解压 cd /app/server/nginx/modules unzip nginx-upstream-fair-master.zip上传nginx压缩包至**/app/server/nginx/ **(根据自己需求而定…...

事务性邮件接口API如何集成以实现自动化?

事务性邮件接口API有哪些优势?邮件接口API集成方法? 通过集成事务性邮件接口API,企业可以实现邮件发送的自动化,提高效率,增强用户体验。AokSend将探讨如何集成事务性邮件接口API以实现自动化,并提供一些最…...

zabbix 监控软件

zabbix 监控软件 自带图形化界面,通过网页就可以监控所有服务器的状态 事件告警,邮箱通知(噩梦) 短信,电话。 zabbix是什么? web界面提供的分布式监控以及网络监控功能的开源的企业级软件解决方案 监…...

C语言随机数小游戏

目录 前言 一、游戏要求: 二、游戏实现 1.游戏界面 2.游戏主体 3.主函数 4.运行结果: 总结 前言 前面我们学到了C语言随机数的相关知识,我们今天用这个知识做一个有趣的小游戏,会有一点函数的知识,不过后面会…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

Kafka主题运维全指南:从基础配置到故障处理

#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...