Elmelm 2019-04-28
今天给大家介绍一篇2018年提出的论文《Deep contextualized word representations》,在这篇论文中提出了一个很重要的思想ELMo。本人认为ELMo的提出对后面的的GPT和BRET有一个很好的引导和启发的作用。ELMo是一种是基于特征的语言模型,用预训练好的语言模型,生成更好的特征。
回到顶部
ELMo是一种新型深度语境化词表征,可对词进行复杂特征(如句法和语义)和词在语言语境中的变化进行建模(即对多义词进行建模)。我们的词向量是深度双向语言模型(biLM)内部状态的函数,在一个大型文本语料库中预训练而成。
说到词向量,我们一定会联想到word2vec,因为在它提出的词向量概念给NLP的发展带来了巨大的提升。而ELMo的主要做法是先训练一个完整的语言模型,再用这个语言模型去处理需要训练的文本,生成相应的词向量,所以在文中一直强调ELMo的模型对同一个字在不同句子中能生成不同的词向量。
回到顶部
3.1 ELMo的预训练
前面也说过ELMo最重要的一点是就是训练语言模型,语言模型的结构如下:
他们使用的是一个双向的LSTM语言模型,由一个前向和一个后向语言模型构成,目标函数就是取这两个方向语言模型的最大似然。
前向LSTM结构:
反向LSTM结构:
最大似然函数:
3.2 使用语言模型
在预训练好这个语言模型之后,ELMo就是根据公式来用作词表示,其实就是把这个双向语言模型的每一中间层进行一个求和。最简单的也可以使用最高层的表示来作为ELMo。然后在进行有监督的NLP任务时,可以将ELMo直接当做特征拼接到具体任务模型的词向量输入或者是模型的最高层表示上。
回到顶部
大家有想过为什么ELMo的效果会比word2vec的效果好?我个人认为有一下几点:
转自:https://www.cnblogs.com/huangyc/p/9860430.html