本体模块化

2024-10-13

本体模块化(精选3篇)

本体模块化 篇1

本体是指共享概念模型的明确的形式化规范说明,通过描述概念及概念之间的关系来描述概念的语义。本体不仅被某个应用主体所接受,而是在各种应用主体之间交换意见时所用到的共同语言。本体最主要的优势是共享和重用。

随着对某个领域认识的深入,相应的领域本体也越来越大,大规模单一本体会带来一系列问题:在大规模单一本体上进行推理的效率低;即使只需要小部分知识也要引入整个本体,重用率低;开发者需了解整个本体,不利于分工合作和本体进化等。模块化是有效克服这些问题的方法,通过模块化,本体被分成若干个功能相对独立的模块,而在模块化本体中引入接口的方法,能进一步提高模块的独立性。

模块化本体中,一个本体模块在进行推理时,可能要用到多个其它模块的知识,甚至于这些模块分布在网络中的不同主机上。引入缓存即通过对一些概念和角色的术语和断言进行缓存,能够提高本体推理的效率。为了保持本体缓存的一致性,当相关模块的知识变化时,应及时更新缓存的对象。

1 基于接口的模块化本体

在基于接口的模块化本体中,本体被定义成接口和本体模块的集合[1],一个接口是一个概念名、角色名和关于它们的包含公理集合,而一个本体模块是一个可以用任何描述逻辑语言表达的本体。通过引入接口的概念,将本体模块的知识分为公有部分和私有部分。

本体表示语言的逻辑基础是描述逻辑[2],描述逻辑的知识库由ABox(断言)和TBox(术语)两部分组成。ABox是一个关于个体的断言组成的有限集,形如C(a)或r(a,b),其中C是概念名而r是角色名,a、b是个体名,在本体表述中,个体指概念的实例。TBox是一个概念包含公理的有限集,形如A哿B,其中A和B是概念表达式。

每个接口中的TBox公理构成了本体模块的共享段,共享段的逻辑结果会被传播到所有其它相关模块中,以下是接口的定义:

定义1:一个接口定义为I=其中T是接口的TBox,Cn和Rn分别是在T中用到的概念和角色的名称集合,接口I中没有ABox断言。

本体模块的断言集和内部TBox公理是私有的,只能通过知识查询来访问,私有段知识的改变只在局部知道。每个本体模块指定它要使用的接口集和它实现的接口集。当作为接口的实现者时,该模块将提供接口中有关概念和角色的解释;当作为接口的使用者时,能够集成接口实现者模块的知识。以下是本体模块的定义:

定义2:一个本体模块定义为M=<Ψ,Ir,Iu>,其中Ψ由模块内的TBox公理和ABox断言集合组成,Ir是模块M实现的接口集合,Iu是模块M使用的接口集合。

本体模块具有局部语义和清晰接口,从而进一步提高了模块的独立性。一个本体模块使用另一个模块时,是通过使用接口实现的。在基于接口的模块化本体中,模块的进化和接口的配置是分开的。在模块进化时,仅确定了使用的接口而没有确定接口由哪个模块实现,这样就不必知道被使用模块的名称和符号;在配置时,选择模块来实现接口,使得实现者模块容易被替换。

2 缓存方案

2.1 缓存对象

由于在缓存方案中,对角色的处理和对概念的处理是相似的,以下仅讨论对概念的处理。在基于接口的模块化本体中,如果某模块在推理的过程中用到其它模块的知识,则需要向相关接口发起查询,从接口的实现者模块中查得相关概念的实例。为了尽可能地缩短本体推理的时间,每个本体模块可以分配一个缓存空间,用来存放经常被查询的外部知识。文献[3]提出本体模块存储所有用到的外部概念之间的包含公理,这在时间复杂性和空间复杂性上是难以接受的。另外文献[3]没有区分外部概念之间稳定的和暂时的包含公理之间的区别,不能高效地更新有稳定子集关系的相关概念。而在基于接口的模块化本体中,模块使用者用到的外部概念放在接口中,同时接口中的TBOX中存放这些概念间稳定的包含公理。而对于因组合爆炸产生的数量巨大的暂时性包含关系则由实现者模块决定,是动态的。在实现者模块中并不存储这些暂时的包含关系,而只是解释接口中概念,概念之间的包含公理由它们的实例决定,知识的存储是线性的。使用者模块可以向接口发起查询从而获得相关概念的实例,而被查询概念稳定的祖先概念可以由接口中TBOX推理出。

