NAACL'22 | 华为提出中文NER领域最新SOTA

2022-09-14 20:20:31 浏览数 (1)

每天给你送来NLP技术干货!


来自:克鲁斯卡

Delving Deep into Regularity: A Simple but Effective Method for Chinese Named Entity Recognition

Accepted at NAACL 2022 Findings

4月7日,NAACL 2022公布论文入选名单,由华为云语音语义创新Lab多名研究者撰写的论文被NAACL 2022 Findings接收,趁热和大家一起学习一下

文章大纲

Abstract

近年来,由于提出了新的框架或整合词汇信息,提高了中文命名实体识别(NER)的性能。然而,在字符级的中文NER中,实体的内部构成却很少被研究。实际上,大多数常规类型的实体都有很强的名称规律性。例如,以 "公司 "或 "银行 "这样的指示词结尾的实体通常属于组织。在论文中,其作者提出了一种简单而有效的方法来研究中文NER中实体span的规律性,被称为Regularity-Inspired reCOgnition Network (RICON)。具体来说,提出的模型由两个分支组成:规律感知模块规律诊断模块规律感知模块捕捉每个span的内部规律,以便更好地预测实体类型,而规律诊断模块则被用来定位实体的边界,缓解对span规律的过度关注。然后进一步构建一个正交空间,鼓励两个模块提取不同方面的规律特征。为了验证方法的有效性,作者在三个基准数据集和一个实用的医疗数据集上进行了广泛的实验。实验结果表明,RICON明显优于以前的SOTA方法,包括各种基于词典的方法。

1 Background and Motivation

中文NER相比于英文更有难度,主要是因为中文不像英文具有天然的词汇边界信息,比如一段文本序列:“尼日尔河流经尼日尔与尼日利亚”,‘流’字可以与左右两边的字分别组成‘河流’和‘流经’两个词汇,如此就产生了词汇边界模糊的问题。

对于NER任务,有两种经典的解决办法,一种是作为序列标注任务来处理,对序列中的每一个词分配一个标签,如B-LOC,I-LOC等。这种方法只能给每个token分配一个标签,因此一个token不能属于多个实体类型,这就导致无法正确识别出一些嵌套的实体类型,比如‘北京大学’,其中北京是地点类型的实体,分配标签为LOC,而北京大学又是一个组织类型的实体,分配标签为ORG。另外一种基于span的方法就可以有效避免这种问题,span可以翻译为‘跨度’,在中文NER中可以理解为词汇级别,在span上搜索,根据span的表示来分类,有效区分重叠的实体。

虽然这两种方法都取得了不错的效果,但是对于中文NER来讲,都没有很好的探究实体的内部组成,换句话说,并没有去拆开组成实体的词汇,探索实体中字词之间的关系。从中文领域引入词汇信息的开山之作《Chinese NER using lattice LSTM》到复旦的《FLAT: Chinese NER using flat-lattice transformer》,其本质都是利用外部词典来寻找序列中字之间的关系,从而得到相应的词汇信息,增强识别效果。但是使用外部词典总会有一些问题,比如 如何找到一个合适又广泛的词典?如何保证词典的内容适配于当前的任务? 论文中也有提到建立词典也会有时间消耗。

2 Paper idea

相比于之前的工作,本篇论文就是探究实体内部的组成,像摘要中说的,大多数常规类型的实体都有很强的命名规律性, 利用这种规律性应该可以提升NER的性能。

Figure 1: (a) 中文NER实体的复杂组成和规律展示 (b) 对规律的过度关注导致错误的实体边界

如图,尼日尔河这种实体就是一种特别的构成“XX-河”,而边界模糊的“流”字就可以于右边的“经”组合成词汇“流经”。“XX-河”的这种以河结尾的大概率属于一种位置类型,这一点也非常intuitive,符合语言的习惯。这种命名的规律性可以很好的帮助识别实体的组成和类型,论文中将这种规律性称为某一类型的实体所包含的特定内部模式。

we refer to regularity as specific internal patterns contained in a type of entity

进一步思考,这种命名的规律虽然能带来许多帮助,但同时也会产生一定的干扰,错误划分实体边界。如上图中(b),XX-队也是类似于XX-河的一种命名模式,然后根据上下文可知,其真实含义为中国队员,因此,有效的利用上下文可以避免因过分依赖命名规律而错误的划分边界影响。

通过上面的两种情况可以很清楚的发现论文的idea

有效的探索实体内部的组成信息,利用实体特殊的命名模式或命名规律,来进一步的增强实体边界。

仅通过命名模式不足以在完全确定实体边界,因此要通过上下文缓解命名规律对实体边界的决定性影响。

