法律状态公告日
法律状态信息
法律状态
2022-06-03
公开
发明专利申请公布
技术领域
本发明涉及命名实体识别技术领域,尤其涉及一种基于Bert与Scat的页岩气领域命名实体识别方法。
背景技术
随着非常规油气勘探开发节奏加快,为进一步深化页岩气数据信息化处理,构建智能分析系统,需先对其底层数据进行分析处理,抽取相应实体对象。但传统页岩气数据分析中大多是对结构化数据进行研究,利用数据仓库工具进行挖掘。并未使用到先进的命名体识别技术(Named Entity Recognition,NER)。
而页岩气领域中的命名实体具有层次结构复杂性,如水平井压裂技术,水平井表示一种井的类型、然而水平井压裂技术表示一种技术,这种命名实体识别在命名实体任务中被细分为嵌套命名实体识别(Nested Named Entity Recognition,Nexted NER)。NextedNER指的是一个实体中嵌套着多个类型不一致的小实体,这些小实体所属类型可能和大实体类型不一样。
现有的Nexted NER比较主流的方法是Bert+Attention,其中所用到的Bert是一个预训练的语言表征模型,在命名实体识别中能够能够利用上下文信息来预测被掩码标记的字或词,同时通过内部的Transformer网络来实现上下文信息的编码;所用的Attention是一种传统的机器学习方法,在命名实体识别中能够聚焦字词之间的上下文关系。
上述基于Bert+Attention的方法需要自行从命名实体识别数据集中学习词嵌入表示,这里存在的缺陷包括了:Bert在捕获语义信息时无法无法捕获底层文本中更细粒度的语义信息;页岩气领域命名实体识别数据集本身规模不算大,能够从中捕获语义信息质量有限;传统Attention不能并行处理数据,这导致其不能一次性转换N个实体查询。此外,在在本领域中存在着这一特性——命名实体多以多个小实体存在,而基于Bert+Attention的方法中的Attention机制不能处理多个实体词汇组成的一个大实体情况。
发明内容
本发明的目的针对目前技术在Nexted NER中存在的不住,提供基于Bert与Scat的页岩气领域命名实体识别方法。本发明能够解决词无法捕获底层文本中更细粒度的语义信息和无法解决的一词包含多个不同类型词的问题,并且能够避免attention不能并行处理数据,而导致其不能一次性转换N个实体查询这一问题,同时通过二分法来实现预测实体与最佳实体集的匹配,从正面提高预测的准确率。
为实现所述发明目的,所提供的技术方案是Bert与Scat的页岩气领域命名实体识别方法,其特征在于,包括以下步骤:
S1:从谷歌官方网获取预训练的Bert中文语言模型;
S2:对页岩气领域的原始语料数据进行数据清洗和数据标注,构建页岩气领域命名实体识别的训练集;
S3:将得到的页岩气领域命名实体识别的训练集输入到预训练好的Bert语言模型;
S4:将Bert语言模型的输出的i层嵌入信息依次输入到双向LSTM神经网络;
S5:将双向LSTM神经网络的输出得最终序列输入到自关注和交叉关注机制的Scat联合模块进行序列解码,在通过二分法来实现最佳实体预测;
S6:使用训练完成得到的完整页岩气领域命名实体识别模型,对页岩气领域文本进行命名实体识别。
进一步地,预训练的Bert语言模型的获取方式是直接下载谷歌官方预训练好的中文Bert语言模型chinese_L-12_H-768_A-12。
进一步地,所述对页岩气领域命名实体识别的原始文本数据进行数据清洗和数据标注,构建页岩气领域命名实体识别的训练集的步骤中,包括步骤:
S1:对页岩气领域原始文本数据进行多余的符号、数据乱码和空白行等常规数据预处理;
S2:根据项目需求确定以下实体类型:井名(Well)、地名(Loc)、能源名(Ene)、工具名(Tool)、机构名(Org)、技术名(Tech);
S3:采用图3的实体标注方法对页岩气领域原始文本数据进行标注。
进一步地,所述将Bert语言模型的输出输出的i层嵌入信息依次输入到双向LSTM神经网络,包括步骤:
S1:经过Bert模型计算获得i层嵌入信息,然后和通过Glove预训练的训练向量、通过NLP平台获得Pos向量、字符向量char级联起来表示该序列的信息x
S2:将x
S3:通过级联操作,获得最终序列信息H
进一步地,所述双向LSTM神经网络的输出得最终序列输入自关注和交叉关注机制的Scat联合模块进行多次迭代训练,在通过二分法层来实现最佳实体预测,包括步骤:
S1:Scat层转换N个实体查询H
S2:Scat层的自关注机制,解码器能够捕获实体之间的依赖关系。Scat层的解码器还可以通过交叉注意机制有效地捕获来自双向LSTM层中张量的上下语义信息H
S3:Scat层采用MLP算法通过Scat特征转移矩阵计算出所有实体边界和实体类型概率的分数:
P
P
P
其中P
S4:二分法层采用二分法来实现预测实体集和最佳实体集之间的最佳匹配:
其中y表示实体最佳集合,
S5:采用二分法层的最佳预测函数与Scat层的MLP算法的输出的加权和来更新模型的参数。
进一步地,所述使用训练完成得到的完整命名实体识别模型,对页岩气领域文本进行命名实体识别的步骤中,包括步骤:
S1:将需要页岩气领域命名实体识别的语句输入到训练完成的完整页岩气领域命名实体识别模型;
S2:输入的序列在经过预训练好的Bert语言模型后依次通过双向LSTM神经网络输出最终序列H
S3:使用二分法类算法在Scat层的解码层完成最佳实体集与预测实体集之间的匹配,即得到了实体分类层的实体的左右边界的最佳概率和实体分类的最佳概率;
S4:将最大概率的得分向量所在的实体和实体类型取出来,作为命名实体识别的结果。
附图说明
图1是本发明实施例中基于Bert与Scat的页岩气领域命名实体识别模型;
图2是本发明中一种基于Bert与Scat的页岩气领域命名实体识别的流程图;
图3是本发明中页岩气实体识别方法的数据标注图。
具体实施方式
如图1所示为一种基于BERT与Scat的页岩气领域命名实体识别模型,如图2所示的页岩气领域命名实体识别流程图,如图3所示的页岩气领域数据样例标注图,所述模型包括Bert语言模型、双向LSTM、Scat层以及二分法,所述方法包括步骤:
S1、从谷歌官方网获取预训练的Bert中文语言模型;
直接下载谷歌官方预训练好的中文Bert语言模型chinese_L-12_H-768_A-12。
S2、页岩气领域命名实体识别的原始文本数据进行数据清洗和数据标注,构建页岩气领域命名实体识别的训练集包括步骤:
S21、对页岩气领域原始文本数据进行多余的符号、数据乱码和空白行等常规数据预处理;
S22、根据项目需求确定以下实体类型:井名(Well)、地名(Loc)、能源名(Ene)、工具名(Tool)、机构名(Org)、技术名(Tech);
S23、为了应对实体多以嵌套为主、难以区分实体边界的情况,采用多级标注实体方法如图3所示。
S24、结合步骤S22和S23的标注规则,对于未标注过的页岩气领域原始文本数据进行人工标注。
S3、将步骤S2预处理所得的页岩气领域命名实体识别的训练集数据输入到预训练好的Bert语言模型。
具体地,将得到的页岩气领域命名实体识别的训练集输入到预训练好的Bert语言模型,Bert语言模型输出为i层嵌入信息向量。
S4、将步骤S3中的Bert语言模型的输出,所述将Bert语言模型的输出输出的i层嵌入信息依次输入到双向LSTM神经网络,包括步骤:
S41、经过Bert模型计算获得i层嵌入信息,然后和通过Glove预训练的训练向量、通过NLP平台获得Pos向量、字符向量char级联起来表示该序列的信息x
S42、将x
S43、通过级联操作,获得最终序列信息H
S5、将步骤S4中LSTM输出的最终序列信息H
S51、Scat层转换N个实体查询H
S52、Scat层的自关注机制,解码器能够捕获实体之间的依赖关系。Scat层的解码器还可以通过交叉注意机制有效地捕获来自双向LSTM层中张量的上下语义信息H
S53、Scat层采用MLP算法通过Scat特征转移矩阵计算出所有实体边界和实体类型概率的分数;
P
P
P
其中P
S54、二分法层采用二分法来实现预测实体集和最佳实体集之间的最佳匹配。
其中y表示实体最佳集合,
S6、使用步骤S5训练完成得到的完整页岩气领域命名实体识别模型,对页岩气领域文本进行命名实体识别,包括步骤:
S51、将需要页岩气领域命名实体识别的语句输入到训练完成的完整页岩气领域命名实体识别模型;
S52、输入的序列在经过预训练好的Bert语言模型后依次通过双向LSTM神经网络输出最终序列H
S53、使用二分法类算法在Scat层的解码层完成最佳实体集与预测实体集之间的匹配,即得到了实体分类层的实体的左右边界的最佳概率和实体分类的最佳概率;
S54、将最大概率的得分向量所在的实体和实体类型取出来,作为命名实体识别的结果。
综上所述,仅为本页岩气实体识别方法效果较佳实施例而已,并不是用来约束本发明,凡在本发明的精神与原则范围内所作的相关修改、等同替换和改进等,均应包含在本发明的保护范围之内。