本方案中缓存的知识主要由两部分构成:ABOX缓存知识和TBOX缓存知识。ABOX存放一些经常被查询的概念有哪些实例,例如“直辖市”概念有北京、上海等实例。TBOX存放经常被查询的包含关系,假设A和B两个概念中至少有一个是外部概念,如果经常要查询A和B的包含关系,查询结果(例如是A哿B)则被缓存。由于缓存空间的有限性,当缓存空间将要用尽时,可以采用最近最久未用法等置换算法删除一部分缓存内容。

采用缓存机制后,推理如果用到外部模块的知识则先在缓存中查找,如果命中则本地的知识便能完成推理,否则再向实现者模块发起知识查询,根据局部性原理,这样能够显著缩短平均推理时间。

2.2 缓存一致性

当一个本体模块的相关模块知识改变时,可能会造成缓存内容的失效。在文献[1]中,一个本体模块对相关模块的知识集成是通过发起知识查询来进行的,然而如果对缓存中的概念不断发起知识查询,以此来判断有无发生更改显然是低效的,会造成模块间通信量的剧增和相关模块推理任务的加重。本研究中,用中断的方式来替代查询的方式,由发生知识改变的模块负责发送消息给相关模块。

若某模块的知识发生变化时,首先确定该知识变化所影响的概念,如果相关的概念都未在接口中出现,则说明对接口的解释没有改变,只是发生和接口使用者无关的局部语义改变,不必发送更新消息。否则,将发生改变的概念的实例发送给接口的使用者模块。发生改变的概念如果在接口中有祖先概念,势必也会引起祖先概念实例的改变,但此时只发送最底层概念和它的实例,这是因为接口的TBOX知识能传播到使用者模块从而能够推理出祖先概念。由于接口的使用者模块的缓存对象是它的局部信息,接口的实现者模块并不知道该信息,无法判断发生语义改变的概念出现在哪些使用者模块的缓存中,所以知识更新消息将发给所有使用者模块。

发生改变的概念实例采用增量的模式发送,在消息中指出哪个概念增加(或减少)了哪些实例。只向相关模块定向发送和采用增量模式,可以减少通信量。使用者模块收到消息后,结合自身的知识和相关接口的TBOX,推理出发生改变的概念所有祖先概念,加上该概念自身得到一个概念集。由于接口中的TBOX知识已被加入到使用者模块的本地知识库,故这一步的推理是在本地进行的。如果该概念集中的所有概念均未在使用者模块的缓存中出现,使用者模块将丢弃收到的更新消息。如果在缓存的ABOX部分找到了概念集中的某个概念,则更新ABOX缓存知识。下一步是查找该概念集中的概念有无在缓存的TBOX部分中出现,假设该概念集中的某概念出现在缓存中一条形如A哿B的包含公理中,则分为下述几种情况决定该包含公理是否失效,对失效的公理将从缓存中删除。

1)A的实例减少或不变而B的实例不变或增加。这种情况下该条包含公理仍有效。

2)A的实例增加。这种情况下则首先查询缓存ABOX知识中有无概念B,若没有则要向概念B的实现者模块发送知识查询信息,得到概念B的实例集。令A1表示A增加实例的集合,如果A1哿B,则该条包含公理仍有效,否则该条包含公理失效。

3)B的实例减少。这种情况下则首先查询缓存ABOX知识中有无概念A,若没有则要向概念A的实现者模块发送知识查询信息,得到概念A的实例集。令B1表示B减少实例的集合,如果B1∩A=覫,则该条包含公理仍有效,否则该条包含公理失效。

如果实现者模块重新定义了一个概念,造成一个概念的实例大规模变化,使得发送概念增量实例可能比发送概念实例通信量更大,这种情况下也可以直接发送概念实例。由于使用者模块的缓存中可能没有该概念,为了减少通信量,在知识更新消息中仅发送该概念的名称和一个特殊标志指出当前工作在非增量模式。该概念和它的祖先概念构成一个概念集,如果该概念集的某个概念出现在使用者模块缓存中一条形如A哿B的包含公理中,则不论位置如何,都要重新判断该条包含公理的有效性。通过向相关实现者模块发起知识查询,得到A和B的实例集,再判断A哿B的有效性。非增量模式下缓存ABOX检查是类似的。

3 结束语

