李婧璇
(中國石油大港油田信息中心,天津 300280)
油水井在長期生產過程中,通過巡檢會積累大量生產記錄,除了常見的產油量、產水量、油壓等結構化的指標數據,還包含備注等文本格式信息。備注作為生產過程的補充說明,往往涵蓋開關井、修井、取樣等多階段的詳細描述。如果能夠充分發揮文本信息中的價值,不僅可以更加準確地制訂停井計劃、油水井狀態評估方案,還可以為未來的油氣生產決策提供數據支撐。然而,由于記錄人員的經驗存在差別,記錄存在缺失和矛盾在所難免,加上文本沒有固定的格式與結構,記錄人員難以通過人工分析和行業標準來分辨其中的錯誤。提高生產記錄中文本信息的準確度和利用率既可以加深人們對油氣生產的認識,又能夠進一步提高生產數據質量,還可以盤活生產系統文本信息資源,可謂一舉多得。自然語言處理技術的快速發展,使利用分詞工具對文本信息進行自動處理成為可能。將文本分割為易于處理的詞和詞組之后,最常見的技術路線是,在已有的油水井生產文本記錄中,利用機器學習方法制定規則,再用這些規則來識別新的文本記錄中的錯誤,從而避免依賴冗余信息及人員經驗來識別錯誤。然而,機器學習受數據驅動,可能會因為文本缺失部分內容而忽略關鍵信息,并且訓練數據的特征也會影響訓練效果。
另一種可行的方法是,基于知識圖譜技術,圍繞已有的油水井生產文本記錄,構建一個油水井生產信息知識圖譜,并借助知識圖譜來識別新記錄中的錯誤。
所謂知識圖譜(Knowledge Graph),是一個用“關系”連接“實體”和“屬性”的網狀知識結構。其中,“實體”和“屬性”用節點表示,“關系”則用連接兩個節點的有向線段表示。知識圖譜基本組成單位是“實體—關系/屬性—實體”三元組。憑借一目了然的圖形結構,知識圖譜可以表示文本信息中的復雜關系,還能通過知識推理來識別出關鍵信息。
知識圖譜的邏輯結構分為數據層、模式層兩個層次。數據層位于底層,在圖數據庫中,以事實為單位存儲的知識構成了龐大的實體關系網。模式層則是知識圖譜的核心,存儲經過提煉的知識。簡單來說,構建知識圖譜,就是采用自動或半自動的技術手段,從原始數據中提取出事實,并將其存入數據層和模式層的過程。這個過程是迭代更新的,每輪迭代包括3 個階段:信息抽取、知識融合、知識加工。信息抽取是指從半結構化和非結構化數據中提取出實體、屬性及實體間的關系,作為知識圖譜的基本元素。知識融合是指對獲得的新知識進行整合,以便消除矛盾和歧義。有些實體可能有多種表達,需要將這些表示相同實體的詞合并為一個節點;也有些稱謂可能對應多個實體,這時就需要對這些多種含義的實體名稱進行區分。知識加工是指在應用過程中對知識圖譜的性能進行評估,并根據學科技術發展情況更新知識圖譜的動態操作。
油水井生產數據中,除了以結構化形式存儲的指標項,還有以文本格式存在的備注類信息。考慮到二者的特征和構建知識圖譜的常規流程,筆者提出基于知識圖譜技術的生產信息組織架構,具體如下。
2.2.1 實體鏈接
將抽取得到的實體鏈接到知識庫中與之相應的實體對象。
2.2.2 關系抽取
從結構化數據和文本中抽取實體之間的關系。鑒于部分屬性可能是其他屬性的程度描述,還需要考慮屬性之間的關系抽取。
2.2.3 關系篩選
抽取出關系之后,還需要進行關系篩選來剔除冗余和錯誤的概念,以免影響到知識圖譜的應用效果。
2.2.4 數據集成
以三元組的形式,對生產信息中提取的實體、屬性、關系進行重組,連同從規范文件中提取的三元組,形成一個油水井生產信息知識圖譜。
2.2.5 圖譜更新
構建知識圖譜并非一成不變。隨著專業領域認識不斷深入,知識體系會得到補充和調整,相應的知識圖譜也需要進行更新迭代,以便保證知識質量和應用效果。
該環節借助自然語言處理技術,自動從記錄中抽取實體/屬性信息并標注詞性。具體包括以下幾個方面。
2.3.1 文本預處理
中文不同于英文,詞與詞之間沒有空格作為分隔符,因此必須對中文文本進行分段、分句、分詞的預處理。這里使用Python 的中文分詞工具Jieba 將文本記錄切分成詞,然后用隱馬爾可夫模型來識別詞典中未涵蓋的詞。
2.3.2 詞語提取
參照《石油天然氣工業術語規范》(GB/T 8423.1-2018)(以下簡稱《規范》),在包括文本在內的生產記錄中搜索關鍵詞。每當匹配上一個規范中的術語時,就將這個詞所代表的實體/屬性作為節點加入知識圖譜。
2.3.3 詞性標注
將所有詞劃分成5 類并標注詞性:①描述設備及其部件的名詞標為En;②描述固有特性的名詞標為Pv;③描述程度的副詞標為Pad;④描述程度的量詞標為Pq;⑤不在《規范》中,且無法用隱馬爾可夫模型標記詞性的實體或屬性。完成詞性標注(Part-Of-Speech,POS)的詞類集合,可以用來訓練實體/屬性的詞性標注模型,以便應用于非結構化數據的實體/屬性抽取過程,減少人工詞性標注的工作量。實體/屬性抽取環節是知識圖譜構建過程的基石,很大程度上影響了知識圖譜的質量和效率。知識圖譜在應用上取得的效果,與實體/屬性抽取的準確性是密不可分的。
實體鏈接的基本思路:通過實體抽取得到實體指標項后,從知識庫中選出一組與實體指標項相近的候選實體,然后通過相似度計算,將該實體指標項鏈接到知識庫中對應的實體對象。為了使實體鏈接盡可能準確,有時需要進行實體消歧和共指消解。
實體消歧用于解決同名實體產生歧義的問題。例如,“蘋果”既可能指蘋果公司,也可能指水果。本文的研究范圍限定在油氣生產領域,實體名稱規范明確,因此該環節可以略過。共指消解用于解決不同實體表示相同含義的問題。例如,“減速器”和“減速箱”就表示同一個實體。除實體之外,屬性也可能存在別稱,所以共指消解應該同時被應用在實體和屬性上,達到同義詞合并的目的。該環節具體包括以下幾步。①基于POS 的名詞分類。考慮到同義詞POS 必相同的特點,可以將實體/屬性詞根據POS 分為4 組,然后分別在每個組內識別同義詞。②詞的向量化表示。將文本信息轉換為計算機可識別的形式,通常以詞為單元組成詞向量,本文使用開源工具Word2vec 將詞轉化為向量,通過計算向量之間的余弦相似度來判斷詞與詞之間的語義是否相近。③篩選詞對。同一句話的近鄰詞和相似語境下不同句子的構成詞往往余弦相似度很高,要想減少近鄰詞的干擾,還需要篩除曾一起出現在同一條記錄中的詞對。④形成同義詞列表。參考《規范》,對各組含義相同的實體或屬性進行合并,從每組選出一個詞作為該組所有詞的標準名稱,借助列表形式,將標準名和同義詞羅列出來。
之所以將實體鏈接環節提前到關系抽取之前執行,是因為油氣生產領域相對封閉,這樣做有助于提高關系抽取環節的訓練集質量。
實體/屬性抽取環節得到的是離散的實體和屬性,要想將其組織成網狀的知識結構,還缺少將這些節點連接起來的關系。這就需要借助關系抽取的手段來識別文本記錄中是否存在關系,以及兩個實體或屬性之間存在什么關系。在油水井生產信息所涉及的關系中,根據兩個實體/屬性組合的POS 不同,可以細分為5 種類型:①二者皆為En,則可能存在包含關系;②一個En,一個Pv,則Pv 是En 的特性;③一個Pv,一個Pad,則Pad 是Pv 的定性描述;④一個Pv,一個Pq,則Pq 是Pv 的定量描述;⑤二者的任意組合,可能出現無關系的情況。至此,關系抽取可以被抽象成一個分類問題:從實體/屬性詞的兩兩組合中,選出除類型⑤以外的其余4 種組合的詞對,然后根據詞對向量,應用弱監督協同訓練法對它們之間的關系進行分類。
關系篩選可以排除從文本中提取的冗余和錯誤的關系。在實際工作中,巡檢人員為了言簡意賅地記錄情況,有時會縮略地描述一些常見設備及其部件,而沒有詳細地逐級描述其歸屬關系。例如,“抽油泵游動凡爾被砂卡住”可能被記錄成“游動凡爾被砂卡住”,導致油井本身雖然不直接包含“游動凡爾”,卻可能被機器判定為直接包含關系。
這類錯誤可以通過知識推理來規避掉。所謂知識推理,就是從現有知識出發,發現新知識的過程。由于標注全部的間接包含關系會大幅增強知識圖譜的復雜度和冗余度,這里只對直接包含關系進行標注,即如果連接兩個實體節點的路徑不止一條,且其中一條路徑上存在與這兩個節點有包含關系的新節點,那么這兩個實體間的包含關系將被排除。例如,在“油井”和“游動凡爾”之間有一條“油井—抽油泵—游動凡爾”的路徑,則直接連接“油井”和“游動凡爾”表示包含關系的路徑將被排除。
從生產信息中提取的實體、屬性、關系信息,被重新組織為三元組表格的形式,連同從規范文件中提取的三元組一起,在Neo4j 圖數據庫中形成油水井生產信息知識圖譜。在后續的應用中,生產數據將不斷補充進來,這些歸納后的三元組可以用于關系抽取的訓練過程,以便充分利用這些數據資產。
隨著技術發展和業務理解的逐漸深入,新知識會持續不斷地補充進來,這意味著知識圖譜的構建不是一勞永逸的,而是一個不斷更新迭代的過程。知識圖譜的更新從本質上而言,是根據新的專家知識增加和調整相應的節點(表示實體及屬性)和連線(表示關系)的過程,它分為全面更新和增量更新兩種類型。如果出現實體/屬性的大規模更新或有關新型設備記錄的快速增長,對知識圖譜推倒重建的全面更新模式會更加方便,但這種更新的缺點在于資源消耗大,而且后續的系統維護也會耗費大量人力。但是,實際應用場景下的知識更新大多是緩慢推進的,這時就可以采用人工干預下的增量更新模式,在原有知識圖譜的基礎上補充和調整實體、屬性、關系即可,這個過程不會消耗太多資源,而且知識圖譜的準確度不會波動過大。
知識圖譜以接近人類認知世界的方式來組織、管理、利用海量的信息,是一個新興的研究領域。本文將知識圖譜技術引入油水井生產信息的處理過程,提出了一種自底向上構建油水井生產信息知識圖譜的方法,在提高文本數據利用率的同時,對中文信息處理及檢索也有重要的研究意義。一個典型的應用場景是,在生產信息知識圖譜中定位節點和遍歷路徑,在數據錄入階段及時提示錯誤信息,從而避免錯誤記錄進入系統,從源頭確保錄入數據的質量。本文提出的圖譜構建流程不僅是一次知識圖譜技術在油氣生產領域的探索,也為能源行業中文文本的數據挖掘研究提供了新思路。