程 祥,殷赣华
(1.北京市测绘设计研究院,北京 100038;2.北京市测绘设计研究院基础地理信息中心研发室,北京 100038)
2010年1 月,国务院下发了《关于开展第一次全国水利普查的通知》(国发[2010]4号),决定在3年内完成我国水利普查工作,这是新中国成立60多年来首次开展全国性水利普查。第一次全国水利普查包括河湖基本情况普查、水利工程基本情况普查、经济社会用水情况调查、河湖开发治理保护情况普查、水土保持情况普查、水利行业能力建设情况普查,以及灌区和地下水取水井两个专项普查。水利普查数据成果包括了自然类、管理类、设施类、用水类共4大类40小类要素数据。与通常的基础地理数据或地形数据相比,水利普查后形成的空间数据具有其特殊性:一方面,具有空间关系的水利各要素间需要存储拓扑信息;另一方面,具有业务关系的各要素也需要存储关联关系信息。在数据采集和处理过程中,成果数据的空间关系不进行显示存储,主要通过预先定义的拓扑关系准则对数据进行约束,而业务关系则要求通过关系表进行显示保存。水利数据量庞大,数据模型关系复杂,依靠人工处理进行实现数据的关系建模和维护,不仅工作量大,而且容易出错。因此,实现智能化、自动化的水利空间数据关系建模,具有重要意义。
空间数据的自动处理一般包括两种方式:一是对多种处理功能进行逻辑抽象,并建立算法库,通过算法库中算法的组合及参数配置来实现各种自动化处理功能;二是在更高层次上建立知识库系统,依托知识库和规则处理系统实现数据的自动处理。前者不需要复杂的建模,应用广泛,但灵活性低、扩展性差,一旦需求发生变更,就可能需要修改算法库;后者具有很强的灵活性和扩展性,通过知识库的扩充和定制就能够满足更多需求。本文则采用第二种方法来实现水利空间数据的自动化建模。
所谓知识库,是指针对某些领域问题求解的需要,采用若干知识表达方式在计算机存储器中存储、组织、管理和应用互相联系的知识片集合。普通的应用程序与基于知识的系统间的区别在于:一般的应用程序是把问题求解的知识隐含在程序的编码中,而基于知识的系统则是将应用领域的问题求解知识显示进行显示的表达,并单独组织在一个相对独立的软件实体中。根据知识的应用领域、背景、属性和使用特征,知识库可以被构造成有结构的、便于利用的组织形式。通常,知识库中的知识是有层次的,最低层是事实知识;中间层是用来控制逻辑的知识(如规则、过程等);最高层是策略,以中间层知识为控制对象。在当前的主流知识库应用系统中,产生式规则是知识的常用表示和应用形式。
“产生式”是1943年美国数学家Post首先在一种计算形式体系中提出的术语。20世纪70年代,Newell和Simon等学者在对人类认知模型研究中,开发了基于规则的产生式系统。从那时开始,产生式系统成为专家系统的最基本结构,而产生知识表示则在人工智能中得到了广泛应用。产生式系统虽然在形式上很简单,但在一定意义上模仿了人类思考的过程。
产生式规则是产生式系统的主体,是产生式系统知识表示的核心。一般产生式的结构可表示为自然语言形式,事实上,在自然语言表达中,人们广泛使用的各种“原因—结果”、“条件—结论”、“前提—操作”、“事实—进展”及“情况—行为”等结构,都可归结为产生式的知识表达形式。产生式规则基本形式是
式中,A是产生式的前提,用于指出该产生式是否可用的条件(前件);B是一组结论或操作,用于指出当前提A所指示的条件满足时应该得出的结论或应该执行的操作(后件)。其中,前件就是前提,后件是结论或动作,前件和后件可以是由逻辑运算符AND、OR、NOT组成的表达式。如果前提满足,则可得到结论或者执行相应的动作,即后件由前件来触发。所以,前件是规则的执行条件,后件是规则体。
水利空间数据关系的自动化建模处理主要包括4个方面的内容:数据采集和编辑时的自动空间关系约束、数据处理完成后的空间关系自动检查、数据采集时的业务关系自动创建、数据处理完成后的关联关系自动检查。
由于各要素存在一些相互的空间拓扑关系,在数据采集和编辑时,需要对这些空间关系进行自动维护和约束。具体形式包括错误提醒和自动错误处理。如按照空间关系,水闸工程必须要和水系轴线、引调水工程或渠道中的一个对象相交。而在采集和编辑过程中,如果水闸工程没有和这些要素相交,则提示错误信息。再比如河湖排污口应该落在河湖边界上,在采集河湖排污口时,如果没有落在河湖边界上,则提示错误信息;在编辑移动河湖边界时,对应的河湖排污口应该随之自动移动。
根据以上情况,产生式规则中If…Then…语句中的前件可分为3部分内容:一是当前的处理状态;二是当前的处理数据类型;三是数据分析。通过这3部分内容结合来作为前件。对于水闸工程,规则语句如下:
If(当前处理状态是数据采集或数据编辑,当前处理对象类型为水闸工程,水闸工程与水系轴线不相交并且水闸工程与引调水工程不相交并且水闸工程与渠道不相交)Then(提示错误信息)
对于河湖排污口的采集,规则语句如下:
If(当前处理状态是数据采集,当前处理对象类型为河湖排污口,河湖排污口与河湖边线不重叠)Then(提示错误信息)
对于河湖边线的编辑,规则语句如下:
If(当前处理状态是数据编辑,当前处理对象类型为河湖边线,存在与河湖边线重叠的河湖排污口)Then(河湖排污口自动联动)
数据采集和编辑完成后,需要对各要素之间的拓扑关系是否正确进行自动检查,将错误的空间关系记录下来以供用户定位和查看。与数据采集和编辑时的自动空间关系约束不同,此时后件的处理动作变成了错误信息记录。以水闸工程为例,规则语句如下:
If(当前处理状态是质量检查,当前处理对象类型为水闸工程,水闸工程与水系轴线不相交并且水闸工程与引调水工程不相交并且水闸工程与渠道不相交)Then(记录错误信息)
各要素间业务关系的建立主要包括3个渠道:一是通过外业采集,然后导入到采集软件;二是人工在数据采集时指定;三是通过空间关系进行自动构建。通过空间关系进行自动构建时,同样可以基于产生式规则进行描述。以水闸工程和水系轴线为例,水闸工程除和水系轴线存在空间关系外,还存在业务关系,业务关系也可以根据是否具有空间关系进行建立。具体规则如下:
If(当前处理状态是数据采集,当前处理对象类型为水闸工程,水闸工程与水系轴线相交)Then(建立水闸工程和水系轴线的业务关系)
数据处理完成后,同样需要对业务关系进行检查,此时后件的处理动作是记录错误信息记录,具体规则如下:
If(当前处理状态是质量检查,当前处理对象类型为水闸工程,(水闸工程与水系轴线相交并且水闸工程与水系轴线不存在业务关系)或(水闸工程与水系轴线不相交并且水闸工程与水系轴线存在业务关系))Then(记录错误信息)
水利数据关系知识库主要由产生式规则库、推理机、外部接口和知识管理系统4部分构成,知识库的构成如图1所示。
图1 知识库的组成
通过知识库的建模,专业的水利空间数据自动化建模知识并以产生式规则的形式进行表示。产生式规则库则是这些产生式规则的集合。
推理机由空间算子库和逻辑执行器两部分组成。其中,空间算子库是各类空间关系判断处理算法的库体,逻辑执行器则用于解译并执行产生式规则。逻辑执行器中的逻辑包括分支逻辑、合并逻辑和循环逻辑等逻辑算子。空间算子和逻辑算子构成了推理机的执行模型。图2解释了一条产生式规则的推理机构成。
图2 推理机的构成示意
推理机的执行模型采用参数关联的方式实现规则的逻辑化。图3是执行模型的参数关联示意。
推理机的运行模式是通过循环检测各执行模型所需数据和参数是否齐备,先齐备的先执行。图4阐述了推理机的运行模式。
图3 执行模型的参数关联示意
图4 推理机的运行模式
外部接口是知识库与外部系统和用户的接口,包括处理数据的调用接口、自动处理的响应接口、处理结果的反馈接口等。
知识维护系统负责对产生式规则的添加、删除等维护和管理。通过图形化的规则定制和管理界面,可以实现无需编码的知识管理和扩充,从而提高整个系统的易用性、易维护性和扩展性。
将本文的知识库系统应用于北京市水务普查空间数据采集与处理软件,成功实现了水务数据采集和编辑时的自动化纠错、质量自动检查,以及业务模型自动创建等功能,并得到实际生产的检验(如图5所示)。
图5 软件总体界面
图6是基于知识库水务空间数据关系的质量检查功能界面。
图6 质量检查功能界面
图7是数据采集和编辑时,知识库在操作错误后的自动提示界面。
图7 操作错误时的自动提示
目前,北京市水务普查数据处理工作已经基本完成,该系统在生产过程中取得了良好效果。实践证明,该系统大大提高了水务数据处理的自动化和智能化程度,降低了生产成本,提高了生产效率,为北京市水务普查做出了积极贡献。
[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] 吴朝晖,潘云鹤.知识表达的发展状况和趋势[J].计算机科学,1995,22(6):39-44.
[4] 伍奎,李润方,刘景浩.智能化系统的知识表达与推理机制[J].机械工程学报,2005,41(5):98-103.
[5] 麦中凡.面向对象程序设计风范与软件开发方法[J].计算机科学,1992,19(4):17-23.
[6] 李雷,高铁曼.产生式规则专家系统的原理与实现[J].微计算机应用,2006,27(5):631-634.
[7] 孙运传,别荣芳.产生式规则库的求精研究[J].北京师范大学学报:自然科学版,2003,39(4):435-443.
[8] 郭庆胜,任晓燕.智能化地理信息处理[M].武汉:武汉大学出版社,2003:57-86.
[9] 田晶,黄仁涛,匡露露.专题地图制图决策系统规则库的设计[J].地理空间信息,2007,5(1):95-98.
[10] 龚自兴,徐光佑.人工智能及应用[M].北京:清华大学出版社,2003:49-71.