EMLO

        论文:2018 NAACL 《Deep Contextualized Word Representations》

(1)词嵌入最常用的模型为word2vec和GloVe,基于分布假设的无监督学习方法(在相同的上下文中单词往往具有相似含义)。

(2)有些方法通过结合语义或句法的知识的有监督学习方法来增强这些无监督方法,纯粹的无监督方法为FastText和EMLo(最先进的上下文词向量)。

(3)在EMLo中,每个单词被赋予一个表示,它是它们所属的整个语料库句子的函数,其来自于一个两层的双向LSTM语言模型的内部状态。

一.优点

1.学习单词的复杂特征,包括语法、语义。

2.学习在不同上下文下的一词多义。

注:(1)ELMo输入的是字母而不是单词,利用子字 词单元来计算有意义的表示。

       (2)ELMo是biLMs几层激活函数的串联,语言模型的不同层次对单词上的不同类型信息进行编码。在本文的2层双向LSTM网络中:较高层次的LSTM状态可以捕获玉上下文相关的词义层面(可以不加修改的执行监督词义,消除歧义任务),较低层次的LSTM状态可以对语法方面进行建模(词性标注)。

       (3)EMLo对同一字在不同的句子中能生成不同的词向量。

       (4)ELMo 的输入是字母而不是单词。因此,可以利用子字词单元来计算有意义的表示,即使对于词典外的词(如 FastText这个词)也是如此。

 

二.模型

1.Bidirectional language models(BiLM)

首先给定N个单词的序列

1)前向语言模型,已知前k-1个单词 ,预测第k个单词  的概率:

2)后向语言模型,已知下文  ,预测第k个单词  :

双向语言模型(biLM)即将前向和后向语言模型联合起来,并最大化前后向语言模型的联合似然函数:

其中,公式中有两个LSTM 单元, 为输入的初始词向量参数,为输出的softmax层参数(即,在LSTM的每一个步长输出的隐藏层h,再作为softmax的输入)。

2. char-level(CNN) 初始词向量

在第一点中输入的初始词向量通过 char-level(CNN)获得(即,对单词内的字符通过CNN卷积操作得到词向量),如下图:

3. ELMo

ELMo为多个双向语言模型biLM的多层表示

对于某一个单词 ,一个L层的双向语言模型biLM由2L+1个向量表示:

 为char-level初始词向量,前后向  分别为前后向lstm的输出,ELMo将多层的biLM的输出R整合成一个向量:

再将 向量正则化后,输入softmax层,作为学到的一组权重

结构如下图所示

三、ELMo词向量在NLP任务中的使用

1.和初始词向量  (char-level词向量)直接拼接

2. 和隐藏层输出 直接拼接

四、理解

即char-level+多层BLM的组合,再将输出向量整合为权值

解决了多义性(char-level)和上下文语义(bi-lstm)的问题

语言模型图:

第一个图表示的是以一条句子作为训练,实际上是一个batch的句子进行并行训练。单个句子的训练是以[n_token, max_char, char_dim]作为一个训练样本,分别表示句长,单词最大字符长和每个字符维数。我们使用一个大小为[1, n_width, char_dim]的卷积核进行卷积,即高度为1,宽度为n_width,通道数为char_dim的卷积核进行卷积,每次都是一行一行的对n_width大小的字符进行卷积。卷积完之后,我们会形成一个[n_token, max_char-n_width+1]的feature map图,然后我们再对feature map图的每一行进行一个最大池化处理,这样每一个卷积核最终得到[n_token]的数据。我们总共有m=n_filters个卷积核,将每个卷积核的结果拼接起来,最终会形成一个[n_token, m]的数据。
第二个图表示,我们得到了每个词经过m=n_filters个卷积和max pooling形成的feature之后,再通过多层highway网络进行特征筛选处理,最后再通过一个投影层将维度从m投影到p=proj_dim维。highway层和投影层都是可选的。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

 

原文:https://blog.csdn.net/qq_33373858/article/details/85063767 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值