立即博网址

首页 > 正文

SpanBERT:提出基于分词的预训练模型,多项任务性能超越现有模型

www.buylikesplus.com2019-08-11

【导读】本文提出了一个新的模型预训练方法SpanBERT,这种方法可以更好地表示和预测文本的分词。新方法改进了BERT模型。在实验中,SpanBERT比BERT和其他基线表现更好,并且在分类问题(如问答任务和参考消除)的任务中取得了重要进展。特别是,当使用与BERT相同的训练数据和模型大小时,SpanBERT在SQUAD 1.0和2.0中的F1分数分别为94.6%和88.7%。在OnNotes中指的是解析任务,SpanBERT获得了79.6%的F1分数,这比现有的模型要好。此外,SpanBERT在TACRED关系提取任务中的表现也超过了基线,有70.8%的F1分数和GLUE数据集上的表现。

介绍

在现有研究中,包括BERT在内的许多预训练模型表现良好。现有模型在单个单词或较小单元上添加了掩码,并使用自我监督方法进行模型训练。然而,在许多NLP任务中,涉及多个文本分段之间的关系的推理。例如,在提取问答任务中,在回答问题“WhichNFLteamwonSuperBown50?”时,判断“DenverBroncos”是否属于“NFLteam”非常重要。直接预测“DenverBroncos”比“Denver”的已知“野马”预测更难,这意味着这种措辞对自我监控任务提出了更多挑战。

在本文中,作者提出了一种新的分段级预训练方法SpanBERT,它在现有任务中优于BERT,在选词,引用和分离任务方面取得了很大进展。对BERT模型进行了如下改进:(1)对随机的邻接分词(span)而非随机的单个词语(token)添加掩膜;(2)通过使用分词边界的表示来预测被添加掩膜的分词的内容,不再依赖分词内单个token的表示。

SpanBERT能够对分词进行更好地表示和预测。此模型和BERT在屏蔽机制和培训目标方面有所不同。首先,SpanBERT不再为随机单个令牌添加掩码,而是向随机邻居添加掩码。其次,本文提出了一种新的训练目标跨度边界目标(SBO)用于模型训练。通过向分词添加掩码,作者能够使模型基于其上下文预测整个分词。此外,SBO使模型能够将其单词级信息存储在边界词中,从而使模型更好,更容易调整。图1显示了该模型的原理。

图1显示了SpanBERT图。在此示例中,将一个掩码添加到分词anAmericanfootballgame中。然后,模型使用边界词is和to来预测分词中的每个单词。

为了构建SpanBERT,作者首先构建了一个BERT模型并对其进行了微调,这比原始的BERT模型更好。在建立基线时,作者发现预训一个部分的效果优于使用下一个预测(NSP)目标来训练两个半身部分,特别是在下游任务中。因此,作者在调整的BERT模型的顶部改进了模型。

本文模型在多个任务中的表现都超越了所有的BERT基线模型,且在分词选择类任务中取得了重要提升。SpanBERT分别在SQuAD 1.0和2.0中获得94.6%和88.7%的F1分数。此外,该模型在其他五个提取的问答基线(NewsQA,TriviaQA,SearchQA,HotpotQA,NaturalQuestions)中的表现也有所改善。

SpanBERT还在另外两项具有挑战性的任务中取得了新的进展。在CoNLL-2012(“OnroNoets”)的文本级解决任务中,该模型获得了79.6%的F1socre,其超过现有的最佳模型6.6%。在关系提取任务中,SpanBERT在TACRED中的F1分数为70.8%,比现有的最佳模型高2.8%。此外,该模型在不涉及分词的任务中取得了进展,例如提高了GLUE的性能。

在一些现有研究中,学者们提出了添加数据和扩展模型的优势。本文探讨了精心设计的预训练任务和目标的重要性。

研究背景:BERT

BERT是一种自我监控方法,用于预训深波变换器编码器,可在预训练后针对不同的下游任务进行微调。 BERT针对两个培训目标进行了优化。 Masklanguagemodeling(MLM)和下一句预测(NSP),训练只需要使用没有标签的大数据集。

n

符号

