尚福華,徐凡鈞,曹茂俊
(東北石油大學 計算機與信息技術學院,黑龍江 大慶 163318)
測井數據處理與綜合解釋,包括以地層評價為主線的測井資料定性解釋和定量分析處理評價基本方式和過程,貫穿于油田勘探開發的全過程[1]。測井處理解釋模型是指測井信息與地質信息之間的客觀關系。在理解了理論分析、實驗研究和數據統計之后,將其關系抽象成便于人們理解的圖像[2]。當前,通過測井處理解釋對地下地質特征的分析解析和還原能力,在很大程度上依賴測井解釋專家的經驗、技能能力和判斷,但是,有這樣經驗的專家需要很長時間才能形成,而且形成后往往有損失的可能性,所以測井資料處理與解釋自動化智能化是當前測井處理解釋領域探索的主要目標之一。因此,怎樣對測井處理解釋領域龐大的知識加以表示,從而有助于在知識庫中迅速獲取目標知識,并實現領域知識的共享與重用,是測井處理解釋遇到的重要難點[3]。
知識圖譜實質上是語義網絡的知識庫,是通過將各種不同類型的信息聯絡在一塊所獲得的一種關系網絡。知識圖譜中的實體概念事件是節點,以實體概念之間的相互關聯關系是邊,通過運用數據挖掘、知識推理等技術提取知識之間潛在的語義關系,解釋客觀世界中的實體概念事件及其相關性[4]。與傳統信息服務知識庫在語義層面相關性不足的弊端相比,這種新型語義網絡的特點為測井處理與解釋信息之間潛在關聯的獲取和利用提供了新的發展方向。
知識圖譜的構建應該盡可能覆蓋測井處理解釋的綜合領域知識。知識圖譜構建周期的第一步就是知識體系的構建,它主要是利用數據實體上層知識系統的統一表示來描述模式層數據,這也是整個知識圖譜系統最核心的建設過程,其建立直接影響著整個知識圖譜的數據結構以及知識圖譜的使用方向,因此需要保證知識體系構建的準確性[5]。目前國內外都已經開展了知識圖譜的研發工作,各大搜索引擎企業也都紛紛推出了商用的知識圖譜,比如,谷歌公司的知識圖譜、百度公司的“知心”、搜狗的“知立方”等。知識圖譜可以通過圖形化的方式顯示知識和相關領域的知識,生動地表達知識體系的內容,將大量復雜的百科知識通過知識引擎的結構化表示,真正表達出知識之間的語義信息,將原本的孤島知識實體及其相互關系表現為知識,客觀地反映了人們對世界的認知和思維方式[6]。此外,它還可以幫助人們從零散的知識中發現領域規律和發展趨勢,為領域數據挖掘提供強有力的支持,幫助人們掌握該領域的一般規律。近年來,知識圖譜在許多領域得到了廣泛的應用,如文獻領域知識圖的構建、基于構建的領域知識圖譜的人工智能領域分析、文獻作者分析和研究熱點等??梢钥闯?,人工智能領域正受到越來越多的關注,研究人員和分析人員可以掌握該領域的研究熱點和發展情況[7]。基于大量醫療領域知識圖譜構建也能夠很好地解決由于大量醫學專業術語給醫療文本信息自動分析造成極大的麻煩的問題[8]。文中測井處理解釋領域知識圖譜的形成過程,是指根據預定的地質任務,利用電子計算機對測井資源進行自動數據處理,并對綜合地質、錄井與開發文檔資料進行綜合解釋分析,完成地層的劃分、有用礦物資源的評價與油氣儲集層和勘探開發過程中遇到的其他地質任務和工程問題[9]。
目前關于測井處理解釋領域的知識圖譜構建的研究頗少,因此,該文以測井處理解釋為核心,結合測井解釋領域知識特點,重點研究分析測井處理解釋業務流程,并以知識圖譜的構建為主體,利用知識抽取、知識融合和知識推理等方式,將測井解釋領域分散、隱形、不規范狀態的大量解釋知識、經驗進行梳理,構建了測井處理解釋領域知識圖譜。對目前測井解釋領域知識過于分散,難以繼承、共享和充分利用的問題,可以有效地解決,提高了測井解釋知識的利用率和共享程度,降低了非測井專業操作人員的理解難度,提升了測井專業解釋人員的解釋效率。該文以地層評價為例,闡述了其在構建領域知識圖譜中的應用[10]。
測井處理解釋知識主要分為三部分內容:專用術語、區域知識和通用知識。專用術語是指解釋知識庫中知識不同屬性項的名稱,同時列出不同屬性項中所包含的內容。區域知識是結合地區特點研究、總結出來的區域性解釋知識,對本區域的測井解釋和有相同地質特點的區域有指導意義[11]。區域測井解釋知識往往與特定地質條件相關,但是有些測井解釋知識不受區域影響、具有通用性,如阿爾奇公式、環境校正圖版、典型儲層的測井解釋圖例等等,這些知識在測井解釋工作中經常用到,因此在解釋知識庫中這部分內容也需要整理入庫。如表1所示,第一層的區域知識可以進一步劃分為層次結構,測井知識以及相關地質知識。
通用知識可分為測井的常用概念、常用方法、解釋模型、解釋圖版以及典型圖例等基礎知識,并且通過進一步的屬性確認可以進一步確定解釋方法,典型圖例等相關的屬性以及內容。如表2所示,該表具體劃分了通用知識的相關概念具體內容。
測井處理解釋知識實體應包括區域知識(表1)以及通用知識(表2)。測井處理解釋知識按照層次化結構可以劃分成區域知識和通用知識[12]。區域知識模型是管理區塊、小層、層段等知識,管理每一層的概念和子層概念以及相關基礎知識。通用知識概念模型是管理那些與特定地質條件沒有關系的基礎知識概念和相關數據表,有解釋模型、解釋圖版、環境校正圖版以及響應特征表等[13]。
測井處理解釋知識就是采用符合處理解釋知識的表示方式,對測井處理解釋參數、解釋模型、解釋圖版等問題,在計算機中存儲、使用和管理的知識集合。這些知識包括區塊分層系存儲儲層特征、“四性”關系、解釋模型、識別保準、典型圖例等區域知識,并存儲典型儲層測井相應特征、環境校正圖版、解釋模型等通用知識[14]。

