知识图谱融合

1.知识图谱融合的概念

知识融合,即合并两个知识图谱(本体),基本的问题都是研究怎样将来自多个来源的关于同一个实体或概念的描述信息融合起来。知识图谱包含描述抽象知识的本体层和描述具有事实的实例层。本体层用于描述特定领域中的抽象概念、属性、公理;实例层用于描述具体的实体对象、实体间的关系,包含大量的事实和数据。

  • 为什么要进行知识融合?
  1. 由于知识图谱中的知识来源广泛,存在知识质量良莠不齐、来自不同数据源的知识重复、知识间的关联不够明确等问题,所以需要进行知识的融合。
  2. 在实际的知识图谱应用中,本体异构造成了大量的信息交互问题。知识融合是解决知识图谱异构问题的有效途径。知识融合建立异构本体或异构实例之间的联系,从而使异构的知识图谱能相互沟通,实现他们之间的互操作。
    知识融合是高层次的知识组织,使来自不同的知识源的知识在同一框架规范下进行异构数据整合、消歧、加工、推理验证、更新等步骤,达到数据、信息、方法、经验以及人的思想的融合,形成高质量的知识库。
2.知识图谱中的异构问题
  1. 导致异构的原因
    模型间的不匹配是导致异构的根本原因,知识图谱之间的不匹配正是造成知识图谱异构的直接原因。

  2. 异构导致的问题
    (1)由于同一领域中不同组织建立的知识图谱往往是异构的,基于不同知识图谱的系统间的互操作依然困难
    (2)交叉领域中的知识通常是异构的,相互之间的信息交互问题依然没有解决
    (3)由于人类本身知识体系的复杂性和对世界的不同主观看法,建立一个包罗万象的统一知识图谱并不现实

随着知识图谱的广泛应用,知识图谱异构带来的信息互操作困难将普遍存在

  1. 异构的情形可被划分为两个层次
    (1)语言层不匹配
    是指用来描述知识的元语言是不匹配的,其中既包括描述知识语言的语法和所使用的语言原语上的不匹配,还包括定义类、关系和公理等知识成分机制上的不匹配
    (2)模型层不匹配
    是指由于本体建模方式不同所造成的不匹配,包括不同的建模者对事物的概念化抽象不匹配、对相同概念或关系的划分方式不匹配,以及对本体成分解释的不匹配
2.1语言层不匹配

当不同时期构建的知识或同一时期采用不同语言表示的知识进行交互时,首先面临着由于知识表示语言之间的不匹配所造成的异构问题.
不同的时期都存在着几种流行的语言,如早期有Ontolingua和Loom等本体语言,近年则有DAML+OIL、RDF(S)、OWL和 OWL2等。这些本体语言之间往往并非完全兼容。
这类语言层次上不匹配的情形分为语法不匹配、逻辑表示不匹配、原语的语义不匹配和语言表达能力不匹配四类。

  • 语法不匹配
    不同的知识描述语言常采用不同的语法。
    以如何定义一个概念为例:在 RDF Schema 中,定义一个概念可采用<rdfs:Class rdf:ID=“CLASSNAME”/>的形式;在 Loom中,可采用(defconcept CLASSNAME)定义一个类;而在 Ontolingua 中,定义一个类则采用(define-class COMPONENT (?x)…)的形式。
    如何解决?
    尽量将不同的语言转化为同样的语法格式能方便解决其他本体不匹配问题。

  • 逻辑表示不匹配
    例如,为了表示两个类是不相交的,一些语言可能采用明确的声明,如在 OWL 中可表示为:<owl:Class rdf:ID=“A”><owl:disjointWith rdf:resource="#B"/> </owl:Class>,而另一些语言则必须借助子类和非算子来完成同样的声明,即采用A subclass-of (NOT B)、B subclass-of (NOT A)来表示同样的结果。
    如何解决?
    通过定义从语言L1 逻辑表示到语言L2 的逻辑表示的转换规则。

  • 原语的语义不匹配
    例如,在OWL Lite和OWL DL语言中,原语“Class”声明的对象只能作为本体中的概念,而在OWL Full和RDF(S)中,“Class”声明的对象既可以作为一个类,也可以作为一个实例。

  • 语言表达能力不匹配
    一些语言支持对资源的列表、集合以及属性上的默认值等功能,而一些语言则没有;
    一些语言已经具有表达概念间非、并和交,以及关系间的包含、传递、对称和互逆等功能,而一些语言则不具有这样的表达能力;
    一些语言具有表示概念全集和概念空集的概念,如 OWL 中的 owl:Thing 和owl:Nothing。

