知识图谱构建流程
概述
本文以构建无线需求知识图谱为例,介绍了无线研发领域构建知识图谱的构建流程,分享出来供各领域参考、讨论,共同提升。
概念对齐
- 知识图谱的本体(以下简称“本体”):借用了哲学中本体论(Ontology)的概念,是一种形式化的、具有明确描述的、可公认的概念模型。可类比OOP中的class。其特征有:抽象的(能够泛化的)、明确的、计算机能处理的、公认的。
- 知识图谱的Schema(以下简称“Schema”):同”本体“;
- 知识图谱的概念(以下简称“概念”):同“本体”;
- 知识图谱的实体类型(以下简称“实体类型”):同“本体”;
- 知识图谱的本体关系(以下简称“本体关系”):表示不同本体之间的概念化联系;
- 知识图谱的实体(以下简称“实体”):本体填充具体数据后形成的实例,可类比OOP中的object;
- 知识图谱的实体关系(以下简称“关系):表示实体之间的具体关联关系;
本体结构设计
明确问题
- 知识图谱的数据源有哪些?
- 知识图谱要解决什么问题?
回答以上两个问题,圈定所需信息的范围,梳理信息框架;
思考原则
- 大致清晰,但不绝对;
- 对准问题,有限发散;
可复用本体
如果已有实体,都可以审视可复用情况,必要时可适配复用;
定义新本体
根据业务需要,设计带业务属性的知识图谱原型。
确定主干关系
细化属性列表
从各个数据源产生的数据中提取本体相关的属性字段,在不违反信息安全和影响性能的前提下建议字段种类尽量丰富。
细化本体关系
当细化一版本体的属性列表后,有些本体间的关系已经可以通过主外键方式进行连接。
当然,有些关系仍然可能缺失,业务数据未必依靠直接的主外键建立关联,此时需要从原始数据中寻找关系,建立关系表的连接方式。
建立约束
类似数据建模过程:概念模型、逻辑模型、物理模型
属性约束:类型、取值
关系约束:源节点、目标节点
规范化命名
一些提示
- 这里虽然还是在设计本体阶段,但已经需要涉及具体的数据,深入数据并做一些实例样本,才能顺利完成对本体的定义,减少返工;
- 本体间的映射关系是1:1? 1:N? N:N?
- 有些属性需要抽象成一个子概念,而需要是否抽象,需要从解决实际业务问题的角度考虑;比如需求关联的责任人,应该是一个与需求独立的本体,因为代码合入也会有责任人;
本体实例化
实例化:用具体数据填充属性值。