程 祥,殷贛華
(1.北京市測繪設(shè)計研究院,北京 100038;2.北京市測繪設(shè)計研究院基礎(chǔ)地理信息中心研發(fā)室,北京 100038)
2010年1 月,國務(wù)院下發(fā)了《關(guān)于開展第一次全國水利普查的通知》(國發(fā)[2010]4號),決定在3年內(nèi)完成我國水利普查工作,這是新中國成立60多年來首次開展全國性水利普查。第一次全國水利普查包括河湖基本情況普查、水利工程基本情況普查、經(jīng)濟社會用水情況調(diào)查、河湖開發(fā)治理保護情況普查、水土保持情況普查、水利行業(yè)能力建設(shè)情況普查,以及灌區(qū)和地下水取水井兩個專項普查。水利普查數(shù)據(jù)成果包括了自然類、管理類、設(shè)施類、用水類共4大類40小類要素數(shù)據(jù)。與通常的基礎(chǔ)地理數(shù)據(jù)或地形數(shù)據(jù)相比,水利普查后形成的空間數(shù)據(jù)具有其特殊性:一方面,具有空間關(guān)系的水利各要素間需要存儲拓撲信息;另一方面,具有業(yè)務(wù)關(guān)系的各要素也需要存儲關(guān)聯(lián)關(guān)系信息。在數(shù)據(jù)采集和處理過程中,成果數(shù)據(jù)的空間關(guān)系不進行顯示存儲,主要通過預(yù)先定義的拓撲關(guān)系準則對數(shù)據(jù)進行約束,而業(yè)務(wù)關(guān)系則要求通過關(guān)系表進行顯示保存。水利數(shù)據(jù)量龐大,數(shù)據(jù)模型關(guān)系復(fù)雜,依靠人工處理進行實現(xiàn)數(shù)據(jù)的關(guān)系建模和維護,不僅工作量大,而且容易出錯。因此,實現(xiàn)智能化、自動化的水利空間數(shù)據(jù)關(guān)系建模,具有重要意義。
空間數(shù)據(jù)的自動處理一般包括兩種方式:一是對多種處理功能進行邏輯抽象,并建立算法庫,通過算法庫中算法的組合及參數(shù)配置來實現(xiàn)各種自動化處理功能;二是在更高層次上建立知識庫系統(tǒng),依托知識庫和規(guī)則處理系統(tǒng)實現(xiàn)數(shù)據(jù)的自動處理。前者不需要復(fù)雜的建模,應(yīng)用廣泛,但靈活性低、擴展性差,一旦需求發(fā)生變更,就可能需要修改算法庫;后者具有很強的靈活性和擴展性,通過知識庫的擴充和定制就能夠滿足更多需求。本文則采用第二種方法來實現(xiàn)水利空間數(shù)據(jù)的自動化建模。
所謂知識庫,是指針對某些領(lǐng)域問題求解的需要,采用若干知識表達方式在計算機存儲器中存儲、組織、管理和應(yīng)用互相聯(lián)系的知識片集合。普通的應(yīng)用程序與基于知識的系統(tǒng)間的區(qū)別在于:一般的應(yīng)用程序是把問題求解的知識隱含在程序的編碼中,而基于知識的系統(tǒng)則是將應(yīng)用領(lǐng)域的問題求解知識顯示進行顯示的表達,并單獨組織在一個相對獨立的軟件實體中。根據(jù)知識的應(yīng)用領(lǐng)域、背景、屬性和使用特征,知識庫可以被構(gòu)造成有結(jié)構(gòu)的、便于利用的組織形式。通常,知識庫中的知識是有層次的,最低層是事實知識;中間層是用來控制邏輯的知識(如規(guī)則、過程等);最高層是策略,以中間層知識為控制對象。在當前的主流知識庫應(yīng)用系統(tǒng)中,產(chǎn)生式規(guī)則是知識的常用表示和應(yīng)用形式。
“產(chǎn)生式”是1943年美國數(shù)學(xué)家Post首先在一種計算形式體系中提出的術(shù)語。20世紀70年代,Newell和Simon等學(xué)者在對人類認知模型研究中,開發(fā)了基于規(guī)則的產(chǎn)生式系統(tǒng)。從那時開始,產(chǎn)生式系統(tǒng)成為專家系統(tǒng)的最基本結(jié)構(gòu),而產(chǎn)生知識表示則在人工智能中得到了廣泛應(yīng)用。產(chǎn)生式系統(tǒng)雖然在形式上很簡單,但在一定意義上模仿了人類思考的過程。
產(chǎn)生式規(guī)則是產(chǎn)生式系統(tǒng)的主體,是產(chǎn)生式系統(tǒng)知識表示的核心。一般產(chǎn)生式的結(jié)構(gòu)可表示為自然語言形式,事實上,在自然語言表達中,人們廣泛使用的各種“原因—結(jié)果”、“條件—結(jié)論”、“前提—操作”、“事實—進展”及“情況—行為”等結(jié)構(gòu),都可歸結(jié)為產(chǎn)生式的知識表達形式。產(chǎn)生式規(guī)則基本形式是
式中,A是產(chǎn)生式的前提,用于指出該產(chǎn)生式是否可用的條件(前件);B是一組結(jié)論或操作,用于指出當前提A所指示的條件滿足時應(yīng)該得出的結(jié)論或應(yīng)該執(zhí)行的操作(后件)。其中,前件就是前提,后件是結(jié)論或動作,前件和后件可以是由邏輯運算符AND、OR、NOT組成的表達式。如果前提滿足,則可得到結(jié)論或者執(zhí)行相應(yīng)的動作,即后件由前件來觸發(fā)。所以,前件是規(guī)則的執(zhí)行條件,后件是規(guī)則體。
水利空間數(shù)據(jù)關(guān)系的自動化建模處理主要包括4個方面的內(nèi)容:數(shù)據(jù)采集和編輯時的自動空間關(guān)系約束、數(shù)據(jù)處理完成后的空間關(guān)系自動檢查、數(shù)據(jù)采集時的業(yè)務(wù)關(guān)系自動創(chuàng)建、數(shù)據(jù)處理完成后的關(guān)聯(lián)關(guān)系自動檢查。
由于各要素存在一些相互的空間拓撲關(guān)系,在數(shù)據(jù)采集和編輯時,需要對這些空間關(guān)系進行自動維護和約束。具體形式包括錯誤提醒和自動錯誤處理。如按照空間關(guān)系,水閘工程必須要和水系軸線、引調(diào)水工程或渠道中的一個對象相交。而在采集和編輯過程中,如果水閘工程沒有和這些要素相交,則提示錯誤信息。再比如河湖排污口應(yīng)該落在河湖邊界上,在采集河湖排污口時,如果沒有落在河湖邊界上,則提示錯誤信息;在編輯移動河湖邊界時,對應(yīng)的河湖排污口應(yīng)該隨之自動移動。
根據(jù)以上情況,產(chǎn)生式規(guī)則中If…Then…語句中的前件可分為3部分內(nèi)容:一是當前的處理狀態(tài);二是當前的處理數(shù)據(jù)類型;三是數(shù)據(jù)分析。通過這3部分內(nèi)容結(jié)合來作為前件。對于水閘工程,規(guī)則語句如下:
If(當前處理狀態(tài)是數(shù)據(jù)采集或數(shù)據(jù)編輯,當前處理對象類型為水閘工程,水閘工程與水系軸線不相交并且水閘工程與引調(diào)水工程不相交并且水閘工程與渠道不相交)Then(提示錯誤信息)
對于河湖排污口的采集,規(guī)則語句如下:
If(當前處理狀態(tài)是數(shù)據(jù)采集,當前處理對象類型為河湖排污口,河湖排污口與河湖邊線不重疊)Then(提示錯誤信息)
對于河湖邊線的編輯,規(guī)則語句如下:
If(當前處理狀態(tài)是數(shù)據(jù)編輯,當前處理對象類型為河湖邊線,存在與河湖邊線重疊的河湖排污口)Then(河湖排污口自動聯(lián)動)
數(shù)據(jù)采集和編輯完成后,需要對各要素之間的拓撲關(guān)系是否正確進行自動檢查,將錯誤的空間關(guān)系記錄下來以供用戶定位和查看。與數(shù)據(jù)采集和編輯時的自動空間關(guān)系約束不同,此時后件的處理動作變成了錯誤信息記錄。以水閘工程為例,規(guī)則語句如下:
If(當前處理狀態(tài)是質(zhì)量檢查,當前處理對象類型為水閘工程,水閘工程與水系軸線不相交并且水閘工程與引調(diào)水工程不相交并且水閘工程與渠道不相交)Then(記錄錯誤信息)
各要素間業(yè)務(wù)關(guān)系的建立主要包括3個渠道:一是通過外業(yè)采集,然后導(dǎo)入到采集軟件;二是人工在數(shù)據(jù)采集時指定;三是通過空間關(guān)系進行自動構(gòu)建。通過空間關(guān)系進行自動構(gòu)建時,同樣可以基于產(chǎn)生式規(guī)則進行描述。以水閘工程和水系軸線為例,水閘工程除和水系軸線存在空間關(guān)系外,還存在業(yè)務(wù)關(guān)系,業(yè)務(wù)關(guān)系也可以根據(jù)是否具有空間關(guān)系進行建立。具體規(guī)則如下:
If(當前處理狀態(tài)是數(shù)據(jù)采集,當前處理對象類型為水閘工程,水閘工程與水系軸線相交)Then(建立水閘工程和水系軸線的業(yè)務(wù)關(guān)系)
數(shù)據(jù)處理完成后,同樣需要對業(yè)務(wù)關(guān)系進行檢查,此時后件的處理動作是記錄錯誤信息記錄,具體規(guī)則如下:
If(當前處理狀態(tài)是質(zhì)量檢查,當前處理對象類型為水閘工程,(水閘工程與水系軸線相交并且水閘工程與水系軸線不存在業(yè)務(wù)關(guān)系)或(水閘工程與水系軸線不相交并且水閘工程與水系軸線存在業(yè)務(wù)關(guān)系))Then(記錄錯誤信息)
水利數(shù)據(jù)關(guān)系知識庫主要由產(chǎn)生式規(guī)則庫、推理機、外部接口和知識管理系統(tǒng)4部分構(gòu)成,知識庫的構(gòu)成如圖1所示。
圖1 知識庫的組成
通過知識庫的建模,專業(yè)的水利空間數(shù)據(jù)自動化建模知識并以產(chǎn)生式規(guī)則的形式進行表示。產(chǎn)生式規(guī)則庫則是這些產(chǎn)生式規(guī)則的集合。
推理機由空間算子庫和邏輯執(zhí)行器兩部分組成。其中,空間算子庫是各類空間關(guān)系判斷處理算法的庫體,邏輯執(zhí)行器則用于解譯并執(zhí)行產(chǎn)生式規(guī)則。邏輯執(zhí)行器中的邏輯包括分支邏輯、合并邏輯和循環(huán)邏輯等邏輯算子。空間算子和邏輯算子構(gòu)成了推理機的執(zhí)行模型。圖2解釋了一條產(chǎn)生式規(guī)則的推理機構(gòu)成。
圖2 推理機的構(gòu)成示意
推理機的執(zhí)行模型采用參數(shù)關(guān)聯(lián)的方式實現(xiàn)規(guī)則的邏輯化。圖3是執(zhí)行模型的參數(shù)關(guān)聯(lián)示意。
推理機的運行模式是通過循環(huán)檢測各執(zhí)行模型所需數(shù)據(jù)和參數(shù)是否齊備,先齊備的先執(zhí)行。圖4闡述了推理機的運行模式。
圖3 執(zhí)行模型的參數(shù)關(guān)聯(lián)示意
圖4 推理機的運行模式
外部接口是知識庫與外部系統(tǒng)和用戶的接口,包括處理數(shù)據(jù)的調(diào)用接口、自動處理的響應(yīng)接口、處理結(jié)果的反饋接口等。
知識維護系統(tǒng)負責對產(chǎn)生式規(guī)則的添加、刪除等維護和管理。通過圖形化的規(guī)則定制和管理界面,可以實現(xiàn)無需編碼的知識管理和擴充,從而提高整個系統(tǒng)的易用性、易維護性和擴展性。
將本文的知識庫系統(tǒng)應(yīng)用于北京市水務(wù)普查空間數(shù)據(jù)采集與處理軟件,成功實現(xiàn)了水務(wù)數(shù)據(jù)采集和編輯時的自動化糾錯、質(zhì)量自動檢查,以及業(yè)務(wù)模型自動創(chuàng)建等功能,并得到實際生產(chǎn)的檢驗(如圖5所示)。
圖5 軟件總體界面
圖6是基于知識庫水務(wù)空間數(shù)據(jù)關(guān)系的質(zhì)量檢查功能界面。
圖6 質(zhì)量檢查功能界面
圖7是數(shù)據(jù)采集和編輯時,知識庫在操作錯誤后的自動提示界面。
圖7 操作錯誤時的自動提示
目前,北京市水務(wù)普查數(shù)據(jù)處理工作已經(jīng)基本完成,該系統(tǒng)在生產(chǎn)過程中取得了良好效果。實踐證明,該系統(tǒng)大大提高了水務(wù)數(shù)據(jù)處理的自動化和智能化程度,降低了生產(chǎn)成本,提高了生產(chǎn)效率,為北京市水務(wù)普查做出了積極貢獻。
[1] SUWA M,SCOTT A C,SHORTLIFFE E H.An Approach to Verifying Completeness and Consistency in a Rule-based Expert System[J].Artificial Intelligence Magazine,1982,3(4):16-20.
[2] LIGEZA A.Towards Logical Analysis of Tabular Rulebased Systems[J].International Journal of Inteligence System,2001,16(3):333-337.
[3] 吳朝暉,潘云鶴.知識表達的發(fā)展狀況和趨勢[J].計算機科學(xué),1995,22(6):39-44.
[4] 伍奎,李潤方,劉景浩.智能化系統(tǒng)的知識表達與推理機制[J].機械工程學(xué)報,2005,41(5):98-103.
[5] 麥中凡.面向?qū)ο蟪绦蛟O(shè)計風范與軟件開發(fā)方法[J].計算機科學(xué),1992,19(4):17-23.
[6] 李雷,高鐵曼.產(chǎn)生式規(guī)則專家系統(tǒng)的原理與實現(xiàn)[J].微計算機應(yīng)用,2006,27(5):631-634.
[7] 孫運傳,別榮芳.產(chǎn)生式規(guī)則庫的求精研究[J].北京師范大學(xué)學(xué)報:自然科學(xué)版,2003,39(4):435-443.
[8] 郭慶勝,任曉燕.智能化地理信息處理[M].武漢:武漢大學(xué)出版社,2003:57-86.
[9] 田晶,黃仁濤,匡露露.專題地圖制圖決策系統(tǒng)規(guī)則庫的設(shè)計[J].地理空間信息,2007,5(1):95-98.
[10] 龔自興,徐光佑.人工智能及應(yīng)用[M].北京:清華大學(xué)出版社,2003:49-71.