技术领域
本发明属于命名实体识别领域,具体涉及一种基于注意力机制的BERT-BiGRU-IDCNN-CRF的命名实体识别方法。
背景技术
命名实体识别(named entity recognition,NER)是自然语言处理领域的基本任务之一,即识别出文本中体现概念的实例,即实体,如人名、地名、机构名等。命名实体识别在信息抽取,问答系统,智能翻译以及知识图谱构建等任务上得到了广泛的应用。
对于命名识别的方法主要分为以下三类:
第一类基于词典和规则的方法,这种方法首先通过人工构造词典或规则模板,通过匹配的方式进行命名实体识别。
第二类是基于统计机器学习的方法,该方法将命名实体识别任务看作是序列标注问题,利用大规模语料来学习标注模型。这类方法主要包括隐马尔可夫模型(HMM)、最大熵模型(MEM)、支持向量机(SVM)和条件随机场(CRF)等。
第三类为基于深度学习的方法,即将字或词映射到向量空间,然后输入到神经网络中进行特征提取和标签预测,其中较为流行的神经网络模型为BiLSTM-CRF,该模型能够通过BiLSTM提取全局的上下文特征,同时通过CRF捕捉标签之间的依赖关系,进行修正后输出。同时为了加快收敛速度,有学者提出了BiGRU-CRF模型。
上述现有技术存在以下缺点:
1.第一个阶段是是采用基于词典和规则的方法,这种方法的缺点是其依赖于语言学家的手工构造的规则模板,不仅耗费人工,且存在主观因素,容易产生错误,不同领域间无法移植。
2.基于统计机器学习的方法在特征提取方面仍需要大量的人工参与,且严重依赖于语料库。
3.基于深度学习方法中的主流模型BiLSTM-CRF其缺点在于,词嵌入层的词向量无法表征一词多义,进而影响了下层的识别效果,此外BiLSTM和BiGRU在提取全局的上下文特征的时候,会忽略掉部分局部特征。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种基于注意力机制的BERT-BiGRU-IDCNN-CRF的命名实体识别方法。本发明的技术方案如下:
一种基于注意力机制的BERT-BiGRU-IDCNN-CRF的命名实体识别方法,其包括以下步骤:
S1、基于大规模无标注预料进行BERT(bidirectional encoder representationfrom transformers)模型的训练;BERT模型包括embedding(词嵌入)层、双向Transformer编码层和输出层;embedding层即模型的输入,Transformer编码使用的是多头注意力机制;
S2、获取命名实体识别模型的训练语料数据并进行标注,构建数据集;
S3、在步骤S1得到的训练好的BERT模型的基础上,构建BERT-BiGRU-IDCNN-Attention-CRF神经网络模型,并将此模型在步骤S2得到的数据集上进行训练;
S4、利用步骤S3得到训练好的基于BERT-BiGRU-IDCNN-Attention-CRF的神经网络模型对待识别文本进行命名实体识别,得到识别结果。
进一步的,所述步骤S1中,embedding层是词嵌入、位置嵌入、类型嵌入之和,分别表示词信息,位置信息,句子对信息;
Transformer由自注意机制和前馈神经网络组成,自注意力机制是计算文本序列中词与词之间的关联程度,并根据关联程度的大小来调整权重系数的大小,关联程度大小的计算方法如下:
其中:Q表示查询向量,K表示键向量,V表示值向量,同时为了使Q、V的内积不至于过大,于是引入了惩罚因子
Transformer编码结构使用的是多头注意力机制,即将Q、K、V进行多次不同的线性映射,并将得到的新的Q、K、V重新计算得到不同的Attention(Q,K,V)并将它们进行拼接,W是权重矩阵,具体方法如下:
MultiHead(Q,K,V)=Concat(head
head
head
FFN(Z)=max(0,ZW
W1、b1分别表示多头注意力机制到求和归一化层的权重和偏置,W2、b2分别表示求和归一化层到全连接前馈神经网络的权重和偏置。BERT模型通过在大规模无标注数据上进行训练,得到相应的参数,推理输出输入序列的词向量表示,即T
进一步的,所述步骤S2获取命名实体识别模型的训练语料数据并进行标注,构建数据集,具体包括:
S2-1、对于命名实体识别的原始语料进行常规数据处理,包括对错别字进行修正以及对字符进行规模化;
S2-2、根据实际的应用需求确定所要识别的实体类别;
S2-3、为了应对实体长度不一、难以区分实体边界的情况,采用BIO三段式实体标注方法:B表示实体的第一个字符,I表示实体中第一个字符后面的字符,O表示非实体。
进一步的,所述步骤S3构建BERT-BiGRU-IDCNN-Attention-CRF神经网络模型,具体包括步骤:
S3-1、将步骤S2预处理所得的命名实体识别的训练集输入到步骤S1训练好的BERT预训练模型,BERT模型输出词嵌入向量;
S3-2、将BERT预训练语言模型输出的词向量输入给BiGRU(bidirectional gatedrecurrent unit)神经网络模型;
S3-3、将BERT预训练语言模型输出的词嵌入向量输入给IDCNN(iterativedilated convolutional network)迭代膨胀卷积神经网络模型;
S3-4、将BiGRU和IDCNN神经网络输出的特征向量进行合并;
S3-5、将步骤S3-4得到的合并的特征向量输入给注意力机制模块,对提取到的特征进行权重分配,强化对于命名实体识别起关键作用的特征,弱化无关特征;
S3-6、将步骤S3-5得到的经过权重分配的特征向量,输入到CRF层,提取标签之间的依赖特征,并计算损失函数;
S3-7、采用SGD随机梯度下降法用CRF层的损失函数更新整个命名实体识别模型的参数,所述参数包括BiGRU神经网络模型、IDCNN神经网络模型、Attention层和CRF层在内的模型参数,BERT模型的参数保持不变,当模型产生的损失值满足设定要求或者达到设定的最大迭代次数时,终止模型的训练。
进一步的,所述步骤S3-2将BERT预训练语言模型输出的词向量输入给BiGRU神经网络模型;GRU是一种特殊的循环神经网络,其神经元的状态计算如下:
z
r
其中σ是sigmod函数,x
进一步的,所述步骤S3-5、将步骤S3-4得到的合并的特征向量输入给注意力机制模块,对提取到的特征进行权重分配,强化对于命名实体识别起关键作用的特征,弱化无关特征;
定义特征向量集合H={h
进一步的,所述步骤S3-6将步骤S3-5得到的经过权重分配的特征向量,输入到CRF层,提取标签之间的依赖特征,并计算损失函数,具体包括:
对于一个输入特征向量X,其对应的预测序列为Y,通过计算Y的评分函数,得到预测序列Y产生的概率,最后计算当预测序列产生概率的似然函数为最大时的预测标注序列作为输出,其中预测序列Y的评分函数的计算方法如下:
A表示转移分数矩阵,n表示词的个数,yi表示预测序列Y的第i个标签,A
其中,
训练损失函数为:
进一步的,所述步骤S4利用步骤S3得到训练好的基于BERT-BiGRU-IDCNN-Attention-CRF的神经网络模型对待识别文本进行命名实体识别,得到识别结果,包括步骤:
S4-1、将需要进行命名实体识别的文本数据输入到训练好的BERT-BiGRU-IDCNN-Attention-CRF神经网络模型;
S4-2、文本数据经过BERT模型后转化为词向量,词向量经过BiGRU和IDCNN神经网络进行特征提取,然后经过Attention层对提取到的特征进行权重分配,最后在CRF层采用维特比算法求出每句话最大可能的标注序列,即为命名实体识别的结果。
本发明的优点及有益效果如下:
本发明提出了一种基于注意力机制的BERT-BiGRU-IDCNN-CRF的命名实体识别方法。本发明能够解决词向量不能表征一词多义的问题,并能改善BiGRU模块提取上下文特征的过程中忽略掉局部特征的缺点,同时能强化对分类起关键作用的特征,弱化无关特征。
1、本发明所使用的BERT模型能够通过在大规模无标注数据进行无监督训练,能够结合上下文语义信息进行预训练,学习到词级别、句法结构的特征和上下文的语义信息特征,以解决静态词嵌入不能表征一词多义的缺点。
2、引入了IDCNN神经网络,提取文本序列的局部特征,以弥补BiGRU神经网络在提取全局的上下文特征的时候,忽略到局部特征的缺陷。
3、在BiGRU和IDCNN提取的全局上下文特征以及局部特征的基础上,引入注意力机制,通过对特征进行权重分配,强化对命名实体起关键作用的特征,弱化或忽视无关特征,以此进一步提高命名实体识别的准确率。
本发明的创新主要是在BiGRU神经网络在提取全局的上下文特征的时候,融合了IDCNN神经网络提取到的局部特征,以弥补BiGRU神经网络忽略局部特征的缺点,同时BiGRU神经网络只有2个门结构,相比于BiLSTM神经网络训练参数更少,训练速度更快。另一方面在BiGRU神经网络和IDCNN神经网络提取到的融合特征的基础上,引入注意力机制对特征进行权重分配,强化对分类起关键作用的特征,弱化无关特征,以达到更好的识别效果。
附图说明
图1是本发明提供优选实施例基于BERT-BiGRU-IDCNN-Attention-CRF神经网络模型的命名实体识别方法的流程示意图;
图2是本发明实施例的BERT模型的结构图;
图3是本发明实施例的BERT-BiGRU-IDCNN-Attention-CRF神经网络模型的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
如图1所示,为本发明的基于注意力机制的BERT-BiGRU-IDCNN-CRF的命名实体识别方法的流程示意图。包括以下步骤:
S1、基于大规模无标注预料进行BERT模型的训练;
具体地,BERT模型的结构如图2所示,主要包括模型embedding层、双向Transformer编码和输出层。
embedding层即模型的输入,其是词嵌入,位置嵌入,类型嵌入之和,分别表示词信息,位置信息,句子对信息。
Transformer由自注意机制和前馈神经网络组成,自注意力机制的工作原理主要是计算文本序列中词与词之间的关联程度,并根据关联程度的大小来调整权重系数的大小,关联程度大小的计算方法如下:
其中:Q表示查询向量,K表示键向量,V表示值向量,同时为了使Q、V的内积不至于过大,于是引入了惩罚因子
Transformer编码结构使用的是多头注意力机制,即将Q、K、V进行多次不同的线性映射,并将得到的新的Q、K、V重新计算得到不同的Attention(Q,K,V)并将它们进行拼接,W是权重矩阵,具体方法如下:
MultiHead(Q,K,V)=Concat(head
head
在Transformer结构中如果多头注意力机制的输出表示为Z,b是偏置向量,则全链接前馈网络(FFN)可以表示为:
FFN(Z)=max(0,ZW
BERT模型通过在大规模无标注数据上进行训练,得到相应的参数,推理输出输入序列的词向量表示,即T
S2、获取命名实体识别模型的训练语料数据并进行标注,构建数据集,包括以下步骤:
S2-1、对于命名实体识别的原始语料进行常规数据处理,包括对错别字进行修正以及对字符进行规模化等;
S2-2、根据实际的应用需求确定所要识别的实体类别;
S2-3、为了应对实体长度不一、难以区分实体边界的情况,采用BIO三段式实体标注方法:B表示实体的第一个字符,I表示实体中第一个字符后面的字符,O表示非实体。
S3、在步骤S1得到的训练好的BERT模型的基础上,构建BERT-BiGRU-IDCNN-Attention-CRF神经网络模型,其模型结构如图3所示,并将此模型在步骤S2得到的数据集上进行训练,包括以下步骤:
S3-1、将步骤S2预处理所得的命名实体识别的训练集输入到步骤S1训练好的BERT预训练模型,BERT模型输出词嵌入向量;
S3-2、将BERT预训练语言模型输出的词向量输入给BiGRU神经网络模型;
具体地,GRU是一种特殊的循环神经网络,其神经元的状态计算如下:
z
r
其中σ是sigmod函数,x
S3-3、将BERT预训练语言模型输出的词嵌入向量输入给IDCNN神经网络模型;
具体地,迭代膨胀卷积神经网络(IDCNN)是由多层不同膨胀宽度的膨胀卷积神经网络(Dilated CNN,DCNN)组成,DCNN相对于传统的卷积神经网络,其卷积核做了膨胀处理,因此增加了感受野。在膨胀宽度为2的3x3大小的卷积核,但是其感受野扩展为7x7。DCNN的好处在于不改变卷积核大小的情况下,使卷积输出包含更大视野的信息。
S3-4、将BiGRU和IDCNN神经网络输出的特征向量进行合并;
S3-5、将步骤S3-4得到的合并的特征向量输入给注意力机制模块,对提取到的特征进行权重分配,强化对于命名实体识别起关键作用的特征,弱化无关特征;
具体地,定义特征向量集合H={h
S3-6、将步骤S3-5得到的经过权重分配的特征向量,输入到CRF层,提取标签之间的依赖特征,并计算损失函数;
具体地,对于一个输入特征向量X,其对应的预测序列为Y,通过计算Y的评分函数,得到预测序列Y产生的概率,最后计算当预测序列产生概率的似然函数为最大时的预测标注序列作为输出。其中预测序列Y的评分函数的计算方法如下:
A表示转移分数矩阵,A
其中,
训练损失函数为:
S3-7、采用SGD(随机梯度下降法)用CRF层的损失函数更新整个命名实体识别模型的参数,所述参数包括BiGRU神经网络模型、IDCNN神经网络模型、Attention层和CRF层在内的模型参数,BERT模型的参数保持不变,当模型产生的损失值满足设定要求或者达到设定的最大迭代次数时,终止模型的训练。
S4、利用步骤S3得到训练好的基于BERT-BiGRU-IDCNN-Attention-CRF的神经网络模型对待识别文本进行命名实体识别,得到识别结果,包括步骤:
S4-1、将需要进行命名实体识别的文本数据输入到训练好的BERT-BiGRU-IDCNN-Attention-CRF神经网络模型;
S4-2、文本数据经过BERT模型后转化为词向量,词向量经过BiGRU和IDCNN神经网络进行特征提取,然后经过Attention层对提取到的特征进行权重分配,最后在CRF层采用维特比算法求出每句话最大可能的标注序列,即为命名实体识别的结果。
上述实施例阐明的模块或方法,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
机译: 基于注意力机制和相关设备的路图象目标检测方法
机译: 基于注意力机制的音频分割方法
机译: 基于注意力机制的音频分割方法