Abstract
本文介绍一种新型的上下文词表示可以建模:
- 词的复杂用法特征(例如句法或者语义特征)
- 在不同的语言上下文中的用法变化(例如多义词)
我们的词向量是学到的深度双向语言模型(biLM)内部状态的函数,这个 biLM 是在大量文本语料上预训练的结果。我们展示了这些表示可以很容易地加入已有的模型并在六项 NLP 任务上显著提升了 SOTA.
Introduction
预训练的词向量(Word2Vec, GloVe 等)是很多神经语言理解模型中的关键。
我们在大量文本语料上使用语言模型 (LM)目标预训练一个双向 LSTM, 然后从中得到词向量。我们将这种词向量命名为 ELMo (Embeddings from Language Models). 与之前学习上下文词向量的方法不同,ELMo 是深度词向量,因为 ELMo 词向量是 biLM 所有内部层状态的函数。具体来说,我们对每个下游任务训练一个线性组合函数,这种方式明显地提升了模型的表现,即便是在只使用 LSTM 最后一层状态的情况下。
我们发现高层的 LSTM 状态能够捕获一些上下文相关的词义(例如可以直接用于词义消歧任务),而较低层的状态则能捕获一些句法上的信息(例如可以用来做 POS 标注)。同时使用这些层的状态大有好处,允许模型选择对每个任务最有用的半监督信号。
模型和代码: