Deep contextualized word represe

2020-06-28  本文已影响0人  糖爰

深度语境化词表征

该研究提出了一种新型深度语境化词表征,可对词使用的复杂特征(如句法和语义)和词使用在语言语境中的变化进行建模(即对多义词进行建模)。这些表征可以轻松添加至已有模型,并在 6 个 NLP 问题中显著提高当前最优性能。

Abstract

在本论文中,我们介绍了一种新型深度语境化词表征,可对词使用的复杂特征(如句法和语义)和词使用在语言语境中的变化进行建模(即对多义词进行建模)。我们的词向量是深度双向语言模型(biLM)内部状态的函数,在一个大型文本语料库中预训练而成。本研究表明,这些表征能够被轻易地添加到现有的模型中,并在六个颇具挑战性的 NLP 问题(包括问答、文本蕴涵和情感分析)中显著提高当前最优性能。此外,我们的分析还表明,揭示预训练网络的深层内部状态至关重要,可以允许下游模型综合不同类型的半监督信号。

Introduction

预训练词表征是很多神经语言理解模型的关键部分。然而,学习高质量词表征非常有难度。他们应该完美建模单词使用方面的复杂特征(如句法和语义),以及单词使用在不同语言环境下的变化(即建模一词多义)。本文介绍了一种新型深度语境化词表征,可以直接应对这些挑战,而且这种表征能够轻松整合进现有模型,极大地提升大量有难度的语言理解问题中每个用例的当前最优性能。
我们的表征不同于传统的词嵌入,每个token分配一个表征---即整个输入句子的函数。研究者使用从双向LSTM得到的向量,该LSTM是使用成对语言模型(LM)目标在大型文本语料库上训练得到的。因此,该表征叫做ELMo(Embeddings from Language Models来自语言模型的嵌入)表征。与之前学习语境化词向量的方法不同,ELMo是深层的,即他们是biLM所有内部层的函数。具体来说,对于每个任务,学习堆叠在每个输入单词上的向量线性组合,这可以显著提升性能,效果优于仅适用LSTM顶层的表征。
用这种组合方式组合内部状态可以带来丰富的词表征。研究者使用内在评价进行评估结果显示更高级别的LSTM状态捕捉词义的语境依赖方面(如他们不经修改就可以回字形监督式词义消岐任务,且表现良好),而较低级别的状态建模句法结构(如他们可用于词性标注任务)。同时揭示所有这些信号都是有益的,可以帮助学得的模型选择对每个任务最有帮助的半监督信号。
大量实验表明ELMo表征在实践中效果优异。研究者首先展示可在六个不同且有难度的语言理解问题上(包括文本蕴含、问答和情感分析等),将ELMo表征轻松添加至现有模型。添加ELMo表征可以显著提高每个用例中的当前最优性能,包括将相对误差降低20%,对于允许直接对比的任务,ELMo 优于 CoVe(McCann et al., 2017),后者使用神经机器翻译编码器计算语境化表征。最后,对 ELMo 和 CoVe 的分析结果显示深层表征优于仅从 LSTM 顶层获取的表征。本研究中训练的模型和代码已公开,研究者期望 ELMo 为其他 NLP 问题提供类似的帮助。

相关工作

由于他们能够从大规模未标记文本中捕获单词的句法和语义信息,因此预训练是大多数优秀NLP架构的标准组成架构(包括问答、文本蕴含、语义角色标签)。然而这种用于学习词向量的方法仅允许 每个单词的单个上下文无关表示。
我们的方法也通过subword units受益,并且我们无缝的将更多感知信息结合到下游任务中,而无需明确的训练以预测预定义的感知类
其他的工作也聚集在学习上下文相关的表征。context2vec使用了一个双向的LSTM围绕一个中心词去编码上下文。用于学习上下文嵌入的其他方法包括表示中的枢轴词本身,并且使用监督神经机器翻译(MT)系统(CoVe; McCann等人,2017)或无监督语言模型(Peters等人)的编码器来计算。 。,2017)。这些方法都得益于大型语料,尽管MT的方法受到平行语料的限制。我们在这里充分利用了丰富的单语数据,并且训练了我们的模型biLM在一个接近30 百万的语料上。我们还将这些方法概括为深层的上下文表示,我们在各种不同的NLP任务中表现出良好的工作效果。
先前的工作还表明,深度biRNN的不同层编码不同类型的信息。
在一个基于RNN的encoder-decoder机器翻译系统,表明在2层LSTM编码器的第一层学习的表示更好地预测POS标签,然后是第二层。最后,用于编码单词上下文的LSTM的顶层已经被证明可以学习单词意义的表示。我们表明,类似的信号也是由我们的ELMo表示的修改语言模型目标引起的,并且学习混合这些不同类型的半监督的下游任务的模型是非常有益的。
2015和2017使用语言模型和序列自编码器预训练了encoder-decoder对,然后使用任务特定的监督去微调(fine tune)。使用未标注数据预训练完biLM之后,我们修复权重并添加额外的任务特定模型容量,允许我们在下游训练数据大小规定较小的监督模型的情况下利用大型,丰富和通用的biLM表示

