【NLP】ELMo理解

1.ELMo所解决问题:

CBOW,SkipGram,NNLM等模型训练出来的词向量是Fixed,无法满足同一个单词在不同语境下具有不同的含义,需要动态地学出单词在上下文中的词向量。

2.解决一词多义的可行办法:

a. 给每个单词分配多个词向量

b. 先学习单词fixed的词向量,在应用到某个上下文时再作出相应的调整

c.ELMo(不再得到词的确定的embedding vector, 而是采用两阶段做法,第一阶段先得到一个根据上下文训练好的language model,第二阶段在做downstream任务时,从预训练语言模型中提取对应单词的embedding作为新特征补充道下游任务中,如果把第一阶段得到的中间embedding拿出来用效果很差)

d. BERT

3.ELMo(Deep contextualized word representations)的核心思想:

(1)contextualized指:基于上下文和语言模型(Language Model)的训练方式,使用LSTM;

(2)deep指:基于deep learning的层次表示(Hierarchical Representation),每个层级捕获的特征由简单到复杂

        浅层(单词特征)——>  中间层(句法特征)——> 深层(语义特征

扫描二维码关注公众号,回复: 10899571 查看本文章

根据以上两点,使用Deep BI-LSTM模型。

4.ELMo的数学表达

ELMo is a task specific combination of the intermediate layer representations in the biLM. For each token t k , a L-layer biLM computes a set of 2L + 1 representations

For inclusion in a downstream model, we compute a task specific weighting of all biLM layers:

(1)为什么每个单词有2L+1个representation?

一共L层,每层使用2个LSTM按照从左到右和从右到左两个方向进行基于LM的训练,因此是2L,再加上还有单词原本的词向量。

(2)downstream task中的加权权重如何得到?

通过训练得到weights。

发布了26 篇原创文章 · 获赞 13 · 访问量 7292

猜你喜欢

转载自blog.csdn.net/original_recipe/article/details/104928011