基于Ontology的信息查询系统模型研究

时间:2022-07-19 02:13:36

基于Ontology的信息查询系统模型研究

摘要:当前,网络信息资源呈现爆炸式增长趋势,用户对信息查询的要求也越来越高,传统的各种信息查询技术已经很难满足这种要求。未来的因特网作为人类的信息库、知识库,应该支持用户以自然语言的方式来完成信息查询,并具备理解语义,进行自动扩展、联想的智能化查询系统。该文提出一个基于Ontology的信息查询系统模型,实现支持自然语言的理解和语义层面的智能化查询功能。

关键词:本体;信息查询;自然语言理解

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)23-876-03

The Ontology-Based Information Inquiry System Research

ZHAN Ke-qiang

(Software Engineering Dep., Fujian Polytechnic of Information Technology, Fuzhou 350003, China)

Abstract: Currently, With the explosive growth of network information resources, the information inquiry request for users become more and more high. Traditional information inquiry technologies cannot meet the requirements. In the future, as the information and knowledge database for humans, Internet should support information inquiry completed by the way of natural language. The informaton inquiry system should have the abilities of semantic understanding, automatic extension and intelligent suggestion. This paper will introduce a informaton inquiry system which achieve the functions of support for natural language understanding and intelligent inquiry for semantics based on Ontology.

Key words: ontology; informaton inquiry; Natural language understanding

1 引言

目前网络信息查询的方式,主要有两种方式:对于非结构化的大量异构资源的查询,主要是基于关键词的搜索引擎技术和分类主题查询技术;而对于结构化的信息资源,主要是基于相应的数据模式和深层次网络资源检索。如目前文献数据库中普遍采用的全文检索技术,是将用户的查询请求和全文中的每个词进行匹配,它并不考虑查询请求的语义,虽然能够保证实现较全面的查询,但准确度很低,且耗费时间长;采用深层次网络资源检索,又需要用户了解系统中数据的格式,因此无法处理复杂的语义关系,更无法用自然语言来表达查询意愿。针对这一问题,本体理论和相关技术被引入信息查询等领域的研究。

2 本体的相关理论

2.1 本体的起源

本体(Ontology)最早是一个哲学的范畴[1],诞生于17世纪,起源于对万物本源的追问。哲学上本体是关于“存在”的学问,即对客观存在的事物(或实体)的解释和说明。随着近年来人工智能(Agent)的发展,本体的概念被人工智能界借用,赋予了新的定义。

在人工智能领域,为了减少“知识工程”(knowledge engineering)中构建知识库的代价,出现了知识的复用技术。通过复用,系统开发者可以在已有知识基础上更加专注于几个特定领域的知识构建。同时,数据库管理系统(DBMS)研究领域也发现,早期数据库的概念模型是专门化的,导致了数据库的不一致性,使得数据集成和共享变得非常困难。同时,在软件工程领域,伴随着日益庞大而复杂的应用的出现,程序的可重用性的问题也越来越显得突出,领域建模也越来越成为软件工程研究领域的重中之重。

以上几个方面的发展都面临着一个类似的问题,即对某个领域进行通用概念上的描述,也就是要回答:某个领域内,本质上存在哪些对象、过程、属性和关系,各个对象之间有何联系。这也是本体论所研究的主要内容。

2.2 本体的概念

本体理论的发展,同万物的发展一样,经历了从诞生到不断完善、成熟的过程。人们对本体(Ontology)的理解并不完善,这些定义也出在不断的发展变化中,比较有代表性的定义如表1所列。

目前使用较广的关于本体的定义是最后一种,即共享概念模型的明确的形式化规范说明。定义的说明体现了本体(Ontology)的四层含义:

1)概念模型(cerptualization):通过抽象出客观世界中一些现象的相关概念而得到的模型,其表示的含义独立于具体的环境状态;

2)明确(explicit):所使用的概念及使用这些概念的约束都有明确的定义;

3)形式化(formal):Ontology是计算机可读的;

4)共享(share):Ontology中体现的是共同认可的知识,反映的是相关领域中公认的概念集,它所针对的是团体而不是个体。

本体的目标是捕获相关的领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇(或术语、符号等)之间相互关系的明确定义。

2.3 本体的构成

根据以上定义,把本体归纳为5个基本的建模元语(Modeling Primitives):

1)类(classes)或概念(concepts):指任何事务,如工作描述、功能、行为、策略和推理过程。从语义上讲,它表示的是对象的集合,其定义一般采用框架(frame)结构,包括概念的名称,与其他概念之间的关系的集合,以及用自然语言对概念的描述;

2)关系(relations):在领域中概念之间的交互作用,形式上定义为n维笛卡儿积的子集:R:C1×C2×…×Cn;

3)函数(functions):一类特殊的关系。该关系的前n-1个元素可以唯一决定第n个元素。形式化的定义为F: C1×C2×…×Cn-1Cn;

4)公理(axioms):代表永真断言,如概念1属于概念2的范畴;

5)实例(instances):代表元素。从语义上讲实例表示的就是对象。

从语义上讲,本体中使用的基本的关系共有4种,如表2所示。

3 本体库的建立

为了在协同设计系统中实现对语义一致化的支持,关键的一步是建立本体库,以实现服务的标准化存储,并实现基于功能语义的智能推理和服务查找。本体库主要由三部分组成:通用本体库、领域本体库和领域规则库。它们之间的结构关系如图1所示。

