查看原文
其他

NAACL 2021|基于词格的多粒度预训练语言模型Lattice-BERT

arxiv: https://arxiv.org/abs/2104.07204

code: https://github.com/alibaba/AliceMind/tree/main/LatticeBERT

【导 读】

本文是对发表于自然语言处理领域的顶级国际会议 NAACL 2021的论文 “Lattice-BERT: Leveraging Multi-Granularity Representations in Chinese Pre-trained Language Models(Lattice-BERT:在中文预训练语言模型中利用多粒度表示)”的解读。

该论文由北京大学王选所冯岩松课题组与阿里巴巴达摩院合作完成。针对如何在中文预训练语言模型中利用字词信息建模多粒度字词表示的问题,本文提出了基于词格的多粒度预训练语言模型Lattice-BERT。实验证明,该论文提出的方法可以充分建模字词多粒度表示,从而在中文文本分类、文本匹配、序列标注及阅读理解等多种任务上利用多粒度字词信息取得更好地表现。在在11个中文理解任务上,相比同设置的字级别预训练语言模型,Lattice-BERT在12层base规模下取得了1.5% 的提升,并中文语言理解评测基准CLUE上取得了base规模下的最好成绩。

1

背景动机

自从2018年提出以来,预训练语言模型在多种自然语言处理任务中得到了广泛的应用,取得了令人瞩目的表现。大规模预训练语言模型利用大量的无标注文本数据,基于无监督或自监督预训练任务,如缺失词填充、句子顺序恢复等,学习文本的通用上下文相关语义表示。在预训练过程中,模型能够自适应地捕获语言学及语义知识;在迁移到具体的下游任务里进行精调时,模型可以利用这些知识更好地学习下游任务的模式,从而取得更好的效果。

现有的预训练语言模型大多都基于细粒度切分,即在中文自然语言处理任务中,采用字级别的输入进行序列建模。这种建模方式忽视了句子中的粗粒度词结构,使得模型需要以字为基础,来学习词语在上下文语境下的语义表示。然而,汉语中的词义往往并不是字义的简单组合,例如图1中,“老板”与“老”、“板”两字之间的语义具有较大差别,“老板”与“领导”虽为近义词但不包含语义相近的字。直觉上,基于字级别去组合建模这些词语的语义及语义关系,效率和质量会逊色于可以直接建模词级别特征的模型。在下游任务中,字级别模型无法直接建模粗粒度词语的整体语义特征,也难以建文本之间的粗粒度语义关联。



图1 中文字词语义差异示意

为了缓解这一问题,该论文将多粒度词格结构引入大规模语言模型预训练中,提出了大规模词格预训练语言模型(Lattice-BERT)。模型不再建模单一的字序列,而是去对字词结合的多粒度词格图进行建模。如图2所示,词格是一个有向无环图,可以紧凑的表达一段文本中所有的字及多种词切分序列。对词格进行建模,可以在细粒度建模的基础上,引入多粒度词信息的同时,避免了单一文本切分带来的分词错误传播。



图2 词格图

2

回顾:预训练语言模型BERT

大规模预训练语言模型 BERT (Bidirectional Encoder Representations from Transformers)是谷歌公司的Devlin等人在2018年提出的基于Transformer结构的大规模预训练语言模型。该模型以深层Transformer结构,在大规模无标注数据上,学习语言的内在特征,并将其迁移到下游任务中,以提升模型在具体自然语言处理任务中的表现。

对于字级别建模的BERT,Transformer中建模的每一个向量表示均对应输入文本的一个字。Transformer中采用多头注意力机制。每一个注意力头的计算可以表示为:

其中,  为第l层第i个字的输入,  为第l层第i个字的输出。W为可学习的参数矩阵,  为每个注意力头的维度。

为了建模输入文本的序列特征,预训练语言模型通常会在输入端,或注意力中引入位置相关的表示特征。输入端结合位置信息可以表示为:

其中,  为第  个位置的位置向量编码。而在注意力机制中引入位置相关特征可以表示为:

其中,  表示位置  和  之间的位置关系所带来的注意力偏置特征。

预训练语言模型 BERT采用下一句预测(NSP)与掩码语言模型(MLM)作为自监督预训练任务。在NPS任务中,模型预测输入的两句话在原始语料中是否为前后承接关系。在MLM任务中,模型需要还原输入中随机遮掩的词汇。

3

模型方法

该论文提出了基于词格结构的大规模预训练语言模型:Lattice-BERT。在 Lattice-BERT 中,模型可以通过预训练过程,学习到每个字词节点在多粒度词格语境下的上下文相关表示,并将其应用于具体的下游自然语言问答任务上,让模型不必从字级别输入直接组合建模词级别粗粒度语义结构。

