引言
这是2018年NAACL上的Best Paper,即是大名鼎鼎的ELMo,原文地址:https://arxiv.org/pdf/1802.05365.pdf
对比传统Word2Vec这种形式的词向量,本文提出的模型是一种动态模型。在以往的词向量表示中,词都是一种静态的形式,无论在任何的上下文中都使用同一个向量。这种情况下很难表示一词多义的现象,而ELMo则可以通过上下文动态生成词向量,从理论上会是更好的模型,从实测效果来看在很多任务上也都达到了当时的SOTA成绩。
模型
Bidirectional language models
一般的语言模型都是利用前k-1个token来预测第k个token,如下:
而双向语言模型就是添加了另一个方向的预测,利用N~k+1个token来预测第k个token,如下:
目标函数便是上述两者的联合损失,如下:
这里需要注意的是 θ x \theta_x θx是token的表示,而 θ s \theta_s θs则为softmax参数,后续对此会详细说明。
ELMo
不同于其他类型的模型采用最顶层的输出作为token的表示,Elmo采用多个层的线性加和作为token的表示,对于每个token,在一个 L L L层的biLm中可以输出