转载本文需注明出处:微信公众号EAWorld,违者必究。
《解开知识图谱神秘的面纱》这篇介绍了知识图谱的基本概念、应用知识图谱的三个层面,本文主要介绍知识图谱建设的方法论。
所谓方法论,我们可以用面向对象方法论做一个类比,大家知道面向对象从上世纪 90 年代起有OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)的方法;有以 UML为核心的可视化建模语言;最近流行的DDD(领域驱动设计)也是在 OOA/OOD/OOP 基础上提升。
参考面向对象的方法论,我们把构建知识图谱分为知识建模、知识抽取、知识验证三个过程,方法论就是对每个过程中所采用的方法。
1
知 识 建 模
很多学术著作对知识建模和知识表示有所混淆,在知识建模这个部分往往介绍的还是 RDF、OWL这样的知识表示语言。在我看来这些描述语言类似面向对象的 UML,属于表示方式的标准;而建模是如何从知识中抽取出关键概念以及概念之间的关系的,类似面向对象设计中OOA/OOD、领域驱动开发(DDD)、四色原型法这样的方法论。
1、知识建模的三个主要部分
参考面向对象建模方法,知识建模可以分为知识边界划分、概念建模、关系建模三个部分。
如果大家了解领域驱动设计(DDD)的话,就知道所谓领域就是边界的划分。领域知识图谱的建设首先也需要做边界的划分。因为同样一个概念,在不同的语义环境下表示的事物是不一样的,例如“产品”,在市场(产品定义)、设计、制造、维修、营销这些子领域,都有不同的含义,也就是有不同的概念、关系,为减少知识建模的复杂度,需要进行子领域的划分。
通常,针对每一个专业领域,子领域会是完全不同的,貌似没有规律可言,但是按照我们的经验,可以将知识的子领域分为拓扑结构、数据准备、事件、处置四个大的类型:
1)拓扑结构是指人、组织、物体、地点这些可标识的事物,包括事物的概念(也可以说是概念或者术语)、属性以及它们之间的关系;
2)数据采集是指如何收集、检验拓扑结构所需要的概念(术语);
3)事件是指拓扑结构上可标识事物产生的事件,包括各种类型的事件、事件源、事件表象、属性等;
4)处置是发生事件后的处置动作,例如故障产生后的应急