3 ELMo:来自语言模型的嵌入

与广泛使用的词嵌入(Pennington et al., 2014)不同,ELMo 词表征是整个输入句子的函数。这些表征是在两层 biLM 上使用字符卷积计算出来的,作为内部网络状态的线性函数(如 3.2 所述)。这种设定允许我们进行半监督学习,在学习中,biLM 进行大规模的预训练且能够轻易整合进大量现有神经 NLP 架构。

3.1双向语言模型

3.3ELMo

ELMo 是 biLM 中间层表征的任务特定组合。对于每个 token t_k,L-layer biLM 计算一组表征(包含 2L + 1 个)
公式中的是 token 层,对于每个 biLSTM 层,有。为了包含在下游模型中,ELMo 将 R 中的所有层折叠成单个向量,


image.png

。在最简单的情况下,ELMo 只选择顶层,


image

,如 TagLM(Peters et al., 2017)和 CoVe(McCann et al., 2017)。简言之,研究者计算所有 biLM 层的任务特定权重:

image

(1)中,s^task 是 softmax 归一化权重,标量参数 γ^task 允许任务模型扩展至整个 ELMo 向量。在实践中,γ 对优化过程有益(详见补充材料)。鉴于每个 biLM 层的激活函数都有不同的分布,在一些情况下,γ 还有助于在加权之前对每个 biLM 层应用层归一化(Ba et al., 2016)。

3.3在监督NLP任务中使用biLMs

给定一个预训练的biLM和一个目标NLP任务的监督架构 ,用biLM去提高任务模型是一个非常简单的过程。我们简单的运行biLM然后记录每一层所有词的表达。然后,我们让最后的任务模型去学习这些表达的线性的结合。
首先考虑没有biLM的监督模型的最底层。大部分的监督NLP模型在最底层共享公共架构,允许我们统一的、一致的去添加ELMo。给定一系列令牌(t 1,...,t N),使用预训练的字嵌入和可选的基于字符的表示,为每个令牌位置形成与上下文无关的令牌表示x k是标准的。 然后,该模型形成上下文敏感表示h k,通常使用双向RNN,CNN或前馈网络。

3.4预先训练的双向语言模型体系结构

5

sec5.1表明在下游任务中使用深层上下文表示可以提高与仅使用顶层的先前工作相比的性能,无论它们是从biLM还是MT编码器生成,并且ELMo表示提供最佳的整体性能.sec 5.3探讨了在biLM中捕获的不同类型的上下文信息,并使用两个内在评估来表明句法信息在较低层更好地表示,而语义信息被捕获到更高层,与MT编码器一致。它还表明我们的biLM始终提供比CoVe更丰富的表示。另外,我们分析了ELMo包含在任务模型中的敏感性(第5.2节),trainingsetsize(第5.4节),以及在任务中学习的权重(第2节)。5.5)。

6结论

我们已经介绍了一种从biLM学习高质量深度上下文相关表示的一般方法,并且在将ELMo应用于广泛的NLPtasks时显示出了很大的改进。 通过消融和其他对照实验,我们还确认了biLM层有效地编码了关于上下文中的不同类型的句法和语义信息,并且使用所有层改善了整体任务性能。

上一篇下一篇

猜你喜欢

热点阅读