自然语言处理从入门到应用——动态词向量预训练:ELMo词向量

分类目录:《自然语言处理从入门到应用》总目录


在双向语言模型预训练完成后,模型的编码部分(包括输入表示层以及多层堆叠LSTM)便可以用来计算任意文本的动态词向量表示。最自然的做法是使用两个LSTM的最后一层隐含层输出作为词的动态向量表示。然而,在ELMo模型中,不同层次的隐含层向量蕴含了不同层次或粒度的文本信息。例如,越接近顶层的LSTM隐含层表示通常编码了更多的语义信息,而接近底层的隐含层表示(包括输入表示 x x x)更偏重于词法、句法信息。不同的下游任务,对词表示的需求程度有所不同。例如,对于阅读理解、自动问答这类任务,对语义信息的需求较高;而对于命名实体识别等任务,词法、句法信息更重要。因此,ELMo采取对不同层次的向量表示进行加权平均的机制,为不同的下游任务提供更多的组合自由度。令 R t R_t Rt表示 w t w_t wt的所有中间层状态向量表示构成的集合,则:
R t = { x t , h t , j ∣ j = 1 , 2 , ⋯   , L } R_t=\{x_t, h_{t, j}|j=1, 2, \cdots, L\} Rt={xt,ht,jj=1,2,,L}

式中, h t , j = [ h ← t , j , h → t , j ] h_{t, j}=[\overleftarrow{h}_{t, j}, \overrightarrow{h}_{t, j}] ht,j=[h t,j,h t,j]表示两个多层堆叠LSTM中每一层的前向、后向隐含层输出拼接后得到的向量。令 h t , 0 = x t h_{t, 0}=x_t ht,0=xt,则ELMo词向量可表示为:
ELMo t = f ( R t , Ψ ) = γ task ∑ j L s j task h t , j \text{ELMo}_t=f(R_t, \Psi)=\gamma^\text{task}\sum_j^Ls^\text{task}_jh_{t, j} ELMot=f(Rt,Ψ)=γtaskjLsjtaskht,j

式中, Ψ = { s task , γ task } \Psi=\{s^\text{task}, \gamma^\text{task}\} Ψ={stask,γtask}为计算ELMo向量所需的额外参数; s task s^\text{task} stask表示每个向量的权重,反映每一层向量对于目标任务的重要性,可由一组参数根据Softmax函数归一化计算得到,该权重向量可在下游任务的训练过程中学习; γ task \gamma^\text{task} γtask系数同样与下游任务相关,当ELMo向量与其他向量共同作用时,可以适当地缩放ELMo向量。将ELMo向量作为词特征用于下游任务时,编码器的参数将被“冻结”,不参与更新。综上所述,ELMo向量表示具有以下三个特点:

  • 动态(上下文相关):词的ELMo向量表示由其当前上下文决定
  • 健壮(Robust):ELMo向量表示使用字符级输入,对于未登录词具有强健壮性
  • 层次:ELMo词向量由深度预训练模型中各个层次的向量表示进行组合,为下游任务提供了较大的使用自由度。

下图展示了ELMo模型的整体结构:
ELMo模型

ELMo的优缺点

ELMo实现了由静态词嵌入到动态词嵌入,由词嵌入到场景词嵌入的转换,较好地解决了一词多义问题。但因ELMo使用Bi-LSTM,仍然属于自动回归问题,所以其并发能力会受到影响,在需要大量语料库作为训练数据的情况,这种局限也直接影响其性能和拓展性。ELMo主要有2个有点:

  • 实现从单纯的词嵌入(Word Embedding)到情景词嵌入(Contextualized Word Embedding)的转变
  • 实现预训练模型从静态到动态的转变

同时,ELMo也有缺点:ELMo预训练模型的特征提取器使用了双向循环神经网络(如Bi-LSTM),循环神经网络的训练需要按序列从左到右或从右到左,严格限制了并发处理能力。此外,ELMo的每一层会拼接两个方向的向量,所以这种操作实际仍然属于单向学习,无法做到同时向两个方向学习。

参考文献:
[1] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[2] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[3] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[4] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[5] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GPT学习笔记-Enterprise Knowledge Retrieval(企业知识检索)--私有知识库的集成

openai-cookbook/apps/enterprise-knowledge-retrieval at main openai/openai-cookbook GitHub 终于看到对于我解决现有问题的例子代码,对于企业私有知识库的集成。 我对"Retrieval"重新理解了一下,源自动词"retrieve"&#xf…

idea乱码的相关问题

idea控制台乱码(即:tomacat等启动时的乱码) 第一步: 控制台tomcat启动信息乱码解决(红色字体) 1 在本地 tomcat 的配置文件中找到 logging.properties 文件设置日志输出的编码为 UTF-8 追加的配置信息为…

插入排序-C语言实现

🥰前言 🍔在学数据结构的第一节课就知道了数据结构课程是要管理并且学会操作数据,当然操作数据首先想到的就是数据的排序,排过顺序的数据的使用价值才够大。前面我们学习了顺序表也学习了链表等等,这些就是储存数据的方…

1.1 编写一个简单的C++程序

博主介绍:爱打游戏的计算机专业学生 博主主页:夏驰和徐策 所属专栏:夏驰和徐策带你从零开始学C 1.1.0 这段话告诉我们什么? 这段话解释了一个C程序中的main函数的基本结构和功能。 它告诉我们以下几点: 1. C程序的…

