李春生,王荊龍,程兆全
(東北石油大學(xué)計(jì)算機(jī)學(xué)院,黑龍江大慶163318)
企業(yè)生產(chǎn)決策與設(shè)計(jì)很大程度上依賴于作業(yè)狀態(tài)的分析,以及基于專業(yè)知識(shí)的判斷。大量的生產(chǎn)數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫(kù)中,工作人員通過(guò)傳統(tǒng)的查詢分析生產(chǎn)狀態(tài),并且做出生產(chǎn)決策與規(guī)劃[1]。
然而關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)組織結(jié)構(gòu)不能表示概念、事實(shí)和規(guī)則之間的關(guān)系,因此無(wú)法支持智能分析及信息推理。并且相同領(lǐng)域的不同部門對(duì)于同一概念可能用不同表述方式,從而造成信息的非一致性和信息的冗余。因此,論文研究支持信息推理的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)義解析機(jī)制,設(shè)計(jì)工程決策知識(shí)服務(wù)支撐環(huán)境,通過(guò)對(duì)關(guān)系數(shù)據(jù)存在的動(dòng)態(tài)作業(yè)信息提取和描述并結(jié)合專業(yè)知識(shí),以輔助企業(yè)的生產(chǎn)方案設(shè)計(jì)與規(guī)劃[2-3]。
生產(chǎn)決策及方案的制定是一個(gè)結(jié)合動(dòng)態(tài)作業(yè)狀態(tài)分析的過(guò)程。工程決策知識(shí)服務(wù)支撐環(huán)境(如圖1所示)集成并且管理決策知識(shí),以知識(shí)驅(qū)動(dòng)的方式,實(shí)現(xiàn)各類輔助決策方案。工程規(guī)劃與設(shè)計(jì)往往需要考察生產(chǎn)數(shù)據(jù),根據(jù)實(shí)際狀態(tài)選擇不同的決策方法。生產(chǎn)數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)中以關(guān)系的形式存儲(chǔ),本身并不具備支持知識(shí)推理的能力[4]。需要結(jié)合數(shù)據(jù)分析,提取生產(chǎn)論據(jù)并且結(jié)合實(shí)際業(yè)務(wù)知識(shí)獲得符合應(yīng)用的結(jié)果。如何從生產(chǎn)數(shù)據(jù)中得出領(lǐng)域知識(shí)所需要的論據(jù)是工程決策知識(shí)服務(wù)所研究的重要問(wèn)題。
圖1 工程決策知識(shí)服務(wù)支撐環(huán)境Fig.1 The supporting environment of engineering decision knowledge service
數(shù)據(jù)庫(kù)按照關(guān)系的模型組織、描述、存儲(chǔ)數(shù)據(jù)。關(guān)系數(shù)據(jù)模式不能夠直接提供語(yǔ)義信息,在關(guān)系數(shù)據(jù)庫(kù)中,一個(gè)關(guān)系包含若干元組,每個(gè)元組都表示現(xiàn)實(shí)世界中的某個(gè)實(shí)體[5]。關(guān)系實(shí)體或者其組合對(duì)應(yīng)的邏輯對(duì)象需要用語(yǔ)義進(jìn)行描述才具有參加知識(shí)推理的能力。主詞關(guān)系網(wǎng)提供了領(lǐng)域概念在企業(yè)不同部門之間開放統(tǒng)一的、共享的公共認(rèn)識(shí)框架。引入具有語(yǔ)義關(guān)系的主詞網(wǎng)捕獲工程領(lǐng)域的業(yè)務(wù)知識(shí),確定該領(lǐng)域內(nèi)共同認(rèn)可的概念,并分層次的給出這些概念的明確定義以及之間相互關(guān)系。利用領(lǐng)域知識(shí),將不同層次概念之間存在的父子關(guān)系形成樹集,并且給出各節(jié)點(diǎn)的具體含義的描述。
定義 領(lǐng)域主詞關(guān)系網(wǎng)規(guī)范了開發(fā)設(shè)計(jì)的基本概念及概念所屬類,形式化為一個(gè)二元組:
FieldSubject={EntitySet,ClassSet}
EntitySet:工程領(lǐng)域主詞表示的實(shí)體集合,主詞為具有相同語(yǔ)義的生產(chǎn)對(duì)象的集合。對(duì)于領(lǐng)域每項(xiàng)實(shí)體Entity∈EntitySet。對(duì)于實(shí)體Entity可形式化描述為:
實(shí)體=<實(shí)體名稱,描述集合>
ClassSet:實(shí)體間的父-子類關(guān)系樹集,對(duì)于每個(gè)實(shí)體所屬類Class∈ClassSet,Class可形式化描述為:
關(guān)系類=<類名稱,父類實(shí)體,子類實(shí)體>
對(duì)于非完全意義上父子關(guān)系要相應(yīng)的處理,例如實(shí)體-屬性關(guān)系可看做實(shí)體為父節(jié)點(diǎn),相應(yīng)屬性則為子節(jié)點(diǎn)。對(duì)應(yīng)兄弟關(guān)系則處理為多顆子樹,如果該關(guān)系中不同實(shí)體存在關(guān)系,則各個(gè)子樹可存在上層節(jié)點(diǎn)相交,或存在下層節(jié)點(diǎn)的相交。
工程生產(chǎn)決策以領(lǐng)域知識(shí)為基礎(chǔ),通過(guò)動(dòng)態(tài)作業(yè)信息的解讀與分析,做出各項(xiàng)施工方案及規(guī)劃。知識(shí)結(jié)構(gòu)框架需要對(duì)知識(shí)作必要的劃分,并且避免不必要的重復(fù),知識(shí)元素設(shè)計(jì)能夠支持對(duì)應(yīng)于關(guān)系實(shí)體的推理活動(dòng)。因此,采用元詞匯-事實(shí)分析-決策規(guī)則的層次劃分。
1.2.1 元詞匯層
主詞關(guān)系網(wǎng)表達(dá)應(yīng)用領(lǐng)域可共享的概念及相互關(guān)系,元詞匯層在關(guān)系映射架構(gòu)的基礎(chǔ)上實(shí)現(xiàn)數(shù)據(jù)庫(kù)實(shí)體語(yǔ)義化說(shuō)明。元詞匯表示并且存儲(chǔ)了關(guān)系實(shí)體的概念映射信息,賦予數(shù)據(jù)庫(kù)模式規(guī)范的、可共享的語(yǔ)義。
定義 元詞匯映射領(lǐng)域主詞(邏輯對(duì)象)與關(guān)系實(shí)體存儲(chǔ)的對(duì)應(yīng)關(guān)系,形式化的表達(dá)為三元組:
UnitVocabulary={UID,EntityName,MappingSet}
UID:領(lǐng)域元詞匯ID,為元詞匯在知識(shí)系統(tǒng)的唯一標(biāo)志。
EntityName:元詞匯所描述的實(shí)體名稱。
MappingSet:映射關(guān)系集合,表示為映射元組的運(yùn)算表達(dá)式,元組映射表達(dá)了關(guān)系模式的存儲(chǔ)信息。以下給出映射關(guān)系的結(jié)構(gòu):
映射元組=<映射ID,映射名稱,關(guān)系表名,關(guān)系字段名,字段類別>
由于元詞匯可能對(duì)應(yīng)多個(gè)映射元組運(yùn)算,例如對(duì)于實(shí)際工作中日產(chǎn)液量是由日產(chǎn)水量與日產(chǎn)油量的和算出的,但是油、水則存在不同的關(guān)系數(shù)據(jù)表中,所以對(duì)于日產(chǎn)液實(shí)體則需要利用兩個(gè)映射的運(yùn)算來(lái)表示。因此采用映射元組的運(yùn)算表達(dá)式描述邏輯對(duì)象對(duì)應(yīng)的關(guān)系模式如下:
<MappingSet>::=< 映射元組 >|[< 運(yùn)算 >]< 映射元組>{<運(yùn)算><映射元組>}
<運(yùn)算>::=+|-|*|/|%|^|連接,當(dāng)MappingSet為一元映射關(guān)系時(shí),無(wú)運(yùn)算操作。
1.2.2 事實(shí)分析層
事實(shí)分析層定義了領(lǐng)域內(nèi)生產(chǎn)決策以及措施中所依賴的事實(shí)和證據(jù)。事實(shí)為生產(chǎn)工程中表示狀態(tài)中基礎(chǔ)單位,在此成為單元事實(shí)。在此層次中對(duì)元詞匯實(shí)體做量化處理。
定義 單元事實(shí)指生產(chǎn)數(shù)據(jù)實(shí)體可提供決策的狀態(tài)信息,形式化表達(dá)為五元組:
UnitFact={FactID,FactName,FactSubject,State-Relation,State}
FactID:事實(shí)ID,為事實(shí)在知識(shí)系統(tǒng)的唯一標(biāo)志。
FactName:事實(shí)名稱,對(duì)事實(shí)加以描述。
FactSubject:事實(shí)所描述的主體標(biāo)識(shí)(元詞匯U-nitVocabulary)。
State-Relation:狀態(tài)關(guān)系(包括>、≥、=、<、≤、contains、between-and)。
State:狀態(tài)信息(值、范圍、NULL)。
在決策分析中,即要參考生產(chǎn)數(shù)據(jù)實(shí)體所表達(dá)的意義同時(shí)需要實(shí)際狀態(tài)和內(nèi)容,因此論文引入詞匯語(yǔ)義-事實(shí)分析方法對(duì)基礎(chǔ)數(shù)據(jù)實(shí)體描述并表示當(dāng)前的狀態(tài)。實(shí)現(xiàn)在工程事實(shí)與關(guān)系模式交互解析的基礎(chǔ)上,分析決策事實(shí)當(dāng)前狀態(tài),并以SQL操作對(duì)所需數(shù)據(jù)提取和應(yīng)用。
1.2.3 決策規(guī)則層
決策規(guī)則定義了生產(chǎn)設(shè)計(jì)決策工作的基本問(wèn)題解決方案。生產(chǎn)活動(dòng)描述了動(dòng)態(tài)設(shè)計(jì)方案,在該層次中,利用詞匯語(yǔ)義-事實(shí)分析層給定的模型建立合理的規(guī)范化說(shuō)明生成完整的數(shù)據(jù)描述,并通過(guò)主詞關(guān)系網(wǎng)加以解析。
定義 決策規(guī)則由核心數(shù)據(jù)對(duì)象和多單元事實(shí)組成,描述了一類生產(chǎn)活動(dòng)中基本的解決方案。形式化的表達(dá)為四元組:
DecisionRule={RuleID,CoreData,FactSet,RuleClass}
RuleID:決策規(guī)則ID,為決策規(guī)則在知識(shí)系統(tǒng)的唯一標(biāo)志。
CoreData:核心數(shù)據(jù),表示該規(guī)則所關(guān)心的重點(diǎn)數(shù)據(jù)實(shí)體描述,利用主詞關(guān)系網(wǎng)加以解析,得出數(shù)據(jù)實(shí)體的所有子樹節(jié)點(diǎn),得到一個(gè)完整的數(shù)據(jù)實(shí)體。
FactSet:?jiǎn)卧聦?shí)集合,設(shè)fact為單元事實(shí),單元事實(shí)集合即為n維交集,形式表達(dá)為:
FactSet={<fact1∩fact2∩ …∩factn>∣fact1∈Facts,fact2∈Facts,…,factn∈Facts}當(dāng) n=1 時(shí) FactSet表示為有唯一事實(shí)。
RuleClass:決策規(guī)則所表達(dá)的生產(chǎn)門類,不同生產(chǎn)過(guò)程的門類有所區(qū)別,例如包括堵水措施規(guī)則,壓裂措施規(guī)則,注水措施規(guī)則等。
生成決策規(guī)則后,即可完整的表達(dá)對(duì)所需數(shù)據(jù)的描述(如圖2所示),之后將規(guī)則進(jìn)行解析并結(jié)合SQL利用實(shí)體映射關(guān)系對(duì)對(duì)數(shù)據(jù)提取。
圖2 知識(shí)整體結(jié)構(gòu)表示Fig.2 The presentation of whole structure of knowledge
實(shí)際生產(chǎn)中,不同人員對(duì)數(shù)據(jù)的描述存在差異,上文利用主詞關(guān)系網(wǎng)建立了統(tǒng)一共享的認(rèn)識(shí)框架,并利用知識(shí)體系形成了完整的數(shù)據(jù)描述。實(shí)體映射關(guān)系架構(gòu)主要對(duì)該數(shù)據(jù)描述分析,解釋出各數(shù)據(jù)單項(xiàng)字段。建立關(guān)系數(shù)據(jù)庫(kù)中的關(guān)聯(lián)關(guān)系,將單項(xiàng)字段對(duì)應(yīng)匹配形式數(shù)據(jù)鏈路,最后利用SQL提取。
1.3.1 規(guī)則解析項(xiàng)目
對(duì)于存在的規(guī)則創(chuàng)建推理機(jī)將規(guī)則解析成各個(gè)可利用的數(shù)據(jù)項(xiàng),數(shù)據(jù)項(xiàng)大體可分為兩類。一類為觀察數(shù)據(jù)項(xiàng),用以表達(dá)所關(guān)心的數(shù)據(jù);另一類為條件數(shù)據(jù)項(xiàng),表示提取數(shù)據(jù)所滿足的條件信息。具體表達(dá)形式如下:
觀察數(shù)據(jù)項(xiàng)=<數(shù)據(jù)名稱,數(shù)據(jù)類型,映射表名稱,映射字段>
條件數(shù)據(jù)項(xiàng)=<數(shù)據(jù)名稱,數(shù)據(jù)類型,映射表名稱,條件表達(dá)式,值>
在決策規(guī)則層中,CoreData為主要的觀察數(shù)據(jù)實(shí)體,在CoreData中是以樹形結(jié)構(gòu)存放了對(duì)應(yīng)核心數(shù)據(jù),根節(jié)點(diǎn)表示對(duì)該數(shù)據(jù)實(shí)體的總體描述,葉子節(jié)點(diǎn)表示真實(shí)的數(shù)據(jù)項(xiàng)目信息。所以將CoreData解析,形成觀察數(shù)據(jù)項(xiàng)集中的重要部分。
事實(shí)分析層中,UnitFact為工程事實(shí),多為數(shù)據(jù)狀態(tài)和條件的約束。同樣,數(shù)據(jù)的狀態(tài)和約束條件同時(shí)被人們所關(guān)心,在此解析為雙數(shù)據(jù)項(xiàng),一部分作為觀察數(shù)據(jù)項(xiàng)提供更多的決策支持;一部分作為條件數(shù)據(jù)項(xiàng)描述所提取數(shù)據(jù)的狀態(tài)及約束。
1.3.2 關(guān)系數(shù)據(jù)關(guān)聯(lián)關(guān)系與解析過(guò)程
在關(guān)系數(shù)據(jù)庫(kù)中,ER圖 (Entity-Relation Diagram)提供了表示實(shí)體(即數(shù)據(jù)對(duì)象)、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。由于ER圖描述是建立在數(shù)據(jù)庫(kù)模型中的概念設(shè)計(jì)階段,是一個(gè)獨(dú)立于機(jī)器,獨(dú)立于DBMS的圖形模型,所以利用單純的ER圖建立表關(guān)系的自動(dòng)識(shí)別時(shí)連接方向不強(qiáng),事實(shí)邏輯不能充分提現(xiàn)。
所以基于實(shí)體關(guān)系圖,建立一種可支持邏輯關(guān)系較好識(shí)別的結(jié)構(gòu),圖3為邏輯結(jié)構(gòu)簡(jiǎn)圖。
圖3 數(shù)據(jù)關(guān)聯(lián)邏輯結(jié)構(gòu)簡(jiǎn)圖Fig.3 Sketch of data association logical structure
對(duì)于關(guān)系數(shù)據(jù)實(shí)體,對(duì)應(yīng)給出規(guī)范化描述,其中包括實(shí)體名稱、標(biāo)識(shí)類別、主鍵、外鍵和屬性集等,并根據(jù)原有實(shí)體關(guān)系形成關(guān)系圖。實(shí)體名稱、主鍵、外鍵用來(lái)說(shuō)明描述關(guān)系數(shù)據(jù)的總體特征。屬性集合為關(guān)系數(shù)據(jù)實(shí)體中包含的所有數(shù)據(jù)項(xiàng)目。標(biāo)識(shí)類別為邏輯關(guān)系的識(shí)別基礎(chǔ),具體表達(dá)方式為:
<Sign-Class-大類名稱:SC-關(guān)聯(lián)類集>
大類用以說(shuō)明同一類事物,例如“井”類可表示為CS-A。關(guān)聯(lián)類存在與主類的主外鍵關(guān)系,其中包括父子關(guān)系、派生關(guān)系、從屬關(guān)系、并列關(guān)系等。例如“水井月報(bào)”表示為CS-A:SC-2。同時(shí),“水井方案”,“水井措施”則與“水井月報(bào)”關(guān)聯(lián),分別表示為CS-A:SC-2:SC2-1和CS-A:SC-2:SC2-2,以此類推。
屬性集合為關(guān)系數(shù)據(jù)實(shí)體中包含的所有數(shù)據(jù)項(xiàng)目。將規(guī)則解析中形成的需要分析的數(shù)據(jù)項(xiàng)映射到屬性集合中形成解析項(xiàng)目集合,并對(duì)每項(xiàng)數(shù)據(jù)找到對(duì)應(yīng)的所屬實(shí)體標(biāo)識(shí),最終形成了帶有實(shí)體描述和類別標(biāo)識(shí)的集合。針對(duì)集合按照類別區(qū)分,逐層劃歸。例如上圖中,若存在解析數(shù)據(jù)項(xiàng)目集合為:
{<井筒>:井筒型號(hào)(標(biāo)識(shí)SC-A:SC-3:SC3-1)、
<水井月報(bào)>:月注水(標(biāo)識(shí)SC-A:SC-2)、
<水井方案>:增注(標(biāo)識(shí)SC-A:SC-2:SC2-1)、
< 水井措施 >:補(bǔ)孔(標(biāo)識(shí) SC-A:SC-2:SC2-2)}
大類名稱為SC-A確定為同類數(shù)據(jù),進(jìn)入下一層次將集合分為{SC-A:SC-3:SC3-1}和{SC-A:SC-2、SC-A:SC-2:SC2-1、SC-A:SC-2:SC2-2}。當(dāng)集合中包含一個(gè)元素時(shí)則停止劃歸,針對(duì)集合二按層次依次可分為 {SC-A:SC-2、{{SC-A:SC-2:SC2-1}、{SC-A:SC-2:SC2-2}}}。由于集合都屬于同一SC-A類,可根據(jù)數(shù)據(jù)邏輯關(guān)系圖,找到最近的根,將多個(gè)游離的節(jié)點(diǎn)相連,最終可用樹形結(jié)構(gòu)表示為圖4:
圖4 樹形結(jié)構(gòu)簡(jiǎn)圖Fig.4 Sketch of tree structure
針對(duì)形成的樹做由上至下的層次遍歷,從而找到所有數(shù)據(jù)項(xiàng)目的對(duì)應(yīng)表連接關(guān)系。
根據(jù)數(shù)據(jù)項(xiàng)目及表關(guān)聯(lián)關(guān)系的解析,利用SQL將所描述的數(shù)據(jù)提取并利用。
研究油田開發(fā)方案設(shè)計(jì)知識(shí)結(jié)構(gòu),基于工程決策知識(shí)服務(wù)支撐環(huán)境,建立各類輔助決策應(yīng)用系統(tǒng)。從業(yè)務(wù)劃分,油田開發(fā)涉及測(cè)井、鉆井、錄井、井下作業(yè)、采油工程等二十多個(gè)專業(yè),初始概念達(dá)20000多個(gè)。油田開發(fā)需要分析生產(chǎn)狀態(tài)并且設(shè)計(jì)開發(fā)規(guī)劃及制定措施方案。開發(fā)設(shè)計(jì)具有經(jīng)驗(yàn)指導(dǎo)特征,通過(guò)總結(jié)經(jīng)驗(yàn)豐富的工作人員的開發(fā)知識(shí),建立工程決策知識(shí)服務(wù)支撐環(huán)境,驅(qū)動(dòng)各個(gè)輔助設(shè)計(jì)應(yīng)用系統(tǒng)的工作。
在領(lǐng)域主詞關(guān)系網(wǎng)概念基礎(chǔ)上,設(shè)計(jì)油田開發(fā)元詞匯與數(shù)據(jù)的映射,生產(chǎn)數(shù)據(jù)模式來(lái)源于目前油田專業(yè)數(shù)據(jù)庫(kù)A2系統(tǒng)。元詞匯定義了主要的3000個(gè)關(guān)系模式,在概念層次描述了關(guān)系數(shù)據(jù)與邏輯概念的解析關(guān)系。
開發(fā)動(dòng)態(tài)管理事實(shí)在元詞匯定義的基礎(chǔ)上,描述了油田開發(fā)生產(chǎn)的各種狀態(tài)和效果,分解為生產(chǎn)對(duì)象與狀態(tài)或者行為變化的集合。
設(shè)計(jì)了相應(yīng)的推理機(jī)制,知識(shí)維護(hù)平臺(tái)提供了定義接口,用戶可以在現(xiàn)有設(shè)計(jì)的基礎(chǔ)上進(jìn)行擴(kuò)展。
設(shè)計(jì)規(guī)則包括措施優(yōu)選、問(wèn)題井檢測(cè)、生產(chǎn)狀態(tài)預(yù)警三個(gè)主要類別。決策活動(dòng)的定義主要包括壓裂、補(bǔ)孔、堵水、分層注水調(diào)整等措施設(shè)計(jì)活動(dòng)。
基于知識(shí)服務(wù)驅(qū)動(dòng)實(shí)現(xiàn)了生產(chǎn)預(yù)警、分區(qū)塊措施選擇建議,輔助生成施工方案等決策支持應(yīng)用系統(tǒng)。所開發(fā)系統(tǒng)已經(jīng)正常工作,并且取得了應(yīng)用部門的較好評(píng)價(jià)。
論文研究了關(guān)系數(shù)據(jù)庫(kù)語(yǔ)義解析和推理,賦予關(guān)系數(shù)據(jù)庫(kù)語(yǔ)義,使其對(duì)智能分析及信息推理提供支持?;诠こ虥Q策知識(shí)服務(wù)支撐環(huán)境,建立三層的知識(shí)結(jié)構(gòu),重點(diǎn)支持關(guān)系數(shù)據(jù)與生產(chǎn)事實(shí)的交互解析。針對(duì)不同應(yīng)用,需要進(jìn)一步加入特征元素。領(lǐng)域內(nèi)建立統(tǒng)一的平臺(tái)框架,在此基礎(chǔ)上構(gòu)建決策應(yīng)用系統(tǒng)不但可以節(jié)約軟件資源,更加充分的利用領(lǐng)域知識(shí),而且縮短了系統(tǒng)開發(fā)周期,帶來(lái)相當(dāng)?shù)纳鐣?huì)與經(jīng)濟(jì)效益。
[1]WANG NENGBIN. Database System Tutorial[M].Beijing:Publishing House ofElectronics Industry,2004.
[2]張德海,沙月林.基于本體與工作流的知識(shí)服務(wù)系統(tǒng)[J].計(jì)算機(jī)工程,2009,35(19):75~77,80.
[3]MENG XIAO-FENG,ZHOU LONG-XIANG,WANG SHAN.State of the art and trends in database research[J].Journal of Software,2004,15(12):1822~I(xiàn)836.
[4]杜小勇,李曼,王珊.本體學(xué)習(xí)研究綜述[J].軟件學(xué)報(bào),2006,17(9):l837~1847.
[5]王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2005.