2.2 模型层不匹配

模型层次上的不匹配与使用的本体语言无关,它们既可以发生在以同一种语言表示的本体之间,也可以发生在使用不同语言的本体之间。
Visser P R S 等人将本体模型层上的不匹配区分为概念化不匹配和解释不匹配两种情况。
概念化不匹配是由于对同样的建模领域进行抽象的方式不同造成的;
解释不匹配则是由于对概念化说明的方式不同造成的,这包括概念定义和使用术语上的不匹配。

  • 概念化不匹配
    概念化不匹配又可分为概念范围的不匹配和模型覆盖的不匹配两类。
    (1)概念范围的不匹配
    同样名称的概念在不同的领域内表示的含义往往有差异;同时,不同的建模者出于对领域需求或主观认识上的不同,在建模过程中对概念的划分往往也有差异,这些都统称为概念范围的不匹配。
    (2)模型覆盖的不匹配
    不同本体对于描述的领域往往在覆盖的知识范围上有差异,而且对于所覆盖的范围,它们之间描述的详细程度也有差异,这就是模型覆盖的不匹配。一般来说,有三种不同维度的模型覆盖。
    ① 模型的广度
    即本体模型描述的领域范围,也就是哪些领域内的事物是包含在本体内的,哪些领域内的事物不是当前本体所关心的。
    ② 模型的粒度
    即本体对所建模的领域进行描述的详细程度,如有的本体仅仅列出概念,有的本体则进一步列出概念的属性,甚至概念之间所具有的各种关系等。
    ③ 本体建模的观点
    这决定了本体从什么认识角度来描述领域内的知识。

从上述不同的维度进行本体建模所得到的结果都是有差异的。例如,关于公共交通的本体可能包括也可能不包括有关“出租车”的知识(广度上的不匹配),可能区分不同类型的火车(如客车和货车),也可能不进行这样的区分(粒度上的不匹配),还可能从技术角度描述或从功能角度描述(观点的不匹配)。由于本体的建模反映了建模者的主观性,这一类的不匹配情况在实际应用中很普遍。

  • 解释不匹配
    本体模型层上的另一类不匹配现象是解释不匹配,它又包含了模型风格的不匹配和建模术语上的不匹配。

(1)模型风格的不匹配
① 范例不匹配
不同的范例可用来表示相同的概念,这也就出现了不匹配。
例如,对时间的表示可以采用基于时间间隔的方式,也可以使用基于时间点的方式 。
此外,在建模过程中使用不同的上层本体也往往会造成这一类的不匹配,因为不同上层本体往往对时间、行为、计划、因果和态度等概念有着不同的划分风格。
② 概念描述不匹配
在本体建模中,对同一个概念的建模可以有几种选择。例如,为了区别两个类,既可以使用一个合适的属性,也可以引入一个独立的新类。描述概念时,不同抽象层次的概念是以Is-a的关系建立的:概念抽象的区别可以通过层次的高层或低层体现出来。然而,有的本体从高层到低层描述这种概念层次,有的则是从低层到高层来描述,这便造成了概念描述的不匹配。