为了提高模块化本体推理的效率,本研究提出了模块化本体缓存方案,给出了缓存的对象和缓存一致性检查方法。进一步的研究是将该方案应用到具体的系统中并进行验证。

摘要:该文提出了一种模块化本体缓存方案,使用该方案能够缩短本体推理的平均时间。给出了缓存的对象和缓存一致性检查方法,通过中断方式和增量模式传递知识更新信息,能够减少通信量和提高更新的效率。

关键词:本体,模块化,缓存

参考文献

[1]Ensan F.Formalizing Ontology Modularization through the Notion of Interfaces[C].Acitrezza,Catania,Italy:Proc.of the16th International Conference on Knowledge Engineering and Knowledge Management,2008:74-82.

[2]Borgida A,Serafini L.Distributed Description Logics:Assimilating Information from Peer Sources[J].Journal of Data Semantics,2003,1(1):153-184.

[3]Stuckenschmidt H,Klein M.Reasoning and Change Management in Modular Ontologies[J].Data and Knowledge Engineering,2007,63(2):200-223.

基于模块化本体的网络搜索方法 篇2

本体是被共享的、概念化的、明确的规格说明。本体的本质是概念模型, 表达的是概念及概念之间的关系, 其表示的含义独立于具体的环境状态, 是在各种应用主体之间交换意见时所用到的共同语言。本体用形式化语言进行描述, 所使用的概念及对这些概念的约束都有明确的定义, 能够为机器所理解。由于本体具有良好的概念层次结构和对逻辑推理的支持, 在网络搜索引擎中引入本体, 能够通过同义词、相关词扩展用户关键词, 提高查准率和查全率。

1. 模块化本体

在网络搜索引擎中引入本体, 首要的问题是本体的获取, 建立一个包含各个领域的完整通用本体是难以做到的。目前一种方法是以WORDNET为基础, 查找出同义词进行扩展搜索, 然而WORDNET是词语知识而非世界知识, 不包含比词更大的组织单位, 如本体描述中用的框架之类的单位, WORDNET不能深入描述领域概念和概念之间的关系;另一种方法是用开放式分类目录搜索系统 (Open Directory Project, ODP) 的分类法作为本体, ODP目前是网上最大的人工编制的分类检索系统, 采用网民共建方式编制和管理目录。由于ODP是目录式的而并非严格意义上的本体, 使得概念之间的关系仅有子集关系, 没有属性关系、实例关系等, 这就使得ODP的描述能力较弱;另外还有采用某一领域的本体为基础的垂直搜索引擎, 如基于计算机领域本体的垂直搜索引擎, 然而这限制了搜索引擎的通用性。

本研究提出了一个基于模块化本体的网络搜索方法, 该方法所基于的本体不是单一本体, 而是由多个模块构成[1]。一个本体模块可以是一个已建立的某领域本体, 如计算机本体、物理本体、物流本体等。这些本体模块的概念不一定是完全独立的, 有时不同模块中的两个概念可能是指同一个概念, 本体映射在这方面已有一定的研究成果。各本体模块的进化是独立的, 搜索引擎所基于的本体可以集成各领域最新的本体描述。另外, 在构建某个领域的本体时, 采用模块化的思想也是发展的方向, 即领域本体内部也分成若干个相对独立的模块。这样的多层模块化结构便于本体的开发, 有利于各领域专家的分工合作。在本体推理时, 由搜索引擎将推理任务同时交付给各顶层模块, 顶层模块也将接收到的推理任务同时交付给各子模块, 使得各模块或子模块的推理工具并行进行推理, 提高了推理的速度。

搜索引擎基于哪些本体模块, 可以由系统管理员进行选择, 也可以由用户在搜索界面上进行选择或进行定制。通过本体模块的动态加载, 既可以减小本体知识的规模, 也可以灵活地满足不同用户的需求。

2. 关键词和概念的匹配

