参考:
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Bert时代的创新(应用篇):Bert在NLP各领域的应用进展
一、bert为什么会出现???
1、Word Embedding:Word2Vec(CBOW/Skip-gram)—>Glove
!!!无法解决词的多义问题
缺点:
Word Embedding在对bank这个单词进行编码的时候,是区分不开这两个含义的,因为它们尽管上下文环境中出现的单词不同,但是在用语言模型训练的时候,不论什么上下文的句子经过word2vec,都是预测相同的单词bank,而同一个单词占的是同一行的参数空间,这导致两种不同的上下文信息都会编码到相同的word embedding空间里去。所以word embedding无法区分多义词的不同语义,这就是它的一个比较严重的问题。
**解决:**引入ELMO
2、ELMO:
实际使用Word Embedding的时候,单词已经具备了特定的上下文了,这个时候我可以根据上下文单词的语义去调整单词的Word Embedding表示,这样经过调整后的Word Embedding更能表达在这个上下文中的具体含义,自然也就解决了多义词的问题了。所以ELMO本身是个根据当前上下文对Word Embedding动态调整的思路。
总结,ELMo使用双层BiLSTM来训练语言模型,创新是线性组合不同层的word vec