1. 为什么引入
elmo是在传统词向量中加入了对上下文信息的关注,使得同一个词在不同上下文中有不同含义,得到不同的表达。
2. 整体架构
elmo主要使用了一个字符卷积层(get raw word vectors) 加上 两层双向的LSTM语言模型,来充分获得一个词的所有上下文信息,这正是与word2vec等传统词嵌入不同之处。
(各个层之间添加了residual connection传递;elmo中可以添加适量的dropout和l2正则)
3. 为什么是两层LSTM
第一层LSTM更容易获得一些浅层的句法信息,如词性标注等
第二层LSTM则更容易获得一些更深层的语言信息,如上下文、词义等
elmo则是这两(多)层任务的权重组合,公式如下:
其中s-task是各个层的softmax权值,标量参数γ-task允许任务模型缩放整个ELMo向量(根据下游