?

基于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萬噸
“峰中”提前 油氣轉舵
《非常規油氣》第二屆青年編委征集通知
前海自貿區:金融服務實體
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
油氣體制改革迷局
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
基于語料調查的“連……都(也)……”出現的語義背景分析
華語電影作為真實語料在翻譯教學中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合