ELMO模型(Deep contextualized word representation)

1 概述dom

  word embedding 是如今天然语言处理中最经常使用的 word representation 的方法,经常使用的word embedding 是word2vec的方法,然而word2vec本质上是一个静态模型,也就是说利用word2vec训练完每一个词以后,词的表示就固定了,以后使用的时候,不管新句子上下文的信息是什么,这个词的word embedding 都不会跟随上下文的场景发生变化,这种状况对于多义词是很是不友好的。例如英文中的 Bank这个单词,既有河岸的意思,又有银行的意思,可是在利用word2vec进行word embedding 预训练的时候会得到一个混合多种语义的固定向量表示。即便在根据上下文的信息能明显知道是“银行”的状况下,它对应的word embedding的内容也不会发生改变。函数

  ELMO的提出就是为了解决这种语境问题,动态的去更新词的word embedding。ELMO的本质思想是:事先用语言模型在一个大的语料库上学习好词的word embedding,但此时的多义词仍然没法区分,不过不要紧,咱们接着用咱们的训练数据(去除标签)来fine-tuning 预训练好的ELMO 模型。做者将这种称为domain transfer。这样利用咱们训练数据的上下文信息就能够得到词在当前语境下的word embedding。做者给出了ELMO 和Glove的对比学习

  

  对于Glove训练出来的word embedding来讲,多义词play,根据他的embedding 找出的最接近的其余单词大多数几种在体育领域,这主要是由于训练数据中包含play的句子大多数来源于体育领域,以后在其余语境下,play的embedding依然是和体育相关的。而使用ELMO,根据上下文动态调整后的embedding不只可以找出对应的“表演”相同的句子,还能保证找出的句子中的play对应的词性也是相同的。接下来看看ELMO是怎么实现这样的结果的。spa

2 模型结构blog

  ELMO 基于语言模型的,确切的来讲是一个 Bidirectional language models,也是一个 Bidirectional LSTM结构。咱们要作的是给定一个含有N个tokens的序列token

  $ {t_1, t_2, ..., t_N}$io

  其前向表示为:model

  

  反向表示为:方法

  

  从上面的联合几率来看是一个典型的语言模型,前向利用上文来预测下文,后向利用下文来预测上文。假设输入的token是 $ x_k^{LM}$,在每个位置 $k$ ,每一层LSTM 上都输出相应的context-dependent的表征 $\overrightarrow{h}_{k, j}^{LM}$。这里im

  $j = 1, 2, ..., L$, $L$表示LSTM的层数。顶层的LSTM 输出 $\overrightarrow{h}_{k, L}^{LM}$ ,经过softmax层来预测下一个 $token_{k+1}$。

  对数似然函数表示以下:

  

  模型的结构图以下:

  

  ELMO 模型不一样于以前的其余模型只用最后一层的输出值来做为word embedding的值,而是用全部层的输出值的线性组合来表示word embedding的值。

  对于每一个token,一个L层的biLM要计算出 $2L + 1$ 个表征:

  

  在上面 $ X_k^{LM} $ 等于 $ h_{k, j} ^ {LM} $,表示的是token层的值。

  在下游任务中会把$R_k$ 压缩成一个向量:

  

   其中 $s_j^{task}$ 是softmax标准化权重,$\gamma^{task}$ 是缩放系数,容许任务模型去缩放整个ELMO向量。

  ELMO的使用主要有三步:

  1)在大的语料库上预训练 biLM 模型。模型由两层bi-LSTM 组成,模型之间用residual connection 链接起来。并且做者认为低层的bi-LSTM层能提取语料中的句法信息,高层的bi-LSTM能提取语料中的语义信息。

  2)在咱们的训练语料(去除标签),fine-tuning 预训练好的biLM 模型。这一步能够看做是biLM的domain transfer。

  3)利用ELMO 产生的word embedding来做为任务的输入,有时也能够即在输入时加入,也在输出时加入。

  ELMO 在六项任务上取得了the state of the art ,包括问答,情感分析等任务。总的来讲,ELMO提供了词级别的动态表示,能有效的捕捉语境信息,解决多义词的问题。

相关文章
相关标签/搜索