基于BERT-BiLSTM-CRF模型的油气领域命名实体识别

2024-01-29 10:01高国忠李宇华远鹏吴文旷
长江大学学报(自科版) 2024年1期
关键词:语料实体油气

高国忠,李宇,华远鹏,吴文旷

1.长江大学地球物理与石油资源学院,湖北 武汉 430100 2.中国石油勘探开发研究院,北京 100083

随着油气勘探开发的深入和石油工程技术的发展,石油公司在勘探、地质和测井等各个环节积累的油气资源数据呈爆发式增长,这些数据除了具有大体量、多样性、时效性、准确性和低密度价值的5个特点外[1],油气数据通常还涉及到多源、多模态等特点。由于缺乏统一的语义表示,多源油气数据呈现的异构特征,数据整合共享和挖掘分析难度较大。例如,全球盆地、油气田、油气藏和井资料数量数不胜数,质量参差不齐,各类油气论文书籍中文本表示不规范、格式不统一,导致无法快速精准定位盆地、油气田等领域专有名词,无法根据非结构化资料进行及时高效的油气资源评估和开发方案设计。

解决上述问题的关键在于如何通过知识工程技术构建一种计算机可理解、可计算、可推理的语义网络,实现对知识的有效组织和管理[2]。随着知识工程技术不断完善,谷歌公司在2012年5月17日正式提出了知识图谱(knowledge graph,KG)[3],意图提升搜索返回的答案质量和用户查询的效率[4],它把复杂的知识领域通过数据挖掘和信息处理以图的形式显示出来,揭示知识领域的动态发展规律[5],直观描述了事物之间的联系。规模大、数据全的知识图谱主要包括信息抽取、知识融合和知识加工三项技术;而油气领域命名实体识别(name entity recognition,NER)[6]是油气信息抽取的核心任务之一,其主要目的是从半结构化或非结构化的油气文本数据中抽取所需要的实体信息,并为实体所属类别自动打上标签[7]。命名实体识别在知识图谱、信息检索、文本理解、语义分析和本体构建等领域具有广泛的研究和应用[8-9],其重要性也越来越明显。

命名实体识别研究历史进程大致分为以下几个阶段:①基于规则和词典的方法需要领域内专家构建一个数量大且全面的知识库和词典[10],观察实体组成成分,依据语法规则总结出模板。该方法在其特定语料上识别效果较高,但这些规则过分依赖具体领域和具体语言,难以覆盖所有方面,容易产生错误,存在可移植性差、代价大和建立知识库周期长等问题。②基于统计的机器学习方法需要融合机器学习、统计学和语言学的相关知识建立模型,该方法本质是序列标注,利用人工标注的语料文本进行有监督训练。和基于规则的方法相比,该方法的实体识别效果有一定程度提升。常见基于统计的机器学习方法模型有:隐马尔科夫模型(hidden markov model,HMM)[11],最大熵[12],支持向量机(support vector machine,SVM)[13]和条件随机场(conditional random fields,CRF)[14]等。其中HMM利用Viterbi算法搜索最佳标注路径[15],在训练和识别速度上相对快一点,更适合处理像信息检索这样具有大量文本的应用,如短文本命名实体识别[16];CRF为命名实体识别提供了一个特征灵活和全局最优的标注框架[17]。③基于深度学习的方法利用深度神经网络强大的非线性转化能力、向量表示能力和计算能力来获取词和文本的向量表示[18],减少特征工程的工作量,同时学习上下文语义信息来更好地完成实体识别任务。这种方法具有良好的泛化能力,并逐渐成为主流[19-30]。