表1 區域知識劃分描述

表2 通用知識劃分描述

續表2
進行測井處理解釋的必要組成部分是測井處理解釋的知識關系,基于測井知識的關系,涉及對測井數據和信息的處理和解釋過程,如陳述性知識以及處理解釋過程中的管理和決策過程中的程序性知識,如邏輯、使用符合測井解釋的知識在計算機中的存儲、使用和管理。測井儲集層劃分(見圖1),主要分為非儲集層劃分、儲集層評價以及解釋結果輸出,其中非儲集層劃分為測井信息以及地質信息,儲集層劃分為非儲集層判別、油水過渡帶判別等[15]。

圖1 測井處理解釋儲集層關系分類
測井處理解釋領域知識與測井處理解釋對象之間存在著多種關聯關系。可以基于測井處理解釋領域知識的分類建立儲集層中的關系,如對于儲集層中的非儲集層劃分中就包含測井信息以及地質信息。通過儲層集的知識來構建測井知識圖譜,可以將知識圖譜構建的更加完善。
2.1.1 構建邏輯
知識圖譜的概念模型和邏輯基礎是模式層,模式層對數據層施加規范性約束。本體的概念通常被用作知識圖譜的模式層,知識圖譜的數據層受到本體定義的規范和公理的約束。由于知識圖譜的數據層就是本體的一個實例,也可以將知識圖譜看作是一個實例化的本體。假設不需要進行推理,那么整個知識圖譜(自下向上建立)可以只有數據層,沒有模式層。在知識圖譜的模式層中,節點代表著本體概念,邊則代表概念之間的關聯關系。
在數據層,事實的存儲以三元組“實體,關系,實體”或“實體,屬性,屬性值”的形式保存,從而形成了一個圖形知識庫,其中,知識圖譜的基礎組成部分是實體,即指人的具體姓名、地名、時間、日期和組織機構名等。而關系則是在模式層中定義的關系的一個例子,代表各實體相互之間的語義關系。屬性是指對實體的描述以及實體與屬性值之間的映射關聯。也可以看成是實體和實體的“hasvalue”之間存儲的屬性值,它也可轉換為“實體,關系,實體”的三元組進行存儲。
綜上,從邏輯結構上,人們一般將知識圖譜劃分為數據層和模式層兩種層次結構。模式層:在數據層上,是知識圖譜的基礎,保留著已經提煉過的各種知識,人們常常使用本體庫來管理這一層(本體庫可以理解為面向對象里的“類”這樣一個概念,本體庫就儲存著知識圖譜的類)。數據層:保留真實的各種數據信息。
2.1.2 構建方式
知識圖譜的構建技術,主要有自頂向下和自底向上兩個方法。其中自頂向下構建方法是指利用于百科類網頁等結構化數據源的高質量數據中抽取本體和模式等數據,再加入到知識庫中。而自底向上構建,實際上就是借助相關技術,獲取資源,從大量公開收集置信度較高的數據,對知識庫中數據進行豐富擴充。
自頂向下的方法首先界定好知識圖譜本體和數據模式,然后再向基礎知識庫添加實體。而這種構建方法都必須要依賴于現有的結構化知識庫作為其基礎知識庫。自底向上的方法就是構建頂層的本體模式,從一些開放的鏈接數據中提取較高可信度的概念實體,然后對知識庫中數據知識擴充。目前,大多采用自底向上的方法進行搭建知識圖譜,當中最典型的案例便是谷歌公司的Knowledge Vault和微軟的Satori知識庫。
自頂向下的方法能夠表達概念之間的層次關系,它適用于數據量較小的知識圖譜構建,但其依賴手工、對模式層的更新有一定影響。與自頂向下方法相比,自底向上法支持在數據量大的情況下構建知識圖譜能夠達到快速更新的效果,但其具有知識噪音大和精確度不高的缺點;混合方法靈活性強。
混合方式是指通過將自頂向下與自底向上相結合后,在知識抽取的基礎上,可以總結形成模式層,然后對模式層進行更新,將新獲取的知識和數據加以進行迭代更新歸納匯總,將實體填充到新更新的模式層中。如百度公司的知識圖譜就是通過混合方法構建所得,利用了內外部的大量用戶數據。
為解決復雜業務問題構建的領域知識圖譜,需要以業務知識為基礎,否則,很難將領域知識圖應用到實際問題求解中。自頂向下的模式設計與自底向上的知識抽取相結合是構建領域知識圖譜的重要方法。復雜的領域場景涉及廣泛的知識維度,需要來自各個業務方向的專家參與領域模型的制定。
該文采用自頂向下和自底向上相結合的方法構造測井處理解釋領域的知識圖譜。根據上述實體結構設計模式層,自上向下設計各個實體的層次結構、屬性和語義關聯關系,指導知識抽取算法的設計。基于不同類型的信息,從數據層自下而上提取實體信息及其語義關聯。根據模式層的結構設計,構建一個記錄知識實體關聯的知識網絡。通過知識融合等手段來消除冗余,運用知識推理算法,形成綜合化的測井處理解釋知識圖譜,并以Neo4j圖數據庫的形式存儲。
如圖2所示,知識圖譜是基于知識的語義信息經過一系列知識抽取、知識融合、知識加工和知識更新等技術手段,從原有外部知識庫以及結構化數據、半結構化數據和非結構化數據中提取知識,對知識圖譜的有效性進行保障,逐漸完善知識圖譜。
(1)數據層。
收集測井處理解釋領域數據和對源數據分類處理,需要處理的數據包括測井基礎信息數據庫導出的結構化數據、石油行業頒布的行業標準、半結構化的網頁數據、相關規范和詞典等,作為知識實體和關系抽取的基礎數據來源。
(2)構建技術層。
通過預定義的模式層,從文本數據與圖像數據中利用自然語言處理和深度學習等技術對相關實體及關系進行歸類,抽取出相關實體。在此基礎上進行測井處理解釋領域知識圖譜的構建;最后,存儲工具選擇使用圖數據庫,將知識圖譜表示成結構化形式保存。該文使用較為普及的Neo4j數據庫,Neo4j基于屬性圖模型進行存儲,因為屬性圖模型能夠很好地利用屬性表達節點和關系豐富的信息屬性。
(3)應用領域層。
在構建的知識圖譜的基礎上,可提供可視化的顯示和相關聯查詢等應用??紤]到測井處理解釋知識圖譜展示過程中存在大量的知識維度,本研究以圖數據庫為基礎,實現測井處理解釋知識圖譜的可視化展示,此外,隨著測井處理解釋領域知識實體以及關系的豐富和擴展,未來還可以提供知識推薦和知識問答等基于知識圖譜的知識系統應用。

