击碎星辰 / 搜索技术 / 本体论及语义搜索引擎

分享

   

本体论及语义搜索引擎

2010-06-10  击碎星辰
本体论及语义搜索引擎

1 引言
    网络信息检索已成为我们获取信息主要手段。根据CNNIC的统计数据[1]:目前中国用户上网的最主要目的中,信息获取以42.3%位居榜首;有 98.7%的人表示通过互联网来获取信息,其中有71.9%的人是通过搜索引擎来查找相关网站的。然而网络信息检索面临两个亟待解决的关键问题:
    (1)搜索的结果相关度低,冗余信息太多;
    (2)搜索引擎无法对常识性问题给予回答,智能化水平低。
    出现上述问题的原因在于目前检索技术主要依赖于编码技术,通过分类模式来描述给定的信息;通过基于字符串匹配的全文检索技术,来搜索用户提交的关键词。由 于编码描述只能反映出部分语义,因此不能保证语义的匹配;检索过程是把用户的查询关键词与全文中的每一个词进行比较,而不考虑查询请求与文档语义上的匹 配。针对上述两个关键问题,本文运用本体论的相关知识,提出基于本体构建的语义搜索引擎模型。该模型能够根据用户的查询关键字或者询问问题,进行基于知识 的推理,从而提高检索结果的相关度,并且实现一定水平的语义检索。

2 本体论

      2.1 本体的概念
    本体这个术语来自于哲学,根据韦氏词典的解释,本体是形而上学的一个分支。目前本体在人工智能领域得到广泛研究和应用,但尚未形成统一的定义,最广为流传的定义有[2]:
    定义1:本体是对共享概念模型的形式化明确说明。它有几个要点:
    ★ 概念模型(conceptualization):指通过抽象客观世界中一些现象(Phenomenon)的相关概念而得到的模型,其表示的含义独立于具体的环境状态;
    ★ 明确(explicit):指所使用的概念及使用这些概念的约束都有明确的定义;
    ★ 形式化(formal):指Ontology是计算机可读的;
    ★ 共享(share):指Ontology中体现的是共同认可的知识,反映的是相关领域中公认的概念集,它所针对的是团体而不是个体。
    简单地说,本体给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的确定词汇外延的有关规则的定义;其目标是捕获相关的领域的知识,提供对该领域知识的共同理解,确定领域内通用的词汇,并给出这些词汇(术语)和词汇之间相互关系的明确定义。
    定义2:本体论是关于词汇或概念的理论,这些诃汇和概念用于构建人工智能系统。该定义认为,本体实际上是一种表示性的词汇,这种词汇可以应用于特定领域。 比如电子设备领域的本体,它包含一些描述基本概念的词汇——晶体管,运算放大器,电压等;也包含这些基本词汇间的关系——运算放大器是电子设备的一种,而 晶体管是运算放大器的组件。一般来说,识别这种词汇和潜在的概念需要仔细分析领域内存在的各种对象和关系。这一定义描述的本体建设方法与面向对象方法有一 定的共通之处。
    定义3:本体论是用来定义某一领域的知识主体。该定义认为,本体是描述某个领域的知识,它不仅仅是简单的词汇表,而是整个上层知识库(包括用于描述这个知识库的词汇)。
    综上所述,本体是某个领域内(可以是特定专业的,也可以是宽泛范畴的)不同主体(人、代理、机器等)之间进行交流(对话、互操作、共享等)的一种语义基础,即由本体提供定义明确的词汇表,描述概念和概念之间的关系,作为使用者之间达成的共识。
      2.2 本体的作用
    本体的作用可归结为通讯(communication)、互操作(interoperability)和系统工程(systems engineering)。
    (1)所谓通讯是指本体为人与人之间或组织与组织之间的通讯提供共同的词汇,即交流的基础。
    (2)互操作说明本体建立了在不同的建模方法、范式、语言和软件工具之间进行翻译和映射的机制,以实现不同系统之间集成。
    (3)系统工程:本体分析能够为系统工程提供以下方面的好处:
    ★ 重用(reusability):本体是领域内的重要实体、属性、过程及其相互关系形式化描述的基础。这种形式化描述可成为软件系统中可重用和共享的组件(component)。
    ★ 知识获取(knowledge acquisition):当构造基于知识的系统时,用已有的本体作为起点和基础来指导知识的获取,可以提高其速度和可靠性。
    ★ 可靠性(reliability):由于本体的描述是形式化的,形式化的表达使得自动的一致性检查成为可能,从而提高了软件系统的可靠性。
    ★ 规范描述(specification):本体分析有助于确定系统(如知识库)的需求和规范。

