基于MRC和ERNIE的有色冶金命名实体识别模型

2023-10-21 03:05贵向泉
计算机技术与发展 2023年10期
关键词:嵌套有色冶金

贵向泉,郭 亮,李 立

(兰州理工大学 计算机与通信学院,甘肃 兰州 730050)

0 引 言

命名实体识别是自然语言处理(Natural Language Processing,NLP)中的热点研究方向之一,它的实质就是从一段自然语言中找出相关的实体,并标注出实体的位置及其类型。在有色冶金产业的相关文本中存在许多有色冶金行业内部的专有名词,如公司名称、产品名称和产业信息等。在对这些文本进行分析时,这些行业内部的命名实体就会成为重要的信息来源,它们也是构建有色冶金产业企业画像和建立产业知识图谱的重要依据。有色冶金是中国工业生产中的重要支柱产业,但是截至目前,很少有研究人员和学者针对有色冶金领域命名实体识别进行研究,也没有相关数据集支持。

为了推进有色冶金产业的发展,更好地分析企业和有色冶金产业的运行情况,该文首先针对建立产业企业画像和产业知识图谱的命名实体需求,构建了有色冶金领域命名实体识别数据集,然后结合机器阅读理解框架(Machine Reading Comprehension,MRC)[1]和知识增强的语义表示模型(Enhanced Representation Through Knowledge Integration,ERNIE)[2]对命名实体识别的流程进行了改进。最终建立了MEAB (MRC-ERNIE-Attention-BiLSTM)命名实体识别模型结构,并在构建的有色冶金领域命名实体识别数据集和公共数据集上进行了命名实体识别的实验。实验证明,该模型可以更好地为后续构建有色冶金产业企业画像和产业知识图谱提供实体。

1 相关工作

命名实体识别的发展按时间主要分为三个阶段,分别为基于词典和规则的方法,基于机器学习的方法和基于深度学习的方法。

基于词典和规则的方法是指利用专家判断的方式手工制定出命名实体识别的规则和模板,并利用这些规则将需要识别的命名实体进行匹配和识别。虽然基于词典和规则的方法对特定范围内的命名实体的识别效果比较好,但是其中使用的规则也具有泛化程度低的特点。特别对大规模语料进行命名实体识别时,基于词典和规则方法的效率相比其他方法要低很多。

随着大规模语料的出现,基于机器学习方法的命名实体识别得到了广泛应用,也可以进一步将其分为有监督机器学习和无监督机器学习两类。在无监督的机器学习中主要使用聚类的方法进行命名实体识别[3],例如Xu等人[4]提出了一种共享最近邻的聚类方法,并将其应用在生物医学名称的识别和提取中。在有监督的机器学习中,命名实体识别则被看作是一种序列标注的问题[5],例如Yu等人[6]提出了一种基于级联马尔可夫模型的中文命名体识别方法,通过双重的模型识别来提高识别精度。虽然基于机器学习的方法避免了繁琐的人工工作,但是复杂的特征工程是不可避免的。

基于深度学习的方法解决了机器学习中需要复杂特征工程的问题,同时基于深度学习的命名实体识别采用了端到端的训练方式,可以构建更为复杂的网络。例如Kong等人[7]建立了多级卷积神经网络(Convolution Neural Network,CNN)并结合了注意力机制来捕获短期和长期的上下文信息,提高了中文临床医学命名实体识别的准确率。毛存礼等人[8]提出了一种基于深度神经网络(Deep Neural Network,DNN)架构的有色金属领域实体识别方法,该方法可以有效获取有色金属领域实体中字符间的紧密结合特征。同时,循环神经网络(Recurrent Neural Network,RNN)和图卷积神经网络(Graph Convolutional Network,GCN)也是进行命名实体识别的主流方法。Liu等人[9]提出了一种词字符的长短时神经网络(Long Short-Term Memory,LSTM)模型,他们将词信息添加到词的开始或结束字符中,在获得词边界信息的同时减轻分词错误带来的影响。Tang等人[10]使用交叉GCN块同时处理两个方向的词字符,并在其中引入了全局注意力机制改进了长距离的依赖捕获。近年来,基于编码器-解释器模型(Transformer)[11]被大量应用于命名实体识别当中,其中最具代表性的就是基于编码器-解码器的双向编码表示法(Bidirectional Encoder Representations From Transformers,BERT)[12]模型。Usman等人[13]使用ALBERT(Lite BERT)[14]模型在大规模生物医学语料上训练,更好地学习了上下文相关的表示,提高了训练的效率。

