NLP自然语言处理通识

目录

ELMO

一、ELMo的核心设计理念

1. 静态词向量的局限性

2. 动态上下文嵌入的核心思想

3. 层次化特征提取

1. 双向语言模型(BiLM)

2. 多层LSTM的层次化表示

三、ELMo的运行过程

1. 预训练阶段

2. 下游任务微调

四、ELMo的突破与局限性

1. 技术突破

2. 局限性

五、ELMo的历史影响

六、典型应用场景

Bert

1. 对上下文建模的彻底革新

2. 预训练-微调范式(Pre-training + Fine-tuning)

3. 任务驱动的预训练目标

二、BERT的模型架构与技术逻辑

1. 基于Transformer的编码器堆叠

2. 输入表示设计

3. 预训练任务详解

三、BERT的运行过程

1. 预训练阶段

2. 微调阶段

四、BERT的技术突破与局限性

1. 革命性贡献

2. 局限性

五、BERT的历史地位与后续发展

1. NLP范式转变

2. 关键衍生模型

六、BERT的典型应用场景

七、与ELMo的关键对比


ELMO

一、ELMo的核心设计理念

1. 静态词向量的局限性
  • 问题根源:传统词向量(如Word2Vec、GloVe)为每个词赋予固定表示,无法处理一词多义(Polysemy)。
  • 例证:单词"bank"在"river bank"和"bank account"中含义不同,但静态词向量无法区分。
2. 动态上下文嵌入的核心思想
  • 核心理念:词义应由其所在上下文动态生成,而非静态编码。
  • 技术路径:通过双向语言模型(BiLM)捕捉上下文信息,生成层次化的词表示。
3. 层次化特征提取
  • 语言学假设:不同神经网络层可捕捉不同粒度的语言特征(如词性、句法、语义)。
  • 创新点:将LSTM不同层的输出线性组合,构建最终的词表示。

二、ELMo的模型结构与技术逻辑

1. 双向语言模型(BiLM)
  • 前向LSTM:建模从左到右的序列概率

  • 后向LSTM:建模从右到左的序列概率

  • 联合优化目标:最大化双向对数似然:

2. 多层LSTM的层次化表示
  • 底层特征:LSTM底层输出捕捉局部语法特征(如词性、形态)。
  • 高层特征:LSTM顶层输出捕捉全局语义特征(如句间关系、指代消解)。
  • 特征融合:通过可学习的权重 组合各层表示:

三、ELMo的运行过程

1. 预训练阶段
  • 输入:大规模语料(如1B Word Benchmark)
  • 任务目标:通过双向语言模型预测下一个词(前向)和上一个词(后向)
  • 参数保存:保留LSTM各层的权重及字符卷积网络的参数。
2. 下游任务微调
  • 特征注入方式
  • 静态模式:固定ELMo权重,将词向量拼接至任务模型的输入层。
  • 动态模式:允许ELMo参数在任务训练中微调(需权衡计算成本)。
  • 多任务适配:适用于分类、问答、NER等多种任务,通过调整权重 优化特征组合。

四、ELMo的突破与局限性

1. 技术突破
  • 动态词向量:首次实现基于上下文的动态词表示。
  • 双向建模:通过独立训练的双向LSTM间接捕捉全局上下文。
  • 层次化特征:验证了不同网络层的语言学意义。
2. 局限性
  • 浅层双向性:前向/后向LSTM独立训练,未实现真正的交互式双向建模。
  • LSTM效率瓶颈:长序列建模能力受限,训练速度慢于Transformer。
  • 上下文长度限制:受LSTM记忆容量影响,长距离依赖捕捉不足。

五、ELMo的历史影响

1. 预训练范式的先驱:证明了语言模型预训练+任务微调的可行性。

2. BERT与GPT的基石:启发了基于Transformer的双向预训练模型(BERT)和自回归模型(GPT)。

3. 特征可解释性研究:推动了对神经网络层次化语言特征的探索(如探针任务分析)。

六、典型应用场景

1. 命名实体识别(NER):动态词向量显著提升实体边界识别精度。

