,
(郑州轻工业学院,郑州 450002)
随着突发事件的频繁发生,各地应急管理办公室针对每个领域制定的应急预案文件快速增长。但由于缺乏组织和整理,在发生突发事件时,人们难以准确地查找到相关的预案信息。而传统的应急预案检索方式主要是搜索关键词或查找内容分类目录,这种方式有较多缺点:需要较多人工干预,效率低下;不易选取合适的关键词;返回较多的无关信息,较少做进一步的智能化处理等[1]。所以,人们在检索过程中逐步引入语义技术。在语义表达方面,目前最流行的是本体,通过本体表示和本体映射对信息做完全形式化的描述。目前本体技术已得到比较广泛的应用,其中语义网技术以本体论为基础,以解决机器之间信息理解和处理问题为目的,已成为目前的研究热点之一。本体正是凭借对概念的精确描述,在这种智能化的检索过程中,扮演了重要的角色。用本体定义一个共享和共同的领域知识集,可以帮助人们与机器之间实现准确的语义交流,极大地提高信息检索系统的效率和准确率。本文通过构建检索本体,使检索过程由关键词匹配演变为内容匹配。
在传统的基于关键词检索方法中,产生误检、漏检的一个重要原因是用户的需求表达与信息系统的表示方式不一致,实质上是对领域知识理解的不一致。本体论可以用来获取相关的领域知识,形成对该领域知识的共同理解。
从知识共享的角度上来说,本体是通用意义上的概念定义集,是关于概念和关系的词汇表。这种词汇表是各种事务代理人之间交换意见时所用到的共同语言。基于本体论的信息检索是基于知识、语义的匹配,在查准率和查全率上有更好的保证,已成为信息检索的一个新的发展方向。
目前基于本体论的检索系统[2]要达到上述目标则需通过2个过程:
(1)信息资源的本体化。运用本体论,通过相关算法分析,判断文档隶属于哪个领域,并以此确定文档在本体论中的位置。
(2)用户检索请求的本体化。人们对信息需求的认识通常比较模糊,且由于自然语言的固有特性,使得用自然语言表达的检索请求与机器中用来描述的信息特征不匹配。所以,在知识检索系统中,应该利用本体论的知识对用户的检索请求加以规范和引导,既能使用户清晰地表达检索需求,又能使机器很好地理解用户意图。
本体论具有较好的逻辑推理功能,对于用户给出的检索词,利用本体论的逻辑推理功能,判断其所属的可能领域,然后分别将该领域及其属下的相关概念与定义以本体化的形式提供给用户[3]。这样一方面可以帮助用户明确其信息需求,把未意识到、未清晰表达的客观信息需求进一步显性化;另一方面让系统确定检索词在本体论中的确切位置,从而帮助机器理解用户的检索意图,为用户提供更精确、更相关的知识与信息。
使用关键词对中文进行检索的基本原理是:
(1)用户输入检索语句,一般由若干个反映文本主题的词汇组成;
(2)使用分词器对检索语句进行分词,并过滤掉无关词项,形成查询关键词组;
(3)系统在数据库中将关键词组与预存的文本关键词进行自动匹配,两者相符的文本被检出。
换言之,检索者要想正确地检索出所需信息,需输入由与文本相匹配的关键词所组成的语句。假设检索者想要浏览名为“郑州市突发公共事件应急预案”的文件,则需输入与“郑州市”、“突发公共事件”、“应急预案”等关键词构成的语句,如果输入“金水区暴雨”,则不会匹配到任何结果,因为系统不会理解到“金水区”是郑州市的一个辖区,“暴雨”是“突发公共事件”的一种情况。这就需要借助于本体论,通过对关键词进行语义扩展,进而将基于关键词的检索提升到对知识检索的层次。
基于上述原因,在设计应急预案系统时,加入检索本体,并通过语义的匹配、推理,实现整个检索系统由面向预案的检索向面向事件的检索进化。由于预案文本所涵盖的知识面较广,若对文体全面检索需耗费巨大的硬件资源和时间成本,对预案名称进行检索是一个较好的折中方法。整个检索系统设计如图1所示。
图1 应急预案系统检索模块框图
图1所示的查询实现过程可表述如下:
(1)对用户输入词进行自然语言分词,得到有意义的关键词组。
(2)将关键词与本体库中的实例进行匹配,匹配过程就是将用户输入词转化为本体库中的一个实例集合。
(3)从实例集合中的叶子节点出发,对每一个实例进行一次隶属关系遍历,采用广度优先遍历算法,产生一个与实例集合中的实例相关联的三元组集合。
(4)将三元组集合的所有Resource添加到关键词集合中,将集合中的所有关键词送入搜索引擎,并与预案库的所有预案名称进行关键词匹配,将命中的应急预案名称返回。
通过对相关预案语料库的分析可知,预案名称主要由制定预案部门、制定预案部门所属的行政区划和预案对应的事件类别3部分构成。根据实际情况,检索者更多地会对“地区”和“应急事件”这两个方面产生自己的语义表达倾向,本文主要是对这两个方面进行本体建模[4],以期达到语义扩展的目的。
本体用树模型进行数学建模。本体树中所有的内点表示类,叶子节点表示类或实例,父母节点是子女节点的父类或是类,而子女节点是其父节点的子类或实例。在本体图的表示中,一般用方框表示类,椭圆表示属性,而实例则直接使用文字表达,本体描述语言通常采用OWL-FULL。
应用本体知识,并依据中华人民共和国行政区划,对“地区”概念进行抽象,将地区本体划分为4个核心类:地区、省、市和县/区,其中“省”、“市”和“县/区”为“地区”类的子类。在Ontology中,子类可以继承父类的所有属性和约束,子类的实例是其所有父类的实例。地区本体的概念相互关系如图2所示。
为了实现对查询关键词的语义扩展,首先要对本体中不同的实例进行关联。为上述本体定义两个属性:“所属省/直辖市/自治区的名称”和“所属市的名称”。根据owl语言描述规则,属性用于描述资源与资源之间的关系。owl共有两种属性:数据属性和对象属性,属性可以声明多个定义域(Domain)和值域(Range)以对属性的作用范围进行限制。分别将“所属省/直辖市/自治区的名称”和“所属市的名称”这两个属性的定义域设定为“市”和“省”,并新建“中国省/直辖市/自治区”和“隶属于河南省的市”两个枚举类作为这两个属性的值域,“中国省/直辖市/自治区”和“隶属于河南省的市”两个枚举类分别对应的实例取值集合为{北京市,河南省...}和{郑州市,洛阳市...},且这两个枚举类的值只能是这两个集合所规定的值集中的一个。同时定义“partOf”属性为“所属省/直辖市/自治区的名称”和“所属市的名称”的父属性,并声明“partOf”属性具有“owl:TransitiveProperty”和“owl:FunctionalProperty”性质[5]。设p=“金水区”,q=“郑州市”,r=“河南省”,根据“所属省/直辖市/自治区的名称”和“所属市的名称”这两个属性的“owl:FunctionalProperty”性质,可知“所属省/直辖市/自治区的名称”和“所属市的名称”的值具有唯一性,并有如下结论:
图2 地区本体图
p->q
(1)
q->r
(2)
再根据“所属省/直辖市/自治区的名称”和“所属市的名称”属性的“owl:TransitiveProperty”性质,将(1)式和(2)式构成假言三段论:
[(p→q)∧(q→r)]→(p→r)
(3)
假如检索者输入“金水区暴雨”,分词器将上述语句拆分出关键词“金水区”,将此关键词比照本体模型进行语义关联,经过地区本体的推理和查询,得知“金水区”所属的“市”是“郑州市”,“郑州市”所属的省为“河南省”,将相关返回值添加到关键词簇中,得到关键词集合{金水区,郑州市,河南省}。
另外,例如“隶属于河南省的市”这样的类,等价于由无名类(具有“所属省/直辖市/自治区的名称”属性且值是“河南省”)与“市”类的相交集所产生的类。显然,根据owl的语法规则和推理公理,可知如“隶属于河南省的市”类的任何实例,同样亦是“市”类和“地区”类的实例。
应急预案主要是针对形形色色的应急事件而制定的关于应急管理、指挥、救援计划等内容的官方文本,所以应急事件对于区分不同的应急预案有着举足轻重的作用[6]。作为应急事件的重要一类,突发事件的主要特点是突然爆发、难以预料、需要紧急处理、后果严重、具有较复杂的分类等,用户在检索时很难给出与预案名称相符的关键词描述。通过对应急事件构建本体,使系统可以支持直接面向事件的关键词搜索功能,增加相关预案被检索命中的概率。
根据突发公共事件的发生过程、性质和机理,我国将突发公共事件分为4类:自然灾害类、社会安全事件类、事故灾难类和公共卫生事件类,每一类又可分为若干个小类。本体图表示如图3所示。
图3所示本体主要是通过相关概念的类属关系进行语义扩展的,根据实际情况还可对相关的类进行进一步的细分,以实现对关键词的细粒度语义检索。从图3所示的本体概念图上可以看出,该本体树的一二层概念关系相对简单,而第三层,亦即叶子节点上聚集了大量的语义信息。除了将检索关键词与叶子资源进行直接匹配,并对命中值的父类进行语义扩展外,亦可对叶子节点的兄弟节点进行语义扩展。特别是在源关键词与检索者的意图有较大语义偏离的情况下,使用与其语义相似度较高的兄弟节点进行拓展,可以检索出最具借鉴参考意义的相关预案,提高检索准确率的均值,减少系统搜索命中的离群概率。
依据上述本体的构建,对于输入的“金水区暴雨”语句,分词器将该语句拆分出的关键词“暴雨”,与该本
图3 应急事件本体图
体模型“自然灾害”下的实例完成匹配,并通过rdfs:subClassOf属性,得到“自然灾害”和“突发公共事件”等关键词。自此,对于用户输入的搜索语句“金水区暴雨”,通过本体推理得出的语义扩展关键词“突发公共事件”和“郑州市”,在搜索引擎中会命中名为“郑州市突发公共事件应急预案”的预案,而这正是此文所要达到的研究目的。
本文通过对基于关键词的传统检索方式的缺陷进行分析,对应急预案系统检索模块进行总体设计,阐明查询实现过程,分析应急预案名称的构成,并构建相关领域本体,通过使用对关键词进行语义扩展的方法,解决关键词检索方法中产生的误检、漏检问题,提高应急预案检索效率。结果表明,该方法不仅解决了传统方法中存在的一些问题,而且易于实现,面向事件的预案搜索也更符合人们的认知规律和使用习惯。
参考文献:
[1] 刘红阁,郑丽萍,张少方.本体论的研究和应用现状[J].信息技术快报,2005(1):1-12.
[2] 盛秋艳,印桂生.基于Jena的动态语义检索方法[J].计算机工程,2009,35(16):62-64.
[3] 陈琮.基于Jena的本体检索模型设计与实现[D].武汉:武汉大学,2005.
[4] Grigoris Antoniou,Frank Van Harmelen.语义网基础教程[M].陈小平,译.北京:机械工业出版社,2008.
[5] 蒋运承,史忠植,汤庸,等.面向语义Web 语义表示的模糊描述逻辑[J].软件学报,2007,18(6):1257-1269.
[6] 许天兵.一个语义制导的图像检索框架[J].中原工学院学报,2004,15 (4):17-18.