一种BERT-BiLSTM-CRF命名实体检测模型及装置的制作方法

专利2022-05-09  145


本发明涉及命名实体识别技术领域,具体为一种bert-bilstm-crf命名实体检测模型及装置。



背景技术:

目前命名实体识别任务主要是捕获输入文本中的词或者短语,并且进行定性的归类。目前已有一些用于命名实体识别任务的方法被提出,通常可以将其分为三个类别。第一类是按照规则的方法对文本中的实体进行命名识别,第二类是基于传统的统计机器学习方法,用特征工程进行命名实体识别,第三类是基于深度学习的方法,自动提取文本信息的特征进行命名实体识别。

对于中文命名实体识别任务,基于规则的方法严重依赖规则的构造,可移植性差,维护成本高;基于统计学习的方法需要在特征工程上下功夫,耗费大量的人工成本;基于深度学习的命名实体识别自动提取特征,省下人工设计特征的过程,并且随着计算机硬件的提升,深度学习模型跑出的效果越好,因此,基于深度学习的命名实体识别具有重要的研究价值。

随着数据的爆发式增长,如何处理海量数据,抽取有效信息成了当下最为重要的问题,而命名实体识别技术可以从海量文本数据中自动提取关键实体信息。针对此问题,本发明实现一种bert-bilstm-crf命名实体检测模型及装置。



技术实现要素:

本部分的目的在于概述本发明的实施方式的一些方面以及简要介绍一些较佳实施方式。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

为解决上述技术问题,根据本发明的一个方面,本发明提供了如下技术方案:

一种bert-bilstm-crf命名实体检测模型,其包括idcnn-crf命名实体识别模型和bert-bilstm-crf命名实体识别模型:

idcnn-crf命名实体识别模型架构如下:

embdding层为词向量层,用于将输入数据处理成词向量再送入模型,采用分布式向量表示word2vec;

idcnn层,用于将embedding层处理好的字向量或者词向量送入到idcnn层,经过膨胀卷积神经网络的膨胀卷积操作,对输入的字向量重新计算,得到新的向量表示;

投影层,用于从idcnn层神经网络计算出的向量表示进行线性转换,转换后的维度即为标签的维度,与标签的维度保持一致,再进过softmax归一化处理,得到概率p,假设映射后的向量表示维度为m维,则m维字向量的概率表示组合得到向量,每一维向量可以看作每一类标签的概率,取概率最大的种类得到分类结果,即可完成命名实体识别任务;

crf层,用于通过转移矩阵筛选出最优的结果反馈给用户;

bert-bilstm-crf命名实体识别模型架构如下:

bert层,bert的输入是由单字组成的句子,bert对文本序列处理后获得每个字的向量表示之后,作为下一层bilstm的输入;

bilstm-crf层,文本序列经过bert处理得到对应bert预训练词向量的向量表示,进入bilstm单元,计算bilstm的输出结果,送入crf,计算最佳序列标签。

作为本发明所述的bert-bilstm-crf命名实体检测模型的一种优选方案,其中:所述embdding层通过训练大规模语料库,获得上下文字的依赖关系,将预训练好的100维维基百科词向量,加上20维的分词特征作为输入,送入下一层。

作为本发明所述的bert-bilstm-crf命名实体检测模型的一种优选方案,其中:所述crf层将深度学习得到的结果与统计学习模型相结合,利用crf维持一个矩阵,转移标签之间的概率,把m维的标签转换为(m 2)*(m 2),多出的两个维度表示状态的开始和结束,通过这两个参数的变化学习标签转换的规律,修正无效标签。

作为本发明所述的bert-bilstm-crf命名实体检测模型的一种优选方案,其中:所述bert层中句子的开头用cls标记,用sep表示句子的分隔和结束,bert的输入由词向量、段向量和位置向量三个部分组合而成。

作为本发明所述的bert-bilstm-crf命名实体检测模型及的一种优选方案,其中:所述bilstm-crf层中bilstm的前向lstm计算当前词及其左边词的语义表示,后向lstm计算当前词及其右边词的语义表示,将得到的两个隐藏层的状态表示拼接起来,得到bilstm的输出结果。

