基于BERT-IDCNN-CRF的中文命名实体识别方法
BERT-IDCNN-CRF for named entity recognition in Chinese
通讯作者:
收稿日期: 2019-09-2
| 基金资助: |
|
Received: 2019-09-2
作者简介 About authors
李妮(1982—),女,硕士,高级工程师,研究方向为电力系统电磁环境和电磁兼容.E-mail:
预训练语言模型能够表达句子丰富的句法和语法信息,并且能够对词的多义性建模,在自然语言处理中有着广泛的应用,BERT(bidirectional encoder representations from transformers)预训练语言模型是其中之一。在基于BERT微调的命名实体识别方法中,存在的问题是训练参数过多,训练时间过长。针对这个问题提出了基于BERT-IDCNN-CRF(BERT-iterated dilated convolutional neural network-conditional random field)的中文命名实体识别方法,该方法通过BERT预训练语言模型得到字的上下文表示,再将字向量序列输入IDCNN-CRF模型中进行训练,训练过程中保持BERT参数不变,只训练IDCNN-CRF部分,在保持多义性的同时减少了训练参数。实验表明,该模型在MSRA语料上F1值能够达到94.41%,在中文命名实体任务上优于目前最好的Lattice-LSTM模型,提高了1.23%;与基于BERT微调的方法相比,该方法的F1值略低但是训练时间大幅度缩短。将该模型应用于信息安全、电网电磁环境舆情等领域的敏感实体识别,速度更快,响应更及时。
关键词:
The pre-trained language model, BERT (bidirectional encoder representations from transformers), has shown promising result in NER (named entity recognition) due to its ability to represent rich syntactic, grammatical information in sentences and the polysemy of words. However, most existing BERT fine-tuning based models need to update lots of model parameters, facing with expensive time cost at both training and testing phases. To handle this problem, this work presents a novel BERT based language model for Chinese NER, named BERT-IDCNN-CRF (BERT-iterated dilated convolutional neural network-conditional random field). The proposed model utilizes traditional BERT model to obtain the context representation of the word as the input of IDCNN-CRF. At training phase, the model parameters of BERT in the proposed model remain unchanged so that the proposed model can reduce parameters training while maintaining polysemy of words. Experimental results show that the proposed model obtains significant training time with acceptable test error.
Keywords:
本文引用格式
李妮, 关焕梅, 杨飘, 董文永.
LI Ni, GUAN Huan-mei, YANG Piao, DONG Wen-yong.
0 引言
命名实体识别NER(named entity recognition)是指从一段自然语言文本中标注相关实体的位置和类型。例如新闻领域的人名、地名和机构名等名称的识别,医疗领域的疾病和症状等实体的识别。NER通常利用序列标注方式联合识别实体边界和确定实体类型。NER在知识图谱构建、信息抽取、信息检索、机器翻译、自动问答及舆情监测等任务中都有广泛应用,是自然语言处理的基础之一。在信息安全领域,利用NER分析相关实体,可以发现社交媒体中潜在的安全问题,也可以通过识别相关实体提供有效的信息来跟踪这些安全问题。
NER识别方法包括基于规则、基于传统机器学习和基于深度学习的方法,其中基于深度学习的端到端模型能够避免手工特征且能够挖掘深层特征,是当前的研究热点。
循环神经网络在序列标注任务中应用普遍。Hammerton等[1]首次将LSTM(long short-term memory)应用在序列标注任务中,取得了不错的效果。英文语料的前缀和后缀对单词语义具有指示作用,Lample等[2]将LSTM应用在单词的字符序列上提取前、后缀等构词特征,然后将字符序列特征和词向量进行拼接再输入LSTM模型中进行训练。Ma等[3]以及Chiu等[4]则将CNN(convolutional neural networks)作用在单词的字符序列上,上层依然是LSTM模型。中文没有类似的前、后缀指示信息,但是中文是由一系列字根构成的,字根序列中包含了字的语义信息,Dong等[5]等依据这个特点提出了Radical-BiLSTM-CRF模型,使用双向LSTM提取字根序列的特征,然后与字向量拼接组成模型的输入,主干模型是双向LSTM。中文里存在着字与词的区别,He等[6]、Liu等[7]、Li等[8]的探索表明,基于中文字符的命名实体识别方法通常有更好的效果。Chen等[9]、Lu等[10]、Zhou等[11]均采用基于字的识别方案,Zhao等[12]、Peng等[13]、He等[14]等将分词信息作为软特征来增强识别效果;Zhang等[15]在2018年提出的Lattice-LSTM模型是目前的最优模型,在MSRA语料上达到了93.18% F1值。
本文提出了一种基于BERT-IDCNN-CRF网络结构的中文命名实体识别方法。实验结果表明,模型在MSRA中文语料上能取得较好的结果,F1值为94.41%,超过了此前在中文命名实体识别任务中效果最好的Lattice-LSTM模型,且比Lattice-LSTM模型高出1.23%。与基于BERT微调的模型相比,该模型F1值略低,但是大幅度缩短了训练时间。
1 BERT-IDCNN-CRF模型
BERT-IDCNN-CRF模型的整体结构如图1所示。整个模型分为BERT层、IDCNN层和CRF层,其中BERT层获取上下文相关的字向量表示,IDCNN层抽取特征,CRF层防止非法标签序列,得到概率最大的标签序列。
图1
为了提高模型的训练效率,BERT-IDCNN-CRF模型在训练过程中保持BERT层参数不变,只更新上层参数。BERT-IDCNN-CRF模型与传统模型的区别在于用BERT预训练语言模型表征多义性的同时采用IDCNN增强并行性,与此前最优的Lattice-LSTM模型相比,训练效果更好且更省时间,与BERT微调相比训练参数更少,训练效率更高。
1.1 BERT预训练语言模型
语言模型中,句子(w1, w2, w3, …, wm)的概率计算为
通过训练神经网络语言模型可以获得词的向量表示,但是得到的词向量为固定向量,无法表征字的多义性。BERT预训练语言模型可以得到一个字上下文相关表示,能够表征字的多义性及句子的句法特征等。
BERT模型的结构如图2所示,BERT采用双向Transformer作为编码器,这样每个字的表示能够融合字左、右两边的信息。
图2
模型输入层是词嵌入、位置嵌入和分割编码的和,在自然语言处理中时序特征是一个很重要的特征,Transformer采用位置嵌入的方式来添加时序信息:
式中,序列填充为512个字符,2i表示其中的偶数位,2i+1表示其中的奇数位,d为64。
Transformer编码单元见图3,这是BERT最重要的部分,Transformer完全基于注意力机制来对一段文本进行建模。
图3
编码单元最重要的模块是自注意力部分,见计算公式(4)。输入字向量矩阵为Q、K和V,dk为输入向量维度,QKT表示计算输入字向量之间的关系。经过dk进行缩小之后再通过softmax归一化得到权重表示,最后当前输出为句子中所有词向量的带权和,这样每个词的表示都蕴含了句子中其它词的信息,是上下文相关的,相对于传统词向量表示更加具有全局性。
此外,Transformer采用了“MultiHead”模式,以增大注意力单元的“表示子空间”,扩展模型专注于不同位置的能力,见公式(5)和(6),WO为附加权重矩阵:
另外,Transformer中加入了残差网络和层归一化,以改善退化问题:
式中,α和β是需要学习的参数; μ和σ是输入层的均值和方差。
该模型在训练过程中首先构造句子对,构造方法是在规模文本中,选择具有上下文关系的句子对,对其中50%的句子对进行随机替换,使其不具有上下文关系。然后在“Masked语言模型”和“Next句子预测”任务上进行训练,捕捉词级别和句子级别的表示,如图4所示。
图4
与其他语言模型相比,BERT预训练语言模型能够充分利用词左、右两边的信息来获得更好的词分布式表示。
1.2 IDCNN层
膨胀卷积(dilated convolution)是Yu等[20]在2015年提出的,主要目的是为了增大感受视野。
在经典的卷积神经网络中,卷积核在连续的区域上滑动,而膨胀卷积在经典的卷积之上增加了一个膨胀宽度,在进行卷积操作时会跳过膨胀宽度中间的数据,卷积核的大小保持不变,这样一个同样大小的卷积核就能够获得更广的输入矩阵数据,增大了卷积核的感受视野。膨胀卷积示意图见图5。这3张图分别表示3层叠加的卷积操作,其中图(a)是正常卷积操作,卷积核大小为3×3;图(b)卷积的膨胀宽度为2,在(a)卷积之上,那么感受视野增大为7×7;图(c)中膨胀宽度为4,在(b)卷积操作之上,此时卷积感受视野相当于扩大为15×15。
图5
膨胀卷积最初是应用在图像处理方面,Strubell等[17]将膨胀卷积引入自然语言处理领域,提出了IDCNN模型,效果显著。在IDCNN中,感受视野随着层数增加呈现指数增加,但是参数只是线性增加,这样感受域就能够很快地覆盖到全部输入序列。该模型是将4个大小相同的膨胀卷积块叠在一起,每个膨胀卷积块内膨胀宽度为1,1,2这3层。将句子输入IDCNN中,经过卷积层提取特征,再经过映射层连接到CRF层。
IDCNN - CRF整体模型与经典的序列标注模型BiLSTM - CRF相似,但是相对于循环神经网络,IDCNN可以加速GPU并行,减少训练时间。
1.3 CRF层
膨胀卷积层只能抽取语句特征,并对当前标签进行预测,不能考虑标签之间的依赖关系,而条件随机场CRF能够通过考虑标签之间的相邻关系获得全局最优标签序列。
对于给定序列x=(x1, x2, x3, …, xn)和对应的标签序列y=(y1, y2, y3, …, yn),通过IDCNN层之后,经过线性映射可以得到每个标签的得分,
式中:h(t)是上一层t时刻输入数据x(t)的输出; Ws和b是线性映射参数。
在此基础上,CRF定义了一个标签转移分数,那么从输入序列到标签序列的得分可以表示为
式中: W是转换矩阵; W i, j表示标签转移分数; Pi, yi表示该字符的第yi个标签的分数。
W =(Wu, j)训练集合{xi, yi}的最大似然函数为
式中:λ和θ是正则化参数; P表示序列原序列到预测序列对应的概率,
2 实验及结果分析
2.1 实验数据
本文使用微软公开的命名实体识别MSRA数据集,其中训练集和测试集包含地名、机构名和人名等实体。各类实体统计如表1所示。
表1 实体个数统计
Table 1
| 数据集 | 地名 | 机构名 | 人名 | 共计 |
| 训练集 | 36 517 | 20 571 | 17 615 | 74 703 |
| 测试集 | 2 877 | 1 331 | 1 973 | 6 181 |
2.2 标注策略与评价指标
命名实体识别的标注模式有BIO、BIOE和BIOES等。本实验使用BIO标注模式,待预测的标签一共有7种,分别是“O”“B - PER”“I - PER”“B - ORG”“I - ORG”“B - LOC”和“I - LOC”等。
命名实体识别的衡量指标有精确率P、召回率R和F1值。具体定义如公式(13)所示,其中,Tp为模型识别正确的实体个数,Fp为模型识别到的不相关实体个数,Fn为相关实体但是模型没有检测到的个数。
2.3 实验过程
实验过程中,对BERT - IDCNN - CRF模型进行调参,主要实验了卷积核个数和卷积层的层数对实验的影响,并记录训练时间。
为了证明模型的有效性,分别与以下模型进行对比:
(1) BiLSTM - CRF模型,该模型是序列标注经典模型。采用预训练好的字向量,基于字的标注,在输入BiLSTM - CRF模型中进行训练。
(2) IDCNN - CRF模型,该模型类似于BiLSTM - CRF模型,将双向LSTM层替换为IDCNN层
(3) Radical - BiLSTM - CRF模型,由Dong等[5]提出。该模型在BiLSTM - CRF的基础之上融入字根信息。
(4) Lattice - LSTM - CRF模型,由Zhang等[15]提出,在中文语料上有最佳的抽取效果。
(5) BERT - fine - tuning模型,该模型在英文预料上获得了最好的F1值,实验中将该模型应用到中文语料上测试其效果,并且记录运行时间。
2.4 实验环境
实验过程中涉及到时间统计,给出实验采用的环境如表2所示。
表2 实验环境
Table 2
| 操作系统 | Ubuntu |
| CPU | i7-6700HQ@2.60GHz |
| GPU | GTX 1070 (8 GB) |
| Python | 3.6 |
| Tensorflow | 1.12.0 |
| 内存 | 32G |
2.5 参数设置
预训练语言模型有BERT - Base和BERT - Large 2种,区别仅在于部分参数不同。本实验使用了BERT - Base预训练语言模型。BERT - Base共12层,隐层768维,采用12头模式,共110M个参数。最大序列长度采用128,train_batch_size为16,learning_rate为5e-5,droup_out_rate为0.5,clip为5;IDCNN中采用的卷积核为3×3,膨胀宽度为1,1,2。
实验中还对IDCNN层的参数的影响进行了探讨,测试了卷积核个数和卷积层数对实验结果的影响。卷积核分别取10,20,50,100进行实验,层数分别取4,6,8进行实验。
2.6 实验结果及分析
BERT -IDCNN-CRF模型随着训练轮数F1值变化如图6所示,测试了不同卷积核个数对模型的影响。BERT -IDCNN-CRF-10中的数字10表示卷积核的个数为10,其他模型以此类推。实验中除卷积核个数外,其它参数保持不变。实验表明随着卷积核的个数的增加,F1值呈现缓慢增加的趋势,其中效果最好的模型为BERT-IDCNN-F100模型,卷积核的个数为100,在第33个epoch的时候达到最大F1值,最大F1值为94.41%。实验中发现,随着卷积核个数的增加,训练时间不会出现明显的变化,这得益于卷积操作在GPU中能够并行计算,缩短了计算时间,其中BERT-IDCNN-F100在第7 128 s时得到最优模型。
图6
实验中还对膨胀卷积块堆叠层数进行了实验,分别取4,6,8个膨胀卷积块进行实验,卷积核个数保持为100,实验结果随着训练轮数变化如图7。依图所示,随着膨胀卷积块堆叠层数的增加,测试结果反而出现略微下降,主要原因在于最大序列长度为128时,4个膨胀卷积块已经可以感受到句子全局。
图7
图7
不同膨胀卷积块堆叠层数实验结果
Fig.7
Experimental results of stacking layers of different dilated convolution blocks
表3 不同类型命名实体识别结果
Table 3
| Models | Type | P | R | F1 |
| BERT-IDCNN-CRF | LOC | 96.32 | 93.81 | 95.05 |
| ORG | 88.86 | 91.06 | 89.94 | |
| PER | 96.95 | 96.16 | 96.55 | |
| ALL | 94.86 | 93.97 | 94.41 |
其中机构类实体预测准确率偏低,主要原因在于机构名中很多存在地名嵌套、缩略词和歧义等干扰信息。在没有其它充足的上下文时容易预测错误。部分错例见表4,在例句1中,机构名中嵌套了地名,类似的例子还有“洛杉矶市民议政论坛”和“中国东盟”等;在例句2中出现了“委员会”这一缩写,类似的还有“妇联”和“南航”等。
表4 预测错误实例
Table 4
| 句子 | 中国政府陪同团 | |
| 例句1 | 实体 | 中国政府陪同团-ORG |
| 预测实体 | 中国-LOC | |
| 句子 | 委员会的安全任务更加繁重了 | |
| 例句2 | 实体 | 委员会-ORG |
| 预测实体 | 无 |
为了证明模型的有效性,还在该语料上实验了BERT-fine-tuning模型,实验结果如图8所示。BERT-fine-tuning模型在第18个epoch时得到最优F1值,最优F1值为95.37%,训练时间为24 528 s,远超BERT-IDCNN-CRF的训练时间。
图8
BERT-IDCNN-CRF模型与其它相关工作对比如表5所示。
表5 不同模型命名实体识别结果
Table 5
| Models | P | R | F1 | Time(ep) /s |
| BiLSTM-CRF | 88.80 | 87.16 | 87.97 | 416 |
| IDCNN-CRF | 89.39 | 84.64 | 86.95 | 209 |
| Radical-BiLSTM-CRF | 91.28 | 90.62 | 90.95 | >410 |
| Lattice-LSTM-CRF | 93.57 | 92.79 | 93.18 | 7 506 |
| BERT-fine-tuning | 94.09 | 94.54 | 95.37 | 1 363 |
| BERT-IDCNN-CRF | 94.86 | 93.97 | 94.41 | 216 |
BERT-IDCNN-CRF模型与IDCNN-CRF模型相比,BERT模型相对于传统的词向量表示F1值能提高6.44%,说明BERT模型有更好的语义信息表达能力。
BERT-IDCNN-CRF模型与Lattice-LSTM模型及Radical-BiLSTM-CRF相比,BERT-IDCNN-CRF模型效果更好,可见BERT的特征抽取能力强,抽取的特征更好,每一轮用时最少,说明该模型训练效率高。
BERT-IDCNN-CRF模型与BERT-fine-tuning模型相比,BERT-IDCNN-CRF的F1值比BERT-fine-tuning的略低,但是所需要的训练时间大幅度减少,从24 528 s减少到7 128 s。时间减少的原因在于训练参数的减少,BERT预训练语言模型的参数个数超过1亿,BERT-fine-tuning更新BERT层的所有参数,但是BERT-IDCNN-CRF模型固定BERT层参数,只更新上层参数,IDCNN的参数个数为3×768×100+3×100×100×3×4=590 400,训练参数量的大幅度减少使得训练时间减少。
3结束语
针对BERT微调模型训练参数量大、训练时间长的问题,提出了BERT-IDCNN-CRF模型,该模型表征语句特征的能力更强。实验表明BERT-IDCNN-CRF模型优于目前最优的Lattice-LSTM模型,提升了中文命名实体识别的效果。该模型应用了膨胀卷积,与基于BERT微调的模型相比减少了训练参数,可以大幅度缩短训练时间。将该模型应用于信息安全、电网电磁环境领域的敏感实体识别,速度更快,响应更及时。
BERT-IDCNN-CRF模型的缺点是,在上下文信息不足,有歧义实体和实体嵌套时,较难正确抽取,因此还有待进一步研究。
参考文献
Named entity recognition with bidirectional LSTM-CNNs
[J].
Chinese named entity recognition via joint identification and categorization
[J].
/
| 〈 |
|
〉 |
