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