在大规模预训练语言模型中引入词格结构主要面临两点挑战。一方面,原始的Transformer结构与注意力编码机制均针对线性输入序列设计的,而词格图具有一定的图结构。如何利用针对线性输入建模的 Transformer 来处理词格图结构,是解决的第一点挑战。此外,面对词格输入带来的冗余信息,掩码语言模型中的随机遮掩会让预训练任务变得更容易,从而减弱预训练的效果。如何调整预训练任务目标以避免词格中的冗余信息弱化预训练水平是需要解决的第二点挑战。

针对这两点挑战,该论文提出了针对多粒度词格图结构的注意力机制,让 Transformer 可以建模词格图结构。然后该论文提出基于词格结构的整段预测任务来避免词格图中的信息冗余在预训练任务中带来的数据泄露问题。

如图3所示,在预训练过程中,Lattice-BERT先将文本构建成词格图,并通过带有词格位置注意力机制的Transformer结构进行编码,并以句子顺序预测(SOP)及整段预测任务(MSP)作为无监督学习目标,进行训练。



图3 Lattice-BERT 预训练过程示意图

3.1

多粒度词格输入


词格(word lattice),也被称作词网格或词图,是一个有向无环图,可以用来表示中文文本中的所有潜在粒度,以及中文文本切分的所有可能。

具体而言词格可被记为有向图  ,其中  为该图的节点集,而  为其有向边集。对于包含  个字的句子  ,其中    指这个句子的第  个字。简便起见,不妨记  表示从  的第  个字开始,到第  个字为止的一个字符串,则  对应的词格图  的节点集  为句子  中包含的所有字或词的集合,即:

另一方面,对句子  中所有具有邻接关系的词对,他们对应的节点在词格图中由一条有向边链接,其方向为从原句中位置靠前的节点指向位置靠后的节点。

即  对应的词格图  的边集  满足:

3.2

词格位置注意力


Lattice-BERT 采用在注意力机制中引入位置相关特征的方式,来建模词格图中节点的相对位置对注意力交互的影响。具体而言,从绝对位置、相对距离与位置关系三个角度构建了三组偏置特征。结合了偏置特征的注意力分数可以表示为:

在实际计算中,这三种与词格结构相关的注意力偏置项中的计算参数在不同的注意力头中是有差别的,而在不同的 Transformer 层中是共享的。这有助于在减少计算负担的同时,鼓励不同的注意力头捕获多样性的特征。

(a) 绝对位置 为基于词格节点对在词格图中的绝对位置计算的注意力权重,满足:

其中,  为第i个词格节点对应的文本的第一个字在输入文本序列中的位置,而其对应的开始位置特征表示向量为  。类似地,   为第i个词格节点对应的文本的最后一个字在输入文本序列中的位置,对应的结尾位置特征表示向量为  。例如在图二所示的例子中,“研究生活很充实”里,“生活”一词的开始位置  为3,结尾位置   为4。

(b) 相对距离 为基于词格节点之间的相对距离计算的注意力权重。考虑到词格节点为原句中的子串,根据一对词格节点的起始和终止位置进行组合,相对距离包含四个分量:

其中,  与   为第i个词格节点对应的开始和结尾位置。   表示了一组起始位置相差  个字的词格节点之间的注意力分数先验。其余的三项,   、   以及   ,也有相似的定义。

(c) 位置关系 代表在原句中,词格图中两个节点之间位置关系为注意力机制带来的影响,为一个标量。这里考虑了 第 i 和第 j 个节点之间的 7 种位置关系,如图4所示。直觉上讲,两个词格节点之间的位置关系反映了部分词格图上的信息,例如,只有两个具有分离关系的节点才能共存于同种潜在的中文词切分中,并且包含与被包含关系反映了一种次粒度上的层级关系。


图4 词格注意力机制中的位置关系示例

3.3

整段预测任务


原始的 BERT 模型的掩码语言模型(MLM)利用上下文信息预测被随机遮掩部分输入内容,以让模型具有建模上下文语义的能力。然而,在以词格作为输入的情景下,词格节点之间会有重叠部分,也就是说,有些汉字会同时出现在多个词格节点中。如果依然采用随机遮掩的方式训练,模型可能会去借鉴这些冗余信息去预测被遮掩的内容而逃避了更复杂的上下文建模,从而削弱模型的上下文能力。例如在图5中,输入文本中含有“充实”一词,如果遮掩了“充”字,却保留了“实”、“充实”,模型可能会利用没有被遮掩的“充实”节点的信息轻易预测被遮掩的“充”字,从而疏忽了有效的上下文建模。

为了缓解这一问题,该论文提出基于词格结构的 整段预测(MSP)任务。可以观察到,在词格中,具有一种 段(segment)的结构,词格中的信息冗余仅发生在一个词格的段内。