2. 文本分类:通过组合不同层次特征捕捉局部与全局语义。

3. 语义相似度计算:上下文敏感的词表示改善句子匹配效果。

tips:ELMO过程属于无监督学习,RNN base模型预测下一个词的位置,而不是下一个词是否为正确的词

ELMOtransformer没有关系BiLSTM有关系每次input词汇词嵌入(转换为词向量)

Bert

一、BERT的核心设计理念

1. 对上下文建模的彻底革新
  • 问题驱动:传统模型(如ELMo、GPT)的单向或浅层双向性限制了对上下文的全局理解。
  • 核心思想:通过深度双向Transformer实现全上下文交互建模,消除方向性偏差。
2. 预训练-微调范式(Pre-training + Fine-tuning)
  • 统一架构:同一模型结构适配多种下游任务,无需任务特定结构调整。
  • 参数复用:预训练阶段学习通用语言知识,微调阶段注入领域/任务知识。
3. 任务驱动的预训练目标
  • Masked Language Model (MLM):随机遮蔽15%的输入词,迫使模型基于全上下文预测被遮蔽词。
  • Next Sentence Prediction (NSP):学习句子间关系,增强对篇章级语义的理解。

二、BERT的模型架构与技术逻辑

1. 基于Transformer的编码器堆叠
  • 基础配置
  • BERT-base: 12层Transformer, 768隐藏维度, 12注意力头(110M参数)
  • BERT-large: 24层Transformer, 1024隐藏维度, 16注意力头(340M参数)
  • 双向注意力机制:每个词可同时关注序列中所有其他词(包括前后位置)。
2. 输入表示设计
  • Token Embeddings:WordPiece分词(30k词表),处理未登录词(如"playing"→"play"+"##ing")。
  • Segment Embeddings:区分句子A/B(用于NSP任务)。
  • Position Embeddings:学习绝对位置编码(最大512长度)。
  • 特殊标记:`[CLS]`(分类标记)、`[SEP]`(句子分隔符)、`[MASK]`(遮蔽符)。
3. 预训练任务详解

三、BERT的运行过程

1. 预训练阶段
  • 数据源:BooksCorpus(8亿词) + 英文维基百科(25亿词)。
  • 训练策略       
    • 动态遮蔽:每个epoch重新随机遮蔽词,提升鲁棒性。
    • 80-10-10规则:被遮蔽词中80%替换为`[MASK]`,10%替换为随机词,10%保留原词。
  • 优化参数:Adam(β₁=0.9, β₂=0.999),学习率1e-4,batch size=256/512。
2. 微调阶段
  • 任务适配方式
  • 句子对任务(如STS):使用`[CLS]`标记的嵌入进行相似度计算。
  • 序列标注任务(如NER):使用每个token的最后一层输出。
  • 问答任务(如SQuAD):输出段落中答案的起始/结束位置概率。
  • 轻量级调整:通常仅需在预训练模型顶层添加1-2个全连接层。

四、BERT的技术突破与局限性

1. 革命性贡献
  • 深度双向性:突破LSTM/单向Transformer的上下文建模限制。
  • 通用表征能力:在11项NLP任务中刷新SOTA(GLUE基准提升7.7%绝对准确率)。
  • 长距离依赖建模:自注意力机制有效捕捉跨句子依赖关系。
2. 局限性
  • 预训练-微调数据分布差异:MLM的`[MASK]`标记在微调时不存在,导致训练-应用偏差。
  • 计算资源消耗:BERT-large预训练需16个TPU训练4天(成本约7,000美元)。
  • 生成能力缺失:仅支持编码任务,无法直接生成文本(后由UniLM、BART等改进)。

五、BERT的历史地位与后续发展

1. NLP范式转变
  • 预训练成为标配:推动"预训练大模型+下游任务轻量化"成为NLP主流范式。
  • 多模态扩展:催生跨领域模型如VideoBERT(视频)、BioBERT(生物医学)。
