近年来,向模型中注入词汇信息进行词汇增强已经成为一种有效提升中文 NER 性能的方式。本文分享一篇新鲜出炉的来自 ACL 2021 的文章《Lexicon Enhanced Chinese Sequence Labelling Using BERT Adapter》。该论文所提的模型除了屠榜中文 NER,还屠榜了中文分词和中文词性标注等任务,本文重点关注中文 NER 任务。
论文标题:
Lexicon Enhanced Chinese Sequence Labelling Using BERT Adapter
收录会议:
ACL 2021
论文链接:
https://arxiv.org/abs/2105.07148
代码链接:
https://github.com/liuwei1206/LEBERT
大部分现有的中文 NER 词汇增强方法只在 encode 部分末端的浅层序列模型中引入词汇信息,并没有把词汇信息注入到 BERT 底层。有些小伙伴可能想到《Lex-BERT : Enhancing BERT based NER with lexicons》这篇论文也把词汇信息引入到了 BERT 的底层部分。Lex-BERT 需要引入实体类型信息,因此依赖于带有实体类型信息的高质量词表,而 FLAT,Lattice lstm 等方法只需要用到词向量信息。论文具体内容介绍大家可以去阅读知乎 @JayJay 大神的文章:https://zhuanlan.zhihu.com/p/374720213该文章提出了一个名叫 LEBERT(Lexicon Enhanced BERT)的模型来解决中文序列标注任务。相比于 FLAT,Lattice LSTM 等方法,LEBERT 把词汇信息融入到了 BERT 底层的编码过程中。相比于 Lex-BERT,LEBERT 无需包含词汇类型信息的词典,只需要普通的词向量即可。实验结果表明,该模型在多个中文序列标注任务上取得了 state-of-the-art 结果。
前情回顾
1.1 词增强
(1)Dynamic Architecture:通过动态结构,在模型中注入词汇信息。(2)Adaptive Embedding:将词汇信息融合到 Embeding 中。近些年来各大顶会上的中文 NER 词汇增强相关论文总结如下(参考博文):https://zhuanlan.zhihu.com/p/142615620
上图为各种词增强 NER 模型的性能展示,可以看出 FLAT 自诞生以来,一直保持着地表最强词增强中文 NER 模型的称号。
FLAT 的模型结构如上图所示,模型的设计特别简单巧妙。其 token 包含原句中的character 以及匹配到的词 word。对于每个 character 和 word,作者分别使用头编号 Head 和尾编号 Tail 来编码其位置。作者把四种相对距离融合进其设计的相对位置编码当中,之后计算每两个 token 之间的注意力值。FLAT 模型有以下几点优势:
2.1 Char-Words Pair Sequence
首先,对于给定的中文句子 ,利用词典 D 匹配出句子中包含的潜在词汇。然后,在匹配到的这些词汇中,每个字符和包含该字符的词汇组成词汇对,表示为,其中 表示句子中第 i 个字符, 表示包含的词汇组成的集合。上图为构建 Char-Words Pair Sequence 的示例。将输入数据构建成 Char-Words Pair Sequence 形式之后,句子中的每个位置包含了字符特征和词汇特征。为了把词汇特征注入到 BERT 当中,作者设计了 Lexicon Adapter。Lexicon Adapter 的输入为 Char-Words Pair Sequence:。Char-Words Pair Sequence 中第 i 个位置的 char-words pair 表示为 ,其中 是第 i 个位置的字符特征,该特征是 BERT 中某个 Transformer 层的输出。为第 i 个位置的字符对应的词汇的词向量。作者对 Char-Words Pair 中的词向量使用非线性变换和字符向量进行维度对齐:,其中 ,, 为字符特征的维度, 为词向量的维度。对于 Char-Words Pair Sequence 中的第 i 个位置,进行维度变换后的词向量的集合为:
作者使用了注意力机制对 进行中的 m 个词向量进行融合。以 为 query 向量,与其对应的词向量集合 为 value,使用双线性变换矩阵计算相似度得分得到:
之后,利用相似度得分对 进行加权求和得到融合后的词特征:
2.3 Lexicon Enhanced BERT
LEBERT 结构图上图所示,其可以看做是 Lexicon Adapter 和 BERT 的组合,其中 Lexicon Adapter 应用到了 BERT 当中的某一个 Transformer 层。对于给定的中文 ,将其构建成 character-words pair sequence 形式。将 输入到 BERT 的 Input Embedder 当中,得到输出 。之后,将 E 输入到 BERT 中的 Transformer encoder 当中,每个 Transformer encoder 表示为如下形式:
之后,通过 Lexicon Adapter 把词汇信息注入到第 k 层和第 k+1 层 Transformer 层之间。第 k 层 Transformer 层的输出为。将其中的每一个 Char-Words Pair 利用 Lexicon Adapter 进行转换得到:然后将注入词汇信息的特征向量输出入到余下的 L-k 个 Transformer 层中。2.4 Training and Decoding作者在之前的基础上加了一个线性变换层和 CRF 层来进行标签解码。
LEBERT 在中文 NER 数据集上的实验结果如上图所示。可以看出,LEBERT 的性能超过目前最先进的词增强 NER 模型(表格前 6 行)以及引入词典信息的预训练模型(ERINE,ZEN)。
上图说明 LEBERT 中引入词汇信息的方式可以有效提高模型对实体边界和类型的识别性能。
总结
LEBERT 方法在 BERT 底层注入词汇信息,可以高效地进行词增强。实验结果表明,该模型在中文序列标注任务中取得了很好的性能。
[1] FLAT: Chinese NER Using Flat-Lattice Transformer
[2] Lexicon Enhanced Chinese Sequence Labelling Using BERT Adapter