NLP自然语言处理通识

news2025/1/30 13:02:43

目录

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

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

相关文章

Time Constant | RC 和 RL 电路中的时间常数

注:本文为 “Time Constant” 相关文章合辑。 机翻,未校。 How To Find The Time Constant in RC and RL Circuits June 8, 2024 💡 Key learnings: 关键学习点: Time Constant Definition: The time constant (τ) is define…

无心剑七绝《除夕快乐》

七绝除夕快乐 除旧迎新瑞气扬 夕阳烂漫映红妆 快言美酒佳肴味 乐享天伦福满堂 2025年1月28日 平水韵七阳平韵 无心剑这首七绝以“除夕快乐”为题,巧妙地运用了藏头手法,将“除夕快乐”四字分别嵌入诗的每一句首字,构思精巧,富有新…

Object类(3)

大家好,今天继续给大家介绍一下object类中的方法,那么话不多说,来看。 hashcode()这个方法,帮我们算了一个具体的对象位置,这里面涉及到数据结构,简单认为它是个内存地址,然后调用Integer.toHexString ()将这个地址以16进制输出。 该方法是一…

GPU上没程序在跑但是显存被占用

原因:存在僵尸线程,运行完但是没有释放内存 查看僵尸线程 fuser -v /dev/nvidia*关闭僵尸线程 pkill -9 -u 用户名 程序名 举例:pkill -9 -u grs python参考:https://blog.csdn.net/qq_40206371/article/details/143798866

2007-2020年各省国内专利申请授权量数据

2007-2020年各省国内专利申请授权量数据 1、时间:2007-2020年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、国内专利申请授权量(项) 4、范围:31省 5、指标解释:专利是专利权的简称&…

python:洛伦兹变换

洛伦兹变换(Lorentz transformations)是相对论中的一个重要概念,特别是在讨论时空的变换时非常重要。在四维时空的背景下,洛伦兹变换描述了在不同惯性参考系之间如何变换时间和空间坐标。在狭义相对论中,洛伦兹变换通常…

电路研究9.2.3——合宙Air780EP中FTP——FTPGET 命令使用方法研究

怎么说呢,之前也是看的,但是也很迷茫,感觉上虽然是对的,但是无法联系到应用里面,今天研究一下FTP 命令使用方法吧。 15.29 使用方法举例 这里发现下面那些看的不懂呢,于是就返回FTP的应用了。 9.5.4 FTP 应…

ANSYS学习笔记(十)网格质量的诊断和提高

网格质量的好坏不能单纯只看meshing给出的网格质量结果,要根据实际的计算物理场景来判断,需要求解的地方物理量大梯度的位置网格越密越好。 网格质量:在有限网格数量限制下,离散误差小的网格是好网格,是高质量网格。网…

2024收尾工作

目录 开场白 栈与队列 LeetCode232. 用栈实现队列 LeetCode225. 用队列实现栈 LeetCode102. 二叉树的层序遍历 LeetCode103. 二叉树的锯齿形层序遍历 堆(优先级队列) 堆排序 LeetCode215. 数组中的第 k 个最大元素 总结 开场白 今天是除夕&…

搭建Spring Boot开发环境

JDK&#xff08;1.8及以上版本&#xff09; Apache Maven 3.6.0 修改settings.xml 设置本地仓库位置 <localRepository>D:/repository</localRepository> 设置远程仓库镜像 <mirror><id>alimaven</id><name>aliyun maven</name&…

jmeter中对接口进行循环请求后获取相应数据

1、工作中遇到一个场景就是对某个单一接口进行循环请求&#xff0c;并需要获取每次请求后返回的相应数据&#xff1b; 2、首先就在jmeter对接口相关组件进行配置&#xff0c;需要组件有&#xff1a;循环控制器、CSV数据文件设置、计数器、访问接口、HTTP信息头管理器、正则表达…

网络工程师 (4)存储系统

一、多级存储结构 &#xff08;一&#xff09;组成 寄存器&#xff1a; 寄存器是与CPU直接协调工作的高速存储器&#xff0c;用于加速存储器的访问速度。它通常用于存放操作数或作为地址寄存器&#xff0c;以加快地址转换速度。寄存器的数量有限&#xff0c;一般在几个到几百个…

oracle比较一下统计信息差异吧

统计信息发生了哪些变化&#xff1f; 从上次收集到最近一次收集有什么不同&#xff1f; set long 999999 longc 99999 line 100 select report, maxdiffpct from table(dbms_stats.diff_table_stats_in_history(SYS,T1,to_timestamp(2025-01-22 09:01:46,YYYY-MM-DD hh24:mi:s…

Hive:内部表和外部表,内外转换

内部表和外部表 内部表示例 给表添加数据 外部表示例 给表添加数据 外部表示例 用location指定表目录位置,那么表的位置在实际指定的位置,但是可以被映射 外部表和内部表的区别 删除表后使用show tables in shao; 已经没有被删除的表,说明元数据已经被删除(mysql里面存放),但是…

P1030 [NOIP2001 普及组] 求先序排列(c++)详解

题目链接&#xff1a;P1030 [NOIP2001 普及组] 求先序排列 - 洛谷 | 计算机科学教育新生态 思路&#xff1a; 1.先确定跟节点 2.根据根节点&#xff0c;划分出左右子树 中&#xff1a;BADC 后&#xff1a;BDCA 分析&#xff1a; 根据后序遍历&#xff0…

Mac cursor设置jdk、Maven版本

基本配置 – Cursor 使用文档 首先是系统用户级别的设置参数&#xff0c;运行cursor&#xff0c;按下ctrlshiftp&#xff0c;输入Open User Settings(JSON)&#xff0c;在弹出的下拉菜单中选中下面这样的&#xff1a; 在打开的json编辑器中追加下面的内容&#xff1a; {"…

提升企业内部协作的在线知识库架构与实施策略

内容概要 在当前快速变化的商业环境中&#xff0c;企业对于提升内部协作效率的需求愈显迫切。在线知识库作为信息存储与共享的平台&#xff0c;成为了推动企业数字化转型的重要工具。本文将深入探讨如何有效打造与实施在线知识库&#xff0c;强调架构设计、知识资产分类管理及…

Vue3.5 企业级管理系统实战(三):页面布局及样式处理 (Scss UnoCSS )

本章主要是关于整体页面布局及样式处理&#xff0c;在进行这一章代码前&#xff0c;先将前两章中的示例代码部分删除&#xff08;如Home.vue、About.vue、counter.ts、App.vue中引用等&#xff09; 1 整体页面布局 页面整体布局构成了产品的框架基础&#xff0c;通常涵盖主导…

Excel中LOOKUP函数的使用

文章目录 VLOOKUP&#xff08;垂直查找&#xff09;&#xff1a;HLOOKUP&#xff08;水平查找&#xff09;&#xff1a;LOOKUP&#xff08;基础查找&#xff09;&#xff1a;XLOOKUP&#xff08;高级查找&#xff0c;较新版本Excel提供&#xff09;&#xff1a; 在Excel中&…

美创科技获浙江省网络空间安全协会年度表彰

近日&#xff0c;浙江省网络空间安全协会第二届理事会第三次会议在杭州隆重召开&#xff0c;会议总结部署工作、表彰先进、分享创新实践成果。 会上&#xff0c;省委网信办副主任马晓军出席会议并致辞、宋皆荣理事长向第二届理事会报告2024年协会工作、常务副理事长单位浙江联通…