2. 关键衍生模型
  • RoBERTa:移除NSP任务,扩大batch size和训练数据,性能进一步提升。
  • ALBERT:通过参数共享(跨层参数)和嵌入分解降低内存消耗。
  • DistilBERT:知识蒸馏技术压缩模型体积(保留95%性能,体积减少40%)。

六、BERT的典型应用场景

1. 语义搜索:计算query-document语义相关性(Google Search 2019年应用)。

2. 智能问答:基于段落理解的答案抽取(如Google Assistant)。

3. 文本分类:情感分析、垃圾邮件检测等。

4.实体链接:将文本中的实体链接到知识库(如Wikipedia)。

bert应用

词性标注情感分类

七、与ELMo的关键对比

训练bert的方法

linear multi-class classifier -- softmax

MASK -- 掩饰 遮挡一部分词汇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/69429.shtml

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

相关文章

在做题中学习(82):最小覆盖子串

解法:同向双指针——>滑动窗口 思路:题目要求找到s里包含t所有字符的最小子串,这就需要记录在s中每次查找并扩大范围时所包含进去的字符种类是否和t的相同,并且:题目提示t中会有重复字符,因此不能简单认…

【deepseek】deepseek-r1本地部署-第二步:huggingface.co替换为hf-mirror.com国内镜像

一、背景 由于国际镜像国内无法直接访问,会导致搜索模型时加载失败,如下: 因此需将国际地址替换为国内镜像地址。 二、操作 1、使用vscode打开下载路径 2、全局地址替换 关键字 huggingface.co 替换为 hf-mirror.com 注意:务…

DeepSeek:突破传统的AI算法与下载排行分析

DeepSeek的AI算法突破DeepSeek相较于OpenAI以及其它平台的性能对比DeepSeek的下载排行分析(截止2025/1/28 AI人工智能相关DeepSeek甚至一度被推上了搜索)未来发展趋势总结 在人工智能技术飞速发展的当下,搜索引擎市场也迎来了新的变革。DeepS…

java 判断Date是上午还是下午

我要用Java生成表格统计信息,如下图所示: 所以就诞生了本文的内容。 在 Java 里,判断 Date 对象代表的时间是上午还是下午有多种方式,下面为你详细介绍不同的实现方法。 方式一:使用 java.util.Calendar Calendar 类…

【Matlab高端绘图SCI绘图模板】第05期 绘制高阶折线图

1.折线图简介 折线图是一个由点和线组成的统计图表,常用来表示数值随连续时间间隔或有序类别的变化。在折线图中,x 轴通常用作连续时间间隔或有序类别(比如阶段1,阶段2,阶段3)。y 轴用于量化的数据&#x…

【Java数据结构】了解排序相关算法

基数排序 基数排序是桶排序的扩展,本质是将整数按位切割成不同的数字,然后按每个位数分别比较最后比一位较下来的顺序就是所有数的大小顺序。 先对数组中每个数的个位比大小排序然后按照队列先进先出的顺序分别拿出数据再将拿出的数据分别对十位百位千位…

Linux的常用指令的用法

目录 Linux下基本指令 whoami ls指令: 文件: touch clear pwd cd mkdir rmdir指令 && rm 指令 man指令 cp mv cat more less head tail 管道和重定向 1. 重定向(Redirection) 2. 管道(Pipes&a…

Ubuntu20.04 磁盘空间扩展教程

Ubuntu20.04 磁盘空间扩展教程_ubuntu20 gpart扩容-CSDN博客文章浏览阅读2w次,点赞38次,收藏119次。执行命令查看系统容量相关的数据:df -h当前容量为20G,已用18G(96%),可用844M,可用…

使用Maxscript定义纹理贴图的方法

在3ds Max中,MaxScript 是一种用于插件编写和自动化任务的强大工具。通过MaxScript,你可以创建和操作对象、材质、灯光等等。要为材质分配纹理贴图,你可以按照以下方法来编写脚本。直接代码: myBmp = bitmaptexture filename:"D:\map001.tga" meditmaterials[1]…

每日一题-判断是否是平衡二叉树

判断是否是平衡二叉树 题目描述数据范围题解解题思路递归算法代码实现代码解析时间和空间复杂度分析示例示例 1示例 2 总结 ) 题目描述 输入一棵节点数为 n 的二叉树,判断该二叉树是否是平衡二叉树。平衡二叉树定义为: 它是一棵空树。或者它的左右子树…