作为本发明所述的bert-bilstm-crf命名实体检测模型及的一种优选方案,其中:所述算法实现主要公式为:

一种bert-bilstm-crf命名实体检测装置,包括:

信息抽取模块,用于抽取出实体信息和实体与实体之间的语义关系;

信息检索模块,所述信息抽取模块连接有信息检索模块,用于通过对关键词的查询,筛选出与之相关的信息,利用命名实体识别检索出关键词的实体类型,对文本信息分类,缩小检索范围;

机器翻译模块,所述信息检索模块连接有机器翻译模块,用于识别出翻译目标的实体信息,再利用翻译规则对词法进行分析;

问答系统,所述机器翻译模块连接有问答系统,问答系统通过匹配关键字和实体之间的关系搜索问题的答案,将结果输出反馈给用户。

与现有技术相比:该bert-bilstm-crf命名实体检测模型及装置,构建的idcnn-crf命名实体识别模型,得到的f1值在《人民日报》数据集和msra数据集上比基线模型crf分别提升10.4%和11.41%,比bilstm-crf模型提升0.38%和2.07%,且在训练时间上缩短近30%,明显提升了运行效率;构建的bert-bilstm-crf模型在中文命名实体识别中的f1值在两种数据集中比bilstm-crf模型提升5.29%和6.7%,比idcnn-crf模型提升4.91%和4.63%。

附图说明

为了更清楚地说明本发明实施方式的技术方案,下面将结合附图和详细实施方式对本发明进行详细说明,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:

图1为本发明idcnn-crf模型架构图;

图2为本发明lstm内部结构图;

图3为本发明的bilstm模型架构;

图4为本发明线性链的条件随机场示意图;

图5为本发明bert输入表示图;

图6为本发明idcnn卷积操作图;

图7为本发明不同模型的准确率对比图;

图8为本发明不同模型的召回率对比图;

图9为本发明不同模型的f1值对比图;

图10为本发明人民日报实验结果对比图;

图11为本发明msra实验结果对比图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施方式的限制。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。

本发明采用的基础算法如下:

一、长短期记忆网络(lstm)

长短期记忆是一类有记忆的神经网络,因此其在解决时序问题和自然语言处理上表现了很好的性能。lstm的出现使得循环神经网络中梯度消失和梯度爆炸的问题得到了一定的解决。lstm网络本身不仅是一个序列结构,同时也是链式循环的网络结构,因此lstm可以处理长时依赖。

lstm之所以能解决短时记忆问题,是因为它引入了一个核心的结构,在这里我们称之为记忆细胞ct。除此之外,lstm还有三个控制门,分别是输入门it,输出门ot和遗忘门ft。其中,输入门控制着信息能够被输入到当前的网络结构,输出门则控制着信息作为当前网络的输出。在长短时记忆网络lstm中,最重要的是遗忘门。遗忘门决定之前的记忆被去掉,当前信息被保留。

lstm神经网络结构中增加一个内部状态(internalstate)ct,一方面用于信息的线性传输,另一方面将信息的非线性输出至隐藏层的外部状态ht,如公式(1)、公式(2)所示。

ct=ftct-1 ittanh(wxcxt whcht-1 bc)(1)

ht=ottanh(ct)(2)

其中ft,it和ot分别为三个“门”(gate),主要将信息的传输进行设定;ct-1为上一时刻的记忆单元;通过内部状态ct,lstm神经网络能够得到从每个时刻t的神经网络能够得到从每个时刻t的开始到当前时刻为止的历史信息。

在lstm神经网络中,记忆单元c中引入门机制(gatingmechanism)来控制信息的传递,如图1所示。公式(3)、公式(4)和公式(5)中三个“门”分别为输入门it,遗忘门ft和输出入门ot。