3 基于本体语义搜索引擎

      3.1 基于本体搜索引擎的设计思想
    本体提供了人机交流的机制,使得机器可以理解语义,从而为搜索引擎提高效率奠定了基础。
    基于本体的搜索引擎的基本设计思想:
    (1)在领域专家的帮助下,建立相关领域的本体(Ontology);
    (2)收集信息源中的数据,并参照已建立的Ontology,把收集来的数据按规定的格式存储在元数据库(关系数据库、知识库等)中:
    (3)对用户检索界面获取的查询请求,查询转换器按照Ontology把查洵请求转换成规定的格式,在Ontology的帮助下从元数据库中匹配出符合条件的数据集合;
    (4)检索的结果经过定制处理后,返回给用户。
3.2 知识库
    实现基于本体的语义搜索引擎,建立知识库是必需的。知识库是语义搜索引擎进行推理和知识积累的基础和关键,而Ontology则是知识库的基础。一般来 说,本体提供一组术语和概念来描述某个领域,知识库则使用这些术语来表达该领域的事实。例如医药本体可能包含“白血病”、“皮肤病”等术语的定义,但它不 会包含具体某一病人的诊断结果,而这正是知识库所要表达的内容。比如张三患有皮肤病、李四患有皮肤病和白血病、王五患有白血病,其中的皮肤病、白血病就是 本体。而各个病症的实例(张三、李四、王五)及其病症描述就是知识库的内容。
    本体和知识库的关系有几个要点:
    ★ Ontology为知识库的建立提供一个基本的结构;
    ★ Ontology提供一套概念和术语来描述某一领域,并且获取该领域的本质的概念结构;
    ★ 知识库就运用这些术语去表达现实或者虚拟世界中的正确知识。
    因此,建设一个知识库的第一步就是对该领域进行有效的Ontology分析。

3.3 构造本体
    本体的构造是整个基于Ontology的信息检索系统的底层基石,决定着系统的性能、通用程度以及系统运行的质量。如何正确、有效、合乎逻辑的建立本体是这个系统建立的关键。
      (1)本体的构造准则
    对同一领域,同一事物,不同人往往会建立不同的本体。由于本体应该是规范化的描述,因此遵循统一的构造准则是必要的。目前最为常用的是Gruber提出的指导本体构造的5个准则,[3]即:
    清晰(Clarity):本体必须有效的说明所定义术语的意思。定义应该是客观的,与背景独立的。当定义可以用逻辑公理表达时,它应该是形式化的。定义应该尽可能的完整。所有定义应该用自然语言加以说明。
    一致(Coherence):本体应该是一致的,也就是说,它应该支持与其定义相一致的推理。它所定义的公理以及用自然语言进行说明的文档都应该具有一致性。
    可扩展性(Extendibility):本体应该为可预料到的任务提供概念基础。它应该可以支持在已有的概念基础上定义新的术语,以满足特殊的需求,而无须修改已有的概念定义。
    编码偏好程度最小(Minimal encoding bias):概念的描述不应该依赖于某一种特殊的符号层的表示方法。因为实际的系统可能采用不同的知识表示方法。
    本体约定最小(Minimal ontological commitment):本体约定应该最小,只要能够满足特定的知识共享需求即可。这可以通过定义约束最弱的公理以及只定义通讯所需的词汇来保证。
      (2)本体的表示
    目前有两种本体表示方法应用比较广泛,一是传统的四元素表示方法、二是较新的六元组表示法。前者在世界范围内得到了比较高的认同,但是形式过于灵活,不易掌握。后者因为定义规范,可操作性强,得到了广大国内研究者的欢迎。
    ★ 四元素表示方法
    四元素表示方法的基本思想是;一个本体中的四个主要元素是:概念(concepts)、关系(relations)、实例(instances)和公理(axioms)。
    概念表示某个领域中一类实体或事物的集合。通常概念可以分成两大类,一类是简单概念(primitive concepts),另一类是详细概念(defined concepts)。简单概念是那些只具备必要条件(即属性)的类成员(注:英文原文:Primitive concepts are those which only have necessary conditions(in terms of their properties)for membership of the class.)。详细概念是指对类成员的描述既充分又必要(注:英文原文:Defined concepts are those whose description is both necessary and sufficient for a thing to be a member of the class.)。例如:“正方形是四个角都是直角的四边形”就是一个简单概念。而“正方形是四个角都是直角的四个边等长的四边形”就是一个详细概念,因为 四个边等长是正方形的充分且必要条件。
    关系描述概念和概念属性的交互。
    实例是概念表示的具体的事物,如对于大学这个概念,山东大学就是一个实例。严格的说,一个本体不应该包括任何实例,因为它被假设为一个具体领域的概念化。一个本体与相关的实例的组合就是我们如今所称呼的知识库(knowledge base)。
    公理是用来限制类和实例的取值范围,公理中包括许多具体的规则和约束。
    ★ 六元组表示法
    这种方法的基本思想就是用一个六元组来表示一个本体。
    An Ontology={C,AC,R,AR,H,X}
    其中C表示概念的集合。AC表示多个属性集合组成的集合,其中每个属性集合对应于一个概念。R是一个关系集合。AR是由多个属性集合组成的集合,其中每个属性集合对应于R中的一个关系。H表示概念之间的层次结构关系,X表示公理集合。
    为了深入描述本体的表示方法,以下列出了一个家庭本体描述实例。
    Family_Ontology={Cfamily,ACfamily,R family,ARfamily,H family,X family}where
    Cfamily={father,mother,children}
    ACfamily={ACfamily(father),ACfamily(mother),ACfamily(children)}
    ACfamily(father)={name,age,job,salary,……}
    ACfamily(mother)={name,age,job,salary,……}
    ACfamily(children)={name,age,sex,……}
    R family={TakeCareOf(mother,mother,children),
    Educate(father,mother,children),
    Help(children,mother),……}
    ARfamily ={ARfamily(TakeCareOf),ARfamily(Educate),ARfamily(Help),……}
    ARfamily(TakeCareOf)={feed,clothing,seeDoctor,……}
    ARfamily(Educate)={teach,exercise,……}
    ……
