URL: https://allennlp.org/elmo

简介

NAACL2018的杰出论文ELMo,一种深层词表示,将多层双向语言模型每层的输出合并作为任务模型的输入,在六种主流NLP任务取得明显提升。

ELMo

简单的说ELMo提供了一种更好的词向量。 它是基于双向语言模型的,相比CoVe直接拼接多层输出,这里特定于任务进行多层表示的累加组合。 \( ELMo_k^{task} = E(R_k; \Theta^{task}) = \gamma^{task} \sum\limits_{j=0}^L s_j^{task} h_{k,j}^{LM} \) 其中s是根据任务进行的不同层权重调节(softmax), $\gamma$是对模型整体的放缩。

使用上可以用ELMo当作词向量,也可以将ELMo向量和原有的词向量或者隐含表示甚至输出相拼接。

tab2&tab3
tab7

数据集

本文在六大主流任务数据集上进行了测试,算是BERT前比较全面的评测提升。

Name Task Link
SQuAD 问答(QA) https://rajpurkar.github.io/SQuAD-explorer/
SNLI 蕴含推理 https://nlp.stanford.edu/projects/snli/
OntoNotes 语义角色标注 https://catalog.ldc.upenn.edu/LDC2013T19
OntoNotes 共同指代 https://catalog.ldc.upenn.edu/LDC2013T19
CoNLL2003 实体抽取(NER) https://www.clips.uantwerpen.be/conll2003/ner/
SST-5 情感分析 https://nlp.stanford.edu/sentiment/index.html

实验与对比

实验结果直接对六大主流任务SOTA取得明显提升。

tab1

当然同类对比主要是Glove和CoVe。 作者对ELMo作了很多消融和分析,以及可视化。

思考

公司出品的论文效果非常工业化。 感觉主要理论改进,是用多层按权重累加替代拼接。