Python爬取城市天气数据,并作数据可视化

1.爬取广惠河深2022-2024年的天气数据 import requests # 发送请求要用的模块 需要额外安装的 import parsel import csvf open(广-惠-河-深天气.csv, modea, encodingutf-8, newline) csv_writer csv.writer(f) csv_writer.writerow([日期, 最高温度, 最低温度, 天气,…

深入理解深度学习——GPT(Generative Pre-Trained Transformer):GPT-3与Few-shot Learning

分类目录:《深入理解深度学习》总目录 相关文章: GPT(Generative Pre-Trained Transformer):基础知识 GPT(Generative Pre-Trained Transformer):在不同任务中使用GPT GPT&#x…

对英雄联盟英雄属性数据的预处理及相似度矩阵计算

目录 一、引言 二、任务1 1、填充缺失值 2、用中位数填充“生命值”属性列缺失值 3、 用均值填充“生命值”属性列缺失值 三、任务2 注:英雄联盟英雄属性数据资源可在博客资源中自行获取。 一、引言 英雄联盟作为一款古早的刀塔游戏,可谓之刀塔游…

[golang 微服务] 7. go-micro框架介绍,go-micro脚手架,go-micro结合consul搭建微服务案例

一.go-micro框架 前言 上一节讲解了 GRPC微服务集群 Consul集群 grpc-consul-resolver相关的案例,知道了微服务之间通信采用的 通信协议,如何实现 服务的注册和发现,搭建 服务管理集群,以及服务与服务之间的 RPC通信方式,具体的内容包括: pro…

聊聊微服务到底该如何划分

背景 现在动不动就是微服务架构,但是微服务划分的合理与否会极大的影响开发过程中的复杂度,划分的重要性不言而喻,但是在微服务划分这条路上并没有银弹,有的说DDD可以解决微服务的划分问题,吕哥想说的是那只是理论上的…

端午作业1

只要文件存在,就会有唯一对应的inode号,且相应的会存在一个struct inode结构体。在应用层通过open()打开一个设备文件,会对应产生一个inode号,通过inode号可以找到文件的inode结构体 根据inode结构体中文件…

JMU20 软件工程经济学 复习总结

文章目录 碎碎念0. 基准收益率 i1. 现金流量图2. 净现值 NPV,内部收益率 IRR3. 单利,复利计算4. 等额年金NAV5. 动态回收期 P t ′ P_t Pt′​6. 固定资产折旧 [书P44]7. 增值税8. 软件行业增值税的即征即退9. 利息备付率 ICR,偿债备付率 DSC…

C语言学习(二十六)---指针练习题(二)

在上节的内容中,我们进一步学习了有关指针的内容,并做了一些关于指针的题目,今天我们将继续练习一些指针的题目,以便大家更好的理解和掌握指针的知识,好了,话不多说,开整!&#xff0…

GreasyFork+Github

GreasyForkGithub 好长时间没用 GreasyFork 了,最近在刷 Spring Boot 的各种知识点,其中很大时间都在学习 baeldung.com 这个站点。不知道是因为最近刷的勤了还是怎么的,这个网站经常会弹出一个“让我关闭广告阻拦插件”的提示框&#xff0c…

MongoDB集群管理(三)

MongoDB集群管理 集群介绍 为什么使用集群 随着业务数据和并发量的增加,若只使用一台MongoDB服务器,存在着断电和数据风险的问题,故采用Mongodb复制集的方式,来提高项目的高可用、安全性等性能。 MongoDB复制是将数据同步到多个…

超简单 display:flex教学

display 弹性盒子解释 Flex是Flexible Box的缩写,意为"弹性布局”,用来为盒状模型提供最大的灵活性。 它的作用: 它能够更加高效方便的控制元素的对齐、排列。 可以自动计算布局内元素的尺寸,无论这个元素的尺寸是固定的还是…

学习mysql

Mysql SQL语言的规则与规范SQL大小写规范注释数据导入指令 基本的SELECT语句SELECT.列的别名去掉重复行空值参与运算着重号(当有表名是关键字时)显示表结构where 运算符算术运算符 比较运算符号性运算符非符号形运算符空运算符非空运算符最小值运算符最大值运算符BETWEEN AND运…

Java的理论知识部分

文章目录 前言 一、Java的发展 1.1、Java的出现 1.2、Java官方网址 1.3、Java的平台 1.4、Java各版本新加的内容 1.5、java特点 1.6、Java的三种运行机制 1.7、Java的编译与运行 1.8、补充内容——华为鲲鹏jdk以及鲲鹏计算 二、面向对象程序编程 2.1、对象与类 2.2、Ja…

软考:软件工程:面向对象技术与UML,时序图,用例图,类对象,封装,继承,多态

软考:软件工程: 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 (1&#…

Web3 将 MetaMask添加入谷歌浏览器 扩展程序中

Web3到现在理论这段是说的有点太多了 那么 我们先来看个东西 叫 MetaMask 这个在我们项目开发过程中需要使用 MetaMask是一个开源的以太坊的一个钱包 那么 钱包肯定就是用来管理数据资产的 MetaMask 是以一个浏览器插件形式存在的 它可以直接连接到以太坊的网络中来管理我们…

【软件工程】软件工程期末考试试卷

瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。 A、详细计划 B、可行性分析 C、 运行阶段 D、 测试与排…