虽然进行命名实体识别的方法有很多,并且国内外学者都对其做了大量的研究,但是这些方法都不适用于有色冶金领域命名实体识别的研究,原因有以下几点。

(1)由于研究领域的独特性,已有的研究很少涉及到有色冶金产业,也没有相关数据集对其支持。

(2)在有色冶金领域命名实体当中存在很多嵌套的命名实体,进一步增加了实体识别的难度。

(3)已有的命名实体识别模型无法充分提取有色冶金领域文本中的语义特征和信息。

(4)已有的命名实体识别模型无法充分利用有色冶金领域文本当中标签的先验知识,影响了命名实体识别的准确率。

为了解决上述问题,该文构建了有色冶金领域命名实体识别数据集,并提出了MEAB命名实体识别模型。首先,在该模型中引入了MRC框架,将传统命名实体识别模型中的序列标注与问答任务相结合,提高模型对普通实体和嵌套命名实体的识别准确率;然后,在该模型中使用ERNIE预训练模型将序列标注后的标注数据集和引入自然语言问题的问答数据集转化为词向量,使模型能够充分提取出文本当中的语义特征和信息;接着,引入注意力机制作为模型的信息融合层,将通过ERNIE处理的两类文本特征向量进行融合,使模型能够充分利用标签当中的先验知识,并通过BiLSTM模型进一步提取语义特征和信息;最后,通过多层嵌套实体识别器输出在嵌套命名实体中的所有实体。相比其他模型该模型可以更好地提取和利用文本当中的特征和先验知识,提高了对嵌套命名实体的识别准确率,并能输出嵌套命名实体当中的所有实体。

2 有色冶金领域数据集获取与处理

2.1 数据集收集与实体类别定义

针对有色冶金产业的特点,经研究发现其主要的数据来源以新闻报道、企业年报、专利信息和期刊论文为主。对于新闻报道数据,该文采用了网络爬虫技术从今日头条等新闻媒体平台进行了收集,但是新闻报道数据整体的文本结构比较松散,所以在收集时需要对文本进行去噪处理。对于企业年报数据和专利信息,因为这类数据整体的文本结构比较紧密,所以直接使用即可。对于期刊论文类的数据,鉴于其摘要已经对论文整体进行了总结,所以直接选用摘要作为数据集。最终收集到了20 000多条有色冶金领域的文本,总共有300多万字。

针对构建产业企业画像和产业知识图谱的命名实体需求,定义的产业实体类别一共有六种:人名,企业名称,组织名称,产品名称,项目名称,技术名称。各个实体类别的标注符号以及实例如表1所示。

表1 实体标注符号及其实例

2.2 嵌套实体处理