当前基于本体的搜索引擎主要是使用本体查找出用户输入关键词的同义词, 通过同义词进行扩展搜索;或将用户输入关键词作为概念名, 找出对应概念的上下位概念, 利用上下位概念的名称进行扩展搜索。然而用户输入的是关键词, 而非概念名, 有些关键词所对应的概念名和关键词相同或相似, 但有时用户欲搜索概念的名称和关键词差别较大, 特别在用户输入多个关键词来表达一个概念时。让用户直接输入或选择概念名也是不现实的, 用户对自己欲搜索的概念可能并不了解, 他们习惯于通过输入一个或多个关键词进行搜索。用户友好的基于本体的搜索引擎首先要完成关键词向量到概念的转换。可以为概念设置关键词向量, 在用户搜索时, 计算用户输入的关键词向量和概念关键词向量间的相似度, 计算方法通常采用基于向量空间模型的简单向量距离算法, 该算法的基本思想就是计算两个向量之间夹角的余弦值。取相似度最大的几个概念作为目标概念, 可以用目标概念的其它关键词进行扩展搜索, 也可以利用和目标概念语义距离较近的概念的关键词进行扩展搜索。进行目标概念匹配时, 由搜索引擎将用户输入的关键词向量发送给各本体模块, 采用各领域本体模块并行推理的方式, 各模块分别返回本模块中最相似的几个概念, 再在模块间比较, 得到最后返回的目标概念集。对于目标概念集中的各概念, 如果用户输入的一些关键词没有出现在该概念的关键词向量中, 则这些关键词将作为该概念的候选关键词或将对应候选关键词的频度加1, 当某候选关键词的频度达到界线值时, 将被加入到该概念的关键词向量中, 从而使得概念的关键词向量能动态变化。

3. 搜索结果的聚类

将搜索结果进行聚类, 便于用户快速找到感兴趣的文档[2]。当前网络搜索引擎聚类的方法一般是根据返回文档的关键词向量进行的, 通过计算关键词向量之间的距离将文档分为若干个类并将文档归到不同的类中, 各类的名称由该类中文档的共同关键词构成。这样聚类的结果使得类别不一定是自然的, 和各领域中的概念可能相差甚远。在基于模块化本体的搜索方法中, 可以直接由文档的关键词向量计算它最近似的概念, 由目标概念还可以找到各祖先概念。这样不但能将同一概念下的文档聚成一个类, 而且能根据概念的共同祖先概念或共同属于的模块聚成更大范围的类, 从而形成一个多层聚类结果。这个聚类的结果符合领域知识, 精确而深入。这个聚类的结果同时也是稳定的, 一篇文档在不同搜索中, 都将被聚在同一个概念或它的祖先概念所标注的类中。用户对这个稳定的聚类结果可能也更熟悉, 能快速理解类和展开感兴趣的类。用户可以对这多层聚类按自身的兴趣进行展开, 对于特别感兴趣的底层类, 用户还可以提出对该类的扩展搜索请求, 搜索引擎找到该类所对应概念语义距离较近的概念, 根据这些概念的关键词向量进行扩展搜索。

4. 个性化搜索

不同的人有不同的搜索偏好, 即使他们输入的是相同的关键词, 也可能是指不同的含义。个性化搜索是指对作为搜索结果的文档进行排序, 把用户最感兴趣的文档排在前面, 综合考虑两个因素决定文档的重要性:文档和用户输入的关 (下转第7页) 键词向量的匹配程度以及文档和用户兴趣的相关程度。对于用户偏好的表述, 目前主要是记录用户搜索记录中经常使用的关键词, 返回搜索结果时将文档的关键词向量和用户常用关键词向量进行距离计算, 距离短的表示用户更为感兴趣。同记录用户常用关键词不同, 文献[3]提出了基于本体的偏好表述, 每个用户有一个本体实例, 本体实例中每个概念用一个分值进行标注, 代表着用户对该概念的兴趣度。文献[3]的方法是基于单一本体的, 用户的本体实例要包括所有的概念, 然而一个用户在整个本体中只对一个较小的部分感兴趣。引入模块化方法后, 表达用户兴趣的本体实例中只包括一个或几个相关模块, 由于采用多级模块机制, 对那些用户没有兴趣的模块或子模块整体标注为零, 可明显减小用户轮廓文件的大小。一个模块的兴趣度等于模块内各概念兴趣度的总和, 在对搜索的返回结果进行聚类时, 可方便地根据模块的兴趣度进行顶层分类的排序, 当用户选择某一个分类时, 再按照兴趣度的排序展开下一级子模块或概念。用户轮廓文件也是动态变化的, 根据用户点击的文档和在该文档上浏览的时间调整相应概念的兴趣度, 使用户的兴趣轮廓文件能够跟踪用户兴趣的变化。

5. 结束语

