21 Jun 2019
【论文研读】 001 ELMo
论文动机
ELMO 之前的Word2Vec,不能很好的模拟出复杂特征(即模拟语法和语义)和如何在语言上下文中变化(即模拟多义性)。
ELMo 相对于 word2vec 、 glove 的优点
ELMo的特点:
- 相比于word2vec这些多了上下文的理解。
- 基本单元是一个两层的基于字符卷积的网络.
- 内部状态的组合构成新的词汇向量表示.
- ELMo采用了双向bi-lstm模型,利用了语言模型,从elmo公式中我们就可以看出, 向左和向右的LSTM是不同的, 也就是说有两个 LSTM单元.
ELMo 采用的模型
ELMo采用双向LSTM的矢量,该双向LSTM在大型文本语料库上使用耦合语言模型(LM)目标进行训练得到的。因此被称为ELMo(从语言模型嵌入)表示。ELMo表示很深,因为它们是biLM所有内部层的功能。具体些就是ELMo表示学习了每个输入词上面堆叠的矢量的线性组合。模型评估时,较高级别的LSTM状态捕获了单词意义的上下文相关方面,而较低级别状态模拟语法方面。
ELMo 属于 Feature-based or fine-turning
fine-turning
ELMo 如何进行特征拼接
将该词向量加到一般的任务的方法是, 先固定一个权重, 构成一个$ELMo_t^{task}$, 然后联结$ELMo_t^{task}$和 最初始词向量(也就是通过字符卷积获得的向量) 为$[x_k; ELMo_t^{task}]$, 然后将这个向量输入到任务的RNN模型中去. 然后在训练中一同训练权重因子.
ELMo 解决了什么问题
语境化词语表示的难题,应该同时表达单词使用语法和语义以及在上下文语境中的变化。
用一句话介绍 ELMo
使用双向LSTM堆叠提取特征的语言模型
ELMo 模型怎么应用到下游任务
直接使用预训练的模型,将train_x和test_x替换为ELMo的向量表示,或者利用目标领域的语料进行微调
ELMo 存在问题
如何评价 ELMo
Til next time,
gentlesnow
at 15:13
