0%

Lattice-BERT

将词汇信息融入BERT(NAACL 2021)

Overview

Background

中文预训练模型将文本作为字符序列处理,忽略了粗粒度的语义特征。对于中文来说,词义并不完全是字义的组合,如”老板“并不等于“老的板”。将词级别的特征加入模型,可以有效补充字级别的不足。

本文设计了word lattice的结构来利用多粒度的输入,让预训练模型在下游任务中学会利用这些特征。

让Bert学会单词主要有两个难点:

  • Bert原本的输入是字符序列,加入lattice后怎样描述位置信息。
  • 对于Masked Languaged Model,怎样针对lattice结构设计mask任务。

本文设计了lattice position attention(LPA),以帮助transformer利用lattice中文本单元的位置和距离信息。此外,还提出了masked segment prediction(MSP)任务。

Methodology

Word Lattice

image-20210416194914983

Lattice就是一个有向无环图,和Lattice-LSTM的思想类似。难点在于如何在编码层保持lattice的结构,以及如何避免冗余信息带来的潜在影响。

Lattice Position Attention

在BERT的attention基础上,加了三个位置相关项。

其中,表示原来的attention,计算了绝对位置的attention权重,则是对相对距离的计算,是对相对位置的缩放项。

感觉和FLAT类似,也是计算四个距离。

Masked Segment Prediction

BERT对单字掩码,Lattice-BERT则是对Segment掩码。

Segment定义为:lattice的一个连通子图,且Segment之间彼此token不重叠,如下图。具体来说,为了句子分段,需要逐字遍历,判断当前的字是否是之前所有单词的结尾(真拗口)。

image-20210416195015009

Experiment

本文在11个中文NLU任务上进行实验,包括文本分类、阅读理解、序列标注等,在MSRA-NER和CLUE数据集上进行了实验,并与RoBERTa等预训练模型进行了比较。

image-20210416201801843