提出了一个基于模块化本体的网络搜索方法, 该方法能够集成现有各领域本体, 并通过并行推理提高本体推理的速度。通过计算用户输入关键词向量和概念关键词向量的距离, 能够挖掘出用户搜索的目标概念。对搜索结果进行聚类能够方便用户浏览, 而根据概念进行聚类更加自然、稳定, 且对多层聚类的支持性好。通过标注概念的兴趣度和仅重用相关本体模块, 能够用一个较小的用户轮廓文件表达用户的兴趣, 提高个性化搜索的效率。

摘要:基于本体的搜索引擎能对搜索进行关键词扩展, 从而提高搜索的查全率和查准率。由于单一通用本体难以获取且推理效率低, 该研究提出了一个基于模块化本体的网络搜索方法。本体的模块化有利于领域专家的分工合作, 各模块并行推理能够提高推理的速度。对该方法中关键词向量和概念的匹配、搜索结果的聚类以及个性化搜索进行了分析, 并阐述了该方法的优点。

关键词:本体,模块化,搜索引擎

参考文献

[1]Rector A.Modularisation of Domain Ontologies Implemented in De-scription Logics and Related Formalisms including OWL[c].Florida, USA:Proc.of the Second International Conference on Knowledge Capture, 2003, 121-128.

[2]苍宏宇, 谭宗颖.聚类搜索引擎发展现状研究[J].图书情报工作, 2009, 53 (2) :125-128.

本体模块化 篇3

1 本体模块化定义

目前没有明确的定义本体模块,一些研究已经开始探索模块的定义。文献[2]提出了模块化本体形式化的表示方法,并提出了模块化本体工程和半自动的模块化本体开发方法。Paul Doran等人基于本体重用目的定义了模块概念,Heiner Stucken-schmidt等人定义了本体模块的通用结构,但不清楚地反映了特征模块,B.Cuenca Grau认为本体模块化类似于软件工程模块化,使用一致的和良好定义的方法,使大规模本体可以分解成更简单的本体即本体模块。

本文在参考以上文献的基础上,定义本体模块如下,其中Sig()表示出现在中的符号集合,特别是本体模块,表示的符号出现在本体模块,M1⊎ M2说两个连接本体模块。

定义1 设O为本体,M1∪ M2= M ,如果满足以下条件,则M1和M2称为M的本体模块

3) 存在公理

定义2若

定义3且对于任意模块

2 领域知识模块化

1)同一类别的概念形式相同的本体模块的概念不同的类别分为不同的本体模块。

2)复用率较大的概念集合形成独立的本体模块。

3)同一知识集合的不同分类法应形成不同本体模块。

4)常常需要更改和维护的概念集合形成独立本体模块。

基于模块化定义和以上原则,本文在物流系统中划分的模块如图1,图2所示:

3 本体模块化连接方法

形成一个特定的背景下,有必要有一个目的定义一些概念,属性,限制,连接两个本体模块。等形式的背景下,运输货物运输、模块和货物运输模块连接,需要定义一些运输的概念,如定义cannot Transported By(不能由…运输)交通属性表达货物运输不能使用运输工具,再用Jena的规则连接两个本体模块。如用Jena定义的规则:

表达如果x的易爆属性(is Explosive)为真(ture),即具有易爆性,y是平车(Flat Car),那么x不能由y运输(?x ns Transport:cannot Transported By ?y)

图3 为货物和运输本体模块连接本体模块形式运输上下文的一部分,环境也可以通过这种方法,另一本是不同一个列表。

4 结语

在本文中,我们给出的定义本体模块、本体模块化技术领域本体建设,该模块本体建设的基本单位,并结合上下文,使用规则以松散耦合的方式组装进身体,减少设计和实现的困难,解决大身体很难重用和维护,以及应用困难等问题。并以物流领域为背景,验证了这一方法的可行性,取得了比较好的效果。

摘要:针对领域本体在构建过程中,由于概念众多造成本体文件过大,推理复杂等问题,介绍了模块化本体技术领域本体建设、本体模块本体建设的基本单位。结合上下文,规则以松散耦合的方式组装本体,减少设计和实现的困难,解决大身体很难重用和维护,以及应用困难等问题,并将这一技术应用到物流系统中,取得了较好的效果。

【本体模块化】推荐阅读:

本体本体07-11

安全本体05-20

本体因素05-29

体育本体06-07

本体课程06-11

机械本体08-04

本体研究09-01

旅游本体09-05

本体思考09-17

本体空间09-23

上一篇:团结精神论文下一篇:蒙皮效应设计