知识|产品视角下的知识图谱构建流程与技术理解( 六 )


  • 数据库中的表映射为RDF类;
  • 数据库中表的列映射为RDF属性;
  • 数据库表中每一行映射为一个资源或实体,创建IRI;
  • 数据库表中每个单元格的值映射为一个文字值(LiteralValue);
  • 如果单元格的值对应一个外键,则将其替换为外键值指向的资源或实体的IRI。
R2RML映射是通过逻辑表(Logic Tables)从数据库中检索数据。
数据库的直接映射中,生成的RDF图的结构直接反映了数据库的结构,目标RDF词汇直接反映数据库模式元素的名称,结构和目标词汇都不能改变。
而通过使用R2RML,用户可以在关系数据上灵活定制视图。
已经有一些标准和工具支持将数据库数据转化为RDF数据、OWL本体等,如D2RQ、Mastro、Ultrawrap、Morph-RDB等。
七、知识融合构建一个大规模,高质量的知识图谱是需要很大工作量的,实际使用中,如果能够把已有的知识图谱和其他成熟的知识图谱联合使用,或者多个系统信息交互使用,将大大提升知识图谱的规模和效能。
目前,解决本体异构、消除应用系统间的互操作障碍是很多知识图谱应用面临的关键问题之一。
知识融合是指使来自不同知识源的知识在同一框架规范下进行异构数据整合、消歧、加工、推理验证、更新等步骤,将同一个概念或实体的描述信息关联起来。
简而言之,将多个知识图谱用一套规范联合使用起来,就叫知识图谱融合(也叫知识融合),虽然益处显而易见,但融合也存在很多问题,其中最主要的问题是异构问题。
其实异构就是不同图谱对于同一个事物的认识和表示存在冲突,没法把不同图谱中的本体和实例一一对应起来,从而造成使用出现错误。
造成异构的原因有很多,典型的如:
  • 人类的知识体系非常复杂;
  • 一些知识还受到个人主观看法的影响;
  • 前沿知识会不停的发展变化;
  • 同一领域有不同组织构建自己的知识库,交叉领域中的交叉知识往往是独立构建的等等。
由此导致的异构问题又包含本体异构和实例异构,具体表现为:
  1. 同一领域内往往存在着大量本体,且它们描述的内容在语义上往往有重叠或关联;
  2. 本体在表示语言和模型上具有差异;
  3. 同名的实例可能指代不同实体;
  4. 不同名的实例可能指代同一实体。
知识融合的目的就是解决知识图谱异构问题,建立起不同图谱内异构本体和异构实例之间的关系,要成功建立这样的关联,还需要先了解不能匹配的原因。
知识图谱中的异构形式主要可以划分为两个层次:
语言层不匹配和模型层不匹配。
具体如下:
语言层不匹配:
指的是用来描述知识的元语言是不匹配的,其中既包括描述知识语言的语法和所使用的语言原语上的不匹配,还包括定义类、关系和公理等知识成分机制上的匹配。
模型层不匹配:
指的是由于本体建模方式不同所造成的不匹配,包括不同建模者对事物的概念化抽象不匹配、对相同概念或关系的划分方式不匹配,以及对本体成分解释的不匹配。
目前,解决本体异构有两种思路:
1. 本体集成本体集成,顾名思义,就是将多个本体合并为一个大本体,最直接的做法是将多个本体进行集成,变成一个统一的本体,提供统一的语义规范和共享词汇,这样就可以统一交互。
但这样操作容易使集成后的本体太大,不好修改与维护。
目前应用较多的是基于全局本体 – 局部本体的集成,通过抽取异构本体之间的共同知识,建立一个全局本体,这个全局本体代表了不同系统之间的共识,而每个系统可以保留自己的本体,称为局部本体。
局部本体既可以在全局本体的基础上扩充,也可以直接建立自己的本体。
全局本体与局部本体建立映射,局部本体侧重于特定的知识,全局本体保证不同系统异构间的部分能相互交互。
2. 本体映射寻找本体间的映射规则,将不同本体间建立联系,如上边提到的局部本体和全局本体的映射。
第一步要明确本体映射分类,这是建立异构本体间映射的基础。
分类可以按照映射的对象、映射的功能、映射的复杂程度来进行。
  • 映射的对象:明确映射应该建立在异构本体的哪些成分之间。
  • 映射的功能:明确应该建立具有何种功能的本体映射。
  • 映射的复杂程度:明确说明什么形式的映射是简单的,什么形式的映射是复杂的。
在确定本体映射的分类后,最重要也是最困难的任务在于如何发现异构本体间的映射。