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