如图5所示, 一个词格段 为词格中的一个最小的连续子图,且不存在任何段外的节点,与词格段内的节点之间具有重叠的汉字。


图5 整段预测任务示意图

Lattice-BERT每次遮掩一个完整的词格段内的节点,并让模型根据上下文去预测遮掩的内容。由于一个词格段内的词格节点与段外节点之间没有重叠的汉字,以整段预测任务(MSP)替代原始 BERT 中的 MLM 任务可以有效避免模型依赖词格中的信息泄露来预测遮掩的内容,从而增强预训练模型在词格输入情境下的上下文建模能力。

4

实验结果

该论文在 11 个任务上进行了实验,包括:

  • 3个文本分类任务:TENWS新闻标题分类(短文本分类),IFLYTEK应用描述分类(长文本分类)和CLEUWSC指代消解任务;

  • 3个文本匹配任务:CSL关键词提取任务、CMNLI自然语言推断和AFQMC金融客服类文本匹配任务;

  • 2 个序列标注任务:分词和命名实体识别;

  • 3 个问答任务:CMRC阅读理解任务、ChID完形填空任务和  选择题。


表1 Lattice-BERT 实验结果

总体表现如表1所示,可以发现,Lattice-BERT 优于所有的基线模型,并在7/11个任务上取得最好表现。和单一输入粒度的预训练语言模型相比,Lattice-BERT 因能更好地建模和利用词粒度语义信息,取得了更好地表现。Lattice-BERT在全部的11个任务上,相较对应的字级别输入的语言模型BERT-our,在 12层base 和 6层lite 规模设置下分别取得了1.5%与2.0%的平均提升。另一方面,在9个CLUE任务上,和词级别输入的预训练模型BERT-word相比,Lattice-BERT取得的提升更加明显,在base规模下取得了6.2%的平均提升。由于Lattice-BERT使用词格输入,避免了应用词切分方法所带来的切分错误。综上所言,因为词格的输入结构将细粒度字级别信息与粗粒度词级别信息有机地结合了起来,基于词格的预训练模型可以撷取多种输入粒度的优势,从而在中文问答任务上取得超越单粒度预训练模型的效果。

而和现有的一些业界最优的模型相比,Lattice-BERT的表现超越了同样采用较大的预训练批处理大小与较大预训练语料规模的RoBERTa模型,也超越了同样在注意力机制中结合位置编码的 NEZHA模型。即使和同样基于字词多粒度结合预训练语言模型,AMBERT相比,Lattice-BERT在分类和阅读理解任务上分别取得了0.9%和1.3%的平均提升。在Lattice-BERT中,字词多粒度信息组织成了词格图的形式,并且利用词格图结构促进不同粒度信息之间的交互,从而让模型可以同时利用不同粒度的优势。而AMBERT仅使用两个共享参数的组件分别处理字词粒度信息,直到最后预测前才将不同粒度计算得到的语义表示进行融合,所以取得了较差的效果。因此,因能更充分地结合字词多粒度信息,  Lattice-BERT在中文问答任务上的表现要优于其他字词结合的预训练语言模型。



表2 消融测试结果

在6层的lite规模上进行的消融测试结果如表2所示。可以看到,无论是去掉词格位置注意力机制中的相对距离(-Dis.)、位置关系(-Rel.)还是将整段预测任务替换回随机掩码语言模型(-MSP),Lattice-BERT模型在3个任务上的表现均由较为明显的下降。这体现了位置注意力机制与整段预测任务对预训练语言模型基于词格建模多粒度字词表示的有效性。

而LBERT 在哪里强于字级别的 BERT 呢?对预测结果进行分析,得到如下结论:(a)在短文本分类任务上,Lattice-BERT在更短的样本上有更大的性能提升,词格输入的冗余信息为短文本提供了更丰富的语义信息;(b)在关键词提取任务上,Lattice-BERT在词级别的关键词上性能提升更高, LBERT 从词格输入中,理解了关键词的语义;(c)在命名实体识别任务上,Lattice-BERT在重叠实体的样本上减少了 25% 的错误,这是词格输入带来的天然优势。


5

总结

该论文提出了Lattice-BERT,利用多粒度词格信息促进中文预训练语言模型可以直接地、同步地、交互地探索多粒度字词表示。与现有的中文预训练语言模型相比,Lattice-BERT在11个中文语言理解任务上取得了明显的提升。


北大王选所

2021年度优秀成果推介

近期发布

release

—   版权声明  —

本微信公众号刊载的所有内容,由北京大学王选计算机研究所微信自身创作、收集的文字、图片和音视频资料,版权属北京大学王选计算机研究所所有;从公开渠道收集、整理及授权转载的文字、图片及音视频资料,版权属原作者。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存