(2)建模术语上的不匹配
① 同义术语
不同本体中含义上相同的概念常常由于建模者的习惯而被使用不同的名字表示。例如,为了表示“汽车”,一个本体中使用词汇“Car”,而另一个词汇中使用词汇“Automobile”。这类的不匹配问题称为同义术语。
同义术语引起的问题经常和其他的语义问题共同存在,如果没有人工或其他技术的帮助,机器是无法识别这些术语是否是同义的。
② 同形异义术语
另一类重要的建模术语不匹配是术语之间的同形异义现象。例如,术语“Conductor”在音乐领域和电子工程领域的意义分别是“指挥家”和“半导体”。
这种本体不匹配问题更加难以处理,往往需要考虑术语所处的上下文并借助人类的知识来解决。
③ 编码格式
最后的一种不匹配是由于本体表示中采用不同的编码格式造成的。例如,日期可被表示为“dd/mm/yyyy”或“mm-dd-yy”,距离可以用“Mile”描述,也可以用“Kilometer”描述,人的姓名可以用全名“FullName”形式,也可以用“FirstName+LastName”的形式。
这样的不匹配种类很多,没有通用的自动识别和发现算法。但是,如果能发现这种不匹配,对它的处理则是很容易的,一般只需要做一个转换就能消除。

不同本体间的不匹配是造成本体异构的直接原因,明确这些异构便于选择合理的方法去处理实际中的问题。例如,如果异构是语言层不匹配造成的,则进行语言之间的转换即可;如果是模型层上不匹配造成的,可以根据匹配类型的不同选择正确的算法。

3.本体概念层的融合方法与技术
3.1 本体映射与本体集成

解决本体异构的通用方法是本体集成与本体映射。
本体集成直接将多个本体合并为一个大本体
本体映射则寻找本体间的映射规则
这两种方法最终都是为了消除本体异构,达到异构本体间的互操作。

为了实现基于异构本体的系统间的信息交互,本体映射的方法在本体之间建立映射规则,信息借助这些规则在不同的本体间传递;而本体集成的方法则将多个本体合并为一个统一的本体,各个异构系统使用这个统一的本体,这样一来,它们之间的交互可以直接进行,从而解决了本体异构问题。

对于本体集成,根据实施过程的不同,又可以将其分为单本体的集成和全局本体-局部本体的集成两种形式。

  1. 基于单本体的集成
    这种本体集成方法是直接将多个异构本体集成为一个统一的本体,该本体提供统一的语义规范和共享词汇。
    本体集成主要包括:
    (1)决定本体集成的方式,即需要判断消除异构的单本体是应该从头建立,还是应该利用现有的本体来集成,这需要评估两种方法的代价和效率来进行取舍;
    (2)识别本体的模块,即明确集成后的本体应该包含哪些模块,以便于在集成过程中对于不同的模块选择相关的本体;
    (3)识别每个模块中应该被表示的知识,即需要明确不同模块中需要哪些概念、属性、关系和公理等;
    (4)识别候选本体,即从可能的本体中选择可用于集成的候选本体;
    (5)执行集成过程,基于上面的基础,根据一定的集成步骤完成本体集成。
    本体集成的缺点:
    (1)本体不方便系统使用,而且在涉及本体操作(如推理和查询)时会降低系统的效率
    使用这些异构本体的系统往往有着不同的功能和侧重点,这些系统之间通常不是等价或可相互替代的,某些系统能处理一些特定和深入的问题,某些系统则可能处理全面和基础的问题。这样,集成后的本体对于其中的一些系统来说可能过于庞大,况且它们往往只使用该集成本体的一部分。因此,这样的本体不方便系统使用,而且在涉及本体操作(如推理和查询)时会降低系统的效率。
    (2)单本体的集成缺乏灵活性
    单个本体的方法容易受到其中某个系统变化的影响,当某个系统要求改变本体以适应它的新需求时,集成的本体需要重新进行修改,这种修改往往并不简单,因为它很可能会影响到与之进行交互的其他系统,还需要与其他系统进行反复协商。

  2. 基于全局本体-局部本体的集成
    为了克服单本体的本体集成方法的缺陷,另一种途径是采用全局本体-局部本体来达到本体集成。
    这种方法首先抽取异构本体之间的共同知识,根据它建立一个全局本体。全局本体描述了不同系统之间一致认可的知识。同时,各个系统可以拥有自己的本体,称为局部本体。局部本体既可以在全局本体的基础上根据自己的需要进行扩充,也可以直接建立自己特有的本体,但无论哪种方式,都需要建立局部本体与全局本体之间的映射。
    这样,局部本体侧重于特定的知识,而全局本体则保证不同系统间异构的部分能进行交互。这种方法既避免了局部本体存在过多的冗余,本体规模不会过于庞大,同时也达到了解决本体间异构的目的。每个局部本体可以独立开发,对它们进行修改不会影响其他的系统,只要保证与全局本体一致就可以。