通用本体库用来描述各学科领域本体所要应用的通用概念集,如空间、时间、对象、主体、动作等。它的主要作用是为了提供概念的可重用性,同时也可以避免概念的冗余定义。在通用本体库中还定义了各学科领域本体库的结构、语义的对应关系,统一各学科领域资源的不同表达形式,解决学科结构冲突的问题。

领域本体库是用来描述各学科领域的概念知识,是对特定学科领域概念的抽象和表示。因此不同的学科都有各自不同的领域本体库。同时,在学科领域本体库中也定义了学科内的标准化概念与非标准化概念的联系,用来处理本学科内的语义异构。我们以计算机领域中微型计算机的组成部件的描述信息为例,给出其在学科领域本体库相关描述。

<owl:Ontology rdf:about="computer">

<dc:Object>PC</dc:Object>

<dc:Versioninfo>4.0</dc:Versioninfo>

<dc:Description>

<part rdf:ID="p1">

<rdfs:name>CPU</rdfs:name>

<rdfs:part type="c1">Controller</rdfs:part>

<rdfs:part type="c2">Calculator</rdfs:part>

<rdfs:parameter type="string">frequency</rdfs:parameter>

<rdfs:unit type="string">GHz</rdfs:unit>

<rdfs:value type="float">1.8</rdfs:value>

</part>

<part rdf:ID="p2">

<rdfs:name>Memory</rdfs:name>

<rdfs:parameter type="string">capacity</rdfs:parameter>

<rdfs:unit type="string">MB</rdfs:unit>

<rdfs:value type="int">256</rdfs:value>

</part>

<part rdf:ID="p3">

<rdfs:name>Hard disk</rdfs:name>

<rdfs:parameter type="string">capacity</rdfs:parameter>

<rdfs:unit type="string">GB</rdfs:unit>

<rdfs:value type="int">120</rdfs:value>

</part>

<part rdf:ID="p4">

<rdfs:name>Monitor</rdfs:name>

<rdfs:parameter type="string">size</rdfs:parameter>

<rdfs:unit type="string">inch</rdfs:unit>

<rdfs:value type="float">15.1</rdfs:value>

</part>

</dc:Description>

</owl:Ontology>

前面这段代码定义了微型计算机的组成部件的基本描述信息。其中<dc:Object>定义了所描述的对象;<dc:Versioninfo>定义了该基本信息的版本信息,如果参与者修改了基本信息中的相关数据,则版本信息要相应的发生变化,这样其它参与者在调用此信息时,就可以通过版本信息查看与刚才的调用信息是否一致;<dc:Description>是对此领域中本体信息的概略性描述。

领域规则库主要用于定义和组织应用于该领域的规则,形成一个可以应用于特定领域的完备的规则集。我们以计算机的内存储器为例,其中概念“C”在语义上表示“容量”,它属于对象类“Memory”,取值为“string”;标签定义了一组约束,其约束名为“transform”(类型转换),转换规则为“*”(乘法),需要操作的值为“256MB”,转换后得到的概念为“268 435 456B”。其相应的本体描述如下。

<owl:class rdf:about="C">

<rdfs:domain>

<owl:class rdf:about="#Memory">

</rdfs:domain>

<rdfs:range> <xsd:string/> </rdfs:range>

<owl:Restriction>

<owl:onProperty rdf:resource="#transform">

<owl:hasValue rdf:about="MB">256</owl:hasValue>

<un:rule>*</un:rule>

<owl:toClass rdf:about="B">268435456</owl:toClass>

</owl:Restriction>

</owl:class>

在前面本体的构建中,我们多次用到了RDF[7]。RDF即资源定义框架(Resource Description Framework)。它以XML语法为基础,提供了描述网络资源(web resource),以及资源之间关系的模型与语法格式。采用RDF格式定义的信息,是机器可理解的(machine-understandable),这样就可以支持网络资源的自动处理,也能够在此之上实现Internet上的互操作。而RDF Schema提出了抽象世界中主要关系,由此建立了类型系统(Type System),从而支持了从客观世界到抽象世界的映射,为本体共享打下基础,解决了RDF的语义问题。在RDF Schema中使用类(class)、属性(property)、约束(constrain)的概念,通过从属于哪些类的资源来定义属性[8]。RDF Schema的基本模型是class和subclass-of statement(定义类层次),property和subproperty-of statement(定义property层次),domain和range statement(限制对上面的class和property的组合),type statement(用于声明class的一个实例resource)。使用这些模型我们就可以定义一个领域的本体。

4 基于Ontology的信息查询系统的结构模型

为了能够让不同学科的Agent了解自己学科所定义的相关参数等的信息,就需要系统能够基于语义按需查找到相应的本体信息。因此,要解决的主要问题就归结为如何由用户输入的功能描述信息自动地定位相关的本体信息上。我们采用的思想是:利用Ontology知识从服务描述的不同表达中抽象出其相同点和不同点,从而辨别出两个参数或其它信息上是否相同。

4.1 系统的结构模型

基于Ontology的信息查询系统,采用目前流行的浏览器/服务器(B/S)结构。系统采用3层架构,分别为显示层、中间层和数据层:显示层处理用户界面接口问题;中间层负责自然语言处理,进行语义推理以及构造查询表达式等功能;数据层存储参照本体进行标引后的信息资源(RDF文件和本体资源)。图2表示了基于Ontology的信息查询系统的结构模型。

上一篇:几款国内微机型继电保护的比较 下一篇:精品课程网站设计与开发