胡青寧, 董金平, 李婷玉, 田 源, 蘇宏偉
( 1. 中國石油冀東油田分公司 勘察設(shè)計(jì)與信息化研究院,河北 唐山 063004; 2. 中國石油冀東油田分公司 科技信息處,河北 唐山 063004 )
中國石油開展石油數(shù)據(jù)湖建設(shè),統(tǒng)一管理上游業(yè)務(wù)油氣勘探開發(fā)領(lǐng)域的數(shù)據(jù)資產(chǎn)。石油數(shù)據(jù)湖由主湖和區(qū)域湖構(gòu)成,主湖負(fù)責(zé)統(tǒng)一管控和公共數(shù)據(jù)管理,區(qū)域湖負(fù)責(zé)區(qū)域性數(shù)據(jù)存儲及服務(wù)[1]。區(qū)域數(shù)據(jù)湖不僅要管理主湖范圍的業(yè)務(wù)數(shù)據(jù),還要管理大量油田自建數(shù)據(jù)庫系統(tǒng)。油田區(qū)域數(shù)據(jù)湖中的數(shù)據(jù)庫具有多源性、多層級、多維度的特點(diǎn),沒有定義統(tǒng)一的行業(yè)領(lǐng)域數(shù)據(jù)標(biāo)準(zhǔn),因此不同數(shù)據(jù)庫、不同層級的管理、不同角度的應(yīng)用采用的數(shù)據(jù)相關(guān)術(shù)語、數(shù)據(jù)項(xiàng)標(biāo)識有較大差異,存在大量同名異義、異名同義的數(shù)據(jù)項(xiàng)名稱,導(dǎo)致出現(xiàn)數(shù)據(jù)錯(cuò)誤引用、數(shù)據(jù)查找難、數(shù)據(jù)理解難等問題,給數(shù)據(jù)的管理和使用帶來困擾。
為解決數(shù)據(jù)標(biāo)準(zhǔn)化,ISO發(fā)布系列標(biāo)準(zhǔn)ISO/IEC 11179-1~6,對數(shù)據(jù)元的框架、分類、模型、定義、命名、注冊等進(jìn)行規(guī)定[2],并持續(xù)性改進(jìn),國家標(biāo)準(zhǔn)GB/T 18391系列等同樣采用該系列標(biāo)準(zhǔn)[3]。石油行業(yè)標(biāo)準(zhǔn)和中石油企業(yè)標(biāo)準(zhǔn)也發(fā)布數(shù)據(jù)元設(shè)計(jì)原則[4]和數(shù)據(jù)元設(shè)計(jì)指南[5]。目前數(shù)據(jù)元相關(guān)的標(biāo)準(zhǔn)主要從數(shù)據(jù)的規(guī)范化命名表達(dá)數(shù)據(jù)元的語義,在中文數(shù)據(jù)項(xiàng)名稱的規(guī)范作用上有限[6]。
數(shù)據(jù)元語義描述方法可用數(shù)據(jù)元的概念繼承關(guān)系和關(guān)聯(lián)關(guān)系表達(dá)概念的語義。文獻(xiàn)[7]利用語義泛化層級表達(dá)數(shù)據(jù)元語義,根據(jù)中醫(yī)臨床癥狀術(shù)語描述特點(diǎn),研究中醫(yī)臨床癥狀數(shù)據(jù)元提取的方法、路徑和原則,并給出符合實(shí)際應(yīng)用的三層提取模型,從概念層、通用數(shù)據(jù)元層、應(yīng)用數(shù)據(jù)元層提取數(shù)據(jù)元。文獻(xiàn)[8]利用數(shù)據(jù)元構(gòu)建通用領(lǐng)域知識圖譜,提出一種綜合相似度計(jì)算與知識圖譜融合的語義查詢擴(kuò)展算法。文獻(xiàn)[9]提出一種基于數(shù)據(jù)元的數(shù)據(jù)集成方法,通過對概念的內(nèi)涵進(jìn)行形式化的語義描述,可以實(shí)現(xiàn)不同模型之間模型級與實(shí)例級的語義映射。概念表達(dá)語義受上下文語境影響,隨概念外延的擴(kuò)展,容易產(chǎn)生歧義。為了更加規(guī)范、準(zhǔn)確地描述數(shù)據(jù)元的內(nèi)涵語義,文獻(xiàn)[10-11]提出數(shù)據(jù)元語義樹,將領(lǐng)域本體概念及概念之間的關(guān)系作為語義樹節(jié)點(diǎn)和邊,表達(dá)數(shù)據(jù)元特性詞、對象詞、限定詞及之間的關(guān)系,并定義基于語義樹結(jié)構(gòu)的語義計(jì)算方法。基于數(shù)據(jù)元語義描述方法,文獻(xiàn)[12]進(jìn)一步擴(kuò)展到數(shù)據(jù)模型的語義描述,將數(shù)據(jù)模型中實(shí)體的語義環(huán)境表達(dá)為語義樹,與實(shí)體的各屬性語義樹共同表達(dá)實(shí)體的語義?;谡Z義樹的數(shù)據(jù)元語義描述方法需要構(gòu)建語法嚴(yán)格的樹形結(jié)構(gòu),同時(shí)依賴預(yù)先建立的領(lǐng)域本體,增加語義描述的復(fù)雜度和構(gòu)建成本。
關(guān)鍵字研究多集中在搜索引擎、自然語言處理、圖像處理等領(lǐng)域。如基于結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)包含大量語義信息,LOU Y等[13]通過計(jì)算語義信息的信息熵確定關(guān)鍵詞的語義相關(guān)性,利用關(guān)鍵詞與語義的相關(guān)度,構(gòu)建基于信息熵的語義模型,從而提高搜索結(jié)果的準(zhǔn)確性。文獻(xiàn)[14]提出一種利用語義信息改進(jìn)關(guān)鍵字檢測的自動抽取摘要方法,通過對句子進(jìn)行聚類識別源文檔中的主要主題增加覆蓋率,通過檢測聚類中的關(guān)鍵字提高精度。NGUYEN N V等[15]提出圖像—關(guān)鍵字的雙向轉(zhuǎn)換關(guān)聯(lián)模型,基于處理圖像表示的最先進(jìn)的詞袋模型,表示語義概念和視覺特征之間的關(guān)聯(lián),使用交互式增量學(xué)習(xí)策略不斷更新關(guān)鍵字視覺表示模型。在數(shù)據(jù)元語義表示上,使用關(guān)鍵字的研究相對較少,主要集中在數(shù)據(jù)元的語義計(jì)算方法上,如數(shù)據(jù)元語義相似性、相關(guān)性、數(shù)據(jù)映射等。文獻(xiàn)[16]綜合考慮語義相似度和語義關(guān)聯(lián)度的概念語義相關(guān)度計(jì)算方法,提出一種基于數(shù)據(jù)元語義樹的概念語義相關(guān)度計(jì)算方法。文獻(xiàn)[17]利用語義相似度算法進(jìn)行數(shù)據(jù)元間的相似性、一致性的檢查,搜索數(shù)據(jù)元間的匹配關(guān)系,建立數(shù)據(jù)模型間的屬性級的映射關(guān)系。文獻(xiàn)[18]提出一種數(shù)據(jù)項(xiàng)與數(shù)據(jù)元匹配算法,計(jì)算數(shù)據(jù)項(xiàng)與數(shù)據(jù)元的相似度,實(shí)現(xiàn)數(shù)據(jù)項(xiàng)與結(jié)構(gòu)化數(shù)據(jù)項(xiàng)的映射。
針對語義樹描述數(shù)據(jù)元語義具有較高的復(fù)雜性和關(guān)鍵字描述數(shù)據(jù)元語義的研究缺乏,筆者提出一種簡易的數(shù)據(jù)元語義描述方法。首先,分析基于語義樹的數(shù)據(jù)元語義描述方法中語義樹構(gòu)建與應(yīng)用的特點(diǎn);然后,給出基于關(guān)鍵字的數(shù)據(jù)元語義描述方法與匹配算法;最后,構(gòu)建油田區(qū)域數(shù)據(jù)湖的數(shù)據(jù)元字典及數(shù)據(jù)模型映射,驗(yàn)證該方法的有效性。
數(shù)據(jù)元是基本的、不可分割的數(shù)據(jù)單元,用一組屬性描述其標(biāo)識、定義、允許值和表示[2]。在數(shù)據(jù)元的相關(guān)規(guī)范中,數(shù)據(jù)元的語義通過三種方式進(jìn)行定義或擴(kuò)展。首先,通過規(guī)范的名稱,明確表達(dá)數(shù)據(jù)元的語義;其次,以文字方式說明數(shù)據(jù)元的含義、使用方式等。此外,通過數(shù)據(jù)元的數(shù)據(jù)類型、管理模式等外部信息側(cè)面表達(dá)數(shù)據(jù)元語義。數(shù)據(jù)元標(biāo)準(zhǔn)專門規(guī)定數(shù)據(jù)元的語義規(guī)則[6]:
(1)對象詞是對現(xiàn)實(shí)世界事物的抽象描述。一個(gè)數(shù)據(jù)元只有一個(gè)對象詞,如井、水管、設(shè)備、管柱。
(2)特性詞是對象特性的描述。一個(gè)數(shù)據(jù)元只有一個(gè)特性詞,如長度、深度、外徑、內(nèi)徑、尺寸、壓力、產(chǎn)量。
(3)限定詞根據(jù)主題域需要添加,添加限定詞后,其修飾的主詞在指定上下文中唯一。一個(gè)對象詞或特性詞可以有多個(gè)限定詞,限定詞無順序要求。此外,限定詞可以擁有自己的限定詞,如懸掛尾管、回接尾管、下入深度、年產(chǎn)量。
(4)表示詞用來描述數(shù)據(jù)元素值呈現(xiàn)的方式。一個(gè)數(shù)據(jù)元只有一個(gè)表示詞,如噸作產(chǎn)量的表示詞時(shí),用“噸”而不用“桶”。
數(shù)據(jù)元采用對象詞、特性詞、表示詞、限定詞等語義元素對名稱規(guī)范命名是按照英文的語法結(jié)構(gòu)定義的,不適合中文環(huán)境,因?yàn)橹形恼Z法結(jié)構(gòu)不完全等同于英文,中文沒有空格對各詞進(jìn)行分隔,且分詞不同,造成語義也不相同[19]。時(shí)貴英、文必龍等提出利用語義樹描述數(shù)據(jù)元語義[9-10]的方法,將數(shù)據(jù)元名稱中的語義元素,按照元素之間的限定或修飾關(guān)系,使用語義樹的方式表達(dá)為樹形結(jié)構(gòu)(見圖1)。
圖1 數(shù)據(jù)元語義樹結(jié)構(gòu)Fig.1 Structure of data element semantic tree
構(gòu)建數(shù)據(jù)元語義樹包括兩個(gè)基本元素:一是語義樹中的節(jié)點(diǎn),由對象詞、特性詞、表示詞、限定詞及約束條件構(gòu)成;二是節(jié)點(diǎn)之間的連線,表示節(jié)點(diǎn)對應(yīng)詞匯之間的限定關(guān)系。在定義語義樹的過程中,節(jié)點(diǎn)名稱與節(jié)點(diǎn)關(guān)系的梳理復(fù)雜,文獻(xiàn)[8]采取從領(lǐng)域本體獲取相關(guān)內(nèi)容,將一個(gè)數(shù)據(jù)元的語義樹看作一個(gè)領(lǐng)域本體的子集,通過裁剪領(lǐng)域本體生成語義樹。分析基于本體構(gòu)建語義樹的方法主要受三方面限制:
(1)語義樹中的節(jié)點(diǎn)來自領(lǐng)域本體的概念;
(2)語義樹中的節(jié)點(diǎn)之間的連接關(guān)系來自于領(lǐng)域本體中概念之間的關(guān)系;
(3)語義樹中的約束條件節(jié)點(diǎn)需要遵循相應(yīng)的語法規(guī)則。
如果解除限制(1)(2),除節(jié)點(diǎn)名稱及連接關(guān)系的規(guī)范性外,并不影響對數(shù)據(jù)元語義的定義和理解;對限制(3)將約束條件修改為對約束節(jié)點(diǎn)的限定詞,不影響節(jié)點(diǎn)的語義。
通過對數(shù)據(jù)元語義樹結(jié)構(gòu)與構(gòu)建特點(diǎn)分析,提出一種基于關(guān)鍵字的數(shù)據(jù)元語義描述方法。
定義對任一數(shù)據(jù)元e,e的語義可以表達(dá)為一個(gè)關(guān)鍵字集合K(e),稱K(e)為e的語義關(guān)鍵字集,即
K(e)= {pty, obj, pre}∪Qobj∪Qpty∪C。
其中,pty為e的特性詞;obj為e的對象詞;pre為e的表示詞;Qobj為obj的限定詞集合;Qpty為pty的限定詞集合;C為約束條件中的常數(shù)值集合。按照語義樹定義,約束條件可以表達(dá)為邏輯條件表達(dá)式,如數(shù)據(jù)元“新井日產(chǎn)油量”中,約束條件可以用“井的計(jì)產(chǎn)類型=‘新井’”或用“井的投產(chǎn)日期>新井計(jì)算日期”表示。
將C中的常數(shù)值作為相應(yīng)的限定詞劃分到Qobj與Qpty中,把pre劃分到Qpty,得出進(jìn)一步簡化結(jié)果,即
K(e)={pty,obj}∪Qobj∪Qpty。
實(shí)際應(yīng)用中較少有復(fù)雜的約束條件,并且約束條件表達(dá)式中通常有常量和屬性,應(yīng)用中大多忽略屬性,如“新井日產(chǎn)油量”的新井,每年統(tǒng)計(jì)時(shí)條件相同,但在油田都知道新井的含義。因此,可以把約束條件中的表達(dá)式直接用其中的常數(shù)替代,不會影響數(shù)據(jù)元表達(dá)的語義。此外,為了將數(shù)據(jù)元的語義直觀化,便于理解,將K(e)中關(guān)鍵字及關(guān)系表達(dá)為語義樹(見圖2)。
圖2 基于關(guān)鍵字的數(shù)據(jù)元語義樹Fig.2 Data element semantic tree based on keywords
基于關(guān)鍵字的數(shù)據(jù)元語義存儲示例見表1。
表1 基于關(guān)鍵字的數(shù)據(jù)元存儲示例
比較基于關(guān)鍵字的數(shù)據(jù)元語義樹和基于本體的數(shù)據(jù)元語義樹,結(jié)果見表2。在簡潔性、理解性和靈活性上,采用關(guān)鍵字描述數(shù)據(jù)元的方法比基于本體的描述方法占有一定優(yōu)勢,適合工程化應(yīng)用。
表2 數(shù)據(jù)元語義描述方法特性比較
基于數(shù)據(jù)元描述數(shù)據(jù)模型的語義,是為數(shù)據(jù)模型中實(shí)體的屬性指定一個(gè)數(shù)據(jù)元,確認(rèn)采用指定數(shù)據(jù)元的定義,包括語義、數(shù)據(jù)類型等[12]。
定義實(shí)體r(a1,a2,…,an)的語義用關(guān)鍵字表示為
K(r)=Qr∪K(a1)∪K(a2)…∪K(an)。
其中,ai為r的屬性;Qr為r的應(yīng)用場景的關(guān)鍵字集;K(ai)為屬性ai的語義關(guān)鍵字集。
定義實(shí)體r(a1,a2,…,an) 的任一屬性ai的語義用關(guān)鍵字集表示為
K(ai)={pty,obj}∪Qobj∪Qpty。
其中,pty、obj、Qobj、Qpty與數(shù)據(jù)元中定義相同。
在企業(yè)應(yīng)用環(huán)境中,數(shù)據(jù)元通常采用數(shù)據(jù)元標(biāo)準(zhǔn)化字典進(jìn)行定義,具有企業(yè)領(lǐng)域范圍內(nèi)的通用性。數(shù)據(jù)模型是對企業(yè)的具體應(yīng)用場景定義,具有一定的特殊性。在許多場合下,并不能為數(shù)據(jù)模型中的所有實(shí)體屬性找到對應(yīng)的數(shù)據(jù)元。在無法為實(shí)體屬性找到對應(yīng)的數(shù)據(jù)元時(shí),需要利用數(shù)據(jù)元概念的泛化層級性,通過數(shù)據(jù)元關(guān)鍵字?jǐn)U展描述實(shí)體屬性的語義。數(shù)據(jù)元按概念的泛化層級分為數(shù)據(jù)元概念、通用數(shù)據(jù)元、應(yīng)用數(shù)據(jù)元。
數(shù)據(jù)元概念(Data Element Concept)是與數(shù)據(jù)元具體表現(xiàn)形式無關(guān)的數(shù)據(jù)元。在語義上,數(shù)據(jù)元概念不包含表示詞[2]。如“日產(chǎn)油量”是數(shù)據(jù)元概念,因?yàn)楫a(chǎn)油量可以用“噸”表示,也可以用“桶”表示,沒有指定表示方式,因此是數(shù)據(jù)元概念。通用數(shù)據(jù)元是適合不同應(yīng)用場景的數(shù)據(jù)元,應(yīng)用數(shù)據(jù)元是與具體應(yīng)用場景相關(guān)的數(shù)據(jù)元。通用數(shù)據(jù)元與應(yīng)用數(shù)據(jù)元是相對于一定的應(yīng)用環(huán)境而言的,二者之間并沒有本質(zhì)的區(qū)別,只是應(yīng)用場景大小的問題。應(yīng)用數(shù)據(jù)元是通用數(shù)據(jù)元在應(yīng)用場景下,進(jìn)一步限定后生成的數(shù)據(jù)元,通用數(shù)據(jù)元可以看作被泛化的應(yīng)用數(shù)據(jù)元。數(shù)據(jù)元、通用數(shù)據(jù)元和應(yīng)用數(shù)據(jù)元之間的關(guān)系用數(shù)據(jù)元的語義關(guān)鍵字集表示為
K(e2)=K(e1)∪pre∪Q2,K(e3)=K(e2)∪Q3。
其中,一個(gè)數(shù)據(jù)元概念e1加上表示詞,可以演化為通用數(shù)據(jù)元e2。通用數(shù)據(jù)元e2加上應(yīng)用場景約束,可以演化為應(yīng)用數(shù)據(jù)元;K(e1)、K(e2)分別為數(shù)據(jù)元e1、e2的關(guān)鍵字集合;pre為表示詞;Q2為描述數(shù)據(jù)元e2的應(yīng)用場景的關(guān)鍵字集,是一組限定詞或約束條件;Q3為描述數(shù)據(jù)元e3的應(yīng)用場景的關(guān)鍵字集合,是一組限定詞或約束條件。通過Q3進(jìn)一步特化e3的應(yīng)用場景。
實(shí)體的屬性與數(shù)據(jù)元是定義數(shù)據(jù)的基本單元。數(shù)據(jù)元的語義中已經(jīng)包含應(yīng)用場景的定義,不需要再單獨(dú)指定應(yīng)用場景,每一個(gè)數(shù)據(jù)元都具有完整的語義,如數(shù)據(jù)元“采油廠日產(chǎn)油量”的語義是完整的。實(shí)體的屬性需要依賴所屬實(shí)體的環(huán)境表達(dá),如“采油廠日報(bào)數(shù)據(jù)”中的屬性“產(chǎn)油量”表示“采油廠日產(chǎn)油量”,而在實(shí)體“采油廠月報(bào)數(shù)據(jù)”中,屬性“產(chǎn)油量”表示的是“采油廠月產(chǎn)油量”。按數(shù)據(jù)元的層級性,實(shí)體的屬性可以用通用數(shù)據(jù)元和應(yīng)用數(shù)據(jù)元表示。
由于實(shí)體的應(yīng)用場景可以轉(zhuǎn)化為屬性的應(yīng)用場景,因此利用數(shù)據(jù)元e表達(dá)實(shí)體屬性a的語義,有三種情況:
(1)當(dāng)ptya=ptye,obja=obje,且a與e的應(yīng)用場景一致時(shí),直接用數(shù)據(jù)元表達(dá)屬性的語義,即
K(a)=K(e)。
(2)當(dāng)ptya=ptye,obja=obje,且a的應(yīng)用場景比e的更小時(shí),K(a)∈K(e) ,通過擴(kuò)展數(shù)據(jù)元e的關(guān)鍵字表達(dá)屬性的語義,即
K(a)=K(e)∪Qa。
其中,Qa為a相對e增加的語義約束,Qa=K(a)-K(e) 。由于增加更多約束,應(yīng)用場景的范圍變得更小。
(3)當(dāng)ptya=ptye,obja=obje,且a的應(yīng)用場景比e的更大時(shí),不能用e表達(dá)a的語義。需要定義一個(gè)新數(shù)據(jù)元,通常將a轉(zhuǎn)換為數(shù)據(jù)元加入數(shù)據(jù)元字典。
由于數(shù)據(jù)元在領(lǐng)域范圍內(nèi)可以作為標(biāo)準(zhǔn)進(jìn)行定義,因此利用數(shù)據(jù)元表達(dá)數(shù)據(jù)模型的語義,可以簡化數(shù)據(jù)模型的設(shè)計(jì)及語義描述。
利用數(shù)據(jù)元描述數(shù)據(jù)模型的語義,關(guān)鍵是找到與實(shí)體屬性匹配的數(shù)據(jù)元;同時(shí),異構(gòu)數(shù)據(jù)模型自動映射時(shí),需要判斷兩個(gè)實(shí)體的屬性是否具有一致的語義。前提需要進(jìn)行數(shù)據(jù)元語義相似度計(jì)算。
在一定程序上,數(shù)據(jù)元名稱反映數(shù)據(jù)元的語義[12]。在無法完全保證數(shù)據(jù)元語義描述完整、準(zhǔn)確的情況下,數(shù)據(jù)元名稱表達(dá)的語義對數(shù)據(jù)元的理解及應(yīng)用具有指導(dǎo)意義。提出一種綜合數(shù)據(jù)元名稱及關(guān)鍵字集合的語義相似度計(jì)算方法。
定義任意兩個(gè)數(shù)據(jù)元e1、e2,其語義相似度為
(1)
式中:dsim(e1,e2)為兩個(gè)數(shù)據(jù)元名稱的相似度;ksim(e1,e2)為兩個(gè)數(shù)據(jù)元的關(guān)鍵字集合之間的項(xiàng)集相似度;WD、WK分別為兩個(gè)相似度的權(quán)重,WD+WK=1。對數(shù)據(jù)元組成成分與結(jié)構(gòu)分析可知:數(shù)據(jù)元詞語由語素組成,語素越靠前,作用越小,為它分配的權(quán)值越?。徽Z素越靠后,作用越大,為它分配的權(quán)值越大[20]。此外,由于油田領(lǐng)域數(shù)據(jù)元的關(guān)鍵字較為短小,具有表達(dá)隨意、稀疏性和不平衡性等特性,編輯距離算法作為基于字面進(jìn)行相似度度量的方法,對短文本的處理具有可行性高、效果好等優(yōu)點(diǎn)[21]。因此,采用編輯距離計(jì)算數(shù)據(jù)元間語義的相似度。
以中石化數(shù)據(jù)元字典中1.4×104個(gè)數(shù)據(jù)元為實(shí)驗(yàn)數(shù)據(jù),通過不同因數(shù)組合發(fā)現(xiàn)WD=0.3、WK=0.7[22]時(shí),滿足工程化應(yīng)用需要。如數(shù)據(jù)元“油井所屬區(qū)塊單元名稱”(設(shè)定為M)與數(shù)據(jù)元“油井所屬區(qū)塊單元代碼”(設(shè)定為N)在不同因數(shù)組合下,計(jì)算的編輯距離相似度結(jié)果見表3。
表3 不同因數(shù)組合的相似度計(jì)算結(jié)果
編輯距離算法[16,23]用dist(x,y)表示字符串x轉(zhuǎn)變到y(tǒng)的最小成本,轉(zhuǎn)換方式包括刪除、插入和替換字符串。如將字符串x=“累積油產(chǎn)量”轉(zhuǎn)換為字符串y=“累積地層油產(chǎn)量”的代價(jià)是dist(x,y)=2,需要執(zhí)行的操作依次是在“累積”后面插入一個(gè)字符“地”,在“累積地”后面插入一個(gè)字符“層”。x和y的轉(zhuǎn)換操作是對稱的,將x轉(zhuǎn)換為y的代價(jià)和y轉(zhuǎn)換成x的代價(jià)是相同的。編輯距離越小,字符串x轉(zhuǎn)變到y(tǒng)的成本越少,兩個(gè)字符串越相似。編輯距離dist(x,y)可用公式轉(zhuǎn)換為相似度度量函數(shù)DSIM(x,y),即
(2)
式中:length為字符串長度函數(shù)。兩個(gè)數(shù)據(jù)元e1、e2的項(xiàng)集相似度公式計(jì)算為
(3)
兩個(gè)集合A、B的項(xiàng)集相似度J(A,B)=AB的交集項(xiàng)個(gè)數(shù)/AB的并集項(xiàng)個(gè)數(shù),即為杰卡德相似度系數(shù)(Jaccard Similarity Coefficient)[23]。杰卡德相似度系數(shù)是衡量兩個(gè)集合相似度的一種指標(biāo),交集等于并集,意味著兩個(gè)集合完全重合。
以數(shù)據(jù)元“尾管懸掛下入深度”為例,按照關(guān)鍵詞分類,它的對象詞是“尾管”,對象詞的限定詞是“懸掛”,特性詞是“深度”,特性詞的限定詞是“下入”,在數(shù)據(jù)元字典中匹配到的前10個(gè)數(shù)據(jù)元及相似度計(jì)算結(jié)果見表4。
表4 數(shù)據(jù)元相似度計(jì)算結(jié)果示例
在油田區(qū)域數(shù)據(jù)湖建設(shè)中,利用數(shù)據(jù)資源目錄描述油田勘探開發(fā)業(yè)務(wù)及應(yīng)用系統(tǒng)的數(shù)據(jù)資源情況,其中數(shù)據(jù)資源目錄利用數(shù)據(jù)元作為標(biāo)準(zhǔn)數(shù)據(jù)和中間橋梁,將業(yè)務(wù)模型[24]、應(yīng)用數(shù)據(jù)模型、存儲數(shù)據(jù)模型關(guān)聯(lián)到一起(見圖3)。業(yè)務(wù)模型與數(shù)據(jù)元關(guān)聯(lián)后,可以從勘探開發(fā)業(yè)務(wù)角度掌握某一業(yè)務(wù)活動采用和產(chǎn)生的數(shù)據(jù)有哪些,數(shù)據(jù)由哪些應(yīng)用系統(tǒng)產(chǎn)生,被哪些系統(tǒng)使用。數(shù)據(jù)元與存儲數(shù)據(jù)模型和應(yīng)用數(shù)據(jù)視圖關(guān)聯(lián)后,可實(shí)現(xiàn)以數(shù)據(jù)元為中介的數(shù)據(jù)模型之間的自動映射。完成應(yīng)用的基礎(chǔ)是構(gòu)建數(shù)據(jù)元字典,并實(shí)現(xiàn)基于數(shù)據(jù)元的數(shù)據(jù)映射[25]。
圖3 油田區(qū)域數(shù)據(jù)湖中數(shù)據(jù)元與數(shù)據(jù)資源的關(guān)系Fig.3 The relationship between data element and data resources in oil field regional data lake
數(shù)據(jù)元字典的構(gòu)建分四個(gè)步驟。
步驟1數(shù)據(jù)元原始資料收集。將業(yè)務(wù)模型中的數(shù)據(jù)項(xiàng)、應(yīng)用數(shù)據(jù)視圖中的數(shù)據(jù)項(xiàng)、存儲數(shù)據(jù)模型中的數(shù)據(jù)項(xiàng)收集到數(shù)據(jù)元字典模板中,每一個(gè)數(shù)據(jù)項(xiàng)作為一個(gè)初始的數(shù)據(jù)元。數(shù)據(jù)元字典模板由基本信息、來源、語義組成,其中,基本信息包括數(shù)據(jù)元名稱、代碼、數(shù)據(jù)類型、長度、精度、計(jì)量單位、描述,來源由源模型、源表、源屬性組成,語義由對象詞、特性詞、對象詞的限定詞、特性詞的限定性組成。初始收集時(shí),語義部分為空。收集完資料后,按數(shù)據(jù)元名稱合并,合并時(shí)記錄來源,同時(shí)統(tǒng)一數(shù)據(jù)類型相關(guān)信息。合并過程中,對于數(shù)據(jù)類型無法統(tǒng)一的,需要將數(shù)據(jù)元重新命名,表達(dá)為不同的數(shù)據(jù)元。
步驟2數(shù)據(jù)元語義描述。根據(jù)數(shù)據(jù)元來源信息,定義對象詞、特性詞、對象詞的限定詞、特性詞的限定性,主要由人工填寫。過程中,利用數(shù)據(jù)元名稱的編輯距離相似度,將相似的數(shù)據(jù)元排列在一起,相互參照,可加速數(shù)據(jù)元語義定義,同時(shí)具有相互校正的作用。
步驟3數(shù)據(jù)元質(zhì)量校正。根據(jù)數(shù)據(jù)元語義信息,計(jì)算數(shù)據(jù)元之間的關(guān)鍵字項(xiàng)集相似度。對每一個(gè)數(shù)據(jù)元,將與其相似的其他數(shù)據(jù)元按相似度從高到低排列,依次作為校正的參照數(shù)據(jù)元列表。校正過程分三種情況進(jìn)行處理:
(1)同名異義的數(shù)據(jù)元。將數(shù)據(jù)元重命名并表達(dá)為兩個(gè)不同的數(shù)據(jù)元,修改對應(yīng)來源部分,依據(jù)數(shù)據(jù)元拆分為兩組填寫。
(2)異名同義的數(shù)據(jù)元。將兩個(gè)語義相同的數(shù)據(jù)元合并成一個(gè)。
(3)語義需要修正的數(shù)據(jù)元。修改數(shù)據(jù)元的語義信息。
步驟4確認(rèn)數(shù)據(jù)元,并適當(dāng)修改源頭模型的信息。對數(shù)據(jù)元名稱、代碼規(guī)范化,并按照數(shù)據(jù)元的規(guī)范定義,修改源頭信息。
基于數(shù)據(jù)元的數(shù)據(jù)模型映射包括存儲模型之間的映射、存儲模型與應(yīng)用數(shù)據(jù)視圖之間的映射。以數(shù)據(jù)元為中介,通過數(shù)據(jù)元匹配,自動建立兩個(gè)模型間的映射關(guān)系。對于不能完全匹配,但有較高相似度的,作為可能映射關(guān)系。
在數(shù)據(jù)湖的建設(shè)中,完成12個(gè)業(yè)務(wù)域梳理,采用基于關(guān)鍵字的數(shù)據(jù)元相似度融合方法,構(gòu)建數(shù)據(jù)湖數(shù)據(jù)元字典,約有2.0×104個(gè)數(shù)據(jù)元,比中石化數(shù)據(jù)元字典增加超過6.0×103個(gè),統(tǒng)計(jì)結(jié)果見表5。
表5 數(shù)據(jù)元統(tǒng)計(jì)結(jié)果
對鉆井、測井、油氣生產(chǎn)、采油工程四個(gè)業(yè)務(wù)域應(yīng)用數(shù)據(jù)視圖與存儲數(shù)據(jù)模型自動映射,對比結(jié)果見表6?;陉P(guān)鍵字的數(shù)據(jù)元語義自動數(shù)據(jù)映射,在匹配結(jié)果上刪除干擾項(xiàng),得到唯一對應(yīng)的數(shù)據(jù)元,提高數(shù)據(jù)湖開發(fā)效率及應(yīng)用的準(zhǔn)確性和靈活性。
表6 基于數(shù)據(jù)元的數(shù)據(jù)模型映射對比結(jié)果
(1)提出基于關(guān)鍵字表達(dá)數(shù)據(jù)元的語義表示方法,給出數(shù)據(jù)元語義的形式化定義及語義樹定義。由于不需要領(lǐng)域本體作為約束,可用關(guān)鍵字自由表達(dá),方法簡單易用。
(2)結(jié)合編輯距離算法和杰卡德算法,給出數(shù)據(jù)元語義相似度計(jì)算方法。該方法綜合考慮數(shù)據(jù)元名稱及關(guān)鍵字集合對數(shù)據(jù)元語義理解的貢獻(xiàn),適合油田工程化應(yīng)用,可提高數(shù)據(jù)模型映射的自動化程度。