如此看来,这也是一种trade-off,那么作者是如何做的呢?

3 Method and Model

论文中所提出的模型也对应着两个分支,规律感知模块(regularity-aware module)和 规律诊断模块 (regularity-agnostic module),其中每个模块都有特定任务的编码器和优化对象。

具体来说,规律感知模块旨在分析每个span的内部规律,并将重要的规律信息整合到相应 span-level 的表示中,从而实现精确的实体类型预测。同时,规律诊断模块的设计是为了捕捉上下文信息,避免过度关注span内的规律。此外,作者还采用了正交空间限制,以鼓励两个分支在规律方面提取不同的特征。

总体模型结构如图

Figure 2: RICON的整体结构,句子中的每个字都是经过BERT得到的embedding。然后,采用两个单独的Bi-LSTM层来编码规律感知模块和规则诊断模块的表示。进一步利用正交性空间来鼓励提取每个模块的不同特征。

3.1 Embedding and Task-specific Encoder

上图中,输入序列为,将该序列中的 个token通过BERT映射为dense vector的形式,

然后将生成的字向量分别传递给两个独立的BiLSTM,为两个不同的模块编码序列表示,这里的BiLSTM和之前的文章Lattice LSTM中一样,隐藏状态h的表示如下:

ττ

ττ

ττ

其中τ,表示concatenation,维度为2,序列就被表示为ττττ

3.2 Regularity-aware Module

上图中a表示经典的基于span的NER方法,即连接对应的头和尾的特征来表示对应的实体span,然后使用线性分类器预测span的类型,以这种方式span的表示是粗粒度的。

图中b使用双仿射的解码器,在两个MLP之后加强头部和尾部表示之间的互动,同时预测span类型。然而,在这种双线性方法中,span中的字之间的内部规律仍然被忽略了。因此,规律感知模块设计为捕获每个span 的内部规律特征,如图3(c)所示。

值得注意的是,span表示是由span的头部和尾部的字符获得的,而规律表示则来自于span中的每个字符。为了实现这一目标,作者利用线性注意力机制来获得每个span的规律表示,如下所示

α

其中, t指的是span的索引,即, ,都是可学习的参数。对于长度为1的span,使用隐藏状态作为其规律表示,最终得到规律特征

为了预测一个实体的类型,模型将每个span的规律特征整合到span的表征中。首先,通过头部和尾部特征的相互作用,使用双仿射注意力机制(biaffine attention)获得span表征

其中的是一个span 的头尾表示,是一个2d x 2d x 2d的张量,是 4d x 2d 的矩阵,需要注意的是,这里并没有像上图中b那样用两个MLP来为span的头尾生成不同的表示,主要是因为不同的MLP会将头尾特征投射到不同的空间。论文作者通过实验也验证了这种空间的不一致性会降低识别的性能。因此设计了一个门控网络来整合span和规律表示,如下所示

其中 是一个可训练的参数,σ是sigmoid激活函数,⊙指elemen-wise乘法运算

然后使用softmax线性分类器预测每一个span的类型

其中

规律感知模块以cross-entropy为损失函数

是预测标签,是真实标签

3.3 Regularity-agnostic Module

为了缓解命名规律对实体边界的决定性,规律诊断模块更加注重考虑实体在序列中的上下文,而尽可能的忽略实体的具体形式,因此要重点利用可以决定边界的头尾特征。

首先在BiLSTM的隐藏状态上应用两个MLP,以获得头尾特征的独立表示,然后利用双仿射解码器得到span 的实体概率

, ,是维度为(2d 1) x 1 x (2d 1)的可训练参数

同样使用cross-entropy作为规律诊断模块的损失函数

这里的 指的是span是否为实体

3.4 Orthogonality Space Restriction

由于规律感知模块旨在捕获规律信息,而规律诊断模块不关注具体的规律,前文也有提到期望这两个模块能学习到不同的特征。为此,作者在两个BiLSTM层的顶部构建了一个正交性空间,以鼓励对输入embedding的不同方面进行编码。损失的计算方法如下。

弗罗贝尼乌斯范数(Frobenius norm)的平方

3.5 Training and Inference

经过上面的分析,通过联合优化上述三个子任务来进行训练,因此总损失定义如下

λ1, λ2, λ3是超参数

4 Experiments and Results

作者做了充分的实验来证明RICON的有效性,这部分推荐看原文

4.1 数据集

主要用到了三个大规模的基准数据集OntoNotes V4.0, OntoNotes V5.0和 MSRA。结果表明,与SOTA模型相比,RICON取得了相当大的改进,甚至超过了现有的基于词库的模型。此外,还用到了一个实用的医学数据集CBLUE,以进一步证明RICON的能力。