对于每个单词或子单元的序列X=(x1,xn),BERT通过编码器生成其基于上下文的向量表示:x1,xn=enc(x1,xn) )。由于BERT通过使用深度变换器结构来使用编码器,因此模型使用其位置来嵌入p1,pn以识别序列中每个字的绝对位置。

n n

带掩膜的语言模型(MLM)

MLM,也称为填空测试,是对序列中某个位置缺失单词的预测。该步骤从单词集X中对子集Y进行采样,并将其替换为另一组单词。在BERT中,Y占X的15%。在Y中,80%的单词被[MASK]替换,10%的单词被替换为基于unigram分布的随机单词,10%保持不变。该任务使用这些替换的单词来预测Y中的原始单词。

在BERT中,模型通过随机选择子集来找到Y,并且每个单词的选择彼此独立。在SpanBERT中,通过随机选择连续的分词来获得Y的选择(见3.1)。

n n

单句预测(NSP)

NSP任务包含两个输入序列XA,XB,并预测XB是否是XA的直接连续句子。在BERT中,模型首先从词汇表中读取XA,然后选择两个:(1)继续从XA结束的位置读取XB; (2)从词汇的另一部分随机抽取XB。这两个句子用[SEP]符号分隔。此外,该模型使用[CLS]表示法来指示XB是否是XA中的连续句子并添加到输入中。

在SpanBERT中,作者不再使用NSP目标,只采样全长序列(见3.3)。

模型

3.1分词掩膜

对于每个单词序列X=(x1,xn),作者通过迭代地对单词分段进行采样来选择单词,直到达到掩码所需的大小(例如,X的15%),并且X形成。在每次迭代中,作者首先对几何分布l~Geo(p)进行采样,以获得分词的长度,这是一个偏态分布,偏向于较短的分词。之后,作者随机(均匀地)选择分词的起点。

基于预测试,作者设置p=0.2并将l修剪为lmax=10。因此,分词的平均长度为3.8。作者还测量了单词中的分词程度,使得添加的掩码的分段更长。图2显示了分段掩码长度的分布。

图2分割长度(单词)

与BERT一样,作者将Y的大小设置为X的15%,其中80%用[MASK]替换,10%用随机词替换,10%。相比之下,作者在分词级别进行替换,而不是单独替换每个单词。

3.2分词边界目标(SBO)

分词模型通常使用其边界词来创建固定长度的分段表示。为了适应模型,作者希望结尾分词的表示的总和与中间分词的内容一样多。为此,作者介绍了SBO,它仅使用观察到的边界词来预测掩蔽分词的内容(见图1)。

对于每个蒙面分词(xs,xe),使用(s,e)表示其起点和终点。对于分词中的每个单词xi,外边界词xs-1和xe + 1用于表示和添加位置嵌入信息pi,如下所示:

在本文中,作者使用两层前馈神经网络作为表示函数,使用GeLu激活函数并使用层正则化:

作者使用向量表示yi来预测xi并使用交叉熵作为MLM的损失函数。

对于蒙面分词中的每个单词,SpanBERT对单词边界和蒙版语言模型的丢失进行求和。

3.3单序列训练

BERT使用两个序列(XA,XB)进行训练并预测两个句子是否是连续的(NSP)。本文发现使用单一序列和去除NSP的效果优于该方法。作者推测可能的原因如下:(a)较长的背景对模型更有利; (b)将上下文信息添加到另一个文本可能会给蒙面语言模型带来噪音。

因此,本文仅对长达512字的单个连续段进行采样,其长度与BERT使用的两个段的最大长度之和相同。

实验设置

4.1任务

本文在许多任务中评估模型,包括七个问答任务,参考消化任务,九个蓝色基线和关系提取任务。

n n

抽取式问答

任务的内容是给定一个短文本和一个问题作为输入,模型提取一个连续的分词作为答案。

本文首先在两个主要的Q&A任务基线SQUAD 1.1和2.0上进行评估,然后在五个MRQA共享任务中进行评估,包括NewsQA,TirviaQA,HotpotQA和NaturalQuestions(NaturalQA)。由于MRQA任务没有通用的测试集,因此作者使用了一半的开发集作为测试集。由于这些数据集的区域和收集方法不同,这些任务是对SpanBERT泛化性能的良好测试。