lstm神经网络中“门”的取值范围在(0,1)之间,表示将信息按一定的比例通过。lstm网络中三个门的作用为:遗忘门ft控制上一个时刻的内部状态需要遗忘多少信息;输入门it控制当前的时刻的候选状态有多少信息需要保存;输出门ot控制当前时刻的内部状态ct多少信息输出给外部状态ht。三个“门”之间的变换公式如下所示。

it=σ(wxixt whiht-1 wcict-1 bi)(3)

ft=σ(wxfxt whfht-1 wcfct-1 bf)(4)

ot=σ(wxoxt whoht-1 wcoct bo)(5)

σ()是区间为(0,1)的logistic函数,w为状权重矩阵,xt为当前时刻的输入,ht-1为上一时刻的外部状态。当ft=0,it=1时,遗忘门的信息被删除,输入门的信息全部保留,记忆单元将历史信息清空,并将信息写入候选状态向量中。当ft=1,it=0时,记忆单元将历史信息写入,不再更新新的信息。

二、双向长短期记忆网络(bilstm)

bilstm包括前向lstm层和后向lstm层,通常将前者视为顺序序列,后者定义为逆序序列,如图1。对于t时刻输入的信息xt,在前向lstm层中隐藏层的输出表示为后向lstm层中隐藏层的输出表示为如图2所示,第二层的sltm的输出融合了之前的所有信息,公式如(6)所示:

其中wh(1)和wx(1)为第一层网络的权重矩阵,b(1)为偏置向量。类似的,第一层的lstm的输出融合了将来的信息,公式如(7)所示:

而整个网络框架下当前隐藏层的输出ht由两者组合得到,公式如(8)所示:

其中,符号||表示向量的首尾拼接。

三、条件随机场(crf)

条件随机场是一种基于条件概率的概率无向图模型。在命名实体识别中,给定文本输入序列x=(x1,x2,...,xn),n为词的个数,xi表示文本输入序列的第i个词,则y=(y1,y2,...,yn)为输出序列,且y的集合为t={b-per,i-per,b-loc,i-loc,b-org,i-org,o},输出序列yi与输入序列xi一一对应。在给定输入序列x取值为x的条件下,在输出序列y取值为x的条件概率为p(y∣x),则条件概率p(y∣x)即为条件随机场。如公式(9)、公式(10)所示:

其中,tk()、sl()为特征函数,表示转态转移矩阵,λk、μl为矩阵权重参数,s(x)为归一化因子。

x=(x1,x2,...,xn)和y=(y1,y2,...,yn)这种一一对应具有相同的结构的crf即为线性链条件随机场,如图4所示。

本发明idcnn-crf命名实体识别模型和bert-bilstm-crf命名实体识别模型的模型理论说明如下:

idcnn-crf模型理论

膨胀卷积神经网络没有pooling,避免上下采样保持维度相同的同时丢失信息。因而,不会降低感受野。膨胀卷积神经网络相比普通的卷积神经网络,增加了膨胀宽度参数。膨胀宽度指的是卷积操作的膨胀大小,输入矩阵按照步长大小忽略中间部分,从而可以得到范围更大的感受野。

idcnn框架如图6所示,黑点位置表示卷积核的特征信息,外层方格表示卷积操作的感受野,用f表示。

图6中第一张图的膨胀宽度为1,相当于普通的卷积神经网络,感受野f=3*3=9;第二张图是膨胀宽度为2的膨胀卷积操作,卷积核大小不变,还是3*3,由于增加了膨胀宽度,步长中间的数据忽略,使得感受野的范围扩大,为f=7*7=49。

在命名实体识别中,文本序列的每个词xi在滑动窗口,即膨胀宽度的范围内联接,做映射矩阵wc,再进行卷积操作后得到t个词的输出zt,如公式11所示:

其中,xi表示文本序列中第i个词,k表示膨胀卷积神经网络迭代的次数,符号表示联接操作。以上公式膨胀宽度为ω=1,即普通的卷积神经网络在ner中的卷积操作,当膨胀宽度ω>1时,膨胀卷积神经网络不再作用于连续的文本序列,根据膨胀宽度扩大文本序列范围,获得较远的词之间的特征信息,再与仿射矩阵wc联接,得到膨胀卷积操作输出的结果,如公式12所示:

由图6可知,idcnn设计了两层,第一层膨胀宽度为1,取相邻字符之间所有的特征信息;第二层膨胀宽度为2,取滑动窗口f=3*3=9之间的字符,可以捕获上下文特征信息的依赖关系。第一层的膨胀卷积输出序列hn如公式13所示:

其中,表示膨胀宽度为1的第一层卷积层则第j层的卷积层输出为r()为relu激活函数,最后一层输出所有词的特征信息,膨胀宽度设为1,输出公式如14所示:

最后将这两层的卷积操作作为一个整体,idcnn迭代k次后,得到文本序列最终的输出结果。

bert-bilstm-crf模型理论

bert内部结构为双层双向transformer,融合字左右两边的特征信息,构建完整的上下文环境,bert提出了两种无监督的预训练任务:mask语言模型(masklm)和下一句预测(nextsentenceprediction,nsp)。两个任务分别捕获词特征和句子特征,再将结果结合起来。

mask语言模型

双向lstm预测上下文信息是将前向信息和后向信息拼接在一起,例如:

“长春是吉林的省会”,预测“吉林”的时候,从左往右只能看到“长春”,从右往左只能看到“省会”,并没有真正的看到“长春”和“省会”。bert通过mask的方式解决了此问题,真正的做到了双向语言模型。masklm的原理是,将“吉林”遮住,用“长春”和“省会”预测,上下文信息连在一起,得到“吉林”。bert进行mask的方式为在训练样本随机选取15%的词,在这些词中,有80%的可能会掩盖这个词,10%的可能选取任意词进行替换,还有10%的可能保持原样不变。

下一句预测

在mask语言模型中,bert建立了词级别的依赖关系,而nsp的目的是学

习句子级别的依赖关系,比如问答系统,需要句子与句子之间的关联。bert进行nsp的方式为:将训练样本分为两类,用50%的语料构建正常句子对a-b,b为a的下一句,记为isnext;用50%的语料构建非正常语序对,b选取语料中随机的句子,记为notnext。通过对句子的关系做分类,预测b是否是a的下一句,表征句子级别的关系。

实验结果与分析:

idcnn-crf模型实验

构建idcnn-crf模型在不同实验参数下的横向对比实验主要分为以下三个方面:是否加载预训练词向量对实验结果的影响、字向量维度的大小对实验结果的影响以及学习率的大小对实验结果的影响。通过调整不同参数,在不同数据集中进行实验,找出适合实验的最优参数组合,为不同模型的纵向对比实验做铺垫。

加载预训练词向量对比

为了对比预训练词向量对实验结果的影响,本文利用gensim工具包中的word2vec对大规模维基百科语料进行了训练,得到预训练词向量。固定其他参数不变,使用adam算法优化目标函数,字向量维度为100维,隐藏层维度为128维,clip设为5,学习率为0.001,dropout为0.5。在此基础上对比是否加载预训练词向量对实验结果的影响,实验结果如表1所示。

表1加载预训练词向量实验结果

由表1可知,随机词向量具有不确定性,在《人民日报》数据集中准确率比加载预训练词向量要高,而在召回率和f1值的比较中,word2vec词向量要比初始化随机词向量高,分别提高0.78%、0.73%;在msra数据集中,word2vec词向量的准确率、召回率、f1值均比随机词向量高,分别提高0.95%、1.62%、2.18%,因此,在后续的实验中均加载预训练词向量。

字向量维度对比

为了选择合适的字向量维度,分别从50维、100维、200维对模型进行训练,得到的实验结果如表2所示。

表2不同字向量维度实验结果

由表2可知,在固定其他参数的前提下,100维的字向量维度效果要比其他维度好。维度小于100,模型训练的参数过少,模型的拟合能力较弱,随着字向量维度的增加,效果降低,容易发生过拟合现象。因而选用100维字向量较为合适。

学习率大小对比