4.2 对比方法

将RICON与最近的SOTA方法进行比较,主要对比了五种典型的方法

(1) Star-GAT

提出了一个基于star-transformer的方法,利用明确的头尾边界信息和基于GAT (Graph Attention Network) 的隐性边界信息来提高性能。它是OntoNotes V5.0数据集上的SOTA模型

(2) BERT Biaffine

将NER转换成一种识别开始和结束位置的任务,并通过双仿射注意力(biaffine attention)为每个span分配一个类型。

(3) BERT FLAT

设计了一个FLAT模型,将Lattice结构转换为由span组成的平面结构,以克服基于Lattice模型的不足,该方法种也有使用BERT嵌入,并在MSRA数据集上实现了SOTA性能。

(4) BERT SoftLexicon

将词典整合到字符特征,利用中文词典将句子中的每个字符与词典中出现的单词进行匹配,以提高性能,在OntoNotes V4.0上达到了SOTA性能。

(5) LEBERT

引入Lexicon适配器层,直接将外部词典知识集成到BERT层中。

4.3 实验结果

可以看到,本论文中的RICON方法在三种数据集上都有了提升

考虑到CBLUE-CMeEE这个任务没有可用的词库,作者只将RICON与经典的模型进行比较。如该表所示,RICON超过了强大的BERT-Biaffine模型,9种类型的F1得分提高了3.28。同时,在嵌套症状类型的识别结果上,RICON的表现比BERT-Biaffine好得多,这一观察结果也表明,RICON也适用于嵌套式NER。

4.4  Ablation Study

作者对OntoNotes V4.0和V5.0两个数据集做了丰富的消融实验,看实验表格更直观一些

表中的Vanilla是在RICON的基础上去掉了正交空间和规律诊断模块,并省略了捕获规律特征和将其整合到规律感知模块

可以看到加上论文中提出的模块,效果是逐渐提升的。

有一些比较有意思的点,加入规律感知模块后,精确度明显提高(在两个数据集上都是1.41,Vanilla vs Vanilla Reg-aware),但召回率却降低了(分别为0.31和1.04)。这也符合论文中一直强调的仅让规律来决定实体边界会错误识别一些实体,比如刚开始提到的“中国队”和“中国队员”,因此召回率有所降低。在增加规律诊断模块之后,通过不考虑规律的上下文来识别实体,进而改善效果,可以看到召回率分别提高了1.03和0.58 (Vanilla Reg-aware vs Vanilla Reg-aware & agnostic),这种结果也符合本论文的motivation

使用其它方法来提取规律信息,如平均池化、最大池化或更复杂的多头自注意力,结果如上表

4.5  Analysis

Regularity: A Latent Adaptive Lexicon

对于中文NER来讲,词汇信息必然是重要的,这毋庸置疑,那么为什么RICON在没有利用外部词典的情况下仍实现了更好的效果呢?作者对此也进一步进行了分析

首先,基于词典的方法主要是结合外部词库来提高基于字符的NER的性能。它们的核心概念是保留所有与特定字符相匹配的词,让后续的NER模型决定应用哪个词。 而论文中的模型是计算每个span的组成规律,即考虑所有包含特定字符的span,然后确定最佳的span和相应的规律性。在这个意义上,所谓的规律性可以被看作是一个潜在的自适应词典。此外,这种潜在的自适应词典比外部词典更完整,因为所有与特定字符相匹配的span都被考虑在内,而基于词典的方法只匹配有限的几个词。如前文展示的实验结果,以前的SOTA方法BERT Biaffine的表现比基于词典的方法差,但本论文中基于规律的方法RICON胜过了基于词典的方法。实际上,基于规律的方法可以进一步与基于词典的方法相结合。

5  Conclusion

总的来说,论文的motivation非常明确,之前的工作基于词典来做中文的NER,虽然引入词汇信息,得到了很好的效果,但是外部词典总归是一种辅助工具,不够优雅。另外就是之前的工作都未曾考虑实体内部的组成,而这部分信息值得更深入的挖掘。

于是论文作者直接从语言的特性出发,识别实体内在的命名规律,挖掘潜在的词典信息,进而得到更优的效果。在此基础上,分析这种方法的缺点,通过引入其它的模块去改善这种缺点,进而得出总体框架。在此基础上,因为两个模块的输入类似,如何保证学习到不同的表示,进而使用正交空间来达到上述效果,在三种经典数据集上实现了SOTA的性能。


0 人点赞