圖2 測井處理解釋構建框架
2.3.1 知識結構
知識圖譜是對物理世界的一種符號表達,它的通用表示方法有一種是三元組,即G∈(E,R,S),主要形式包括實體、關系、實體和概念、屬性、屬性值等,集合用SCE×R×E來表示,其中知識圖譜中的實體集用E={e1,e2,…,e|E}表示,共有不同實體|E|種;關系的集合用R={r1,r2,…,r|R}表示,共有不同關系|R|種;三元組的知識圖譜中的最基本元素是實體,每個實體都有全局唯一的標識ID來確定,不相同的實體間含不相同的關系,每個實體用屬性、屬性值對來描述其內在特征,這種關系可以用來連接兩個概念實體,描述它們之間的內在關系。概念主要指集合、類別、事物屬性、對象屬性,比如人物、地理等;屬性主要指對象可能存在的屬性、特征、特點以及參數,例如性別、年齡、身高、出生日期等;屬性值主要指對象指定屬性的值,例如男性、15歲、160 cm、1993年02月02日等。
2.3.2 實體抽取
知識抽取是自然語言處理的一個重要分支,其研究價值也得到越來越多的認可和重視。知識的來源可以分為結構化知識、半結構化知識和非結構化知識。其中較為關鍵的就是從非結構化的數據中抽取知識,有一定的困難。根據提取的知識類別,知識抽取可以區分為實體、關系和事件的抽取。抽取方法主要有二類,分別是基于規則和基于學習的抽取。其中基于規則的方法目前己經趨于成熟,是準確度最高的一種方法,涉及規則的編寫,需要大量的人工工作。機器學習的方法目前已經很普遍了,但也需要標注大量的數據,在準確度上有一定的瓶頸。近期基于神經網絡的方法已經脫離了領域知識和標注數據,準確度上有所提高。
測井解釋領域本體構建數據來源主要包括三部分:
(1)測井基礎信息數據庫。目前的測井解釋軟件無論是基于文件系統還是基于數據庫,都存儲了從測井數據中獲取的基本信息,例如曲線數據、參數表等。測井處理解釋領域的知識來源之一就是這些基本信息。
(2)測井行業所指定的技術標準、技術規范和詞典。該文分別參考了包括《測井原始資料質量要求》、《碎屑巖油氣儲層精細描述方法》、《測井解釋報告編寫規范》、《石油測井專業詞匯》和《裸眼井單井測井數據處理流程》。
(3)測井處理解釋領域專家。該文以測井處理解釋專家的指導意見為引領,保障知識圖譜的建模和開發的質量。
針對異構多源的測井處理解釋數據,設計了差異化的測井處理解釋實體識別方法。其中,對于結構化數據,如測井基礎信息數據庫,參照模式層,制定文本中數據字段到相應的實體及關系轉換規則,構造測井處理解釋知識三元組。對于非結構化數據《測井原始資料質量要求》、《碎屑巖油氣儲層精細描述方法》等,需要將其文本轉化為文本序列形式,然后使用基于BERT預訓練模型的長短期記憶網絡(BiLSTM)結合條件隨機場模型(CRF)的序列標注算法對測井處理解釋知識實體進行識別,其模型結構如圖3所示。