针对石油领域实体识别研究,刘国强等[31]采用基于自然语言处理技术结合人工修正的方式对区块、井、地层、储集层和测井曲线等实体进行命名实体识别;张雪英等[32]提出了基于深度信念网络的地质实体识别方法,解决了文本数据中地质实体信息的结构化、规范化处理问题;钟原等[33]提出利用BiLSTM神经网络模型提取语料特征、CRF做分类器,来开展石油工业领域的实体识别任务。虽然上述模型一定程度上完成了实体任务,但存在一定缺陷:它们注重词或者字符之间的特征,而忽略了词的上下文语境[34],从而导致提取出来的是静态词向量,不能有效识别词在不同语境中存在的不同语义信息。为了解决这一问题,DEVLIN等[35]于2019年提出BERT预训练模型,旨在能够更好地增强词或者字符之间的关系特征,充分表达词在不同语境中具有的不同语义。在此基础上,本文提出一种BERT-BiLSTM-CRF神经网络模型,用于解决油气领域命名实体识别实体特征信息提取不准确和识别效率低的问题:首先将油气领域数据文本转换成字符级别的序列,利用BERT预训练模型提取富有多种语义特征的词向量;再将预训练的油气领域词向量输入BiLSTM模型中提取上下文语义特征;最后通过CRF依赖规则和序列解码能力输出最佳的标注结果。本文使用自建油气领域数据集对BERT-BiLSTM-CRF与另外两种实体识别模型BiLSTM-CRF和BiLSTM-Attention-CRF进行了对照实验,结果表明该模型在油气领域命名实体识别任务中取得了不错的效果,三次迭代实验F1值都达到了90%以上。

1 BERT-BiLSTM-CRF模型框架

1.1 模型整体框架及其流程

图1 BERT-BiLSTM-CRF模型框架图 Fig.1 Framework of the BERT-BiLSTM-CRF model

本文提出BERT与传统命名实体识别BiLSTM-CRF模型相结合的方法,其模型结构主要由三部分组成:BERT层、双向LSTM层、CRF层。其详细模型构建流程如图1所示。输入层以“四川盆地”为例作为模型的输入序列;然后将输入序列分割得到“四”“川”“盆”“地”4个不同字符,将上述字符依据语料形成的向量表映射成向量形式,输入到BERT层;BiLSTM获取BERT层输出后,将其进行Embedding拼接,加入到前向和后向的LSTM中进行编码,并根据上下文,使用softmax函数给出单词对应标签的概率,由于softmax函数输出的单词标签相互独立,存在序列不合理情况;最后传入CRF层对BiLSTM层的输出进行修正,得到最大概率的合理序列(B-盆地、I-盆地、I-盆地、I-盆地)。下面将从BERT、BiLSTM和CRF三种模型的方法原理展开介绍。

1.2 BERT模型

自然语言处理领域对语言模型的研究经历了Onehot、Word2Vec、Glove、GPT到BERT时期,Onehot编码存在数据稀疏和维度灾难等问题[36],Word2Vec中根据周围词来预测中心词的CBOW模型和根据中心词来预测周围词的Skip-gram模型都只是获取静态的词向量,同一个单词对应的词嵌入表示在不同句子中是不变的[37],Glove模型也是如此。GPT是单向的语言模型,无法获取前文词语语义,而BERT不仅可以学习上下文语义,而且能够获取动态词向量,表达一词多义。BERT作为自然语言处理领域目前应用最广的技术,已应用于自然语言处理的各个领域[38],如命名实体识别、关系抽取、文本分类和生成等,其主要创新点在预训练阶段:MLM(掩盖部分单词)和NSP(句子预测)两个任务。MLM任务会在每一个句子中mask部分词,用其上下文来对mask的词做预测,NSP任务预测两个句子是否连在一起。这两种任务分别捕捉了词语和句子级别上的特征,可以获取高质量、多特征词向量,一定程度上解决了自然语言处理领域字向量嵌入问题。

BERT模型结构如图2(a)所示,首先对序列文本进行处理形成单个字符,在一个句子的开头、结尾分别添加[CLS]和[SEP]特殊标记来分隔两个句子;同时每个输入的词向量(E1、E2、…、EN)都包含Token Embeddings(词向量)、Segment Embeddings(区分两种句子)、Position Embeddings(位置信息)3个部分;然后将词向量输入到双向Transform中;最后输出具有语义特征的向量(T1、T2、…、TN)。

BERT模型的核心是Transformer,其编码器如图2(b)所示。Transformer主要依赖于自注意力机制[39](Self-Attention),通过同一个句子词之间的关联程度调整权重系数来获取词的重要特征。在自注意力计算过程中,每个词创建3个不同的向量矩阵:查询矩阵Q、值矩阵K和索引矩阵V[40]。计算公式为:

(1)

式中:dK表示值矩阵K第二维度。而多头注意力(multi-head attention)机制可以通过设置不同的head获得多个特征表达,然后将所有特征拼接到一起,形成全面的特征信息。计算公式为:

(2)

Multi-head(Q,K,V)=concat(head1,…,headh)WQ

(3)

式中:concat表示对每次结果进行拼接。

图2 BERT预训练模型Fig.2 BERT pre-training model

基于上述分析,BERT主要具有以下优点:①MLM和NSP任务可以充分利用上下文获取更加丰富的动态词向量;②使用Transformer作特征提取,并利用自注意力机制调整词与句子的关联程度,增强模型的计算能力。因此,本文使用BERT作为词向量模型。

1.3 BiLSTM模型

LSTM是一种特殊的循环神经网络,采用了巧妙的门设计,避免了梯度爆炸和长期依赖问题[41]。由于单向的LSTM模型无法处理上下文信息特征,因此HUANG等[20]提出BiLSTM神经网络模型用于解决序列无法联系上下文的问题。

BiLSTM层是由前向的LSTM和后向的LSTM组合而成,BiLSTM模型对每个句子采用顺序和逆序计算得到两套不同的隐层表示,然后通过向量拼接得到最终的隐层表示[42]。具体效果如图3(a)所示,其原理和计算流程如下:在Forward层从1时刻到t时刻正向计算得到并保存每个时刻向前隐层的输出,而在Backward层沿着t时刻到时刻1反向计算得到并保存向后隐层的输出,最后在每个时刻结合Forward层和Backward层的相应时刻的输出结果得到最后输出。计算公式为:

ht=f(w1xt+w2ht-1)

(4)

(5)

(6)

在BiLSTM结构内部某一时刻某单元结构图如图3(b)所示,其原理和计算流程如下。

第一步:计算遗忘门,决定从单元状态中遗忘或者舍弃哪些信息。接收前一时刻隐藏状态ht-1和当前时刻xt输入,通过sigmoid函数σ输出一个介于(0,1)的值ft来表示对单元状态Ct-1中信息被遗忘的程度(0:完全遗忘,1:完全接收)。计算公式为:

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

(7)

式中:bf为遗忘门偏置向量。

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

(8)

(9)

式中:bi为更新门偏置向量;bc为记忆单元偏置向量。

图3 BiLSTM详情结构图Fig.3 Detailed diagram of the BiLSTM structure

第三步:将前一时刻的单元状态Ct-1更新到当前时刻单元状态Ct。计算公式为:

(10)

第四步:计算输出门和当前时刻隐藏状态ht,决定需要输出什么信息。接收前一时刻隐藏状态ht-1和当前时刻Xt输入,通过计算输出一个介于(0,1)的值ot来表示单元状态Ct-1中的哪些信息需要输出;然后将单元状态Ct输入到tanh层进行处理,最后再和ot做乘积运算输出我们需要的信息。计算公式为:

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

(11)

ht=σ·tanh(Ct)

(12)

式中:bo为输出门偏置向量。

图4 CRF模型结构图Fig.4 Structure of the CRF model

经过计算每一个时刻都可以得到对应输出,形成与句子长度相同的序列(h0,h1,…,ht,…,hn)。

1.4 CRF层

CRF是一种用于解决序列标注问题的概率图模型[43],模型结构图如图4所示,接收一个观测序列(X1、X2、…、Xn),经过概率计算输出状态序列(Y1、Y2、…、Yn)。其计算方式是通过BiLSTM输出的状态分数(emission score)和转移分数(transition score)来计算句子标签对应得分,计算公式为:

(13)

式中:Pi,yi为第i个字符预测为第yi个标签的分数;Ayi,yi+1为第yi个标签转移到标签yi+1的分数。

CRF模型在自然语言处理领域中被广泛应用,尤其在实体识别任务中,BiLSTM虽然能够解决长距离的文本信息问题,但是相邻标签之间的依赖关系无法正确识别,而CRF模型能够根据自身一些约束条件正确识别相邻字符之间特征,例如句子开头是以“B-”或者“O”开始,而不是“I-”;又或者“B-label1”后面预测是“I-label1”,而不是另一类标签的实体内部“I-label2”等,减少预测错误的标签,提高识别正确率。