由于有色冶金领域命名实体识别研究的独特性和复杂性,在构建的有色冶金领域数据集中存在大量的嵌套命名实体,大大增加了实体识别的难度。例如在某新闻报道中出现的命名实体“金川集团镍钴资源产品开发创新联合体”中就包含了多层实体,其最外层的为ORG实体:“金川集团镍钴资源产品开发创新联合体”,其内部也包含COM实体:“金川集团”,PRO实体:“镍”“钴”,ORG实体:“开发创新联合体”。同时在PRO类别的实体中,很多实体都包含了大小写字母和特殊的字符,如 “Ni999(0#镍)”,其内部就包含了字母、数字和特殊字符,在其中也存在另一种PRO实体:“镍”。

传统的命名实体识别方法只能准确识别非嵌套的命名实体,对于嵌套的命名实体识别准确率不高,并且无法完全提取出这些嵌套命名实体中的内部实体,由此可能会导致没有获取到足够的实体去构建有色冶金产业的企业画像和产业知识图谱。因此,该文设计了多层嵌套实体识别器来满足识别多层嵌套实体的需求。

2.3 数据集标注与MRC框架问题设计

在进行命名实体识别时,首先需要对文本当中的每个实体进行标注。为了提高实体标注的效率,该文使用了Label Studio软件工具对有色冶金领域数据集进行实体标注。在标注方法的选择上,采用了BIO序列标注方法对有色冶金领域数据集进行标注。

为了将MRC框架引入有色冶金领域命名实体识别任务当中,还需要将数据集转换为问答数据集。若给定的文本为X={x1,x2,…,xn},其中xi为文本当中的每一个字符,n为给定文本长度,而对于在文本当中的每一个命名实体就可以表示为Xstart,end={Xstart,…,Xend}。在构建问答数据集时,需要为每一个实体标签分配一个自然语言形式的问题qy=q1,q2,…,qm,其中m是问题qy的长度。则每一个在文本当中的实体就可以表示成三元组(qy,Xstart,end,X),这也是每一个实体在问答数据集当中的表现形式。

基于此,对于每一个实体它的自然语言形式的问题就非常重要,因为问题中会包含着当前实体标签的先验知识,这对最终模型的效果有显著影响。经过分析和比较,最终选择以引导说明的方式构建实体的自然语言形式的问题,每种实体及其对应的自然语言问题如表2所示。

表2 实体类型及其对应的自然语言问题

3 有色冶金领域命名实体识别方法

3.1 MRC框架

MRC任务就是先让计算机识别给定文本当中的语义信息,然后对应的给一个问题,让计算机根据识别到的语义信息去回答问题,且问题的答案必须是能够在给定文本当中找到的一段话或者是几个词。MRC任务可以分为四个子任务,即填空型阅读理解任务、选择型阅读理解任务、片段抽取型阅读理解任务以及自由回答型阅读理解任务,随着NLP技术的不断进步,四种MRC任务都有着快速的发展[15]。在命名实体识别任务中借助MRC框架,可以更加快速有效地识别出嵌套的命名实体,同时,在一定程度上也可以提高非嵌套命名实体的识别准确率[16]。

3.2 ERNIE预训练模型

随着深度学习的不断发展,BERT等自然语言预处理模型可以很好地捕捉原始文本当中的语义模式,并可以根据不同的NLP任务进行微调。但是现有的预训练模型很少有结合到知识图谱,而知识图谱可以提供丰富的结构化知识,并可以更好地进行语义的理解,因为知识图谱当中有很多富含信息的实体和外部知识可以增强文本的语义特征。而ERNIE就是利用知识图谱和大规模中文语料训练得到的语言表征模型,它可以充分利用语法、语义还有知识的优势。相关实验表明,ERNIE相比BERT等预训练模型在实体识别、问答系统、语言推理和文本分类当中可以达到较好的效果[2]。

ERNIE和BERT都是基于Transformer中Encoder层的大规模预训练语言模型。相比于BERT,ERNIE改进了BERT在MLM(Masked LM)预训练任务中的掩盖策略,提出了一种多阶段的掩盖策略代替了在BERT中知识的直接嵌入,将短语和知识实体集成到了文本的语言特征当中,ERNIE的多阶段掩盖策略如图1所示。

图1 ERNIE的多阶段掩盖策略

首先第一个阶段是基础掩盖,中文的基本语言单元是汉字,在进行训练时随机掩盖15%的基本语言单元,其他的基本语言单元作为输入来预测被掩盖的基本语言单元,但是由于这种方式只是在基本语义单元的掩盖策略上训练的,所以模型很难提取到文本的深层语义特征。第二个阶段是短语掩盖,在进行训练时随机掩盖文本中的几个短语,这其中包括短语里面的所有基本语言单元,然后对被掩盖的基本语言单元进行预测。第三个阶段是实体掩盖,在进行训练时对所有命名实体进行掩盖和预测。经过这三个阶段,ERNIE可以学习到文本中知识的依赖以及更长的语义依赖来让模型更具泛化性。

3.3 信息融合

单纯的在命名实体识别任务中使用MRC模块,虽然会比传统的命名实体识别方法有一定的提升,但是将MRC模块简单地加入命名实体识别模型,即将问答数据集作为模型单一的输入之后,模型并没有充分利用到标签的知识信息。为了让模型充分抽取到原始文本的特征,并让模型能够利用标签所包含的先验知识,该文将模型的输入分为两部分,一部分是BIO标注之后的标注数据集,另一部分是将实体转换为三元组(qy,Xstart,end,X)的问答数据集。将两部分同时输入进ERNIE预训练模型,进而可以得到两种具有不同语言特征的词向量,再将两种词向量进行信息融合,就可以让模型同时学习到原始文本的信息和标签本身所具有的先验知识。

该文在信息融合时采用了一种语义指导的Attention机制,其过程如下:

(1)在进行语义融合前准备两种具有不同语言特征且共享权重的词向量hx和hy,其中hx∈Rn×d,hy∈R|c|×m×d,n为一条标注数据集的长度,|c|和m分别表示一条问答数据集中实体类别的数量和长度。

(1)

(2)

(3)

(4)

最后,对每一条标注数据集和问答数据集都进行上述流程,就可以得到经过信息融合之后的词向量表示。

3.4 BiLSTM网络

RNN是一种用于处理序列数据的神经网络,相比于一般的神经网络来说能够很好地处理序列变化的数据。但是普通的RNN会存在梯度消失和梯度爆炸的问题,LSTM针对以上问题对RNN进行了改进,它可以在学习过程中对有价值的信息进行记忆,放弃冗余的记忆,所以相比于普通的RNN,LSTM在更长的序列中有更好的表现。但是在识别文本的语义特征时,单一的LSTM模型无法提取从后向前的语义信息,而BiLSTM则是由向前的LSTM与向后的LSTM组合而成,所以BiLSTM可以更好地捕获文本的双向语义。

LSTM的结构如图2所示。在图2中,向量ct-1经过LSTM模型然后以ct作为输出,在整个向量的传输过程中只是经过了简单的线性操作,这样可以实现长期的记忆保留。对于信息的更新和输出,LSTM则是通过遗忘门、输入门和输出门实现。

图2 LSTM模型结构

LSTM的计算公式如下所示:

ft=σ(Wf·[ht-1,xt]+bf)

(5)

it=σ(Wi·[ht-1,xt]+bi)

(6)

(7)

(8)

ot=σ(Wo·[ht-1,xt]+bo)

(9)

ht=ot·tanh(ct)

(10)

3.5 多层嵌套实体识别器

MRC框架抽取答案的方法是识别答案的开始位置和结束位置,即设置两个预测器,两个预测器分别预测答案的开始位置和结束位置,但是这方法只能得到一个答案,无法处理句子中有多层实体的问题。

为了让模型识别出嵌套命名实体当中的多层实体,该文在MRC抽取方法的基础上进行了改进,其过程如下:

(1)先让两个预测器预测嵌套实体的位置,得到预测之后实体的起始位置Ostart和结束位置Oend。

(2)为了保证实体为最外层的实体,将原来实体的位置范围进行一定程度的扩大,得到新的起始位置Nstart和结束位置Nend。

Nstart=dstart·Ostart

(11)

Nend=dend·Oend

(12)

(4)通过公式(13)预测每一对开始位置和结束位置匹配的概率Pi。

(13)

3.6 MEAB命名实体识别模型

针对研究领域的独特性和现有方法在命名实体识别任务中的不足,该文构建了MEAB模型进行有色冶金领域文本命名实体的识别,模型的结构如图3所示。该模型主要有文本输入层、特征转换层、信息融合层、特征提取层和定位输出层五大模块。在文本输入层中,标注数据集和问答数据集会被输入进ERNIE预训练模型中,在特征转换层ERNIE预训练模型会将两种数据集转换为词向量,在信息融合层会将这两种词向量进行融合,使融合的词向量同时具有原始文本的语义信息和标签本身所具有的先验知识,并提交给特征提取层。在特征提取层会从前后两个方向对长距离的文本特征和潜在语义信息进行充分提取,最后在定位输出层输出嵌套命名实体当中的所有实体。

图3 MEAB模型结构

4 实验及结果分析

4.1 评价指标选取

在选取评价指标时,该文选取了精确率(P)、召回率(R)和F1值来评价模型的命名实体识别的效果,评价指标的计算公式如下:

(14)

(15)

(16)

4.2 实验环境及数据集设置

实验基于Tensorflow1.12.0搭建了模型,为了验证模型识别有色冶金领域命名实体的性能,对构建的有色冶金领域文本数据集进行了实验。同时为了证明该模型在命名实体识别任务中的泛化性,还选取了MSRA公共数据集进行了实验。MSRA数据集是微软亚洲研究院提供的命名实体识别数据集,在数据集中包含了人名、地名和组织机构名三种实体类型。在实验过程中,两种数据集均按照3∶1∶1划分为训练集、验证集和测试集,在每种数据集的基础上又将该数据集分为标注数据集和问答数据集两种输入类型,两种数据集的相关数据统计如表3所示。

表3 数据集数据统计

4.3 基线模型选择

为了验证构建的MEAB模型在命名实体识别任务当中的效果,并证明MEAB模型中所采用的各个模块对命名实体的识别是有提升的,选取了如下基线模型进行对比。

(1)BERT:该模型仅使用BERT进行命名实体的识别,输入数据为标注数据集。

(2)ERNIE:该模型仅使用ERNIE进行命名实体的识别,输入数据为标注数据集。

(3)BiLSTM-CRF:该模型是NLP命名实体识别任务当中的经典模型,输入数据为标注数据集。

(4)ERNIE-CRF:该模型利用ERNIE先将标注数据集进行编码,再通过CRF进行解码输出。

(5)ERNIE-BiLSTM-CRF[17]:该模型利用ERNIE先将标注数据集进行编码,再通过BiLSTM模型进行特征提取,最后通过CRF进行解码输出。

(6)MRC-BERT[18]:该模型在BERT的基础上加入了MRC框架,输入数据为问答数据集。

(7) MRC-ERNIE:该模型在ERNIE的基础上加入了MRC框架,输入数据为问答数据集。

(8)MRC-ERNIE-BiLST:该模型在MRC-ERNIE的基础上加入了BiLSTM模型进行特征提取,输入数据为问答数据集。

(9)MRC-ERNIE-BiLSTM-C:该模型在MRC-ERNIE-BiLSTM基础上加入了MEAB模型中的多层嵌套实体识别器,以验证该识别器的效果。但是相比MEAB模型,该模型没有信息融合层,即该模型的输入数据也仅为问答数据集。

4.4 有色冶金领域文本数据集实验

该文构建的MEAB模型以及基线模型在有色冶金领域文本数据集中的实验结果如表4所示。实验结果可以表明,相比其他基线模型,构建的MEAB模型在有色冶金领域命名实体识别任务当中效果最优,它的精确率、召回率和F1值分别达到了78.77%、79.76%和79.26%。

表4 有色冶金领域数据集实验结果 %

在实验结果中,ERNIE相比BERT在精确率、召回率和F1值上分别高了4.35、5.25和4.80百分点,且在加入了MRC框架之后,MRC-ERNIE 仍比MRC-BERT分别高了3.87、4.73和3.30百分点,可以证明ERNIE相比BERT在有色冶金领域命名实体识别任务当中更占优势。

在MRC-ERNIE和ERNIE、MRC-BERT和BERT的比较中可以发现,在有色冶金领域命名实体识别任务当中加入MRC框架之后表现更优,在精确率、召回率和F1值上分别比原生的ERNIE和BERT高出了8.02、7.78、6.75和8.50、8.30、8.40百分点。

相比MRC-ERNIE,MRC-ERNIE-BiLSTM在精确率、召回率和F1值上分别高了1.85、1.11和2.48百分点,可以证明引入BiLSTM模型作为特征提取层可以更好地提取到文本当中的语义特征。

为了进一步验证该文构建的MEAB模型在有色冶金领域嵌套命名实体识别上是有效的,选取了数据集中嵌套命名实体占比最高的PRO类实体进行实验,实验结果如表5所示。加入了定位输出层之后,在PRO类型实体中MRC-ERNIE-BiLSTM-C相比MRC-ERNIE-BiLSTM在精确率、召回率和F1值上分别高了7.83、7.69和7.76百分点。可以证明提出的多层嵌套实体识别器在有色冶金领域的嵌套命名实体识别任务当中是有效的。

表5 有色冶金领域数据集中PRO类型实体实验结果 %

构建的MEAB模型在MRC-ERNIE-BiLSTM-C的基础上加入了信息融合层之后,相比MRC-ERNIE-BiLSTM-C在PRO类型实体的识别上分别高了1.71、0.75和1.24百分点,可以证明该文引入的信息融合策略在有色冶金领域的嵌套命名实体识别中是有效的。在有色冶金领域文本数据集中全类别实验的相似实验结果,也可以证明多层嵌套实体识别器和信息融合策略是有效的。

分析实验结果可以发现,由于有色冶金领域数据集的实体类别较多且个别类别的实体较为复杂,导致BiLSTM-CRF这种经典的命名实体识别模型性能较差,而且BiLSTM-CRF只能有效识别非嵌套的命名实体,无法识别多层嵌套的命名实体。对于只是简单使用了BERT、ERNIE预训练模型的方法,虽然比BiLSTM-CRF模型在性能上有一定的提升,但是这种提升只是在文本语义信息的提取方面,对于多层嵌套的命名实体的识别效率提升不大。该文提出的MEAB模型在ERNIE和BiLSTM充分提取文本语义信息的基础上,引入了MRC框架和基于Attention的信息融合机制,加强了模型对嵌套命名实体识别的整体性能,同时针对数据集中多层嵌套实体的特点,设计了一种多层嵌套实体识别器,对多层嵌套实体进行比较并提取。因此,该文提出的MEAB模型在识别有色冶金命名实体时具有更好的性能,优于其他基线模型。

4.5 MSRA数据集实验

构建的MEAB模型以及基线模型在MSRA数据集中的实验结果如表6所示。实验结果可以表明,相比其他基线模型,构建的MEAB模型在MSRA数据集中的命名实体识别效果最优,它的精确率、召回率和F1值分别达到了97.70%、97.90%和97.80%。可以证明,提出的MEAB模型在命名实体识别任务当中具有一定的泛化性。

表6 MSRA数据集实验结果 %

4.6 模型计算复杂度对比

该文选择参数量和浮点运算次数(FLOPs)来评价MEAB模型的计算复杂度,并与经典模型进行对比。如表7所示,由于构建的MEAB模型使用了ERNIE预训练模型和BiLSTM模型,所以在参数量方面比BERT稍大,同时在模型的浮点运算次数上MEAB模型也比BERT稍大。综合两种模型在有色冶金领域文本数据集上的实验结果,可以说明MEAB模型可以在没有显著增加计算复杂度的情况下,能够大幅提高对有色冶金领域命名实体的识别精度。

表7 计算复杂度对比

5 结束语

有色冶金领域命名实体识别是构建有色冶金产业企业画像和建立产业知识图谱的重要信息来源和依据。鉴于当前有色冶金领域命名实体数据集缺失的问题,首先,构建了有色冶金产业领域命名实体识别的数据集,并在此基础上构建了标注数据集和问答数据集。然后,在MRC框架、ERNIE预训练模型和BiLSTM模型的基础上,引入了信息融合策略和多层嵌套实体识别器,构建了MEAB命名实体识别模型。相比已有的命名实体识别模型,该模型可以充分提取出文本原有的语义特征,并更好地利用标签当中的先验知识,提高了对命名实体包括嵌套命名实体的识别准确率。在构建的有色冶金领域命名实体识别数据集上的实验表明,MEAB模型可以有效识别数据集中的嵌套命名实体和非嵌套命名实体,精确率、召回率和F1值分别达到了78.77%、79.76%和79.26%。在后续的研究中,可以进一步完善并扩大有色冶金领域的语料库,并在有色冶金领域命名实体识别的基础上构建有色冶金产业的企业画像,建立产业的知识图谱。

猜你喜欢
嵌套有色冶金
《山东冶金》征稿简则
《山东冶金》征稿简则
基于嵌套Logit模型的竞争性选址问题研究
《山东冶金》征稿简则
凉爽有色
DCS和PLC控制系统在冶金自动化中的应用
三十载风华正茂 永不朽有色情怀
写出有色又有声的文字
一种基于区分服务的嵌套队列调度算法