本体知识库 [基于本体的专题知识库智能检索系统研究]

  [摘要]以基于本体的张謇研究知识库智能检索系统开发为例,探讨基于本体的专题领域知识库智能检索系统的框架结构、工作流程以及功能实现。系统采用语义Web技术和智能Agent技术,使用RDF模型对知识库的Web页面元数据进行描述,然后利用本体建模语言对张謇研究领域知识进行建模,根据所得到的本体对元数据进行基于语义的查询,为用户提供智能检索服务。
  [关键词]本体知识检索智能检索知识库
  [分类号]G250.6
  
  1 引 言
  
  从本体论的基本概念出发,哲学上把本体论定义为“对世界上客观事物所进行的系统描述”。将本体论引入信息科学,本体论是对概念化对象的一种表示和描述,在计算机领域是指定义元数据及其相关关系的“规范”。由于本体具有良好的概念层次结构和逻辑推理的支持,因而在信息检索,特别是在基于知识的检索中得到了广泛的应用。知识检索也称语义检索,是把信息检索与人工智能技术、自然语言技术相结合的检索,它从语义理解的角度分析信息对象与检索者的检索请求,是一种基于概念及其相关关系的检索匹配机制。知识库是事实、规则和概念的集合,从存储知识的角度来看,以描述型方法来存储和管理知识的机构叫做知识库。张謇是中国近代著名实业家、教育家,他是清末最后一位状元,曾任民国政府实业总长,是一位探索强国之路的开路先锋。他倡导实业救国的思想,在经济、教育、文化、城市建设、社会保障、地方自治等诸多领域创造了十多项全国第一,他创建了中国近代第一城――南通(中国人自主规划建设的第一座近代城市),研究张謇对于今天的城市经济、教育、文化协调发展,实现科学可持续发展具有重要意义。张謇研究知识库对张謇研究知识沉淀(包括南通大学档案馆、图书馆和博物馆的张謇研究原始资料)进行数字化语义处理并在张謇研究领域专家的指导下进行概念分类标注,组织到知识库中,形成张謇研究领域概念集,组织存储并实现Web服务功能。
  
  2 基于本体论的张謇研究领域知识库智能检索系统功能需求
  
  ?实现对世界各地张謇研究领域用户的查询请求分析本地表达化,使得要查询的概念不存在模糊不清的地方,具体表现在用户向系统提出查询请求后,系统能将查询请求中的本体取出来,然后进行基于本体的语义搜索。
  ?系统应能对用户如何更好地利用已建成的张謇研究本体知识库中的知识给予搜索提示,帮助用户更好地使用本体进行查询。
  ?系统应能找出查询本体中隐含的语义,实现智能检索,即系统能根据用户的检索条件,进行智能语义推理,可检索出与检索条件具有相同语义信息的知识。
  
  3 基于本体论的领域知识库智能检索系统结构和工作流程
  
  3.1 基于本体论的领域知识库智能检索系统结构
  基于知识库的语义Web环境下,知识库的信息资源已进行了语义标注。在此环境下,本系统应完成的任务是:自动抽取关于领域知识内容描述的元数据,并将这些元数据进行存储;对用户提交的关键词进行语义匹配和语义相关性扩展,形成符合特定Ontology语言的查询语句,通过对数据库中存储的领域知识库元数据信息的查询,得到高效的基于语义的领域知识检索结果。上述任务可划分为元数据收集、数据预处理、元数据存储、基于Ontology的知识推理和用户查询、控制调度等6个主要功能。本文将整个系统框架划分为6个部分,每个部分的功能由一类Agent实现,这6类Agent通过协同工作,共同完成整个检索任务。本系统的总体结构如图l所示:
  
  
  系统中除了多个Agent以外,还设置了领域知识库、领域本体库、本地信息库、远端信息在本地索引库以及临时文档库来存储相关信息。领域知识库除了存储张謇研究数字化语义Web资源还存储张謇研究领域用户ID、mail等个人信息、搜索案例(用户ID)、搜索ID、属于的领域、关键字、返回的数据等、用户偏好等;领域本体库存储张謇研究领域集、张謇研究关键字集以及张謇研究本体的相关知识等;本地信息库和远端信息在本地的索引库主要存储远端搜索Agent带回的,并经过信息处理Agent处理过的搜索信息,临时文档库存储远端搜索Agent从远端数据源搜索到的相关信息。
  
  3.2 基于本体论的领域知识库智能检索系统工作流程
  通过信息搜索Agent,对张謇研究知识库中描述张謇研究领域知识内容的元数据(包括知识库存储的描述内容信息和带描述信息的页面WEB信息)进行信息提取和过滤,把收集到的元数据经过预处理Agent进行处理后交由存储Agenh存储Agent接收语义元数据,将这些元数据以合适的方式存储到数据库中,数据库既可以是传统的关系数据库,也可以是专用的XML/RDF数据库,利用描述领域知识的领域本体,由推理Agent对张謇研究用户提交的查询关键词进行语义匹配和语义相关性扩展,将得到的基于张謇研究领域本体的查询要求交由查询Agent执行,由查询Agent接受推理Agent产生的针对Ontology的查询要求,对存储元数据的数据库采用基于知识的方式进行查询,并将满足用户条件的结果返回给用户。领域用户的查询过程如下:①提交检索请求。界面Agent接收用户提交的检索请求,主动细化检索请求,并把细化后的结果交给预处理Agent。②规范化检索信息。预处理Agent接收到检索请求任务后,首先利用任务中关注领域、关键词、摘要等信息,到所有用户共有的知识库中查找利用相同领域,类似关键词作为搜索条件的搜索案例。若在知识库中没有检索到所需案例,预处理交本体库,借助于本体知识,从中找出出现该关键字的各个领域以及在该领域下的关键字的含义。③预处理Agent搜索到的或者是经过本体规范的信息提交给查询界面,界面与用户交互,把用户根据自己意图选择的信息再次反馈给预处理Agent,预处理Agent再把信息提交给查询Agent。④为了保持系统的一致性与协调性,实现对知识库的智能管理、控制和调度,控制调度Agent作为智能检索系统的“司令部”,将在系统中起核心作用。控制调度Agent的工作过程是:保存各Agent的名称、通信地址、能力等状态信息;接受检索任务,在多Agent之间进行任务分配;协调整个系统的通信;接收检索结果,将其反馈给预处理Agent;定期派遣信息收集Agent到远端信息源上收集信息,更新本地信息库和远端信息在本地的索引库。
  
  3.3 基于本体论的领域知识库智能检索系统功能实现
  系统采用了语义Web技术和智能Agent技术,使用RDF模型对知识库的Web页面元数据进行描述,然后利用Ontol-ogy建模语言对领域知识进行建模,根据所得到的Ontology对元数据进行基于语义的查询,为用户提供智能化的检索服务。
  3.3.1 张謇研究领域知识收集系统中的信息收集Agent的作用是从知识库中收集与Web页面内容相关的元数据描述信息, 并把收集到的元数据交由存储Agent。在目前的语义Web技术中,页面内容的元数据描述信息通常可以采用RDF的形式进行描述。使用RDF来描述页面内容,最直接的方法就是把描述本Web页内容的RDF数据段插入到页面之中,一般是把以XML语法形式书写的RDF数据嵌入到HTML的头部信息中,其实现形式类似于Microsoft在Ⅲ中所用到的“数据岛”。除此之外,对于知识库和Web页元数据的数据量较大的情况,RDF数据还可以用文件的形式保存,并在页面中给出存放此文件的链接,以供软件Agent或应用程序读取。信息收集Agent按照设定的搜索策略访问知识库以及语义万维网环境下的网页,它不仅可以自动过滤知识库网页内容,采取某种策略来提取其中的元数据描述信息,还可以从一个知识库页面跨越到另一个页面,自动沿着超文本的链接,遵循超文本传输协议在知识库页面上进行“爬行”,确认知识库页面之间的链接是否有效,删除已经名存实亡的链接。
  3.3.2 张謇研究领域知识存储通过Agent之间的通信,信息收集Agent会将所得到的知识库Web元数据传递给存储Agent,而存储Agent的任务就是对所接收的以RDF形式表示的元数据还原,然后把元数据以合适的方式进行存储。目前,RDF数据的存储基本上有3种方案:①XML/RDF文件形式,②RDF数据库,③关系数据库。对于少量的数据,XML/RDF文件形式的存储是可行的,但是对于大量的事实数据,考虑到可扩展性、查询方式、效率等诸多因素,以RDF数据库或者关系数据库来存储RDF事实数据是一种比较好的选择。关系数据库是目前数据库应用的主流,用关系数据库存储RDF数据,可以有效地利用现有的数据库资源。但是由于关系数据库缺乏所必须的语义要求,所以必须首先把RDF的数据模型转化为关系模型,这就要求能够对RDF数据进行解析,根据RDF模型的特点设计专门的数据库模式,实现从RDF模型到数据库模式的映射。在RDF模型中,声明是对一个事实的基本描述,也是RDF模型中的最小有效数据单元,所以存储声明的表是数据库模式中最重要的部分,其结构如表1所示:
  由于RDF是一种以XML语法为基础的建模语言,所以从某种意义上可以说RDF数据是一种特殊的XML数据。实际上,XML文档可以分成两大类:以数据为中心或者以文档为中心。以数据为中心的文档有非常规则的结构,以文档为中心的文档具有不规则的结构,而且数据颗粒度也比较大。根据RDF数据模型的特点,RDF数据可以看作以数据为中心的XML文档。基于RDF数据模型的特点,对于RDF数据的存储最好由中间件(middleware)来实现。中间件所需完成的XML文档与数据库之间的转换功能是通过文档与数据库之间的映射来实现的,实现过程共分为3步:编写一个映射文件、编写过滤器和动作文件、编写Java代码。
  3.3.3 张謇研究领域知识推理 实现基于语义的检索,不仅要有被检索信息的元数据信息,也要具有对被检索内容的智能推理能力。系统中推理Agent的核心是智能推理引擎,它能够根据已有的特定领域的本体对用户所输入的关键词进行基于语义的智能推理。推理包括语义匹配和语义相关性扩展,推理引擎应能够根据领域本体中对各个概念的定义而推理出这个关键词在查询中的精确语义,并推理出与此词语义相关的词语和概念。推理Agent通过调用Jena中的OntologyAPI,根据Ontology对用户输入的关键词进行基于语义的推理。推理分为两种:关键词的语义匹配和相关性扩展。语义匹配的作用是对用户所输入的关键词进行语义的分析,推理Agem根据Ontology可以判断此关键词的精确语义,从多个可能的语义选项中选择出最符合用户要求的那一种。针对具有一词多义的词条,语义匹配提高了检索结果的精确性。传统的收集引擎只是根据单纯的关键词匹配来检索结果,并不能区分同一词条的不同含义,而在本文所提出的检索框架中,Ontology对同一个词的几个不同语义都进行了精确的定义,每一个语义都对应于一个独一无二的URI,因此如果推理Agent参考了Ontology,就可以根据上下文来选择出符合用户要求的语义。相关性扩展的作用在于获得与该词相关的其他词,因为在Ontology中定义了众多的与此词条相关的其它概念,所以根据Ontology中所定义的知识,还可以获取更多的与此关键词语义关联的词,例如,通过subclass关系,推理Agent就能够找到该概念的一个子概念,尽管该子概念不在关键词列表中,推理Agent根据Ontology也会把它找到并返回给用户。推理Agentl后会将语义匹配和相关性扩展所得到的结果封装起来ACLMessage对象的形式交给查询Agent,由查询Agent根据这些推理结果对存储有描述知识库Web数据内容的RDF数据库进行查询。
  3.3.4 张謇研究领域知识查询查询Agent的任务是通过与推理Agent的通信,接受推理Agent针对用户的检索要求进行语义推理的结果,然后通过对存储网页元数据的RDF数据库的查询,检索出符合用户语义要求的查询结果,并将这些结果返回给用户。由于RDF数据模型的特点,对数据库中的RDF数据进行查询,最好使用一种专门的RDF查询语言。RDQL是Jena中的一种RDF查询语言,此类查询语言的特点是忽略Schema或Ontology信息(除非在RDF数据源中明确说明),把RDF数据当作三元组数据进行处理。RDF数据模型是一个节点为资源或字符串的有向图,RDQL提供了一种通过图模式来匹配数据的方法,查询结果以一系列的bindings来表示,每一个bindings是一个包含变量值的“名称-值”对。RDQL查询表达式类似于SQL中的select子句,其视图模式就是一个RDF Statement,通过对Statement的某些部分的限定,就可以查询出Statement中未知的部分。RDQL查询语句与SQL语句类似,既可以单独使用,也可以镶嵌于Java代码中混合使用,本文中所设计的查询Agent的查询动作中使用了RDQL语言,其查询语句被封装为Query对象,通过对Query对象的方法调用,可以查询出以ResultBinding变量的形式返回的结果,这些变量可以通过名字(在查询语句中定义)很方便地存取。在存储网页元数据的RDF数据库中,每一个模型就是一个Web单元,查询出此模型之后,可以很容易地得到它的URL和Title,查询Agent把这些信息返回给用户,完成整个查询过程。
  
  4 结语
  
  基于本体的智能检索信息系统由于能提供查询和资源描述所必需的元语,并通过领域语义模型为信息源提供语义标注信息,从而使系统内的所有Agent对领域内的概念、概念之间的联系及领域内的基本公理知识有一个统一的认识,进一步提高了系统的联想能力和精确性,可以为用户提供有价值的信息和全面的共同视图。极的要努力弘扬,对消极影响也可以采用一些相应措施来进行克服、消除或淡化。总的来说,我国内地图书馆学个人博客已经成为图书馆学进行学术交流、促进学科发展的一个有利平台,如果我们发挥好它的作用,将为图书馆学发展带来新的生机与活力,成为我国图书馆学发展的又一次良机。