对于所有数据集,作者使用与BERT相同的QA模型。作者首先将段P=(p1,pn)和问题Q=(q1,ql')转换为序列X=[CLS] p1 . pl [SEP] q1。qL'[SEP],然后进入预训练的变换器编码器,并在两个线性分类器的顶部独立训练,以预测答案分词的边界(起点和终点)。对于SQuAD2.0中无法回答的问题,作者使用[CLS]作为答案分词。

n n

指代消解

此任务的内容是将文本中的内容聚类为指向同一个真实世界的实体。作者评估了CoNLL-2012共享任务,这是一个文档级参考。作者使用了更高阶的共参数模型,并将LSTM编码器替换为BERT预先训练的变压器编码器。

n n

关系抽取

这个任务的目的是给出一个包含主题分词和对象分词的句子,并预测两个分词之间的关系。该关系是给出的42种类型之一,包括np_relation。本文对TACRED数据集进行了测试,并使用本文提出的物理掩模机制构建了模型。作者用“[CLS] [SUBG-PER] isbornin [OBJ-LOC],Michigan,”的形式用NER标签替换分词,并在模型顶部添加一个线性分类器来预测关系类型。

n n

GLUE

GLUE包含9个句子级别的分类任务,包括两个单句任务(CoLA,SST-2),三个句子相似性任务(MRPC,STS-B,QQP)和四个自然语言推理任务(MNLI,QNLI,Gi- ,WNLI)。最近的模型主要用于单个任务,但本文已针对所有任务进行了评估。模型的设置与BERT相同,并在[CLS]字的顶部添加线性分类器。

4.2实验步骤

作者在fairseq中重新训练了BERT模型和预训练方法。本文与前一篇文章的最大区别在于作者对每个时期使用不同的掩码,BERT为每个序列采样不同的掩码。此外,初始BERT具有0.1的低采样率,本文使用多达512个字作为样本,直到达到文档边界。

4.3基线

本文比较了三个基线,包括GoogleBERT,作者训练的BERT和作者训练的单序列BERT。

结果

5.1各任务结果

n n

抽取式问答

表1显示了SQuAD 1.1和2.0的结果,表2显示了其他数据集的结果。由于基线模型,可以找到SpanBERT的效果。

表1 SQuAD 1.1和2.0数据集的结果

表2是其他五个数据集的结果

n n

指代消除

表3显示了OntoNotes上的模型性能。可以发现SpanBERT的模型优于基线。

表3 OntoNotes数据集的结果

n n

关系抽取

表5显示了对TACRED的模型影响。 SpanBERT的性能超过了基线模型的得分。

表5 TACRED数据集的结果

n n

GLUE

表4显示了GLUE上的模型性能,SpanBERT也超过了现有的评级。

表4 GLUE的结果

5.2整体趋势

实验表明,SpanBERT在所有任务中的得分几乎都优于BERT,尤其是在提取问答任务中。此外,作者发现单序列训练优于两个序列的训练,不再需要NSP。

消融实验

在这一部分,作者比较了随机分词机制和基于语言信息的掩蔽机制,发现本文使用的随机分词掩码更有效。此外,作者研究了SBO的作用,并将其与BERT使用的NSP进行了比较。

6.1掩膜机制

作者比较了子词,完整词,命名实体,名词短语和随机词段。表6显示了分析结果。

表6显示了使用不同的掩码机制替换BERT中的掩码机制的结果

6.2辅助目标

表7显示了该实验的结果。可以发现,使用SBO替代NSP并使用单个序列预测是更好的。

表7使用不同辅助目标的影响

结论

本文提出了一种新的基于分词的预训练模型,并对BERT进行了如下改进:(1)在相邻随机分词中添加掩码而不是随机词; (2)使用分词边界的表示来训练预测掩模的添加电影的分词内容,而不再使用该字的表示进行训练。该模型的得分在多个评估任务中超过了BERT,并且分词类任务的改进尤为明显。

n n n n n n n n n n n。
热门浏览
热门排行榜
热门标签
日期归档