学习率决定模型的权重更新,直接影响模型的收敛状态,对比不同学习率大小训练模型的实验结果,选取最优的学习率参数。

表3不同大小学习率实验结果

由表3可知,学习率为0.001时较为合适,后续模型学习率可设为0.001。

与基线模型对比

通过对比预训练词向量、字向量维度的大小以及学习率的大小这三个参数对深度学习模型训

练的影响,选取了一组最优的参数训练不同的模型做对比,与基线模型crf的对比实验结果如下:

表4与基线模型对比实验结果

由表4可知,利用深度学习方法和统计的方法相结合,比传统的统计方法效果要好,在《人民日报》数据集中f1值提升了10.4%,msra数据集中f1值提升了11.41%。说明idcnn-crf模型在命名实体识别任务中有出色的性能表现

一、bert-bilstm-crf模型实验

1,实验参数配置

通过之前的实验,基于bert-base的bert-bilstm-crf模型的实验参数都可以确定下来,如表5所示:

表5实验参数

2.与其他模型对比分析

为了使模型进行全面的评估,在保证相同参数的前提下,与不同模型纵向对比,分别对三类实体(人名、地名、组织机构名)的准确率、召回率、f1值比较分析,实验结果如表6所示:

表6不同模型实验结果

表6展示了不同模型在三类实体中的性能表现,根据上述实验结果,绘制了柱状图,分别表示不同模型在三类实体中的准确率、召回率、f1值。如图7,展示了不同模型的准确率。

从上图可以看出,bert-bilstm-crf模型在人名、地名、组织结构名三种实体上准确率均比其他模型要高,比idcnn-crf模型分别高出5.94%、8.99%、4.64%。如图8,展示了不同模型的召回率。

从上图可以看出,bert-bilstm-crf模型在人名、地名、组织结构名三种实体上召回率均比其他模型要高,比idcnn-crf模型分别高出3.79%、6.25%、4.08%。

如图9,展示了不同模型的f1值。

从上图可以看出,bert-bilstm-crf模型在人名、地名、组织结构名三种实体上f1值均比其他模型要高,比idcnn-crf模型分别高出4.67%、7.63%、4.36%。

综上所述,本章设计的bert-bilstm-crf模型的性能比其他模型要好,引入bert预训练词向量有显著的提升效果。说明了bert-bilstm-crf模型在命名实体识别任务中的有效性。从实体的角度看,loc效果要弱于org和per,究其原因是组织机构名存在大量的地名嵌套、缩略词、语义分歧等影响因素。

以上分析是从实体的角度出发,对比不同模型的效果,现在从模型整体效果出发,分别在《人民日报》数据集和msra数据集上对比不同模型的性能,实验结果如表7所示。

表7不同模型整体对比实验结果

为了更清晰的看出模型性能的高低,对上述结果用柱状图显示,如图10、图11所示。

从上图可以看出,bert-bilstm-crf模型在准确率、召回率、f1值三种评价指标上均比其他模型要高。在《人民日报》数据集上比idcnn-crf模型分别高出5.2%、5.93%、4.91%,在msra数据集上比idcnn-crf模型分别高出4.01%、6.98%、4.63%。从模型整体方面验证了bert-bilstm-crf模型的有效性。

虽然在上文中已经参考实施方式对本发明进行了描述,然而在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本发明所披露的实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本发明并不局限于文中公开的特定实施方式,而是包括落入权利要求的范围内的所有技术方案。


技术特征:

1.一种bert-bilstm-crf命名实体检测模型,包括:idcnn-crf命名实体识别模型和bert-bilstm-crf命名实体识别模型,其特征在于,

idcnn-crf命名实体识别模型架构如下:

embdding层为词向量层,用于将输入数据处理成词向量再送入模型,采用分布式向量表示word2vec;

idcnn层,用于将embedding层处理好的字向量或者词向量送入到idcnn层,经过膨胀卷积神经网络的膨胀卷积操作,对输入的字向量重新计算,得到新的向量表示;

