ELMo(Embeddings from Language Models)兼顾了两个问题:一是词语用法在语义和语法上的复杂特点;二是随着语言环境的改变,这些用法也应该随之改变,解决多义词的问题。
ELMo 语言模型原理图:
ELMo 模型原理图中虚线的部分是两个双层的 LSTM 网络结构。
- 左侧的是一个从左到右顺序的正向的双层LSTM 网络,主要用来理解预测词的上文 Context-before。
- 右侧是一个从右到左逆序的逆向的双层 LSTM 网络结构,主要用来理解预测词的下文 Context-after。
也就是说ELMo 会同时考虑上文和下文。