圖3 實體抽取模型
BERT[16]模型是通過對海量數據訓練所建立的,并具備了泛化能力較強的特征。此模型主要是通過雙向的Transformer編碼器完成的,表示在所有層中共同依賴于左右兩邊上下文信息,Transformer[17]與傳統的LSTM結構相比能夠更加深入地表示詞的上下文。得益于BERT強大的特征提取能力,可以有效地提取語料特征,獲取相應的字向量。隨后通過BiLSTM[18]層對訓練語料進一步提取上下文語義信息,并通過注意力機制[19]來捕捉文本中重要的信息。CRF層利用概率模型預測并輸出測井處理解釋知識實體序列標簽的最優表達式,從而完成自動序列標注測井處理解釋領域語料庫。同時,針對測井處理解釋領域專業性強的特殊性,該文將石油測井專業詞匯等專業詞庫導入輔助模型訓練,提高測井處理解釋相關實體數據識別的精確度。
2.3.3 關系抽取
關系抽取的工作目標是提取實體之間的關聯關系,從大量非結構化的文本數據信息中,本測井處理解釋領域的研究包括層次關系抽取和非層次關系抽取兩部分。關系抽取的關鍵部分就是如何在測井解釋領域發現和抽取關系特征,要解決這個問題應該從業務流程出發,剖析每個過程所涉及到的概念,并從中抽取出對應的概念和關系。從語義上來說,概念之間的基本關系大致可以分為四類:總體-部分關系、分類關系、實例與概念關系以及屬性關系。不過在實際建模過程中,這些類別遠不止這些,需要按照領域的具體內容情況來判斷確定。
在實際抽取過程中,第一步是構建實體之間關系的表達方式,測井處理解釋語料庫樣本,例如為表述測井參數與地質參數之間的關系,可構建出[巖石骨架]以及[孔隙、流體]的關系模式;巖石骨架以及孔隙、流體模式實體間的關系模板示例如圖4所示。