2 数据获取和标注

为了验证本文提出BERT-BiLSTM-CRF命名实体识别模型在油气领域的有效性和可行性,本节使用自建的油气领域语料作为实验数据集。

2.1 数据获取

表1 实验数据集统计表

本文获取了200篇文章,形成本次实验所需要的油气数据集,数据集按照8∶2的比例划分为训练集和测试集。为了增加实验的可靠性,去除了训练的文章中图片、表格,最大程度上保留文本内容。其划分的数据集统计如表1所示。

2.2 数据标注

本次标注任务采用基于网页且支持中英文的brat文本标注工具,用于对非结构化的原始文本进行结构化处理,因其可以进行多人协同标注和将brat集成到其他平台等特点,成为各项NLP任务标注语料的首选工具。笔者借助brat工具对盆地、油气田、油气藏和井4类实体进行标注,完成标注后会产生两种文件——txt文件和ann文件,分别用来存放原始文件和记录标注语料的位置信息;然后利用这两种文件,使用BIO实体标注法(B表示实体开始,I表示实体内部,O表示非实体),依次产生9类标签:B-盆地、I-盆地、B-油气田、I-油气田、B-油气藏、I-油气藏、B-井、I-井和O;最后给每个字符打上相应标签,如图5所示。其中标注实体类别和实体数量如表2所示。

图5 数据集标注示例图Fig.5 Example of dataset annotation

3 实验分析

3.1 实验环境及其参数设置

表2 标注数据统计表

表3 参数配置表

实验采用Tensorflow1.13框架和Python3.6环境,显卡Nvidia GeForce GTX 1050Ti ,内存为4 GB,预训练模型Bert-base的网络层数L=12,多头注意力个数=12,隐藏层维度=768,总共参数大小110 M。具体训练参数设置如表3所示。

3.2 模型评价指标

实验采用准确率(P)、召回率(R)和F1值作为模型识别效果的评价标准。其计算公式为:

(14)

(15)

(16)

式中:TP为模型正确识别的实体数量;FP为模型识别的非相关实体数量;FN为模型未识别的相关实体数量。

3.3 模型实验结果分析

表4 三种模型P、R、F1值

本次研究采用以下3种模型BiLSTM-CRF、BiLSTM-Attention-CRF和BERT-BiLSTM-CRF在相同的训练集和测试集上来进行参照对比实验。为了确保实验的准确性,分别进行了多组迭代实验,各组实验中模型对应的P、R和F1值如表4所示。通过表4可知,BERT-BiLSTM- CRF模型F1值在3次迭代实验中都高于其他两种模型。由于BERT预训练模型相较于传统Word2vec等模型,不仅可以训练得到动态词向量表达一词多义,而且还可以获得具有丰富语义上下文信息。

最后从自建油气领域语料库中随机抽取句子进行模型测试,结果如表5所示。测试结果表明,通过BERT-BiLSTM-CRF模型可以有效从文本中抽取所需的专有名词,适应油气领域命名实体识别任务。

表5 BERT-BiLSTM-CRF模型实体识别结果示例

4 结束语

本文针对自建油气领域数据集进行人工标记,设计和训练BERT-BiLSTM-CRF模型,自动提取油气领域实体,在一定程度上解决了实体抽取特征准确度差和识别效率低问题。在3次迭代测试实验中该模型取得了91.3%的准确率、94.5%的召回率和92.9%的F1值,实体识别效果优于BiLSTM-CRF和BiLSTM-Attention-CRF两种模型。在后续研究工作中,可通过获取更多油气领域语料数据、提升模型算法和优化超参数来进一步提高该模型的识别准确率,为实体关系抽取和构建油气领域知识图谱知识库提供高质量数据打下坚实基础。

猜你喜欢
语料实体油气
平凉,油气双破2万吨
“峰中”提前 油气转舵
《非常规油气》第二届青年编委征集通知
前海自贸区:金融服务实体
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
油气体制改革迷局
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
基于语料调查的“连……都(也)……”出现的语义背景分析
华语电影作为真实语料在翻译教学中的应用