近年来,研究人员通过文本上下文信息分析获得更好的词向量。ELMo是其中的翘楚,在多个任务、多个数据集上都有显著的提升。所以,它是目前最好用的词向量,the-state-of-the-art的方法。这篇文章发表在2018年的NAACL上,outstanding paper award。下面就简单介绍一下这个“神秘”的词向量模型。
(1)ELMo能够学习到词汇用法的复杂性,比如语法、语义。
(2)ELMo能够学习不同上下文情况下的词汇多义性。
基于大量文本,ELMo模型是从深层的双向语言模型(deep bidirectional language model)中的内部状态(internal state)学习而来的,而这些词向量很容易加入到QA、文本对齐、文本分类等模型中,后面会展示一下ELMo词向量在各个任务上的表现。
语言模型就是生成文本的方式、方法,是多个N个词语的序列(t1,t2,……,tN)的极大似然。前向语言模型就是,已知(t1,t2,……,tK-1),预测下一个词语tK的概率,写成公式就是
最近,如《Exploring the limits of language modeling》、《On the state of the art of evaluation in neural language models》和《Regularizing and optimizing lstm language models》等论文中,首先使用character-level的RNN或CNN,计算得到“上下文无关”(context-independent)词向量表示
,然后将此向量feed进入L层的前向LSTM。在每一个位置k,每个LSTM层会输出一个
,其中j=1,....L. 最顶层的LSTM输出为
,然后加上softmax来预测下一个词语tK+1。
既然是双向,后向的语言模型如下,即通过下文预测之前的 词语:
双向语言模型(biLM)将前后向语言模型结合起来,最大化前向、后向模型的联合似然函数即可,如下式所示:
其中,
和
分别是context-independent词向量训练时 和 soft max层的参数,
和
则是双向语言模型的(前后向语言模型的)参数。
ELMo是双向语言模型biLM的多层表示的组合,对于某一个词语tK,一个L层的双向语言模型biLM能够由2L+1个向量表示:
其中
。
ELMo将多层的biLM的输出R整合成一个向量,
。最简单的情况是ELMo紧紧使用最顶层的输出,即
,类似于TagLM和CoVe模型。但是,我们发现,最好的ELMo模型是将所有biLM层的输出加上normalized的softmax学到的权重
其中
是缩放因子。假如每一个biLM的输出具有不同的分布,
某种程度上来说相当于在weighting前对每一层biLM使用了layer nomalization。
上述ELMo词向量的运算过程基于RNN,但是ELMo词向量的运算不局限于RNN,CNN等也可以应用ELMo的训练。
在supervised learning的情况下,可以各种自如的使用。
(1)直接将ELMo词向量
与普通的词向量
,拼接(concat)
。
(2) 直接将ELMo词向量
与隐层输出向量
拼接
,在SNLI,SQuAD上都有提升。
ELMo模型中适当的dropout,或者将ELMo模型的weights加入
正则都会imposes an inductive bias on the ELMo weights to stay close to an average of all biLM layers。
Textual entailment: stanford natural language inference (SNLI)数据集上提升了1.4%。
Question answering: 在stanford question answering dataset (SQuAD)数据集上提升了4.2%,将ELMo加入到之前的state-of-the-art的ensemble模型中,提升了10%。
Semantic role labeling: 比之前的state-of-the-art模型提高了3.2%,将ELMo加入到之前的state-of-the-art的单模型中,提升了1.2%。
Coreference resolution: 比之前的state-of-the-art模型提高了3.2%,将ELMo加入到之前的state-of-the-art的ensemble模型中,提升了1.6%。
Named entity extraction: 在CoNLL 2003 NER task数据机上提高了2.06%
Sentiment analysis: 比之前的state-of-the-art模型提高了3.3%,将ELMo加入到之前的state-of-the-art模型中,提升了1%。
这篇文章发表在2018年的NAACL上,outstanding paper award,本月初才发出,之前放在arxiv上,已有30+次引用。额,作者自己也觉得超好用,推出了工具包,可浏览项目主页ELMo,github,paper。
pip install allennlp 即可享用。
The mind is not a vessel that needs filling, but wood that needs igniting. — Plutarch
来源:知乎专栏--机器学习小知识 作者:mountain blue