投影层,用于从idcnn层神经网络计算出的向量表示进行线性转换,转换后的维度即为标签的维度,与标签的维度保持一致,再进过softmax归一化处理,得到概率p,假设映射后的向量表示维度为m维,则m维字向量的概率表示组合得到向量,每一维向量可以看作每一类标签的概率,取概率最大的种类得到分类结果,即可完成命名实体识别任务;

crf层,用于通过转移矩阵筛选出最优的结果反馈给用户;

bert-bilstm-crf命名实体识别模型架构如下:

bert层,bert的输入是由单字组成的句子,bert对文本序列处理后获得每个字的向量表示之后,作为下一层bilstm的输入;

bilstm-crf层,文本序列经过bert处理得到对应bert预训练词向量的向量表示,进入bilstm单元,计算bilstm的输出结果,送入crf,计算最佳序列标签。

2.根据权利要求1所述的一种bert-bilstm-crf命名实体检测模型,其特征在于,所述embdding层通过训练大规模语料库,获得上下文字的依赖关系,将预训练好的100维维基百科词向量,加上20维的分词特征作为输入,送入下一层。

3.根据权利要求1所述的一种bert-bilstm-crf命名实体检测模型,其特征在于,所述crf层将深度学习得到的结果与统计学习模型相结合,利用crf维持一个矩阵,转移标签之间的概率,把m维的标签转换为(m 2)*(m 2),多出的两个维度表示状态的开始和结束,通过这两个参数的变化学习标签转换的规律,修正无效标签。

4.根据权利要求1所述的一种bert-bilstm-crf命名实体检测模型,其特征在于,所述bert层中句子的开头用cls标记,用sep表示句子的分隔和结束,bert的输入由词向量、段向量和位置向量三个部分组合而成。

5.根据权利要求1所述的一种bert-bilstm-crf命名实体检测模型,其特征在于,所述bilstm-crf层中bilstm的前向lstm计算当前词及其左边词的语义表示,后向lstm计算当前词及其右边词的语义表示,将得到的两个隐藏层的状态表示拼接起来,得到bilstm的输出结果。

6.根据权利要求1所述的一种bert-bilstm-crf命名实体检测模型,其特征在于,所述算法实现主要公式为:

7.一种bert-bilstm-crf命名实体检测装置,其特征在于,包括:

信息抽取模块,用于抽取出实体信息和实体与实体之间的语义关系;

信息检索模块,所述信息抽取模块连接有信息检索模块,用于通过对关键词的查询,筛选出与之相关的信息,利用命名实体识别检索出关键词的实体类型,对文本信息分类,缩小检索范围;

机器翻译模块,所述信息检索模块连接有机器翻译模块,用于识别出翻译目标的实体信息,再利用翻译规则对词法进行分析;

问答系统,所述机器翻译模块连接有问答系统,问答系统通过匹配关键字和实体之间的关系搜索问题的答案,将结果输出反馈给用户。

技术总结
本发明公开的属于命名实体识别技术领域,具体为一种BERT‑BiLSTM‑CRF命名实体检测模型,其包括:IDCNN‑CRF命名实体识别模型和BERT‑BiLSTM‑CRF命名实体识别模型,IDCNN‑CRF命名实体识别模型架构如下:Embdding层为词向量层,用于将输入数据处理成词向量再送入模型,采用分布式向量表示Word2Vec;IDCNN层,用于将embedding层处理好的字向量或者词向量送入到IDCNN层,经过膨胀卷积神经网络的膨胀卷积操作,对输入的字向量重新计算,得到新的向量表示。该BERT‑BiLSTM‑CRF命名实体检测模型及装置,以BiLSTM‑CRF模型为基准,使用北京大学标注好的《人民日报》数据集和微软亚研院MSRA命名实体识别数据集,构建了IDCNN‑CRF模型以及BERT‑BiLSTM‑CRF模型,提高了命名实体识别的准确度以及运行效率,缩短了模型训练时间。

技术研发人员:彭涛;王上;姚田龙;包铁;张雪松
受保护的技术使用者:吉林大学
技术研发日:2021.06.07
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-7772.html

最新回复(0)