圖4 處理解釋關系模板示例
知識融合的目標是統一同一實體或同一概念在不同數據源中的表示,并將同質和異構的圖譜映射聯系起來,可以分為實體、屬性融合以及重名實體的消歧等多個層次。所謂實體的融合,就是針對不同數據源不能統一識別同一實體的問題,利用融合技術來建立不同數據源中實體的語義關聯。重名實體的消歧,是對測井處理解釋知識中具有同名多源、同名異義和異名同義等特征的實體的融合。屬性的融合是針對一致性問題,在不同數據源中同一個實體屬性不一致。
在測井處理解釋知識圖譜構建過程中,不同數據源中同一測井處理解釋知識實體的名稱、類別和描述各不相同,必須消除各種測井處理和解釋知識實體的模糊性以及具有相同意義的實體的知識融合。該文綜合衡量數據融合對象在名稱、屬性和層次類別上的相似性,判斷它們是否為同一實體,并通過設置相似度閾值來判斷該實體是否需要融合。
對各種實體概念以及實體概念之間的關系明確之后,就需要對知識加以存儲,形成知識圖譜。該文主要使用了Neo4j的圖形數據庫作為存儲體系。Neo4j是一個由Java語言設計開發的開源Native高性能圖數據庫系統,底層采用圖形數據結構加以保存,而圖模型則是由節點、有向邊和屬性構成的;節點上包含屬性,屬性可以以任何鍵值對的形式存在;每個邊都具有一個方向、一個標簽、一個起始節點和一個終止節點;就像節點一樣,邊也是有屬性的。大幅度提升了數據檢索的性能。
根據Neo4j圖數據庫,該文的測井處理解釋領域知識圖譜將通過以下機制統一地表示從測井處理解釋領域相關數據中提煉出的知識:圖中各個節點對應著一個測井處理解釋知識實體對象;圖中的各條有向邊代表實體與實體之間的語義關聯關系;每個測井處理解釋知識實體中的鍵值對與實體所對應的節點屬性一一對應;每個節點或邊都有全局標識符進行唯一標識,其部分可視化展示如圖5、圖6所示。

圖5 知識圖譜展示

圖6 實體關系示例
利用Protégé完成測井處理解釋本體的構建,Protégé[20]是斯坦福大學開源的領域本體構建開發工具,提供構建本體中的實例、概念類、關系和屬性,同時對特定的領域本體描述語言進行隱藏,使用者僅需要從概念層面上完成對領域本體模型的構建。
分析了測井解釋領域知識的痛點問題,提出了基于測井解釋知識圖譜的構建方案,從知識圖譜的起源與發展、定義以及構建技術流程做了充分闡述。采用自頂向下的知識圖譜構建方法,經過模式設計、數據獲取、知識加工及知識存儲等技術構建了測井解釋知識圖譜,用以解決目前測井解釋領域知識過于分散,難以共享充分利用的問題,有效提高了測井解釋知識的利用率和共享程度。
該研究仍然有很多不足與待實現部分,如數據來源大部分為結構化數據,而對于文本數據信息的提取較為有限,因此,未來將進一步提高文本信息的利用效果、知識關聯和知識定位性能,測井解釋知識圖譜的表達能力,完成基于測井處理解釋數據的知識挖掘與推理和語義檢索,提高測井解釋知識圖譜的性能和使用價值。