(3)本体的构造的生命周期
    了解了本体建设的准则和方法论之后,下一步就是要着手建立本体。而建立的过程可以用生命周期的概念来描述。Uschold & Gruninger提出了一个本体构造的方法学框架[4](图1),框架包括以下组成部分:
    首先要明确本体使用的目的和范围,然后依次构造本体。构造本体过程可以分为三个阶段:
    本体捕获就是确定关键的概念和关系,给出精确定义,并确定其它相关的术语;本体编码即选择合适的表示语言表达概念和术语;已有本体的集成是对已有本体的重用和修改。这个阶段也是一个循环往复的迭代过程。
    最后是评估阶段,要根据需求描述、能力问题(competency question)等对本体以及软件环境、相关文档进行评价。
      3.4 基于本体的语义搜索引擎模型简介(OntoSSE,ontology-based Semantic Search Engine)
    OntoSSE是基于本体的搜索引擎,它能够实现语义搜索、知识检索和一定的推理功能。本模型假设搜索引擎存在的环境是web网页,这些网页并未自动含有语义标记。
    此系统也应具备搜索引擎的各种基本的功能,比如网页的遍历和获取、索引的建立、页面查找算法等,都可以参考目前流行的搜索引擎的结构和实现过程。
    OntoSSE的重要之处是信息库和知识库的交流。知识库是实现智能搜索的核心,它如同人的大脑,其增长也需要一种自然的循环。知识库的丰富也决定着检索 能力和Question-Answer能力的高低。信息库是知识库存在和发展的空间,知识库就是对信息库的判断、提取、分析和概括。智能搜索引擎就是通过 知识库把用户的问题提高到知识层面,然后利用这个知识检索信息库。[5]二者的有机结合离不开语义分析和知识管理。因此,Ontology作为语义分析和 知识共享和重用的重要基础,与知识库、信息库一起构成OntoSSE的三大支柱。
    展示了基于本体的语义搜索引擎OntoSSE的系统结构及其工作流程。OntoSSE模型的工作原理和检索步骤可以概括如下:
    (1)搜索引擎通过自动网页采集器(web spider)来抓取网页,参照特定词表将网页信息分类建立索引,加入索引库中。
OntoSSE的体系结构及其工作流
    (2)由人工、自动或者半自动的方式,建立领域或者通用的本体。(3)参照本体,使用本体描述语言(DAML、RDF)对文档进行标注。(4)标注的文档 (RDF Triple)相当于一个本体的实例,它被存放在知识库中。(5)用户以自然语言输入查询请求,这种请求可能是关键字,或者一个问题。(6)查询过滤器 (分析器)对用户的查询请求进行语义分析,提取出相关属性的值。(7)检索代理结合RDF Triple中体现的类和关系信息以及由查询过滤器提交的属性值,进行逻辑推理,生成查询实例。(8)查询实例被传往信息数据库,在不同目录中查找,并将 结果处理后返回给用户。例如,如果我们要检索“微软总裁是谁”,将这个问题输入模型以后,查询过滤器根据分词技术,进行语义理解,分析出该句子的语义实际 表示了“有某个名为‘职务’的属性其值是‘微软总裁’”。而通过本体和知识库,系统通过推理,可以知道在名为“人”的类中有名为“职务”的属性,这样,在 进行语义推理时,就生成一个人的类的实例,其中有属性“职务=微软总裁”,而通过知识库得知,这个实例的名字属性为“Bill Gate”。这时,我们就获得了“Bill Gate”的答案。最后,我们还可以从信息库和知识库中检索与比尔盖茨相关的各种潜在信息。
    可见OntoSSE模型可实现本体对搜索引擎三个方面的改进:提高结果相关度、语义推理功能和知识检索。

4 结束语

    通过本体支持语义,支持人机之间的交流,从而实现机器智能,为web的发展带来了新的契机。而本体在搜索引擎中的应用,必将对搜索引擎的易用性和效率,产生极大的改进,从而使得web用户能够更好的在浩如烟海的信息海洋中遨游。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多

    ×
    ×

    ¥.00

    微信或支付宝扫码支付:

    开通即同意《个图VIP服务协议》

    全部>>