代婷婷 ,周 乐,余秦勇,黄细凤,谢 军,宋明慧,刘 峤*
(1.电子科技大学信息与软件工程学院,成都 610054;2.提升政府治理能力大数据应用技术国家工程实验室(中电科大数据研究院有限公司),贵阳 550022;3.中电科大数据研究院有限公司,贵阳 550022;4.中国电子科技集团公司第十研究所,成都 610036;5.中国电子科技集团公司第五十四研究所,石家庄 050000)
本体的概念源于哲学领域,最初的含义是形而上学的同义词,表示客观世界中“存在”的本质。20 世纪90 年代,Neches 等[1]、Gruber[2]和Studer 等[3]将本体的概念引入人工智能领域,用于规范知识的表达,以促进知识融合与共享。本体在许多人工智能系统中扮演着关键角色,它不仅有利于实现领域概念或术语的统一认识与解释,还作为机器理解语义信息的一种重要手段,在实现机器理解和认知推理过程中扮演着不可或缺的角色。此外,本体作为一种如何实现领域知识共同理解的解决方案,在实际应用中还具有规范化管理数据、更好地服务于上层应用的作用,被广泛应用于信息检索、人工智能、知识管理等领域。
由于知识表达是机器可读的第一步,不同领域的学者先后提出了多种本体构建方法,但由于人类对知识本体的认知存在文化、学科、地域等差异,迄今为止仍没有形成普适的标准化本体构建方法。从广义上讲,构建知识本体的任务可以被视为是知识工程领域的一种软件开发行为,因此研究者们通常参考定义了软件开发生命周期的IEEE 1074-1995标准来评估已有知识本体构建方法的成熟度[4]。其中,METHONTOLOGY 方法[5]和七步法[6]是两种相对比较成熟的方法[7]。此外,后续的本体构建方法大多以这两种为基础,这在一定程度上证实了方法的适用性。
然而,在为某省政务大数据分析领域构建政务领域本体和开发基于政务知识库的优化程序分析软件过程中,本文发现这两种方法也有明显的局限性。七步法不是完整的生命周期,METHONTOLOGY 虽然给出全生命周期的本体开发方法,但和七步法一样,缺少建立工程环境的方法指导和对开发前、后期的细节规定,如操作、支持、维护等。更重要的是,这两种方法未考虑到如何对本体质量进行评估和响应,而本体评估环节是决定本体能否满足特定领域业务需求的关键因素之一,这种能力缺失会限制本体开发中的版本迭代演进过程。
为解决上述问题,本文借鉴软件开发的经典V-模型[8],同时参考本体测试领域的相关研究[9-11],即依据领域专家制定需求和本体工程师细化概念制定测试用例文档、本体测试人员利用SPARQL 查询语言进行所建本体的可满足性测试[10]而非本体公理可满足性测试[11],提出了一种以需求-评估-进化为核心的领域本体构建新方法,称为基于需求评估响应的循环迭代本体构建方法(Cyclic Iterative Ontology Construction method based on demand assessment and response,CIOC)。其中,“基于需求评估响应”的含义为强调采用本体测试方式来评估所建本体对本体应用需求的可满足性,“循环迭代构建”的含义是借鉴V-模型软件开发生命周期思想,在本体开发过程中,在每个关键时间节点对需求的可满足性进行检查和修正。与通常以知识表征的丰富性和完整性作为本体评估依据的相关工作相比,重视本体对需求的可满足性是CIOC的主要特征和创新点。
综上,本文主要贡献如下:1)针对现有本体构建方案忽视本体构建过程中的质量评估和迭代演进问题,提出一种以需求或任务为驱动的循环迭代本体构建新方法,其特点是:首先在需求分析的同时设计本体测试文档;其次在核心架构细化、知识架构细化阶段对测试文档进行更新与完善;最后,把测试文档作为评估标准,分别从核心架构设计、架构知识细化进行可满足性检查,并对不满足情况进行本体的局部迭代与更新。此外,可满足性环节中还包含对需求变化的判断,以决定是否进行本体的全局性更新。2)以政务本体构建为案例,通过构建一套以政务事项办理过程为核心的政务领域本体来验证CIOC 的实用性。该本体不仅为表达政务事项办理相关知识提供了知识表征框架,还为已成功应用于某省政务大数据的知识计算提供了流程梳理、流程优化功能新思路,一定程度上说明了CIOC的合理性与有效性。
本体构建的过程是把存储于人脑中的关于理解事物的框架转化为从数据源中重构领域知识认知的逆向过程[12],其中本体构建方法是构建者在构建过程(或逆向过程)中需遵守的标准和规范。通过对比分析,本文对现有本体构建方法分为三类:第一类为20 世纪90 年代发展起来的经典本体构建方法;第二类是显式地利用软件开发模型思想对经典本体构建方法的改进方法;第三类是近期文献中强调本体与需求测试间重要性的构建方法。由此可看出,本体构建方法的实用性是当前本体工程领域的一种发展趋势。
经典本体构建方法包括METHONTOLOGY[5]、七步法[6]等。七步法通过确定知识本体的专业领域和范畴、考察复用现有知识本体可能性、列出领域重要术语、定义类及其层次体系、定义类属性、定义属性分面、创建实例等步骤完成本体构建,虽然该方法对构建过程具有较为清晰的思路,但缺少对本体的评估,难以判断本体是否满足需求。METHONTOLOGY法将构建过程划分为三个阶段:第一个为管理阶段,包含任务进展、所需资源以及如何保证质量等事项;第二个为开发阶段,包含规范说明、概念化、形式化、执行和维护;第三个为维护阶段,包含知识获取、系统集成、评价、文档说明、配置管理。以上两种方法,虽与IEEE 1074-1995标准相比较为成熟,但缺乏本体评估结果的反馈使其难达到符合实际的目的。
第二类方法主要包括Ontology Methodology[13]、SCIM(Software Centric Innovative Methodology,SCIM)[14]等。Rani等[13]以METHONTOLOGY 方法为基础,利用传统瀑布模型和统一过程开发思想,对获取领域词汇、枚举概念与属性、概念分类、整合概念间的层级分类、描述概念属性及关系、添加复杂限制和规则等进行迭代更新以完成本体构建。该方法虽然获取了更丰富的知识体系,但忽略了本体评估与需求间的相互关联,即缺乏对迭代更新的需求引导。John 等[14]提出一种基于软件工程过程模型的混合本体开发方法SCIM,从需求分析、领域分析、概念设计、形式化表达、本体评估角度进行本体的迭代更新。
第三类方法是强调满足实际需求的本体构建方法,如SAMOD (Simplified Agile Methodology for Ontology Development)[15]等。Blomqvist 等[9]针对本体构建方法没有关注对支持某些应用或任务的可满足性问题,首次提出了基于测试用例的本体需求验证(或本体测试)方法。Peroni[15]受Blomqvist等工作启发,参考软件工程中敏捷方法、测试驱动方法,提出一种SAMOD 的本体构建方法,并从开发步骤中定义出本体需求的测试用例来验证本体合理性,但未对测试部分进行详细说明。Fernández-Izquierdo[10]是对Blomqvist、Peroni等工作的扩展与丰富,即通过领域专家制定需求、本体工程师细化概念的方式制定测试用例、本体测试人员执行测试用例,提出一套详细的基于SPARQL 查询的本体测试框架以满足实际功能的应用需求。此外,Keet 等[11]还提出从本体的公理可满足性角度来评估本体是否满足实际需求。
为明确各类方法在本体评估和响应上的差异性,本文从是否复用已有本体、是否存在评估环节、是否存在本体进化环节以及本体构建形式角度进行分析对比,具体信息如表1 所示。从表中可知,首先,部分本体构建方法大多未考虑本体复用环节,忽略了不同本体概念的共享与重用。其次,大多方法都认可本体评估和本体评估响应对所建本体的重要性。具体地,受本体构建流程为线性形式的影响,经典方法虽然存在评估环节但未对本体评估结果进行响应(即本体迭代更新);Ontology Methodology、SCIM、SAMOD 本体构建方法是利用如敏捷开发、增量开发等软件开发模型对经典本体构建方法的改进,均可实现本体进化或本体版本演替的功能,且均属于线性和循环相结合的构建形式。此外,在本体评估环节中,大多学者从结构(逻辑正确性)、功能(知识覆盖面)、可用性(复用本体概念)三种特性出发进行本体质量评定[10]。但基于功能特性的本体评估方法侧重于表达领域知识丰富性,难以满足实际需求的评估检验,为解决该问题,本文借鉴V-模型开发思想和本体测试框架进行改进。
V-模型是对软件开发过程模型中瀑布模型的一种改进,与瀑布模型相比,V-模型强调基于测试结果(或测试驱动)响应和满足应用需求的重要性。其主要特点是能应对需求的变化、以及在需求分析阶段制定出测试要求并将其应用于产品测试的不同阶段以进行需求的可满足性检查,同时对不满足需求情况能够从全局(需求出发)或局部(需求分析到测试间)进行迭代更新。V-模型的软件开发思想对指导本体构建是有一定帮助的,具体原因如下:首先,V-模型最大目标是满足应用需求,这一点与基于需求驱动的本体构建不谋而合;其次,V-模型强调在需求分析时定义测试文档,这与知识工程学者利用本体测试框架进行本体评估的方式一致;最后,本体构建是螺旋式的上升并非一蹴而就,本体构建需求通常是不明确且一般会发生变化的,这与V-模型的全局和局部更新关联紧密。
因此,本文借鉴V-模型开发思想,综合本体测试框架,构建出基于需求评估响应的循环迭代本体构建方法。该方法明确定义了本体构建过程中的需求分析、核心架构设计、架构知识细化、编码、评估及其更新五部分内容,强调了需求评估响应对所建本体满足需求的重要性,同时实现了不同维度上的本体评估和演进,如图1所示。各部分描述如下。
该阶段参与者包含领域知识专家、本体工程师、测试人员、需求方四种角色的人员,目标是分析出较为符合要求的本体构建需求,并制定出基于应用需求的本体评估标准或本体测试设计文档,即单一知识和核心场景知识的可满足性表达文档。其中单一知识指该领域的某个词语;场景知识指该领域在特定时间空间下的关于人、事、物间相互关联的知识。具体地,本体构建需求一般是基于专家经验,和通过提出并回答问题的方式对目标和测试要求进行明确,如面向哪个领域建立本体?建立本体的目的是为了实现什么应用?该应用目标用户有哪些?应用场景必须涉及哪些实例数据?领域核心术语有哪些等问题。此外,受领域知识边界的模糊性和领域间知识交叉性的影响,参与人员还需明确知识领域范围。
该阶段参与者为本体工程师和测试人员。首先,预先定义好本体编辑工具和表示语言;其次,根据需求分析中的本体目标与范围确定可参考的数据源,定义该研究领域的核心要素与关联关系知识,并从核心架构设计层面形成单一知识、场景知识的资源描述框架(Resource Description Framework,RDF)三元组数据并填写到核心架构本体测试文档中。
该阶段参与者为本体工程师和测试人员。本体工程师主要是基于核心架构设计内容,通过枚举可参考数据源中的概念及其属性以实现知识的细化工作,依据专家知识整合概念分类与属性、创建实例以建立非形式化的领域知识体系。同时,从知识细化角度形成与单一知识和场景知识相关的RDF三元组,写入架构知识体系细化的本体测试文档中。
该阶段参与者为本体工程师,任务是利用本体描述语言和本体开发编辑工具,完成非形式化到形式化知识架构的转变,初步完成本体的构建。
该阶段参与者为本体工程师和测试人员,内容为本体一致性检验以及需求的可满足性测试。本体工程师首先使用推理机(如Jena 等)进行本体一致性检验,如若存在逻辑错误情况则根据错误结果在编码环节中进行修改,直至满足一致性要求为止。测试人员基于核心架构本体测试文档、架构知识体系细化本体测试文档,使用SPARQL 查询语言对知识可满足性的表达进行验证,若存在查询结果不存在的情况则对本体设计部分进行迭代更新,直至满足评估要求。此外,评估环节还对需求是否变化进行评估以决定是否实施全局的本体迭代工作。
综上所述,本文所提的基于需求评估响应的循环迭代本体构建方法具有如下两个特点:首先,该方法以需求-评估-更新而非以概念层次结构为主线组织领域知识,适用于指导以需求为导向的领域本体构建;其次,线性与循环相结合的本体构建形式贯穿于本体构建整个生命周期,实现了基于评估结果响应的目的。
为验证CICO方法的实用性和有效性,本文以政务流程优化为应用领域进行分析。由于政务知识涉及领域较多,政务领域本体的构建宜先采用以满足需求(即政务流程优化)为核心,然后再逐步推广到相关领域的方式进行构建。以下是运用CICO方法进行政务本体构建的各部分说明。
由于政务人员对政务知识的认识存在局限性,如不同人员对同一知识的理解存在偏差,导致政务知识的互通与利用存在困难,降低了服务质量和效率。因此,构建政务领域本体的目标是为不同政务部门信息体系提供一种政务信息资源统一理解的知识表示框架,并为如政务流程优化等应用实现提供一定支撑。考虑到政务领域信息丰富,如涵盖组织、法律等多种交叉性领域知识,为方便研究本文以某省政务事项办理为主要内容进行本体构建说明。
首先,选定可支持中文的概念、属性、实例编辑和一致性校验功能的本体编辑工具protege 和表达能力较强的OWL(Web Ontology Language,OWL)作为领域知识的形式化表达语言。
其次,为提高政务领域本体构建效率和所建本体的扩展性,复用WordNet 本体中的同反义词概念(https://wordnet.princeton.edu/)、Schema(https://schema.org/docs/full.html)和DBpedia(https://wiki.dbpedia.org/)本体中的网页常用概念等与政务领域相关概念。同时,为贴合实际的政务事项办理过程,本文以某省政府服务网为重要参考对象,如事项基本信息表、事项办理流程等,并以《政府数据分级指南》《政务主题词表》《中华人民法律法规全书》等作为辅助文献资料进行补充。
最后,明确办理对象申请事项、受理对象办理事项场景。即办理对象在某时间、某行政点上申请事项,并由政府组织下的受理对象处理处于不同环节下的事项。其中,事项状态需受理对象依据相关法律文件进行判断,如同意申请并颁发相关事项材料。基于以上描述,提取出事项、组织、材料、环节、对象、地点、时间7个核心概念,以及申请、办理、产生、属于等关联关系。其中核心概念含义如表2 所示,政务领域核心架构如图2所示。
表2 政务本体的核心概念释义Tab.2 Explanation of core concepts of government affair ontology
首先,本体工程师基于核心架构设计中的参考数据源,人工地枚举出与政务相关概念、概念属性及实例。
其次,基于枚举结果和核心架构整合形成概念层次结构,部分概念结构如图2 所示。其中,事项按照事项内容所属领域划分为财税金融类事项、交通运输类事项等共20 个事项子概念,材料根据功能的不同分为法律文件和事项材料,对象按照事项办理主客体可分为办理对象以及受理对象等。
为完成领域知识表达还需描述概念关联关系和概念基本特征,也就是定义概念的对象属性和数据属性。对象属性是指将概念间的关联关系,包括层次关系和二元关系,其中层次关系是一种以树状结构描述的父与子概念间的关联关系,如图2 中材料与法律文件、事项与财税金融事项间的关系等;二元关系是反映不同层次概念间的关系,如图2 所示的如对象与事项间的受理或申请关系。数据属性表示某概念的基本信息,如事项包括事项编码、事项类型等数据属性。
图2 政务领域概念关系(部分)Fig.2 Concept relations of government affair domain(part)
基于核心架构设计步骤中选定的本体描述语言与本体开发软件,利用概念、属性、实例编辑接口对架构知识体系细化中获得的半形式化的领域知识体系进行数据导入,以完成政务领域知识体系的形式化表达。
根据CICO流程,从结构和需求可满足性表达角度出发验证所建政务本体的合理性与有效性。在政务本体的结构特性验证上,利用protege软件自带的HermiT推理机进行本体逻辑一致性的检验,同时对不满足一致性检验的情况,本体工程师根据推理结果对本体的逻辑错误表达进行修订。
在需求可满足性表达上,从是否能够支持核心架构本体测试文档、知识架构细化的本体测试文档两方面表达进行本体查询验证。核心架构本体测试阶段是重点查询或判断核心架构本体测试文档中的事项、办理对象、受理对象、事项环节、材料等概念及其具备的数据属性、对象属性是否已预定义于当前本体中,如若不存在则返回核心架构设计步骤进行添加与完善。知识体系细化测试阶段是从实例化或支持存储的角度来判断所定义的知识体系能否表达知识架构细化的本体测试文档中的事项办理知识,如若存在不能表达的情况则需返回架构体系细化步骤实现本体的局部更新与完善。以某省“职业病诊断医师资格许可”事项案例为例进行简要说明,该事项案例的部分知识关联图如图3 所示。根据事项办理流程,申请人办理“职业病诊断医师资格许可”事项,首先需在周一至周五时间段中提交多种材料到卫生计生委窗口以进入事项申请环节,其中材料包含如卫生计生行政部门提供的《医师执业证书》等、申请单位提供的《专业技术职务聘任书》等、申请人半身照片等;随后,赵成松等根据《职业病诊断与鉴定管理办理》材料和法律标准对受理、审查、决定、制证与发证环节做出相关决定,如出具受理通知书、职业病诊断资格证等。该案例从实例角度证实了所建政务本体能够涵盖政务事项办理的相关知识。此外,本体工程师和测试人员还需衡量本体构建需求是否发生变化,如若改变则需返回需求分析对本体进行全局性的迭代更新,直至满足实际需求为止。
图3 部分“职业病诊断医师资格许可”事项知识片段Fig.3 Part of the knowledge fragment diagram of the item of Occupational Diagnostic Physician Qualification License
受政务数据体量大、事项关联关系错综复杂等因素影响,政务事项办理存在着群众和企业办事“一直在路上”的社会现象,严重制约政府各部门的办事效率,相关部门迫切需要利用自动化手段进行处理以达到简化政务、提高办事效率的目的。为此,本文从某省政务大数据分析领域中的流程优化出发,用于说明基于CICO方法构建的政务本体对知识管理、以及优化应用的可满足性和有效性。
在知识管理上,本文利用政务本体中定义的相关概念与属性知识制定了一个可自定义、可编辑的可视化事项办理流程梳理工具。与其他省份的人工绘制流程图相比,本文所提的梳理工具灵活度高,可减少办公人员的事项发布时间成本,缩短事项办理流程发布时间以方便办理群众的快速知晓。另一方面,为新的政务知识入库或者已有政务知识的更新提供了一套标准化的接口,这在一定程度上有助于数据规范化管理、以更好地服务于流程优化应用。
在政务本体支撑流程优化应用上,从某省政务官网中获取相关事项办理数据,如部门、事项、材料、办理对象等,依据政务本体库定义的概念与属性,形成事项-需要-材料、事项-依赖-事项等知识,为政务知识库构建提供了数据支撑。此外,针对群众和企业办事“一直在路上”的社会现象,本文对政务流程采用关键路径分析、材料共享的手段实现事项办理优化功能,这在一定程度上说明了该本体构建方法可有效支撑相应需求的完成。具体功能描述如下:
在对政务知识库抽取出的事项-材料关联子图分析时发现事项办理所需的材料中存在隐含前置事项的情况,这造成了事项办理时间过长的问题,如图4 上部分所示的省发改委中铁矿、有色矿山开发项目核准的案例事项办理。其中,该事项办理涉及多个前置事项办理的材料结果,如省级城乡规划部门出具的选址意见书、建设项目用地预审事项出具的用地预审意见等。为解决隐含前置事项影响办事效率的问题,把关联子图转换为以事项为节点、获取事项材料所需时间为边的事项办理关键路径图,利用关键路径算法计算出办理该事项串的最佳顺序和最短办理时长,同时建议事项节点1、2、3、4进行联办,如图4下部分所示。该解决方案不仅可帮助用户和管理者了解办理事项的最长时间和关键事件,还提供了事项联办优化建议。其中优化建议的实施可使该事项的跑腿次数减少了两次,进而可缓解群众和企业办事“一直在路上”的社会现状。
图4 铁矿、有色矿山开发项目核准事项材料关联子图及其关键路径Fig.4 Correlative sub-map and key paths of approval item materials of iron ore and nonferrous mine development projects
此外,在事项-需要-材料关联子图中发现在事项办理过程中存在高频材料重复提交与审核、事项办理需求量大影响效率的问题。本文以有限责任公司设立登记事项为例进行说明,该事项办理需10 份材料,且在某省年度办理量为630 件、处于高频事项办理的第4 名。为此,通过设计材料共享功能,在公司设立登记事项办理上共享(或者无需重复提交)选址意见书、用地预审意见、承诺书三个材料文件,使得政府年度审核材料次数减少1 887次,提高了政府办事效率。
综上所述,依据CICO方法构建出的政务本体能在政务知识管理、政务流程优化应用上具有一定的实用性,进一步验证了所提的本体构建方法CICO的有效性。
本文所提出的基于需求评估响应的循环迭代本体构建方法是一种面向通用领域的本体构建方法。通过借鉴V-模型开发思想、突出强调本体评估对满足实际需求重要性的方式,建立了以需求-评估-更新为本体构建的基本循环架构,实现了贯穿于本体构建的全生命周期的评估响应,以达到对已有本体进行局部或全局迭代更新的目的。同时,为验证所提方法的实用性与有效性,以某省政务知识为研究对象,分别从基于CICO 方法的政务本体构建、基于CICO 方法构建的政务本体对知识管理以及流程优化应用进行了简要说明。未来工作将从三个方面展开:首先,继续细化并完善本体评估方法并致力于实现从人为评判到智能技术量化的转变,减少构建者主观因素的干扰,以建立更符合领域所需的本体架构;其次,将通过引用规则的方式加强对领域知识的表达;最后,将探索自动化抽取技术,实现概念、属性等知识的抽取,达到解放人力劳动并提升本体构建效率的目的。