第15卷第4期 智能系统学报 Vol.15 No.4 2020年7月 CAAI Transactions on Intelligent Systems Jul.2020 D0L:10.11992tis.202003003 加入自注意力机制的BERT命名实体识别模型 毛明毅',吴晨',钟义信2,陈志成2 (1.北京工商大学计算机与信息工程学院,北京100048:2.北京邮电大学计算机学院,北京100876) 摘要:命名实体识别属于自然语言处理领域词法分析中的一部分,是计算机正确理解自然语言的基础。为了 加强模型对命名实体的识别效果,本文使用预训练模型BERT(bidirectional encoder representation from trans-- formers)作为模型的嵌入层,并针对BERT微调训练对计算机性能要求较高的问题,采用了固定参数嵌入的方 式对BERT进行应用,搭建了BERT-BiLSTM-CRF模型。并在该模型的基础上进行了两种改进实验。方法一, 继续增加自注意力(self-attention)层,实验结果显示,自注意力层的加入对模型的识别效果提升不明显。方法 二,减小BERT模型嵌入层数。实验结果显示,适度减少BERT嵌人层数能够提升模型的命名实体识别准确 性,同时又节约了模型的整体训练时间。采用9层嵌入时,在MSRA中文数据集上F1值提升至94.79%,在 Weibo中文数据集上F1值达到了68.82%。 关键词:命名实体识别:BERT;自注意力机制;深度学习;条件随机场;自然语言处理;双向长短期记忆网络;序 列标注 中图分类号:TP391文献标志码:A文章编号:1673-4785(2020)04-0772-08 中文引用格式:毛明毅,吴晨,钟义信,等.加入自注意力机制的BERT命名实体识别模型.智能系统学报,2020,15(4): 772-779. 英文引用格式:MAO Mingyi,.WU Chen,ZHONG Yixin,.etal.BERT named entity recognition model with self--attention mechan ism[J].CAAI transactions on intelligent systems,2020,15(4):772-779. BERT named entity recognition model with self-attention mechanism MAO Mingyi',WU Chen',ZHONG Yixin',CHEN Zhicheng" (1.School of Computer and Information Engineering,Beijing Technology and Business University,Beijing 100048,China;2.School of Computer,Beijing University of Posts and Telecommunications,Beijing 100876,China) Abstract:Named entity recognition is a part of lexical analysis in the field of natural language processing.It is the basis for a computer to correctly understand natural language.In order to strengthen the recognition effect of the model on named entities,in this study,the pre-trained model BERT(bidirectional encoder representation from transformers)was used as the embedding layer of the model,and fixed parameter embedding was adopted to solve the problem of high computer performance required for BERT fine-tuning training.A BERT-BiLSTM-CRF model was built,and on the basis of this model,two improved experiments were carried out.Method one is to continue to add a self-attention layer. Experimental results show that the addition of the self-attention layer does not significantly improve the recognition ef- fect of the model.Method two is to reduce the number of embedding layers of the BERT model.Experimental results show that moderately reducing the number of BERT embedding layers can improve the model's named entity recogni- tion accuracy,while saving the overall training time of the model.When using 9-layer embedding,thevalue on the MSRA Chinese data set increased to 94.79%,and thevalue on the Weibo Chinese data set reached 68.82%. Keywords:named entity recognition;bidirectional encoder representation from transformers;self-attention mechanism; deep learning;conditional random field;natural language processing:bi-directional long short-term memory;sequence tagging 收稿日期:2020-03-02. 基金项目:北京市自然科学基金项目(4202016) 命名实体识别NER(named entity recognition) 通信作者:毛明毅.E-mail:maomy@h.btbu.edu.cn. 是自然语言处理研究领域的基础性工作之一,任
DOI: 10.11992/tis.202003003 加入自注意力机制的 BERT 命名实体识别模型 毛明毅1 ,吴晨1 ,钟义信2 ,陈志成2 (1. 北京工商大学 计算机与信息工程学院,北京 100048; 2. 北京邮电大学 计算机学院,北京 100876) 摘 要:命名实体识别属于自然语言处理领域词法分析中的一部分,是计算机正确理解自然语言的基础。为了 加强模型对命名实体的识别效果,本文使用预训练模型 BERT(bidirectional encoder representation from transformers) 作为模型的嵌入层,并针对 BERT 微调训练对计算机性能要求较高的问题,采用了固定参数嵌入的方 式对 BERT 进行应用,搭建了 BERT-BiLSTM-CRF 模型。并在该模型的基础上进行了两种改进实验。方法一, 继续增加自注意力 (self-attention) 层,实验结果显示,自注意力层的加入对模型的识别效果提升不明显。方法 二,减小 BERT 模型嵌入层数。实验结果显示,适度减少 BERT 嵌入层数能够提升模型的命名实体识别准确 性,同时又节约了模型的整体训练时间。采用 9 层嵌入时,在 MSRA 中文数据集上 F1 值提升至 94.79%,在 Weibo 中文数据集上 F1 值达到了 68.82%。 关键词:命名实体识别;BERT;自注意力机制;深度学习;条件随机场;自然语言处理;双向长短期记忆网络;序 列标注 中图分类号:TP391 文献标志码:A 文章编号:1673−4785(2020)04−0772−08 中文引用格式:毛明毅, 吴晨, 钟义信, 等. 加入自注意力机制的 BERT 命名实体识别模型 [J]. 智能系统学报, 2020, 15(4): 772–779. 英文引用格式:MAO Mingyi, WU Chen, ZHONG Yixin, et al. BERT named entity recognition model with self-attention mechanism[J]. CAAI transactions on intelligent systems, 2020, 15(4): 772–779. BERT named entity recognition model with self-attention mechanism MAO Mingyi1 ,WU Chen1 ,ZHONG Yixin2 ,CHEN Zhicheng2 (1. School of Computer and Information Engineering, Beijing Technology and Business University, Beijing 100048, China; 2. School of Computer, Beijing University of Posts and Telecommunications, Beijing 100876, China) Abstract: Named entity recognition is a part of lexical analysis in the field of natural language processing. It is the basis for a computer to correctly understand natural language. In order to strengthen the recognition effect of the model on named entities, in this study, the pre-trained model BERT (bidirectional encoder representation from transformers) was used as the embedding layer of the model, and fixed parameter embedding was adopted to solve the problem of high computer performance required for BERT fine-tuning training. A BERT-BiLSTM-CRF model was built, and on the basis of this model, two improved experiments were carried out. Method one is to continue to add a self-attention layer. Experimental results show that the addition of the self-attention layer does not significantly improve the recognition effect of the model. Method two is to reduce the number of embedding layers of the BERT model. Experimental results show that moderately reducing the number of BERT embedding layers can improve the model’s named entity recognition accuracy, while saving the overall training time of the model. When using 9-layer embedding, thevalue on the MSRA Chinese data set increased to 94.79%, and thevalue on the Weibo Chinese data set reached 68.82%. Keywords: named entity recognition; bidirectional encoder representation from transformers; self-attention mechanism; deep learning; conditional random field; natural language processing; bi-directional long short-term memory; sequence tagging 命名实体识别 NER(named entity recognition) 是自然语言处理研究领域的基础性工作之一,任 收稿日期:2020−03−02. 基金项目:北京市自然科学基金项目 (4202016). 通信作者:毛明毅. E-mail:maomy@th.btbu.edu.cn. 第 15 卷第 4 期 智 能 系 统 学 报 Vol.15 No.4 2020 年 7 月 CAAI Transactions on Intelligent Systems Jul. 2020
第4期 毛明毅,等:加人自注意力机制的BERT命名实体识别模型 ·773· 务是提取非结构化文本中具有特定含义的实体。 过主动学习在少量标注的情况下使命名实体识 命名实体能否准确识别对于自然语言处理上层任 别达到较好的效果。文献[11]利用K近邻解决 务包括信息检索、自动问答、信息抽取、知识图谱 标注语料少的问题。文献[I2]通过AdaBoost算 构建都有着重要的影响。对于分词、词性标注等 法实现迁移学习,同样希望降低人工标注的工 底层序列标注任务,也存在着相互影响,命名实 作量。 体识别错误将导致分词错误,进而导致词性标注 2)专业领域命名实体识别应用,将常规命名 错误,反之如果利用基于词的命名实体识别方 实体识别模型应用到特定领域中。文献[13]研究 法,分词错误又将导致命名实体识别错误。在现 了面向国防科技领域术语的识别技术。文献[14] 在这个数据量飞速增长的数字时代,从海量数据 研究了面向电力问答领域命名实体识别技术。文 中快速筛选有用信息,准确获取命名实体是其中 献[15]研究了植物命名实体识别技术。 关键性的一步。 3)改进命名实体识别模型,提高模型学习效 果。文献[I6]提出基于Lattice LSTM的命名实体 1相关工作 识别方法,在MSRA数据集上成绩为93.18%,但 对命名实体识别的研究最早可以追溯到 是由于模型中词嵌入长度不同,导致无法并行训 1991年在EEE人工智能会议上发表的一篇关于 练,模型训练缓慢。文献[17刀提出的引入自注意 识别公司名称的文章四。1996年第6届消息理解 力机制的中文命名实体识别方法,在Weibo数据 会议(Message Understanding Conference,MUC6) 集上的成绩为58.76%。文献[18]利用与中文分 上正式将命名实体识别学术定义,并列为研究课 词对抗学习改进命名实体识别准确度。 题。最初的命名实体识别实现多基于规则模板, 现有模型存在的主要问题有两个方面,一方 语言学家通过语言学知识,构造识别规则匹配模 面是传统模型(如BiLSTM-CRF)在识别准确性上 板。这样的识别方法不仅耗费大量专业人员人 还有较大提升空间,另一方面在准确性较高的模 力,而且可移植性较差。更换领域甚至更换语境 型上普遍存在着训练效率低或训练成本高的问 都会对识别准确率造成较大影响。 题,很难在实际项目中得到应用,如Lattice LSTM 文献[2]首先在1999年提出了基于隐马尔可 模型、BERT微调模型。 夫模型的命名实体识别方法,开启了基于概率统 因此本文在第3个研究方向上做了进一步研 计方法进行命名实体识别的新时期。此后,最大 究,首先根据文献[19]的研究结果显示,BERT在 嫡模型、支持向量机)、条件随机场模型纷纷在 命名实体识别任务应用上,不做微调与微调两种 命名实体识别领域有所应用,其中条件随机场模 应用方式的结果准确性差距与在其他应用领域相 型识别效果最佳,直到现在依然是主流命名实体 比较小。而微调的训练成本较高,所以本文首先 识别模型的重要组成部分。 采用了固定BERT参数BERT-BiLSTM-CRF的 近年来,随着计算机性能的快速提升,深度学 3层模型。之后尝试了2种方式对模型做进一步 习逐渐成为研究热点。基于深度学习的实体识别 改进。由于固定了BERT参数不进行参数微调: 方法也渐渐成为主流研究方法。文献[⑤]提出采 所以本文首先尝试了在3层模型的基础上继续增 用卷积神经网络实现命名实体识别。文献[6]提 加自注意力(self-attention)层是否能够提升模型 出利用双向长短期记忆网络实现命名实体识别, 实体识别准确性,之后又尝试了减少BERT层数 并在CoNLL2003数据集上取得了84.74%的当时 是否会对模型识别准确率造成影响。 最好成绩。文献[7]通过在模型中添加用于提取 2本文模型框架 单词字符级表示的卷积神经网络,F,值达到了 91.21%。文献[8]通过在BiLSTM-CRF模型中加 本文基础模型框架为固定BERT参数BERT- 入注意力机制,对命名实体识别效果做了进一步 BiLSTM-CRF的3层模型,由BERT嵌入层、BiL 改善。 STM双向长短期记忆网络层和CRF条件随机场 在中文命名实体识别领域,近期研究主要分 层所组成,模型整体结构如图1所示。 为3个方向: 2.1BERT嵌入层 1)通过迁移学习、对抗学习、远程监督等方 2018年,谷歌人工智能团队提出了BERT预 式降低命名实体识别训练语料标注工作量。文 训练语言模型20,在11个自然语言处理任务中刷 献[9]利用了远程监督的方法。文献[10]希望通 新了当时最好成绩。运用双向Transformer神经
务是提取非结构化文本中具有特定含义的实体。 命名实体能否准确识别对于自然语言处理上层任 务包括信息检索、自动问答、信息抽取、知识图谱 构建都有着重要的影响。对于分词、词性标注等 底层序列标注任务,也存在着相互影响,命名实 体识别错误将导致分词错误,进而导致词性标注 错误,反之如果利用基于词的命名实体识别方 法,分词错误又将导致命名实体识别错误。在现 在这个数据量飞速增长的数字时代,从海量数据 中快速筛选有用信息,准确获取命名实体是其中 关键性的一步。 1 相关工作 对命名实体识别的研究最早可以追溯 到 1991 年在 IEEE 人工智能会议上发表的一篇关于 识别公司名称的文章[1]。1996 年第 6 届消息理解 会议 (Message Understanding Conference,MUC6) 上正式将命名实体识别学术定义,并列为研究课 题。最初的命名实体识别实现多基于规则模板, 语言学家通过语言学知识,构造识别规则匹配模 板。这样的识别方法不仅耗费大量专业人员人 力,而且可移植性较差。更换领域甚至更换语境 都会对识别准确率造成较大影响。 文献 [2] 首先在 1999 年提出了基于隐马尔可 夫模型的命名实体识别方法,开启了基于概率统 计方法进行命名实体识别的新时期。此后,最大 熵模型、支持向量机[3] 、条件随机场模型[4] 纷纷在 命名实体识别领域有所应用,其中条件随机场模 型识别效果最佳,直到现在依然是主流命名实体 识别模型的重要组成部分。 F1 近年来,随着计算机性能的快速提升,深度学 习逐渐成为研究热点。基于深度学习的实体识别 方法也渐渐成为主流研究方法。文献 [5] 提出采 用卷积神经网络实现命名实体识别。文献 [6] 提 出利用双向长短期记忆网络实现命名实体识别, 并在 CoNLL2003 数据集上取得了 84.74% 的当时 最好成绩。文献 [7] 通过在模型中添加用于提取 单词字符级表示的卷积神经网络, 值达到了 91.21%。文献 [8] 通过在 BiLSTM-CRF 模型中加 入注意力机制,对命名实体识别效果做了进一步 改善。 在中文命名实体识别领域,近期研究主要分 为 3 个方向: 1) 通过迁移学习、对抗学习、远程监督等方 式降低命名实体识别训练语料标注工作量。文 献 [9] 利用了远程监督的方法。文献 [10] 希望通 过主动学习在少量标注的情况下使命名实体识 别达到较好的效果。文献 [11] 利用 K 近邻解决 标注语料少的问题。文献 [12] 通过 AdaBoost 算 法实现迁移学习,同样希望降低人工标注的工 作量。 2) 专业领域命名实体识别应用,将常规命名 实体识别模型应用到特定领域中。文献 [13] 研究 了面向国防科技领域术语的识别技术。文献 [14] 研究了面向电力问答领域命名实体识别技术。文 献 [15] 研究了植物命名实体识别技术。 3) 改进命名实体识别模型,提高模型学习效 果。文献 [16] 提出基于 Lattice LSTM 的命名实体 识别方法,在 MSRA 数据集上成绩为 93.18%,但 是由于模型中词嵌入长度不同,导致无法并行训 练,模型训练缓慢。文献 [17] 提出的引入自注意 力机制的中文命名实体识别方法,在 Weibo 数据 集上的成绩为 58.76%。文献 [18] 利用与中文分 词对抗学习改进命名实体识别准确度。 现有模型存在的主要问题有两个方面,一方 面是传统模型(如 BiLSTM-CRF)在识别准确性上 还有较大提升空间,另一方面在准确性较高的模 型上普遍存在着训练效率低或训练成本高的问 题,很难在实际项目中得到应用,如 Lattice LSTM 模型、BERT 微调模型。 因此本文在第 3 个研究方向上做了进一步研 究,首先根据文献 [19] 的研究结果显示,BERT 在 命名实体识别任务应用上,不做微调与微调两种 应用方式的结果准确性差距与在其他应用领域相 比较小。而微调的训练成本较高,所以本文首先 采用了固定 BERT 参数 BERT-BiLSTM-CRF 的 3 层模型。之后尝试了 2 种方式对模型做进一步 改进。由于固定了 BERT 参数不进行参数微调, 所以本文首先尝试了在 3 层模型的基础上继续增 加自注意力 (self-attention) 层是否能够提升模型 实体识别准确性,之后又尝试了减少 BERT 层数 是否会对模型识别准确率造成影响。 2 本文模型框架 本文基础模型框架为固定 BERT 参数 BERTBiLSTM-CRF 的 3 层模型,由 BERT 嵌入层、BiLSTM 双向长短期记忆网络层和 CRF 条件随机场 层所组成,模型整体结构如图 1 所示。 2.1 BERT 嵌入层 2018 年,谷歌人工智能团队提出了 BERT 预 训练语言模型[20] ,在 11 个自然语言处理任务中刷 新了当时最好成绩。运用双向 Transformer 神经 第 4 期 毛明毅,等:加入自注意力机制的 BERT 命名实体识别模型 ·773·
·774· 智能系统学报 第15卷 网络作为编码器,使得对每个字的预测可以参考 具体计算公式如下: 前后双方向的文字信息。模仿中国英语考试中的 fi=(Wjh-1+Uyx:+by) 完型填空题,随机掩盖部分输入词,通过句子中 i=(Wh1+Ux+b) 其他词语对被掩盖词进行预测。除此之外模型训 o,=o(Wh,-1+U。x,+b) C:tanh(Wh1+Ux:+be) (1) 练中还增加了一个句子级别上连续性预测的创新 任务。并且在谷歌为机器学习定制的专用芯片 c=foc-1+i,oc TPU上进行了海量数据预训练,后续预训练模型 h,=o,Otanh(c,) 多以BERT模型为基础进行改进,包括XLNet2 BiLSTM是双向的长短期记忆网络,由一个 RoBERTa、ALBERT等,这些模型在自然语言处 前向LSTM及一个后向LSTM组成,分别计算, 理领域的其他研究中,如阅读理解、问题匹配、语 最后合并输出,使得模型不仅能学习到当前字的 言推断等问题上的解决效果均有不同程度提升, 前向信息,同时能够学习到它的后向信息。BL 但是通过实验发现在序列标注问题上,效果均不 STM网络结构如图2所示。 如BERT预训练模型。 输出层 反向长短期 记忆网络层 条件随机场层 CRF 正向长短期 记忆网路层 双向长短期 记忆网络层 输人层 图2双向LSTM结构 BERT嵌入层 BERT Fig.2 BiLSTM structure 2.3CRF层 0 条件随机场模型(CRF)是计算给定随机变量 图1模型整体框架图 序列X=(X,X2,…,X)的条件下,随机变量序列 Fig.1 Framework of model Y=(Y,Y2,·,Y)的条件概率分布P(YX)。模型假 BERT的优点在其取得的成绩中显而易见, 设随机变量序列满足马尔可夫性: 缺点是它在训练中消耗资源巨大,因此官方推荐 P(YiX,Yi.....Y)=P(YilX.Yi1Yi) (2) 使用微调的方式进行应用,即直接获取预训练好 式中:X表示输人观测序列;Y表示对应的状态序 的模型,在实际应用模型训练中对BERT中的参 列。条件随机场模型是一种无向概率图模型。 数进行学习调整,此方法在一定程度上解决了计 2001年Lafferty等P提出了线性链条件随机场模 算资源消耗量大的问题。 型,线性链条件随机场是在序列标注任务中广泛 在本文对BERT预训练模型的应用中,采用 应用的算法之一。 的是固定参数的方式。训练过程中不更新BERT 在序列标注任务中,一个字或词的标签与其 内部参数,只对整体模型中除BERT以外的其他 相邻标签有一定的规则制约关系,例如I标签前 部分进行训练,虽然会损失一定的识别准确性, 面不会是O标签,I-LOC不会跟在B-PER后面。 但是能够大幅减小模型训练过程中对计算机性能 CRF能够通过学习得到各种标签序列的出现概 的压力,提高模型训练效率。 率,通过概率选择减少不符合制约关系的标签序 2.2 BiLSTM层 列出现。 长短期记忆网络在1997年被文献[22]提出, 设P为解码层输出的权重矩阵,进而可以得 用以解决循环神经网络(RNN)容易梯度爆炸或 出评估分数S(x,y): 梯度消失问题。此外它通过3个计算门的加入同 (3) 时缓解了长序列遗忘问题,分别是遗忘门∫、输入 Sx=∑M+∑P 门i、输出门o。 式中:M为转移矩阵;M,表示从标签转移到
网络作为编码器,使得对每个字的预测可以参考 前后双方向的文字信息。模仿中国英语考试中的 完型填空题,随机掩盖部分输入词,通过句子中 其他词语对被掩盖词进行预测。除此之外模型训 练中还增加了一个句子级别上连续性预测的创新 任务。并且在谷歌为机器学习定制的专用芯片 TPU 上进行了海量数据预训练,后续预训练模型 多以 BERT 模型为基础进行改进,包括 XLNet[21] 、 RoBERTa、ALBERT 等,这些模型在自然语言处 理领域的其他研究中,如阅读理解、问题匹配、语 言推断等问题上的解决效果均有不同程度提升, 但是通过实验发现在序列标注问题上,效果均不 如 BERT 预训练模型。 LSTM LSTM 条件随机场层 双向长短期 记忆网络层 BERT 嵌入层 LSTM LSTM LSTM LSTM LSTM LSTM CRF CRF CRF CRF 武 汉 加 油 B-LOC I-LOC O O BERT 图 1 模型整体框架图 Fig. 1 Framework of model BERT 的优点在其取得的成绩中显而易见, 缺点是它在训练中消耗资源巨大,因此官方推荐 使用微调的方式进行应用,即直接获取预训练好 的模型,在实际应用模型训练中对 BERT 中的参 数进行学习调整,此方法在一定程度上解决了计 算资源消耗量大的问题。 在本文对 BERT 预训练模型的应用中,采用 的是固定参数的方式。训练过程中不更新 BERT 内部参数,只对整体模型中除 BERT 以外的其他 部分进行训练,虽然会损失一定的识别准确性, 但是能够大幅减小模型训练过程中对计算机性能 的压力,提高模型训练效率。 2.2 BiLSTM 层 f i o 长短期记忆网络在 1997 年被文献 [22] 提出, 用以解决循环神经网络 (RNN) 容易梯度爆炸或 梯度消失问题。此外它通过 3 个计算门的加入同 时缓解了长序列遗忘问题,分别是遗忘门 、输入 门 、输出门 。 具体计算公式如下: ft = σ(Wf ht−1 +Uf xt +bf) it = σ(Wiht−1 +Uixt +bi) ot = σ(Woht−1 +Uo xt +bo) cet = tanh(Wcht−1 +Uc xt +bc) ct = ft ⊙ct−1 +it ⊙ect ht = ot ⊙tanh(ct) (1) BiLSTM 是双向的长短期记忆网络,由一个 前向 LSTM 及一个后向 LSTM 组成,分别计算, 最后合并输出,使得模型不仅能学习到当前字的 前向信息,同时能够学习到它的后向信息。BiLSTM 网络结构如图 2 所示。 LSTM LSTM LSTM LSTM LSTM LSTM 输出层 反向长短期 记忆网络层 正向长短期 记忆网络层 输入层 图 2 双向 LSTM 结构 Fig. 2 BiLSTM structure 2.3 CRF 层 X = (X1,X2,··· ,Xn) Y = (Y1,Y2,··· ,Yn) P(Y|X) 条件随机场模型 (CRF) 是计算给定随机变量 序列 的条件下,随机变量序列 的条件概率分布 。模型假 设随机变量序列满足马尔可夫性: P(Yi |X,Yi ,··· ,Yn) = P(Yi |X,Yi−1,Yi+1) (2) 式中: X 表示输入观测序列; Y 表示对应的状态序 列。条件随机场模型是一种无向概率图模型。 2001 年 Lafferty 等 [23] 提出了线性链条件随机场模 型,线性链条件随机场是在序列标注任务中广泛 应用的算法之一。 在序列标注任务中,一个字或词的标签与其 相邻标签有一定的规则制约关系,例如 I 标签前 面不会是 O 标签,I-LOC 不会跟在 B-PER 后面。 CRF 能够通过学习得到各种标签序列的出现概 率,通过概率选择减少不符合制约关系的标签序 列出现。 P S (x, y) 设 为解码层输出的权重矩阵,进而可以得 出评估分数 : S (x, y) = ∑n i=0 Myi,yi+1 + ∑n i Pi,yi (3) M Myi,yi+1 式中: 为转移矩阵; 表示从 yi 标签转移到 ·774· 智 能 系 统 学 报 第 15 卷
第4期 毛明毅,等:加人自注意力机制的BERT命名实体识别模型 ·775· y+1标签的概率;P表示第i个字被标记为y的 概率;n为序列长度。 MatMul 最后采用极大似然法求解最大后验概率Px, 获得模型的损失函数值。 SoftMax log P(yx)=S(x.y)- S(x,yi) (4) Mask =0 2.4加入自注意力层 Scale 为了弥补BERT不做微调训练所造成的模型 命名实体识别准确性损失,本文首先尝试在模型 MatMul 中增加自注意力(self-attention)层的方法。增加 自注意力层模型如图3所示。 图4自注意力结构 Fig.4 Self-attention structure 条件随机场层 CRI CRE CRF 3实验与分析 3.1实验数据集与数据标注 自注意力层 自注意力 本文使用两个数据集对提出模型的命名实体 识别效果进行测试。一个是SIGHAN2006竞赛 MSRA数据集,另一个是网络社交媒体Weibo数 双向长短期 记忆网络层 据集。数据集详细信息如表1所示,其中MSRA 数据集不包含验证集。 表1数据集统计 BERT嵌入层 BERT Table 1 Statistics of datasets 数据集 类型 训练 验证 测试 句子 46364 4365 MSRA 字 图3加入自注意力层的模型结构 2169879 172601 Fig.3 Model structure diagram with self-attention 句子 1350 270 270 Weibo 字 73778 14509 14842 文献[24]提出的自注意力机制相比于注意 力(attention)机制,自注意力只在序列内部完成注 命名实体主流标注模式分为BIO标注以及 意力计算,寻找序列内部联系,常用放缩点积注 BIOES标注方式两种。本次实验所使用数据集均 意力进行计算,计算公式为 采用BIO标注,B标签为命名实体首字,I为命名 QK 实体非首字,0为非命名实体。 Attention(2,K.V)=SoftMax (5) MSRA数据集包含地名(LOC)、机构名 式中:Q、K、V是来自同一输入与不同参数计算 (ORG)、人名(PER)3类共7种标签。Weibo数据 后得到的3个矩阵,首先计算Q、K矩阵乘法,并 集包含地名(LOC)、机构名(ORG)、人名(PER)和 除以v瓜,防止相乘结果过大,最后利用Sot- 地理政治实体名(GPE),此外该数据集还以后缀 Max操作将结果归一化为概率分布,并乘以矩阵 的方式将命名实体细分为通用名NOM和专用 V得到结果,放缩点积自注意力结构如图4所 名(NAM)两种,其中地理政治类不包含通用名, 示。此外,为了能够多维度捕捉文本上下文特 共5类实体16种标签。由于Weibo数据集可训 征,本文使用了多头注意力机制。多头注意力机 练数据较少,又因为取自网络社交媒体,文字表 制是以不同参数多次重复计算Q、K、V矩阵,然 达较为随意,所以完成该数据集的命名实体识别 后分别独立计算注意力,将注意力计算结果拼 任务更加困难。 接,最后线性变换得到最终结果。计算方法为 3.2实验环境及参数设置 head;Attention(OW e,KW",VW,) 本文实验模型选择采用TensorFlow进行搭 (6) Multi(,W,V)=Concat(head:..head,)W 建。实验硬件及软件环境配置如表2所示
yi+1 Pi,yi i yi n 标签的概率; 表示第 个字被标记为 的 概率; 为序列长度。 最后采用极大似然法求解最大后验概率 P(y|x), 获得模型的损失函数值。 logP(y|x) = S (x, y)− ∑n i=0 S (x, yi) (4) 2.4 加入自注意力层 为了弥补 BERT 不做微调训练所造成的模型 命名实体识别准确性损失,本文首先尝试在模型 中增加自注意力 (self-attention) 层的方法。增加 自注意力层模型如图 3 所示。 LSTM LSTM 自注意力层 双向长短期 记忆网络层 BERT 嵌入层 LSTM LSTM LSTM LSTM LSTM LSTM 武 汉 加 油 B-LOC I-LOC O O BERT CRF CRF CRF CRF 自注意力 条件随机场层 图 3 加入自注意力层的模型结构 Fig. 3 Model structure diagram with self-attention 文献 [24] 提出的自注意力机制相比于注意 力 (attention) 机制,自注意力只在序列内部完成注 意力计算,寻找序列内部联系,常用放缩点积注 意力进行计算,计算公式为 Attention(Q,K,V) = SoftMax( QKT √ dk ) V (5) Q K V Q K √ dk V Q K V 式中: 、 、 是来自同一输入与不同参数计算 后得到的 3 个矩阵,首先计算 、 矩阵乘法,并 除以 ,防止相乘结果过大,最后利用 SoftMax 操作将结果归一化为概率分布,并乘以矩阵 得到结果,放缩点积自注意力结构如图 4 所 示。此外,为了能够多维度捕捉文本上下文特 征,本文使用了多头注意力机制。多头注意力机 制是以不同参数多次重复计算 、 、 矩阵,然 后分别独立计算注意力,将注意力计算结果拼 接,最后线性变换得到最终结果。计算方法为 headi = Attention(QWi Q ,KWi k ,VWi v ) Multi(Q,W,V) = Concat(headi ···headh)Wo (6) MatMul Scale Mask SoftMax MatMul Q K V 图 4 自注意力结构 Fig. 4 Self-attention structure 3 实验与分析 3.1 实验数据集与数据标注 本文使用两个数据集对提出模型的命名实体 识别效果进行测试。一个是 SIGHAN 2006 竞赛 MSRA 数据集,另一个是网络社交媒体 Weibo 数 据集[25]。数据集详细信息如表 1 所示,其中 MSRA 数据集不包含验证集。 表 1 数据集统计 Table 1 Statistics of datasets 数据集 类型 训练 验证 测试 MSRA 句子 46364 — 4365 字 2169 879 — 172601 Weibo 句子 1350 270 270 字 73778 14509 14842 命名实体主流标注模式分为 BIO 标注以及 BIOES 标注方式两种。本次实验所使用数据集均 采用 BIO 标注,B 标签为命名实体首字,I 为命名 实体非首字,O 为非命名实体。 MSR A 数据集包含地 名 (LOC)、机构 名 (ORG)、人名 (PER)3 类共 7 种标签。Weibo 数据 集包含地名 (LOC)、机构名 (ORG)、人名 (PER) 和 地理政治实体名 (GPE),此外该数据集还以后缀 的方式将命名实体细分为通用名 (NOM) 和专用 名 (NAM) 两种,其中地理政治类不包含通用名, 共 5 类实体 16 种标签。由于 Weibo 数据集可训 练数据较少,又因为取自网络社交媒体,文字表 达较为随意,所以完成该数据集的命名实体识别 任务更加困难。 3.2 实验环境及参数设置 本文实验模型选择采用 TensorFlow 进行搭 建。实验硬件及软件环境配置如表 2 所示。 第 4 期 毛明毅,等:加入自注意力机制的 BERT 命名实体识别模型 ·775·
·776· 智能系统学报 第15卷 表2实验环境 表3MSRA数据集上的对比结果 Table 2 Experimental setting Table 3 Experimental comparison results on MSRA 项目 环境 单轮 模型名称 P/%R%F1% 内存 16GB 时间/s GPU BiLSTM-CRF 89.8887.9388.89 NVIDIA GeForce RTX 2070 42 Python版本 BiLSTM-self-attention-CRF 90.5287.4488.95 46 Python 3.7.1 TensorFlow版本 TensorFlow 1.13.0 BERT微调 94.9194.7294.821320 BERT-BiLSTM-CRF 94.4894.4894.48321 为了保证实验的公平性,各实验模型中除一 BERT-BiLSTM-self-attention-CRF 94.30 94.74 94.52 326 些特别实验参数设置有所不同外,尽量保持参数 的一致性。详细参数如下:单句最大长度限制 通过表3对比结果,可以看出,BERT预训练 128个字,LSTM隐藏层维度为200,dropout为 模型的加入对模型命名实体识别准确性起到了明 0.5,使用Adam优化器,训练学习率10-3,MSRA 显提升作用,平均提升准确率5.55%。但是self-at- 数据集batch size为l28,微博数据集batch size为 tention层的加入对模型准确率提升效果有限。此 64。BERT微调实验中训练学习率5×103,batch 外由于BERT微调实验对计算机性能要求较高, size为16。 在本文的实验条件下,该模型的训练效率与其他 3.3实验结果与分析 模型相比有着明显的差距。 实验1加入自注意力层对识别效果的影响。 通过实验1说明BERT模型的加人对命名实 本文首先提出在固定BERT参数的BERT- 体识别准确性有较大幅度的提升,但是训练所耗 BiLSTM-CRF模型基础上,加入额外自注意力层 费的时间和对机器性能的要求大幅增加。固定 的命名实体识别模型。并选取了4个与提出模型 BERT参数对模型准确性有一定影响,self-atten- 相关的深度神经网络模型与本文所提出的模型进 tion层对模型识别准确性的提升效果不明显。 行实验对比。4种对照神经网络模型分别是: 实验2减少BERT层数对识别效果带来的 I)BiLSTM-CRF,现阶段最常用的神经网络 影响。 命名实体识别模型,由一个双向长短期记忆网络 由于BERT模型每层在预训练中所学习到的 层和一个条件随机场层组成。 信息不同,所以本文提出的第2个尝试性改进方 2)BiLSTM-self-attention-CRF模型,在BiL- 案是减少BERT嵌人层数,从不同层获取模型输 STM-CRF模型中加入了自注意力层的无预训练 出结果,同样基于固定BERT参数的BERT-BiL 模型。 STM-CRF模型进行实验。首先在MSRA数据集 3)BERT模型,直接利用数据集对BERT模型 上进行了BERT层数裁剪实验。分别取BERT模 中的参数进行调整。 型嵌入层、第3层、第6层、第9层与12层进行对 4)BERT-BiLSTM-CRF模型,由BERT嵌人 比,实验结果如表4所示。 层,一个双向长短期记忆网络层以及一个条件随 表4在MSRA数据集上减少BERT模型层数的实验结果 机场层所组成。 Table 4 Experimental results of reducing the number of 本文实验均采用精确率、召回率和F1值作为 BERT model layers on the MSRA dataset 模型准确性的评价标准,计算公式如下: 选取层 P/% R/% F1/% 单轮时间s TP P= TP+FPX 100% 嵌入层 90.51 90.17 90.34 43 3层 93.05 92.38 92.72 110 Tp R= TP+FN×100% (7) 6层 94.07 94.49 94.28 188 2xPXR 9层 94.81 94.76 94.79 247 F1= P+R ×100% 12层 94.48 94.48 94.48 321 式中:TP表示正确识别出命名实体个数;FP表示 错误识别命名实体个数;FN表示没有被识别命名 实验结果显示,减小BERT嵌入层数,可以加 实体个数;P是精确率;R是召回率。 快模型的训练速度。在嵌入层数小于6时,模型 表3是5种模型在MSRA数据集上的实验结果。 识别准确性随BERT层数的减少而下降,在嵌人
表 2 实验环境 Table 2 Experimental setting 项目 环境 内存 16 GB GPU NVIDIA GeForce RTX 2070 Python版本 Python 3.7.1 TensorFlow版本 TensorFlow 1.13.0 为了保证实验的公平性,各实验模型中除一 些特别实验参数设置有所不同外,尽量保持参数 的一致性。详细参数如下:单句最大长度限制 128 个字,LSTM 隐藏层维度为 200,dropout 为 0.5,使用 Adam 优化器,训练学习率 10−3 ,MSRA 数据集 batch size 为 128,微博数据集 batch size 为 64。BERT 微调实验中训练学习率 5×10−5 ,batch size 为 16。 3.3 实验结果与分析 实验 1 加入自注意力层对识别效果的影响。 本文首先提出在固定 BERT 参数的 BERTBiLSTM-CRF 模型基础上,加入额外自注意力层 的命名实体识别模型。并选取了 4 个与提出模型 相关的深度神经网络模型与本文所提出的模型进 行实验对比。4 种对照神经网络模型分别是: 1) BiLSTM-CRF,现阶段最常用的神经网络 命名实体识别模型,由一个双向长短期记忆网络 层和一个条件随机场层组成。 2) BiLSTM-self-attention-CRF 模型,在 BiLSTM-CRF 模型中加入了自注意力层的无预训练 模型。 3) BERT 模型,直接利用数据集对 BERT 模型 中的参数进行调整。 4) BERT-BiLSTM-CRF 模型,由 BERT 嵌入 层,一个双向长短期记忆网络层以及一个条件随 机场层所组成。 本文实验均采用精确率、召回率和 F1 值作为 模型准确性的评价标准,计算公式如下: P = TP TP+FP ×100% R = Tp TP+FN ×100% F1 = 2×P×R P+R ×100% (7) TP FP FN P R 式中: 表示正确识别出命名实体个数; 表示 错误识别命名实体个数; 表示没有被识别命名 实体个数; 是精确率; 是召回率。 表 3 是 5 种模型在 MSRA 数据集上的实验结果。 表 3 MSRA 数据集上的对比结果 Table 3 Experimental comparison results on MSRA 模型名称 P/% R/% F1/% 单轮 时间/s BiLSTM-CRF 89.88 87.93 88.89 42 BiLSTM-self-attention-CRF 90.52 87.44 88.95 46 BERT微调 94.91 94.72 94.82 1320 BERT-BiLSTM-CRF 94.48 94.48 94.48 321 BERT-BiLSTM-self-attention-CRF 94.30 94.74 94.52 326 通过表 3 对比结果,可以看出,BERT 预训练 模型的加入对模型命名实体识别准确性起到了明 显提升作用,平均提升准确率 5.55%。但是 self-attention 层的加入对模型准确率提升效果有限。此 外由于 BERT 微调实验对计算机性能要求较高, 在本文的实验条件下,该模型的训练效率与其他 模型相比有着明显的差距。 通过实验 1 说明 BERT 模型的加入对命名实 体识别准确性有较大幅度的提升,但是训练所耗 费的时间和对机器性能的要求大幅增加。固定 BERT 参数对模型准确性有一定影响,self-attention 层对模型识别准确性的提升效果不明显。 实验 2 减少 BERT 层数对识别效果带来的 影响。 由于 BERT 模型每层在预训练中所学习到的 信息不同,所以本文提出的第 2 个尝试性改进方 案是减少 BERT 嵌入层数,从不同层获取模型输 出结果,同样基于固定 BERT 参数的 BERT-BiLSTM-CRF 模型进行实验。首先在 MSRA 数据集 上进行了 BERT 层数裁剪实验。分别取 BERT 模 型嵌入层、第 3 层、第 6 层、第 9 层与 12 层进行对 比,实验结果如表 4 所示。 表 4 在 MSRA 数据集上减少 BERT 模型层数的实验结果 Table 4 Experimental results of reducing the number of BERT model layers on the MSRA dataset 选取层 P/% R/% F1/% 单轮时间/s 嵌入层 90.51 90.17 90.34 43 3层 93.05 92.38 92.72 110 6层 94.07 94.49 94.28 188 9层 94.81 94.76 94.79 247 12层 94.48 94.48 94.48 321 实验结果显示,减小 BERT 嵌入层数,可以加 快模型的训练速度。在嵌入层数小于 6 时,模型 识别准确性随 BERT 层数的减少而下降,在嵌入 ·776· 智 能 系 统 学 报 第 15 卷