






關(guān)鍵詞/主題詞:數(shù)據(jù)資產(chǎn);數(shù)據(jù)收集;自然語言處理;修井;智能油田;新質(zhì)生產(chǎn)力
0引言
石油工程具有復雜程度高、設(shè)計深度廣、建設(shè)工期長、建設(shè)規(guī)模大等特點,眾多相互影響的因素導致石油工程問題存在多重解和不確定性[1]。分析不同因素間的關(guān)系,構(gòu)建工程地質(zhì)一體化,有利于提高地質(zhì)認識和工程實踐[2]。
傳統(tǒng)方法在對現(xiàn)場實際問題進行分析時,常采用專家人工經(jīng)驗或者針對少量因素進行仿真模擬形成對部分因素的規(guī)律認識,但難以針對整體現(xiàn)場情況形成全面的認識[3]。
隨著數(shù)據(jù)科學的興起,通過分析大量現(xiàn)場數(shù)據(jù),可揭示各因素間的復雜關(guān)系[4]。研究人員已通過現(xiàn)場數(shù)據(jù)對石油工程問題開展了研究,如在油氣勘探優(yōu)化地震和測井數(shù)據(jù)解釋建模過程,降低油氣勘探開發(fā)成本[5]、在鉆井過程中結(jié)合理論方程和實時鉆井數(shù)據(jù)對鉆進率、轉(zhuǎn)速進行了準確擬合和預測,實現(xiàn)了對井下線性、非線性和交叉類型關(guān)系的因素分析[6]、在油氣田開發(fā)中將壓裂射孔等地層改造數(shù)據(jù)與地層生產(chǎn)數(shù)據(jù)進行關(guān)聯(lián)聚類,從而識別甜點層位[7]以及在后期堵水調(diào)剖中通過對水突進、繞流、水竄、水淹等滲流通道的智能識別,并推薦相應水流通道的調(diào)堵化學藥劑[8]。并結(jié)合測試及細分智能化注采,實現(xiàn)精細化調(diào)控[9];以及在油田生產(chǎn)過程中,通過大數(shù)據(jù)和人工智能模型進行生產(chǎn)預測、監(jiān)控和調(diào)控[10]。因此通過數(shù)據(jù)驅(qū)動進行研究的智能化方法成為石油工程中處理問題、降低成本的重要途徑[11]。
數(shù)據(jù)是數(shù)據(jù)驅(qū)動研究方法的基礎(chǔ),數(shù)據(jù)量越大,包含復雜情況越多,通過數(shù)據(jù)建立的模型的適用性越廣、泛化性強[12],在不同井應用的效果越好。但部分石油工程類問題數(shù)據(jù)較少,存在數(shù)據(jù)缺失,使用此類數(shù)據(jù)建立模型常導致模型難以訓練或者訓練出的模型過擬合度高[13],只適用于極少部分井。因此,數(shù)據(jù)量直接決定了大數(shù)據(jù)方法研究石油工程問題的可行性和有效性。但油田數(shù)據(jù)種類多,各個環(huán)節(jié)的數(shù)據(jù)有其自身的特點,一些環(huán)節(jié)由于貫穿整個油氣田生產(chǎn)開發(fā)過程,導致數(shù)據(jù)收集困難[14]。以長慶油田修井為例,修井中的漏失預測與常規(guī)鉆井過程中的漏失不同,其影響因素多極易出現(xiàn)數(shù)據(jù)缺失。
從影響因素數(shù)量角度分析,在常規(guī)鉆進過程中的漏失受到地質(zhì)和鉆井工藝影響,而修井中的漏失在此基礎(chǔ)上還包括了長時間生產(chǎn)地層壓力降低[15]、酸化壓裂增加裂縫串通漏失[16]等因素影響,尤其是在碳酸鹽巖中,因此修井中的漏失需要考慮因素更多。從工程時間角度分析,中國鉆井的平均周期為50天左右[17],而進行修井作業(yè)時,該井通常已經(jīng)自完鉆后經(jīng)過了數(shù)年的生產(chǎn)時間,其中涉及各種生產(chǎn)、開發(fā)、工藝等會對修井結(jié)果產(chǎn)生影響的環(huán)節(jié)。因此在修井時需要統(tǒng)籌收集查詢這數(shù)年間生產(chǎn)開發(fā)過程中的數(shù)據(jù),極易出現(xiàn)數(shù)據(jù)缺失。因此,如何收集數(shù)據(jù)成為了制約大數(shù)據(jù)技術(shù)手段在此類石油工程領(lǐng)域應用的難點。
與修井相關(guān)的石油工程數(shù)據(jù)種類眾多,石油工程領(lǐng)域涉及從勘探開發(fā)到鉆完井生產(chǎn)運輸?shù)炔煌鳂I(yè)環(huán)節(jié)。不同作業(yè)環(huán)節(jié)會根據(jù)當前任務特點針對特定的需求和應用場景進行設(shè)計。這些數(shù)據(jù)類型包括地質(zhì)數(shù)據(jù)、生產(chǎn)數(shù)據(jù)、測井數(shù)據(jù)、設(shè)備數(shù)據(jù)及對各個作業(yè)環(huán)節(jié)的總結(jié)分析報告等。不同數(shù)據(jù)根據(jù)特定用途采用不同的存儲格式,根據(jù)數(shù)據(jù)結(jié)構(gòu)劃分,該部分數(shù)據(jù)可分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)兩大類。其中以CSV(CommaSeparatedValues)、Excel為代表的結(jié)構(gòu)化數(shù)據(jù)是工作人員已經(jīng)整理出的具有標準格式、具有對應的標簽、能夠通過計算機簡單處理就投入使用的數(shù)據(jù)。在實際使用中不需要研究人員再花費時間進行數(shù)據(jù)收集,因此現(xiàn)有的大數(shù)據(jù)分析多基于此類結(jié)構(gòu)化數(shù)據(jù)。但由于結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)量通常有限,在實際應用中如果僅使用該部分數(shù)據(jù)進行預測,難以在實際工程問題中給出有效措施。
結(jié)構(gòu)化數(shù)據(jù)只占據(jù)石油工程數(shù)據(jù)的一部分,非結(jié)構(gòu)化數(shù)據(jù)具有更多的信息,值得投入模型中進行分析研究。其中,Word文本報告經(jīng)過專業(yè)人員記錄、分析、總結(jié),通常包含了更多有價值的信息。因此,在結(jié)構(gòu)化數(shù)據(jù)基礎(chǔ)上,提取Word文本報告中的信息,可以作為現(xiàn)有數(shù)據(jù)補充,更好地利用數(shù)據(jù)。
從海量非結(jié)構(gòu)化文本中提取有價值信息的關(guān)鍵過程被稱為數(shù)據(jù)收集。按照收集數(shù)據(jù)時是否討論數(shù)據(jù)間的關(guān)聯(lián)性可分為基于規(guī)則檢索的數(shù)據(jù)收集方法和基于神經(jīng)網(wǎng)絡(luò)學習的數(shù)據(jù)收集方法兩大類。
第一類基于規(guī)則檢索的數(shù)據(jù)收集方法指先對文本進行信息編碼,查詢時通過匹配對應的信息編碼而獲取對應的信息,以正則表達式為主。美國數(shù)學家斯蒂芬·科爾·克萊尼提出正則表達式[18],閆丹輝等人通過正則表達式識別語料中的地點、人名和組織名,準確度達到75%[19]。袁金斗等人通過正則表達式識別電力安全文本數(shù)據(jù)的相關(guān)實體,實驗準確度達到85%[20]。但尚未有正則表達式等方法在石油領(lǐng)域進行數(shù)據(jù)收集的研究。
第二類基于神經(jīng)網(wǎng)絡(luò)學習的數(shù)據(jù)收集方法是指對文本進行信息編碼后,分析學習編碼間的關(guān)系,因此可以通過編碼間的關(guān)系識別文本間的關(guān)系,以BERT和ChatGPT等自然語言大模型為主。早在1966年Baum等人提出隱馬爾可夫模型,這種模型定義了當前某一事件的狀況可以由該事件的上一個事件影響[21],因此可以使用隱馬爾可夫模型進行文字識別,用于區(qū)分特定類型的詞匯實體名稱,但此時的模型還只是基于可觀察事件下的簡單概率模型。AshishVaswani等發(fā)表論文《AttentionisAllYouNeed》并在文中提出了Transformer結(jié)構(gòu),使神經(jīng)網(wǎng)絡(luò)在處理輸入數(shù)據(jù)時集中注意力于目標相關(guān)的部分[22]。Devlin等在Transformer結(jié)構(gòu)基礎(chǔ)上為實現(xiàn)模型能夠識別上下文之間的聯(lián)系提出了一種預訓練的深度學習自然語言模型(BidirectionalEncoderRepresentationsfromTransformers,BERT),其中BERT-base版本可以用于各種NLP任務,如文本分類、命名實體識別、問答等[23]。Cui等在原以英文作為主要語言的模型BERT模型基礎(chǔ)上,使用中文維基百科數(shù)據(jù)進行訓練,得到基于中文自然語言模型(簡稱BERT-zh),該模型在中國法律智能技術(shù)評測中進行信息抽取、對話式類案檢索等法律專業(yè)問題處理,其準確度為54.7%[24]。OpenAI模型推出了訓練參數(shù)更多的大型語言模型ChatGPT(ChatGenerativePre-trainedTransformer,簡稱GPT),包含了自動生成文本、自動問答、自動摘要等多種功能,Barile等使用GPT模型在新英格蘭醫(yī)學雜志篩選的病例中進行判斷,其準確度為39%[25]。在石油工程的實際應用中,曾義金等利用自然語言處理塔里木數(shù)據(jù),將收集到的離散信息進行聚合關(guān)聯(lián),如提取到某天某時間段發(fā)生什么事故,并匹配出當時的鉆具組合和鉆井液等信息[26],但主要是通過數(shù)據(jù)間的關(guān)聯(lián)、人工進行關(guān)鍵詞檢索,未進行準確度討論。
綜上所述,無論是基于規(guī)則檢索的數(shù)據(jù)收集方法還是基于神經(jīng)網(wǎng)絡(luò)學習的數(shù)據(jù)收集方法,都尚未在石油領(lǐng)域廣泛開展應用,其原因在于石油工程Word文本中的數(shù)據(jù)存在2個特點。
(1)記錄文本的差異性大,規(guī)范性弱。不同記錄人員、作業(yè)隊伍、部門、作業(yè)工序的語言表達習慣、要求模板與填寫規(guī)范存在差異。Word文本主體是使用中文進行記錄,中文語言常常存在語法結(jié)構(gòu)縮略、單文內(nèi)容短等特點,導致以關(guān)鍵詞搜索的常規(guī)方式難以準確查找到相關(guān)內(nèi)容。
(2)專業(yè)詞匯、術(shù)語難以理解,專業(yè)性強。石油工程詞匯與常規(guī)詞匯存在差異,通用自然語言模型對石油工程專業(yè)詞匯不了解,單純使用BERT等模型無法在專業(yè)領(lǐng)域很好的區(qū)分相似、相近的詞、句的意義。
這些導致現(xiàn)有技術(shù)從Word文檔中提取數(shù)據(jù)時存在數(shù)據(jù)收集不準確,耗時長的問題。因此針對上述問題,本文建立了一種基于文本結(jié)構(gòu)的石油工程專業(yè)自然語言數(shù)據(jù)收集模型(StructurePetroleumBidirectionalEncoderRepresentationfromTransformer,SPBERT),以提高模型數(shù)據(jù)收集準確率,減少數(shù)據(jù)收集時間。
1方法過程
1.1室內(nèi)研究
由于文本記錄不規(guī)范、通用模型不能識別專業(yè)詞匯,現(xiàn)有技術(shù)從Word文檔中提取數(shù)據(jù)困難,導致數(shù)據(jù)收集不準確。因此,提出SPBERT數(shù)據(jù)收集模型。首先,簡要概述模型框架,再介紹兩種針對石油工程數(shù)據(jù)的改進方法:建立層次化結(jié)構(gòu)詞條解決文本記錄不規(guī)范難點、建立石油工程專業(yè)詞匯詞典解決無法識別專業(yè)詞匯詞句難點。最后,引入BERT模型和UniLM方法進行模型訓練微調(diào),得到最終的數(shù)據(jù)收集SPBERT模型。并將SPBERT模型與5種數(shù)據(jù)收集模型進行對比。
1.1.1整體框架建立
構(gòu)建針對石油工程文檔特點的數(shù)據(jù)收集模型,在現(xiàn)有的自然語言模型BERT的基礎(chǔ)上,通過增加層次化結(jié)構(gòu)詞條和石油專業(yè)詞匯進行訓練,實現(xiàn)輸入需要提取數(shù)值的Word文檔后,自動提取出其中的數(shù)值數(shù)據(jù),并自動識別該數(shù)值所代表的物理意義,輸出對應的標簽。模型的整體結(jié)構(gòu),如圖1所示。
從圖1中可以看出,模型的整體結(jié)構(gòu)由5部分組成:第一部分為文檔處理部分,用于讀取Word文檔,并對文檔進行分割,以便后續(xù)步驟逐步調(diào)用文檔進行輸入;第二部分為層次化結(jié)構(gòu)詞條,用于文檔處理,將原有的單一輸入轉(zhuǎn)化為包含層次化結(jié)構(gòu)詞條的輸入形式,組成篇章-小節(jié)-正文結(jié)構(gòu),該部分對輸入內(nèi)容進行了轉(zhuǎn)化,在后續(xù)進行自然語言處理模型微調(diào)后會使模型能夠更好的識別文字的內(nèi)容;第三部分為石油專業(yè)詞匯,用于補充石油領(lǐng)域?qū)I(yè)詞匯、句子,并將生成語料用于自然語言處理模型微調(diào),該部分會使模型能夠更好的識別石油專業(yè)詞匯,并且能夠理解不同專業(yè)術(shù)語所表達的含義;第四部分為自然語言處理模型,該部分模型使用BERT模型用于識別文字間內(nèi)在關(guān)系,BERT模型是一種成熟的通用語言模型,在普通的文本處理中,能夠識別文字間的內(nèi)在關(guān)系,但尚未具備較好處理石油專業(yè)文檔的能力,因此對BERT模型進行了改進;第五部分為問答訓練,該部分使用UniLM訓練方法使模型具有回答問題的能力,同時為了模型能夠根據(jù)輸入的“文本”輸出“數(shù)值”和相應的“標簽”,對UniLM訓練方法進行了改進。
1.1.2不規(guī)范文檔層次化結(jié)構(gòu)
不同文檔在實際油田中,不同記錄人員對相同文檔有不同的寫法。如在某井的工程報告中,對日均產(chǎn)氣量的記錄放在了酸化壓裂過程中,在小標題前期生產(chǎn)情況中進行了記錄,而另一井的日產(chǎn)氣量與產(chǎn)氣產(chǎn)水的綜合開采放在一起,在小標題生產(chǎn)動態(tài)中進行了記錄。由于兩份文檔記錄位置不同,記錄日均產(chǎn)氣量的上下文差異大,常規(guī)方法難以識別兩部分內(nèi)容是否相同。通過增加篇章、小節(jié)標題以實現(xiàn)對輸入的文字內(nèi)容進行概括,從而使模型能夠更準確的識別該部分文檔的內(nèi)容,為此設(shè)計了層次化結(jié)構(gòu)詞條。層次化結(jié)構(gòu)詞條指獲取文檔中的篇章小節(jié)結(jié)構(gòu),用于在對應的文本前添加該部分信息,作為輸入句子的補充。該部分的實現(xiàn)過程是將原有輸入的一段文本語句,根據(jù)該語句在實際文檔中的位置,讀取文檔的層級標簽作為補充。因此在輸入數(shù)據(jù)既包含了原有語句,也包含了“篇章-小節(jié)”。在實際的石油工程報告中,雖然不同文檔會根據(jù)不同的作業(yè)需求,記錄不同內(nèi)容,但所填寫的內(nèi)容會受模板和框架結(jié)構(gòu)限制,如在地質(zhì)簡介中會注重該井的地質(zhì)情況。因此在輸入句子前,補充“地質(zhì)簡介”作為部分輸入,可以減少模型訓練所需要的數(shù)據(jù)量,更快速的集中注意力機制。通過文檔處理部分獲取數(shù)據(jù)后,在Word的style.xml文件中讀取相應的篇章小節(jié)標題及其對應的位置,為輸入內(nèi)容添加[CLS](classification,通常表示句子或文檔的開頭)和[SEP](separator,通常表示在此處進行分割)符號,[CLS]符號在BERT中表示輸入語句的開始,[SEP]符號在BERT模型中表示語句在此處分隔,此時生成“[CLS]+篇章標題+小節(jié)標題+正文+[SEP]”結(jié)構(gòu),由于本模型的目的是獲取數(shù)值數(shù)據(jù)和其對應的標簽(即該數(shù)值所代表的現(xiàn)實物理意義)。將數(shù)值數(shù)據(jù)部分作為問題輸入,將數(shù)據(jù)標簽作為答案輸入。因此,此時結(jié)構(gòu)為“[CLS]+篇章標題+小節(jié)標題+正文+[SEP]+問題+[SEP]+答案”,如圖2所示。
從圖2中可以看出,通過層次化結(jié)構(gòu)詞條,將輸入內(nèi)容統(tǒng)一為包含結(jié)構(gòu)信息、正文信息問題、問題答案信息的輸入文本。其中篇章標題和小節(jié)標題是對后文中具體提到的正文內(nèi)容的一個概括。因此,當向模型提出問題后,模型會根據(jù)篇章和小節(jié)的標題內(nèi)容,優(yōu)先將搜索范圍限定在對應的正文內(nèi)容中,從而更準確地得到對應的答案,即數(shù)據(jù)對應的標簽。在輸入BERT模型前,需要通過嵌入層(embedding)將原有文本信息轉(zhuǎn)換為編碼信息,通過詞元嵌入(token)、片段嵌入(segment)、位置嵌入(position)三種嵌入層處理方法,將輸入語句轉(zhuǎn)化為BERT模型的輸入。
1.1.3增強專業(yè)詞匯理解研究
石油工程的Word文檔往往專業(yè)性比較強,建立詞典的目的是使通用語言模型能夠正確識別石油專業(yè)詞匯,在具體的BERT模型中,同義詞匯或者意思相近詞句會輸出相近的編碼結(jié)果,編碼結(jié)果相同,表示在機器理解時,這些內(nèi)容是可以相互替換的。因此,建立石油專業(yè)詞匯詞典,通過詞典中對石油詞匯的解釋語句和相似詞匯替換,擴充BERT微調(diào)訓練的語料庫。
石油專業(yè)詞匯來源石油工業(yè)出版社出版的《英漢石油大辭典:鉆井工程分冊》(ISBN:7-5021-2519-1)。該書中詞條組成為“英文詞匯+中文詞匯+對應中文解釋”。例如:“Drillingfluidcycle鉆井液循環(huán)周期。鉆井液在井內(nèi)循環(huán)一周的時間,受井眼容積和鉆井的排量的影響?!痹谔幚磉^程中,用中文詞匯和其對應的中文解釋替換層次化結(jié)構(gòu)詞條的“正文”部分,并利用英文詞匯,在維基百科中獲取相關(guān)詞條作為備用輔助材料。
將“[CLS]+中文詞匯+[SEP]+問題+[SEP]+答案”與“[CLS]+對應中文解釋+[SEP]+問題+[SEP]+答案”分別輸入BERT模型并得到相同答案,使模型可以識別不同語言表達方式下的專業(yè)內(nèi)容。例如,輸入“鉆井液在井內(nèi)循環(huán)一周的時間為7h”以及輸入“泥漿循環(huán)周期為7h”,兩者不同的輸入,能得到相同輸出“7h鉆井液循環(huán)周期”。
1.1.4文字間內(nèi)在聯(lián)系識別研究
語言表達和記錄具有多樣性,要從文檔中提取信息就需要模型具有能夠識別文字含義的能力。Google在2018年推出了一種的通用的自然語言模型(BidirectionalEncoderRepresentationsfromTransformers,BERT)。BERT模型首先需要通過嵌入層將輸入文本使用序列轉(zhuǎn)化為詞元嵌入(Token)、片段嵌入(Segment)和位置嵌入(Position)3種向量。對3個向量進行加和得到輸入向量X,見式(1)。
其次,為從X中獲取不同信息,建立三個不同的可訓練的參數(shù)矩陣,通過不同的參數(shù)矩陣與輸入向量X相乘,得到Query、Key、Value三個矩陣,見式(2)。
注意力機制是將原有的文本輸入后,通過可訓練的參數(shù)矩陣計算,得到一個包含了數(shù)據(jù)間結(jié)構(gòu)關(guān)系的結(jié)果矩陣,不同的計算會得到包含不同的權(quán)重系數(shù)的矩陣,實現(xiàn)識別文字間關(guān)聯(lián)的功能。將輸入向量傳入注意力機制,然后利用注意力機制訓練出對該語句語義的理解,將注意力結(jié)果輸入全連接層進行輸出,該部分注意力機制運行過程,如圖3所示。
從圖3中可以看出,在示例中當輸入中出現(xiàn)“產(chǎn)氣量”時,經(jīng)過模型訓練后,同樣的權(quán)重會通過注意力機制反應在“生產(chǎn)動態(tài)”上。因此認為在當前權(quán)重下,輸入產(chǎn)氣量時,模型會認為這是與生產(chǎn)動態(tài)有關(guān)的內(nèi)容,實現(xiàn)了文字間的相互關(guān)聯(lián)。因此,通過以上功能,實現(xiàn)了將文檔輸入模型后,模型能夠“讀懂”文檔,明確文檔中文字間的內(nèi)在關(guān)系,能夠結(jié)合文字明確其中的數(shù)值代表的含義。
1.1.5模型回答能力研究
模型具有識別文字間內(nèi)在聯(lián)系的能力后還需要進行輸出。本模型的輸出任務可以看作“閱讀理解”和“問答系統(tǒng)”?!伴喿x理解”要求對輸入的一段文字進行概括總結(jié);“問答系統(tǒng)”要求輸入一個問題,輸出問題的答案。在本模型中,通過輸入一段文字并進行概括總結(jié),然后提出問題,即“這段文字中的數(shù)值指的是什么”,最終輸出答案。
Cao等提出了特殊的遮蔽方法訓練后的自然語言模型(UnifiedLanguageModelPre-trainingforNaturalLanguageUnderstandingandGeneration,UniLM)[27]。在不同數(shù)據(jù)上的擴展效果較好。因此采用“BERT+UniLM”的方法為對應的數(shù)值找到正確的標簽。為了模型能夠根據(jù)輸入的“文本”輸出“數(shù)值”和相應的“標簽”,將原有的訓練方法,輸入“正文”得到“答案”,進一步簡化為輸入“正文+問題(即正文中的數(shù)值)”得到“問題(數(shù)值)+答案(數(shù)值對應的標簽)”。
1.2現(xiàn)場試用
模型試用推廣過程中,需要關(guān)注模型收集到正確數(shù)據(jù)的比例,稱為準確度。通常在使用模型進行多組數(shù)據(jù)收集后,需要統(tǒng)計其中正確數(shù)據(jù)的數(shù)量占總處理數(shù)據(jù)的比例。同時在實際應用中,也需要考慮模型處理數(shù)據(jù)的時間。最終,結(jié)合準確度和模型處理時間,可得到模型在實際應用中的數(shù)據(jù)收集時間。以長慶油田修井相關(guān)的數(shù)據(jù)為例?,F(xiàn)由長慶油田提供已作業(yè)井修井相關(guān)資料共計58口,每口井包括地質(zhì)報告、修井報告及以壓裂等工序為主的工程報告,58口氣井來源于長慶采氣廠,以長慶采氣一廠為主,共計31口,其次為采氣六廠數(shù)據(jù),共計8口井,其余井分別來源于采氣二廠、采氣三廠、采氣四廠和采氣五廠。不同報告分別來自于不同的采氣廠和不同的作業(yè)隊伍和主管單位,報告間相似度低。
1.2.1數(shù)據(jù)收集模型收集準確度對比
采用SPBERT模型針對長慶油田修井數(shù)據(jù)進行收集,同時為了對比不同數(shù)據(jù)收集方法間的準確度,采用了基于規(guī)則檢索的數(shù)據(jù)收集方法和基于神經(jīng)網(wǎng)絡(luò)學習的數(shù)據(jù)收集方法兩大類數(shù)據(jù)收集模型進行對比。
其中基于規(guī)則檢索的數(shù)據(jù)收集方法主要根據(jù)長慶油田的一份地質(zhì)報告作為模板,設(shè)計正則表達式檢索規(guī)則,簡稱RegexA方法;以一份地質(zhì)報告、一份壓裂報告和一份修井報告為模板,設(shè)計正則表達式檢索規(guī)則,簡稱RegexB方法。其中基于神經(jīng)網(wǎng)絡(luò)學習的數(shù)據(jù)收集方法主要包括BERT模型和ChatGPT模型,該類模型由于是以大量通用的文本作為訓練數(shù)據(jù),因此又簡稱為通用語言模型。但由于中國的石油工程文檔通常是以中文形式記錄,Google提供的BERT-base模型主要是針對以英文為主要語言的進行處理,雖然也具有一定的中文處理能力,但中國哈工大訊飛聯(lián)合實驗室使用了通用的中文文本作為訓練數(shù)據(jù)對BERT重新進行了訓練。本實驗中同時采用了以上兩個模型。因此采用通用語言模型共三種,分別為Google原版BERT-base模型(簡稱為BERT-base),具體參數(shù)為12layer,768hidden,12heads,110Mparameters;哈工大訊飛聯(lián)合實驗室發(fā)布的中文BERT模型(簡稱為BERT-zh),版本號為Chinese-BERT-wwm,具體參數(shù)為12layer,768hidden,12heads,110Mparameters;以及OpenAI的ChatGPT模型(簡稱為GPT),API版本號為davinci-002。
1.2.2數(shù)據(jù)收集時間對比
數(shù)據(jù)收集的速度影響油田在實際使用模型進行數(shù)據(jù)收集時的效率,在比較數(shù)據(jù)收集模型的收集速度時,存在多種評估和分析的方法。常用對比方法有五種,(1)處理時間測量。測量模型處理每組數(shù)據(jù)所需的平均時間是評估模型收集速度的直接方法。可使用相同的數(shù)據(jù)集對每個模型進行測試,然后多個測試結(jié)果取平均值,得到準確結(jié)果。(2)吞吐量測試。吞吐量是指模型在一定時間內(nèi)能夠處理的數(shù)據(jù)量??稍O(shè)定固定的時間窗口判斷處理數(shù)據(jù)的數(shù)量。(3)延遲(Latency)測試。延遲測試用于測量模型對單個數(shù)據(jù)請求的響應時間,這在實時系統(tǒng)中尤為重要,主要用于減少偶然因素的影響。(4)基準數(shù)據(jù)集。使用標準化的基準數(shù)據(jù)集進行測試,這樣可以確保不同模型之間的比較是公平且一致的。(5)計算資源利用率。評估模型在處理數(shù)據(jù)時的資源利用效率,包括CPU、GPU利用率和內(nèi)存使用情況。
針對石油工程文檔進行數(shù)據(jù)收集時,采用通用基準數(shù)據(jù)集無法反應各個模型在石油工程文檔上的收集準確度和時間,所以不要求模型處理多個任務,也不要求模型具有實時處理功能,只需要逐一進行文檔的處理,從而獲取正確數(shù)據(jù)。因此本模型在InterXeon(IceLake)Platinum8369B處理器上采用處理時間測量的方法,測量每個模型在石油工程文檔數(shù)據(jù)收集時平均從輸入數(shù)據(jù)、輸出結(jié)果到最終完成數(shù)據(jù)收集所需的時間。
而模型的收集時間由兩部分組成,一是模型在設(shè)計的過程中,依靠計算機輸入數(shù)據(jù)到輸出結(jié)果,該過程產(chǎn)生的時間可以表示該模型的收集速度。二是在模型具有一定的收集速度的同時,還需要有一定的正確率,需要保證模型能夠收集到正確的數(shù)據(jù)時再停止收集,因此在實際應用中,收集數(shù)據(jù)準確度低的模型,需要多次使用或者需要多種方法結(jié)合才能獲取正確的數(shù)據(jù)。
因此計算模型的收集時間時,除了考慮處理速度,還需考慮模型的準確性,建立準確度與收集時間的綜合評估。現(xiàn)有的評估方法主要分為兩種,一是計算模型在達到一定準確率所需的總時間。例如,設(shè)定最終收集數(shù)據(jù)準確度達到90%,則準確度較低的模型,需要多次運行才能達到所需的準確度,則總收集時間應包括所有運行的累計時間[28]。但這種方法要求數(shù)據(jù)收集模型的準確度會向目標準確度收斂,如正則表達式方法等模型在其規(guī)則被確定后,多次收集只能獲得與第一次收集的相同結(jié)果,無法達到設(shè)定的90%準確度的目標,導致無法通過該方法計算得到收集時間,因此這種評價方法不適合。二是根據(jù)準確度計算理論收集到正確數(shù)據(jù)時,模型會花費的總時間,該方法用數(shù)據(jù)收集模型準確度的倒數(shù)方式與收集速度相乘,從而得到該模型的收集時間,見式(4)。
使用SPBERT模型從58口作業(yè)井中累計174份已作業(yè)的地質(zhì)報告、工程報告、修井報告中提取測井、鉆完井、儲層改造、產(chǎn)油產(chǎn)水等地質(zhì)工程因素共61項,收集數(shù)據(jù)共計3132條。SPBERT模型數(shù)據(jù)收集準確度為82.3%,平均每處理一組數(shù)據(jù)所需時間為331ms,由于此時存在部分正確數(shù)據(jù)和錯誤數(shù)據(jù),需要將數(shù)據(jù)經(jīng)過校對后,對錯誤部分的數(shù)據(jù)進行重新收集,直至所有數(shù)據(jù)均為正確數(shù)據(jù)后,計算SPBERT模型平均每收集一組正確數(shù)據(jù)所需時間為402ms,模型在實際應用中可行性較強。
2結(jié)果討論
2.1數(shù)據(jù)收集準確度
模型收集準確度分為兩個部分進行討論,第一是SPBERT模型與現(xiàn)有的數(shù)據(jù)收集模型在數(shù)據(jù)收集后的準確度對比。第二是關(guān)于SPBERT模型為何能夠獲得一個較高的準確度的原因分析,即討論本模型所設(shè)計的兩種方法--層次化結(jié)構(gòu)詞條和石油專業(yè)詞匯,是否能夠有效解決石油工程文檔存在專業(yè)詞匯和記錄不規(guī)范等特點導致現(xiàn)有模型收集出現(xiàn)誤讀導致準確度低的問題。
2.1.1不同數(shù)據(jù)收集模型準確度
實驗對比SPBERT模型與RegexA、RegexB、BERT-base、BERT-zh和GPT這5種數(shù)據(jù)收集模型在收集長慶油田修井相關(guān)數(shù)據(jù)準確度,使用完全匹配準確度(exactmatch,EM)[29]作為評價準確度指標,即所有的模型預測出來的數(shù)據(jù)標簽與人工給定的答案完全一致的比例,對比6種模型在174份已作業(yè)的地質(zhì)報告、工程報告、修井報告中一次收集數(shù)據(jù)共計3132條,統(tǒng)計其中收集正確的數(shù)據(jù)數(shù)量,計算準確度。將實驗準確度結(jié)果統(tǒng)計柱狀圖,如圖4所示。
從圖4中可以看出,SPBERT、RegexA、RegexB、BERT-base、BERT-zh和GPT這6種模型數(shù)據(jù)收集準確度分別為82.3%、17.6%、25.7%、55.4%、56.3%、45.3%。除了SPBERT模型之外的5種模型的平均數(shù)據(jù)收集準確度為40.1%,SPBERT模型具有最好的實驗結(jié)果,為82.3%,相比于其余5種模型的平均數(shù)據(jù)收集準確度提高105.4%。
實驗中,兩種正則方法實驗結(jié)果最差,其中RegexA方法準確度為17.6%,RegexB方法準確度為25.7%,對比兩種正則方法,RegexA是在以1份Word報告為基礎(chǔ)設(shè)計的正則表達式檢索規(guī)則,RegexB是以3份報告為基礎(chǔ),因此,RegexB方法包含了更多的檢索規(guī)則,增加規(guī)則的RegexB方法比RegexA方法的準確度提升了8.1%,具有顯著的提升,針對不同類型的文檔提出不同的正則檢索規(guī)則有助于數(shù)據(jù)收集的準確度提升,因此一種優(yōu)化方式是通過對現(xiàn)有文檔進行聚類[30],對同一類型的文檔再次增加規(guī)則。但類型細分越多,需要的工作量越大,對每個文檔單獨設(shè)置正則規(guī)則會導致工作量增大同時失去了自動處理的意義。
實驗中,GPT自然語言模型準確度為45.3%,型號為davinci-002的GPT模型的訓練數(shù)據(jù)量遠大于BERT模型。但GPT是一個生成式模型,它通過自回歸方式從左到右生成文本,利用上下文信息預測下一個詞,因此在實際生成的過程中,若幾部分內(nèi)容,上文部分的內(nèi)容相似性較強,下文部分含有差異,模型在生成結(jié)果時會出現(xiàn)隨機性較大的情況,容易出現(xiàn)模型輸出了看似正確合理實則錯誤或虛假內(nèi)容的情況。而BERT被認為是一個判別式模型,它通過雙向編碼器在上下文中預測缺失的詞。在自然語言模型中兩種BERT-base和BERT-zh準確度分別為55.4%、56.3%,兩種模型的準確度相近,都低于SPBERT模型的準確度,經(jīng)過中文訓練的BERT-zh相比于BERT-base模型效果稍有提升,但依然在針對石油工程的專業(yè)術(shù)語時表現(xiàn)不佳。
2.1.2SPBERT模型高準確度原因分析
為了驗證SPBERT模型中針對石油工程文檔存在專業(yè)詞匯和記錄不規(guī)范難以收集的難點所提出的兩種處理方法,即層次化結(jié)構(gòu)詞條和石油專業(yè)詞匯。采用消融實驗,即通過去除或破壞模型或算法的某個組成部分,以觀察其對性能影響的實驗方法,將SPBERT模型中的層次化結(jié)構(gòu)詞條和石油專業(yè)詞匯分別去除,檢驗提出方法的有效性。上述實驗中的自然語言模型(SPBERT模型、BERT-base模型、BERT-zh模型和GPT模型)輸入時,均采用層次化結(jié)構(gòu)詞條方法進行輸入,而正則表達式方法只作為一種檢索,未采用層次化結(jié)構(gòu)詞條和石油專業(yè)詞匯。為驗證本模型的方法正確性,進行消融實驗,即驗證在模型設(shè)計中,添加層次化結(jié)構(gòu)詞條和石油專業(yè)詞匯是否均對模型的準確度提高起到了必要的作用。因此去除層次化結(jié)構(gòu)詞條輸入后,重新測試使用SPBERT模型、BERT-base模型、BERT-zh模型和GPT模型4種模型進行數(shù)據(jù)收集,將實驗準確度結(jié)果統(tǒng)計柱狀圖如圖5所示。
從圖5中可以看出,SPBERT模型(去除層次化結(jié)構(gòu)詞條的SPBERT模型)、BERT-base模型、BERTzh模型和GPT模型實驗準確度分別為71.4%、51.7%、52.4%、31.1%。除了SPBERT模型之外的3種自然語言模型的平均數(shù)據(jù)收集準確度為45.1%,去除層次化結(jié)構(gòu)詞條的SPBERT模型具有最好的實驗結(jié)果,為71.4%,相比于其余3種自然語言模型的平均數(shù)據(jù)收集準確度提高58.2%。相對于第一次測試種的SPBERT模型82.3%的準確度,本次測試時準確度減少了11.1%,其主要差別為去除層次化結(jié)構(gòu)詞條,因此認為該部分方法的設(shè)計對模型收集準確度的提升是有效的,同樣在BERT-base模型、BERT-zh模型和GPT模型中準確度相比于第一次測試的準確度分別下降3.7%、3.9%和14.2%,可見增加層次化結(jié)構(gòu)詞條能有效提高模型的準確度。分析認為,從文本角度,層次化結(jié)構(gòu)詞條是對當前內(nèi)容的概括,因此增加這一部分內(nèi)容,會導致與章節(jié)標題、小節(jié)標題相關(guān)的內(nèi)容的權(quán)值進一步增加,而一些僅用以連接語言通順的內(nèi)容權(quán)值下降,模型能夠更好的找到所需要的內(nèi)容;從模型角度,層次化結(jié)構(gòu)詞條可能在模型中充當先驗詞(prompt)功能[31],由于無論是BERT模型還是GPT模型,均是通過transformer結(jié)構(gòu)在注意力機制下進行設(shè)計訓練,先驗詞會引導模型輸出更準確的內(nèi)容,尤其是GPT模型的準確度相比其余兩種BERT模型下降最多,先驗詞對GPT模型的影響更加明顯,進一步驗證了層次化結(jié)構(gòu)詞條可能在GPT模型中充當先驗詞(prompt)功能,有助于模型準確度的提高。對比SPBERT模型與BERT-base模型、BERT-zh模型三種模型,由于SPBERT模型使用了石油專業(yè)詞匯進行微調(diào)訓練,相對于包含中文數(shù)據(jù)集訓練的BERT-zh,準確度仍然提高了19%,而相對于Google原版的BERT-base模型準確度提高了19.7%。通過專有詞匯詞典對BERT模型進行訓練是解決模型垂直應用的有效方法,例如在解決法律條文識別問題時,也需要預先對BERT模型進行法律專業(yè)詞匯訓練,從而使模型能夠更加準確地輸出結(jié)果。
因此通過消融實驗,認為石油專業(yè)詞匯為自然語言數(shù)據(jù)收集模型提供了更為準確的詞匯語句識別能力,同時層次化結(jié)構(gòu)詞條提供了協(xié)助模型更有效的從不同文檔中快速定位答案的能力,兩種方法對模型準確度的提升是有效的。
2.2數(shù)據(jù)收集用時
討論數(shù)據(jù)收集用時時需要分兩個部分進行討論,第一是模型自身在處理數(shù)據(jù)時,需要導入數(shù)據(jù)輸出結(jié)果,但此時可能存在輸出結(jié)果正確或錯誤的情況,此時討論的時間為模型處理數(shù)據(jù)所需的時間,該部分時間反應了模型處理數(shù)據(jù)的能力,即代表模型收集的速度。第二是模型收集到正確數(shù)據(jù)所需的時間,即模型導入數(shù)據(jù)輸出結(jié)果后,需要對輸出結(jié)果的正確性進行判斷,因此該部分時間既與模型處理數(shù)據(jù)的速度有關(guān),同時也與模型收集數(shù)據(jù)的準確度有關(guān),需要對錯誤數(shù)據(jù)進行校正,增加了收集時間,代表應用中使用模型處理完數(shù)據(jù)所需的總收集時間。
2.2.1平均處理一組數(shù)據(jù)收集速度
模型收集數(shù)據(jù)時,第一步是將文字導入模型進行處理,處理完畢后輸出結(jié)果,不同數(shù)據(jù)收集模型處理文字的方法不同,因此對比6種數(shù)據(jù)收集模型處理文檔速度,通過從174份已作業(yè)井的地質(zhì)報告、工程報告、修井報告中提取測井、鉆完井、儲層改造、產(chǎn)油產(chǎn)水等地質(zhì)工程因素共61項,收集數(shù)據(jù)共計3132條,計算不同模型平均收集一組數(shù)據(jù)所需收集時間,將每收集一組數(shù)據(jù)所需收集時間定義為模型收集速度,6種數(shù)據(jù)收集模型處理文檔收集速度如圖6所示。
從圖6中可以看出,RegexA方法在處理速度上表現(xiàn)最佳,平均處理每組數(shù)據(jù)所需時間僅為87ms。其余模型按照處理速度從快到慢依次為RegexB、GPT、BERT-base、BERT-zh和SPBERT,對應的平均處理時間分別為121、301、312、324、331ms??傮w來看,這六種模型的平均處理時間為246ms。深入分析處理速度,可以發(fā)現(xiàn)RegexA和RegexB兩種正則表達式方法的平均處理時間為104ms。正則表達式的引擎通常使用有限自動機(FA),包括確定性有限自動機(DFA)和非確定性有限自動機(NFA)來匹配模式。這些方法的優(yōu)勢在于能夠根據(jù)輸入字符快速在狀態(tài)之間轉(zhuǎn)換,實現(xiàn)高效的文本處理。正則表達式方法因為沒有復雜的參數(shù)結(jié)構(gòu),減少了處理時間。然而,增加正則規(guī)則后會導致搜索時間的增加。例如,RegexB方法相比RegexA方法,平均處理每組數(shù)據(jù)所需時間增加了39.8%,但在前面的研究中提到,增加規(guī)則后的RegexB方法相比RegexA方法的準確度提升了8.1%。四種自然語言處理模型,包括GPT、BERT-base、BERT-zh和SPBERT的平均處理時間為317ms。這些模型的處理速度相對接近,均超過300ms。GPT模型在這四種模型中表現(xiàn)最優(yōu),平均處理時間為301ms。SPBERT模型因?qū)iT針對石油工程文檔進行了優(yōu)化設(shè)計,導致其處理時間增加,與BERT-base和BERT-zh相比,分別增加了6.1%和2.2%。針對特定領(lǐng)域進行的優(yōu)化設(shè)計可能會在一定程度上影響處理速度,但這些數(shù)據(jù)表明,其增加的時間幅度不大。
綜上所述,正則表達式方法由于其高效的狀態(tài)轉(zhuǎn)換機制和較少的參數(shù),顯著優(yōu)于其他模型。而自然語言處理模型在處理復雜任務時處理速度較慢,尤其是在處理專門領(lǐng)域的文本時,優(yōu)化設(shè)計可能會進一步增加處理時間,但數(shù)據(jù)收集的準確度高。
2.2.2平均收集一組正確數(shù)據(jù)所需時間
在上述實驗中,僅評價了各模型處理文檔以獲取數(shù)據(jù)所需的時間。然而在實際應用中,不僅需要考慮模型處理文檔的速度,還需考慮模型在收集到不正確數(shù)據(jù)時的重復使用情況。具體而言,就是當模型收集到不正確的數(shù)據(jù)時,必須多次重復使用該模型以重新獲取正確的數(shù)據(jù)和數(shù)據(jù)標簽。這意味著在評價模型處理文檔速度的同時,還需綜合考慮模型的收集數(shù)據(jù)的正確率。因此,為了全面評估模型的實際性能,應將未能獲得正確答案的部分時間計入總收集時間,并以收集到最終正確數(shù)據(jù)為目標來衡量模型的效率。按照公式(4)中的計算方法,可以將各數(shù)據(jù)收集模型平均收集一組正確數(shù)據(jù)所需的時間統(tǒng)計為柱狀圖。這種方法不僅能反映模型的處理速度,還能體現(xiàn)其在實際應用中的有效性和可靠性。進一步擴展,該評估方法的實際意義在于,能夠幫助我們在選擇和優(yōu)化數(shù)據(jù)收集模型時,提供一個更全面的參考標準。例如,一個處理速度快但準確率低的模型可能在單次操作中表現(xiàn)良好,但在需要多次操作以達到正確結(jié)果的情境下,其效率可能大打折扣。反之,一個處理速度相對較慢但準確率高的模型,可能在總收集時間上更具優(yōu)勢。通過這種綜合評價方法,可以更準確地識別和選擇適合特定應用場景的模型,確保在實際的數(shù)據(jù)收集和處理過程中,達到最佳的時間和準確率平衡。這對于提升數(shù)據(jù)處理效率和提高系統(tǒng)整體性能具有重要的指導意義。將數(shù)據(jù)收集模型平均收集一組正確數(shù)據(jù)所需收集時間統(tǒng)計為柱狀圖,如圖7所示。
從圖7中可以看出,SPBERT模型收集時間最短,為402ms,RegexA、RegexB、BERT-base、BERTzh和GPT這5種數(shù)據(jù)收集模型的收集時間分別為494、471、563、575、664ms,這五種模型平均收集時間為554ms,SPBERT模型比其中耗時最短的RegexB收集時間減少69ms。其中兩種正則方法模型,RegexA、RegexB的平均模型收集時間為483ms,SPBERT模型相對其收集時間降低16.8%,而對于RegexB方法,在RegexA的基礎(chǔ)上增加了更多的搜索規(guī)則,但模型的收集速度在圖6中增加了39.8%,但由于RegexB方法收集的準確度更高,相比RegexA提高了46.0%,其最終的收集時間比RegexB減少23ms,下降4.8%,在6種模型種收集時間排第二位。上文中,SPBERT模型、BERT-base和BERT-zh三種自然語言模型處理時間相似,但由于其準確度不同,SPBERT模型收集時間最短,其余兩種BERT類模型的平均模型收集時間為569ms,SPBERT模型相對其收集時間降低29.4%。分析認為,其余兩種BERT模型雖然具有一定的數(shù)據(jù)收集速度和數(shù)據(jù)收集準確度,但是由于未能針對石油文檔特點,導致其最終收集時間比傳統(tǒng)正則表達式方法慢,兩種正則表達式方法模型相比兩種BERT類模型收集時間下降15.1%。在實際的應用中也會發(fā)現(xiàn),正則表達式方法在相同或相似領(lǐng)域的應用中,適用范圍遠大于自然語言模型,并且正則方法類模型使用和學習成本低,應用范圍廣[32],易于上手,處理速度快,相對于通用語言模型雖然正則表達式匹配效率低,但其應用更簡單,在此基礎(chǔ)上也有研究人員提出對地質(zhì)實體關(guān)系問題處理時,在BERT或GPT模型上增加遠程監(jiān)督方法來提高處理速度[33],但其只能處理簡單的實體關(guān)系。GPT模型無論是在收集的準確度還是平均處理一組數(shù)據(jù)收集速度上均沒有優(yōu)勢,導致最終收集時間在所有模型中最長,分析認為,GPT模型具有遠大于BERT模型的參數(shù)量和訓練數(shù)據(jù)量,但由于其作為生成式模型,提供答案時的時候具有一定的隨機性,而大量的參數(shù)導致其運行時收集時間進一步增加,最終表現(xiàn)效果較差。
綜上所述,數(shù)據(jù)收集模型既需要較高的準確度,也需要較低的收集時間,而SPBERT模型以82.3%的準確度和402ms的平均模型收集時間在6種數(shù)據(jù)收集模型中獲得了最好的效果。因此認為SPBERT模型有效,具有較高的應用價值。
3結(jié)論建議
(1)石油文檔普遍存在弱規(guī)范、強專業(yè)性,常規(guī)方法只聚焦于收集信息本身,忽略文本間內(nèi)在聯(lián)系,導致數(shù)據(jù)收集準確度低。通過構(gòu)建層次化結(jié)構(gòu)詞條方法,可以增強模型在對文本間內(nèi)在聯(lián)系的識別,提高收集數(shù)據(jù)的準確度11.1%。同時構(gòu)建石油專業(yè)詞匯訓練數(shù)據(jù),增強模型對專業(yè)詞匯的識別,相比于未使用的兩種BERT模型收集準確度提高19.7%和19%。這一規(guī)律對于其他領(lǐng)域的專業(yè)文檔處理同樣適用,尤其是在文檔結(jié)構(gòu)和術(shù)語標準化程度較低的場景中。
(2)現(xiàn)有數(shù)據(jù)收集模型對文檔中的數(shù)值信息進行提取過程中,僅針對數(shù)值部分進行訓練,缺乏對描述性語句的識別,如,大于、小于、漏失較大、嚴重漏失等,但該部分包含了大量實際工程信息,現(xiàn)有模型還難以對該類數(shù)據(jù)進行有效收集。
(3)建議下一步工作應結(jié)合具體石油工程應用場景,建立適應石油工程特點的訓練方法或約束條件,將常規(guī)通用語言大模型進行專業(yè)化垂直調(diào)整,使模型能夠有限制的、正確的輸出需要的結(jié)果,有利于將現(xiàn)有的大量文檔資料納入油田數(shù)據(jù)化智能化建設(shè),提高決策分析能力。