21款炫酷烟花合集

系列专栏 《Python趣味编程》《C/C趣味编程》《HTML趣味编程》《Java趣味编程》 写在前面 Python、C/C、HTML、Java等4种语言实现18款炫酷烟花的代码。 Python Python烟花① 完整代码:Python动漫烟花(完整代码) ​ Python烟花② 完整…

2025美赛美国大学生数学建模竞赛A题完整思路分析论文(43页)(含模型、可运行代码和运行结果)

2025美国大学生数学建模竞赛A题完整思路分析论文 目录 摘要 一、问题重述 二、 问题分析 三、模型假设 四、 模型建立与求解 4.1问题1 4.1.1问题1思路分析 4.1.2问题1模型建立 4.1.3问题1样例代码(仅供参考) 4.1.4问题1样例代码运行结果&…

day6手机摄影社区,可以去苹果摄影社区学习拍摄技巧

逛自己手机的社区:即(手机牌子)摄影社区 拍照时防止抖动可以控制自己的呼吸,不要大喘气 拍一张照片后,如何简单的用手机修图? HDR模式就是让高光部分和阴影部分更协调(拍风紧时可以打开&…

【翻转硬币——莫比乌斯函数、分块、卷积、埃氏筛】

题目 暴力代码&#xff0c;官网过55% #include <bits/stdc.h> using namespace std; int main() {int n;cin >> n;vector<bool> a(n 1);a[1] 1;int res 1;for (int i 2; i < n; i){if (a[i] 0){for (int j i; j < n; j i)a[j] a[j] ^ 1;res;}…

2025.1.26机器学习笔记:C-RNN-GAN文献阅读

2025.1.26周报 文献阅读题目信息摘要Abstract创新点网络架构实验结论缺点以及后续展望 总结 文献阅读 题目信息 题目&#xff1a; C-RNN-GAN: Continuous recurrent neural networks with adversarial training会议期刊&#xff1a; NIPS作者&#xff1a; Olof Mogren发表时间…

VMware 中Ubuntu无网络连接/无网络标识解决方法【已解决】

参考文档 Ubuntu无网络连接/无网络标识解决方法_ubuntu没网-CSDN博客 再我们正常使用VMware时&#xff0c;就以Ubuntu举例可能有时候出现无网络连接&#xff0c;甚至出现无网络标识的情况&#xff0c;那么废话不多说直接上教程 环境&#xff1a;无网络 解决方案&#…

win11系统,Java web程序连不上数据的的解决办法

买了台新笔记本电脑&#xff0c;把代码和数据考了过来&#xff0c;想着能愉快的写代码了&#xff0c;程序起来发现连不上数据库。 所有的配置翻了一遍&#xff0c;也没发现问题&#xff0c;遂怀疑是系统的问题&#xff0c;原电脑是win10,现电脑是win11&#xff0c;所以晚上冲浪…

人工智能学习框架:深入解析与实战指南

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 引言 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;深度学习、强化学习和自然语言处理等领域的应用愈加广…

The Simulation技术浅析(二):模型技术

一、物理模型(Physical Models) 1. 概述 物理模型基于物理定律和原理,通过模拟现实世界中物理系统的行为和相互作用来构建模型。物理模型通常用于工程、物理和化学等领域,用于预测系统在不同条件下的表现。 2. 关键技术 力学定律:例如牛顿运动定律,用于模拟物体的运动…

服务器上安装Nginx详细步骤

第一步&#xff1a;上传nginx压缩包到指定目录。 第二步&#xff1a;解压nginx压缩包。 第三步&#xff1a;配置编译nginx 配置编译方法&#xff1a; ./configure 配置编译后结果信息&#xff1a; 第四步&#xff1a;编译nginx 在nginx源文件目录中直接运行make命令 第五步&…