然而,集成本体的工作耗时费力,而且缺乏自动方法支持;随着多本体的变化,集成过程需要不断地重复进行,代价过高。此外,集成的本体对于不同的应用不具有通用性,缺乏灵活性。因此,本体集成不适合解决语义 Web 中分布和动态的多本体应用问题。实际上,大多应用只需要实现本体间的互操作就可以满足需求,完全的集成是没有必要的。
本体映射通过建立本体间的映射规则达到本体互操作,其形式比较灵活,更能适应分布动态的环境。

3.2 本体映射分类

明确本体映射的分类是建立异构本体间映射的基础。
这里在总结前人研究的基础上,从三个角度来探讨本体映射的分类问题,即映射的对象、映射的功能以及映射的复杂程度。

  1. 映射的对象角度
    可将本体映射分为概念之间的映射和关系之间的映射两类,其中概念之间的映射是最基本的映射。除非有特殊的要求,一般不考虑针对实例或公理之间的映射。
  2. 映射的功能角度
    首先,不同功能的映射,其发现的方法和建立的难度都具有差别,即使是同一成分之间的映射,不同的映射功能都会影响着寻找映射的方法和过程;有的映射功能同时适用于概念和关系,在不同成分上发现这样的映射所使用的方法可能有相似性;有的映射功能则只针对特定的成分,发现这样的映射可能需要借助特殊的方法。
    其次,区分具体的映射功能对于实际应用来说非常重要,不同功能的映射在处理本体互操作中扮演的角色会有不同,有的映射仅仅为了建立本体之间的数据转换的规则,有的映射还能用于进行跨本体的推理和查询应用。
  3. 映射的复杂程度角度
    通过这个角度的分类,明确什么形式的映射是简单的,什么形式的映射是复杂的。
3.3 本体映射方法和工具

在确定本体映射的分类后,最重要也是最困难的任务在于如何发现异构本体间的映射。尽管本体间的映射可以通过手工建立,但非常耗时,而且很容易出错。
因此,目前的研究侧重于开发合理的映射发现方法和工具,采用自动或半自动的方式来构建。
本体映射生成的过程:
① 导入待映射的本体。
待映射的本体不一定都要转换为统一的本体语言格式,但是要保证本体中需要进行映射的成分能够被方便获取。
② 发现映射。
利用一定的算法,如计算概念间的相似度等,寻找异构本体间的联系,然后根据这些联系建立异构本体间的映射规则。当然,如果映射比较简单或者难以找到合适的映射发现算法,也可以通过人工来发现本体间的映射。
③ 表示映射。
当本体之间的映射被找到后,需要将这些映射合理地表示起来。映射的表示格式是事先手工制定的。在发现映射后,需要根据映射的类型,借助工具将发现的映射合理表示和组织。
发现本体映射的方法
①基于术语的方法,即借助自然语言处理技术,比较映射对象之间的相似度,以发现异构本体间的联系;
②基于结构的方法,即分析异构本体之间结构上的相似,寻找可能的映射规则;
③基于实例的方法,即借助本体中的实例,利用机器学习等技术寻找本体间的映射;
④综合方法,即在一个映射发现系统中同时采用多种寻找本体映射的方法,一方面能弥补不同方法的不足,另一方面还能提高映射结果的质量。

  1. 基于术语和结构的本体映射
    从本体中术语和结构的相似性来寻找本体映射是比较直观和基础的方法
    (1)技术综述
    1)基于术语的本体映射技术。 这类本体映射方法从本体的术语出发,比较与本体成分相关的名称、标签或注释,寻找异构本体间的相似性。比较本体间的术语的方法又可分为基于字符串的方法和基于语言的方法。
    ① 基于字符串的方法。
    基于字符串的方法直接比较表示本体成分的术语的字符串结构。字符串比较的方法有很多,Cohen W 等人系统地分析和比较了各种字符串比较技术[21] 。主要的字符串比较技术如下。
    (a)规范化。
    在进行严格字符串比较之前,需要对字符串进行规范化,这能提高后续比较的结果。规范化操作主要包括:大小写规范化,即将字符串中的每个符号转换为大写字母或小写字母的形式;消除变音符,即将字符串中的变音符号替换为它的常见形式,如Montréal 替换为 Montreal;空白正规化,即将所有的空白字符(如空格、制表符和回车等)转换为单个的空格符号;连接符正规化,包括正规化单词的换行连接符等;消除标点,在不考虑句子的情况下要去除标点符号;消除无用词,去除一些无用的词汇,如“to”和“a”等。
    这些规范化操作主要针对拉丁语系,对于其他的语言来说,规范化过程会有所不同。

(b)相似度量方法。
在规范字符串的基础上,能进一步度量不同字符串间的相似程度。常用的字符串度量方法有:汉明距离、子串相似度、编辑距离和路径距离等。
如果两个字符串完全相同,它们间的相似度为1;如果字符串间不存在任何相似,则相似度为0;如果字符串间存在部分相似,则相似度为区间(0,1)中的某个值。

②基于语言的方法。
基于语言的方法依靠自然语言处理技术寻找概念或关系之间的联系。这类方法又可分为内部方法和外部方法,前者使用语言的内部属性,如形态和语法特点,后者则利用外部的资源,如词典等。

内部方法在寻找术语间的映射时利用词语形态和语法分析来保证术语的规范化。它寻找同一字符串的不同语言形态,如 Apple 和 Apples 等。寻找词形变化的算法很多,最著名的是Porter M F提出的Stemming算法。
外部方法利用词典等外部资源来寻找映射。基于词典的方法使用外部词典匹配语义相关的术语。例如,使用WordNet能判断两个术语是否有同义或上下义关系。

尽管基于术语的相似度度量方法很多,但是根据它很难得到比较好的映射结果,一般仅能判断概念或关系之间等价的可能程度,而对于发现其他功能的映射来说,基于术语的方法难以达到满意的效果。

2)基于结构的本体映射技术。
在寻找映射的过程中,同时考虑本体的结构能弥补只进行术语比较的不足,提高映射结果的精度。基于结构的方法又可分为内部结构和外部结构,前者考虑本体的概念或关系的属性和属性值的数据类型等,后者则考虑与其他成分间的联系。
① 内部结构。
基于内部结构的方法利用诸如属性或关系的定义域、它们的基数、传递性或对称性来计算本体成分之间的相似度。通常,具有相同属性或者属性的数据类型相同的概念之间的相似度可能性较大。
② 外部结构。
比较两本体的成分之间的相似也可以考虑与它们相关的外部结构,例如,如果两个概念相似,它们的邻居也很可能是相似的。从本体外部结构上判断本体成分的相似主要借助人们在本体使用过程中所获得的一些经验。有一些常用来判断本体成分相似的准则,这些准则包括:(C1)直接超类或所有的超类相似;(C2)兄弟相似;(C3)直接子类或所有的子类相似;(C4)所有或大部分后继(不一定是子类,可能通过其他关系连接)相似;(C5)所有或大部分的叶子成分相似;(C6)从根节点到当前节点的路径上的实体都相似。

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值