知识图谱不仅包含具体的实例知识数据,还包括对知识数据的描述和定义。该部分对数据进行描述和定义的“元”数据被称为知识体系(Schema)或本体(Ontology)。
知识融合主要方法:框架匹配和实例对齐。
一、知识体系构建
1、概述
知识体系包含三方面的核心内容:
知识体系的基本形态包含五个层次(难度升序):词汇(Terms)、概念(Concepts)、分类关系(Taxonomic Relations)、非分类关系(Non-Taxonomic Relations)和公理(Axioms)。
示例:
2、人工构建方法
人工构建知识体系的过程可分为以下六个主要阶段(注意:非严格的线性关系):
确定领域及任务 ==》体系复用 ==》罗列要素 ==》确定分类体系 ==》定义属性及关系 ==》定义约束
(1)确定领域及任务
与具体的应用任务有关,与具体的领域密切相关,也不能抛开领域建立一个高大全的、无法被广泛使用的产品。
想要构建更为合适的体系,需要回答:
- 我们为什么要使用这个知识体系?
- 这种知识体系呢个构帮助回答哪些类型的问题?
- 谁会使用并维护这个知识体系?
(2)体系复用
在真正进行构建之前,应广泛调研现有的第三方知识体系(eg:Schenma.org)或与之相关的资源,尽可能的参考前人已有的成果。
常用资源如下:
- 领域词典:专家编撰的领域内的词典,对构建限定领域的知识体系具有重要的参考意义。
- 语言学资源
- 开源知识图谱:DBpedia、YAGO、Freebase、OpenCyc等
- 网络百科
(3)罗列要素
根据领域,尽可能罗列期望在知识图谱中出现的要素列表,主要包括概念、属性以及关系。
(4)确定分类体系
确定了相关要素后,需要将其中表示概念的要素组织成层级结构的分类体系。必须保证上层类别所表示的概念完全包含下层类别所表示的概念(所有下层类别的实例必须是上层类别的实例)。
两个构建方法:
- 自顶向下:从最抽象的概念开始,逐层添加更为具体的概念
- 自底向上:从具体的概念开始,逐层开始抽象
(5)定义属性及关系
为每个类别定义属性及关系。
- 属性:描述概念的内在特征,
- 关系:刻画不同概念之间的关系。
属性的定义需要受分类体系的约束,下层类别必须继承所有上层类别的属性。
步骤(4)和步骤(5)常交叉进行。
(6)定义约束
- 不同的属性和关系具有不同的定义域和值域。
- 数据报障数据的一致性,避免异常值的出现。
2、自动构建方法
根据数据源结构化程度的不同,知识体系的学习技术可分为:
- 基于非结构化数据的知识体系学习(重点)
- 基于结构化数据的知识体系学习(采用与人工构建相结合的方式工作)
- 基于半结构化数据的知识体系学习(采用与人工构建相结合的方式工作)
(1)基于非结构化数据的知识体系学习
基本思想:对于非结构化数据(通常指文本数据),首先利用自然语言处理工具对文本进行分词、句法分析、命名实体识别等预处理操作,然后利用模板匹配、统计学习等手段从文本中抽取重要信息,主要包括领域概念、实例以及概念之间的关系。
主要步骤:领域概念抽取、分类体系构建、概念属性及关系抽取
a、领域概念抽取
目标:从文本数据中抽取出构建知识体系所需的关键元素(该领域的术语),包括实体类型名、属性名、关系名等
步骤如下
- 抽取候选术语:首先利用自然语言处理工具对文本进行分词、句法分析,然后利用语言学规则或模板在文本中抽取特定的字符串,并将这些字符串当做领域术语的候选。目标:尽量多覆盖真正的术语。
- 术语过滤:领域术语在领域内出现的频率会显著高于领域外出现的频率,过滤低质量的术语。
- 常用方法:互信息(MI)、词频逆文档频率(TF-IDF)、术语相关频率(RTF)等
- 术语合并:知识体系是对概念及其关系的描述,因此术语需转换为概念。
- 做法:将候选术语中表达相同概念的术语聚合到一起,即识别同义词。
- 代表方法:
- 基于词典的方法:利用现有词典资源获取词汇的同义情况,eg:WordNet、HowNet、同义词词林等。
- 基于统计的方法:进行词汇表示学习,并基于词汇的表示对词汇进行聚类。
b、分类体系构建
目标:获取不同概念之间的上下位关系(继承关系)。 下位词是上位词概念的具体化,eg:“犬科动物”是“哺乳动物”的下位词。
代表方法
- 基于词典的方法:利用现有词典资源获取不同词汇的上下位关系,eg:WordNet等。
- 基于统计的方法:通过词的上下文对当前词进行表示,并基于该表示对得到的领域术语进行层次聚类。
c、概念属性及关系抽取
与概念抽取的过程类似,首先利用自然语言处理工具对文本进行分词、句法分析等预处理,然后利用语言学规则或模板的方法为给定的概念获取候选属性集合。然后利用统计方法定量评估每个候选属性的置信度,过滤掉低质量的属性,也涉及同义词的情况。
(2)基于结构化数据的知识体系学习
主要任务:分析关系模型中蕴含的语义信息,并将其映射到知识体系的相应部分。
构建过程:通过分析数据表的字段内容、主键、外键等信息识别实体和实体间关系。
在信息抽取时,可从描述实体的表中抽取实体的概念(即本体类型)及实体属性,从描述关系的表中抽取概念间关系,建立初步的知识体系,并进行评估和修正,生成最终的知识体系。
(3)基于半结构化数据的知识体系学习
典型数据:XML格式数据、HTML格式网页数据以及它们遵循的文档类型定义(XML Schema 或 DTD)等。以上两类方法均可使用。
3、典型知识体系(本体)
- SUMO(Suggested Upper Merged Ontology)——最大的公共本体,主要用于学术领域,可作为其他知识体系的基础本体。
- Schema.org
- Freebase——特点:使用组合数据类型(CVT)的方式表示事件等N-Triple事实。
- Protege常被用于构建、编辑和管理知识框架。常被应用于基于框架的知识表示模型,一般是先定义类,在定义类中的属性,最后定义类和属性的约束。
二、知识融合
知识图谱融合(根据KG类型划分):
- 竖直方向的融合:融合高层通用本体与底层领域本体或实例数据。eg:YAGO
- 水平方向的融合:融合相同层次的知识图谱。eg:BabelNet
知识融合通过对多个相关知识图谱的对齐、关联和合并,使其成为一个整体。按融合对象的不同分为:框架匹配和实体对齐。
- 框架匹配:对概念、属性、关系等知识描述体系进行匹配和融合。
- 实体对齐:对齐合并相同的实体完成知识融合
但是实例知识有时有冲突,需要对其检测和消解。
1、框架匹配(本体对齐)
解决知识体系之间的异构性,知识框架主要包括概念(类型)、属性、关系和它们之间的约束。
目前常用的框架匹配方法还停留在匹配不同知识库中的元素,按照使用的技术不同可以分为:元素级匹配和结构级匹配。
(1)元素级匹配
独立考虑元素是不是匹配,不考虑其他元素的匹配
- 字符串匹配:
- 常用匹配方法:前缀距离,后缀距离,编辑距离和 n n n 元语法距离
- 这种方法忽略了语言符号的多义性,一词多义和一义多词
- 词向量:将词表示为低维语义向量空间的一个点,语义相似度用点之间的距离来衡量。与字符串相比,有更强的捕获词背后的真正语义的能力,且通过训练产生的词向量的覆盖度要大得多。
- 混合方法:常将词向量与其他编辑距离等结合,混合方法获得了很好的性能。
(2)结构级匹配
不同元素的匹配之间也会有影响,例如属性的定义域和值域匹配度高,属性匹配度也高。基本思想:相似的概念具有相似的概念结构。
- 基于图的技术:对于两个本体中的节点,若它们的邻居节点是相似的,则它们也是相似的。将本体匹配问题转化为发现最大公共子图的问题。
- 基于分类体系的技术:只关注与匹配一些特殊关系。“实例-类型”(is-a)或“子类-父类”(SubClassOf)关系。
- 基于统计分析的技术:挖掘蕴含的规律,并对概念、属性、实例、关系等对象进行分组,进而计算它们之间的距离。
- 典型技术:形式概念分析、基于距离的分类、相关性分析以及频度分布。
2、实体对齐(实体匹配)
实体对齐:判断相同或不同知识库中的两个实体是否表示同一物理对象的过程。其在数据集成和知识融合中发挥着重要的作用。
方法:
- 成对实体对齐:表示独立地判断两实体是否对应同一物理对象,通过匹配实体属性等特征判断它们的对齐程度。
- 协同实体对齐:不同实体间的对齐是相互影响的,通过协调不同对象间的匹配情况得以达到一个全局最优的对齐结果。
典型方法:基于知识库向量联合学习的对齐方法
- 基本思想:通过知识库联合表示学习(种子对齐方法:两个实体的向量要在训练过程中尽可能相似),将多个知识库表示在同一个语义向量空间中,把知识库实体对齐的过程转化为两个知识库中实体相似度计算问题。
- 知识库联合表示学习 步骤如下:
- 首先,利用简单的对齐方法(eg:字符串匹配),来产生初始的种子对齐,这些种子对齐要准确率非常高。
- 然后,采用TransE的方式,学习两个知识库的对齐。
- 优点:不需要依赖人工设定的规则和特征,也不需要了解知识库的命名习惯。适应性强、易于移植
3、冲突检测与消解
冲突检测与消解是知识融合的重要步骤,是多个知识图谱形成一个一致结果的最后步骤。
冲突识别(最简单的方法):发现对于同样的属性和关系有不同的实例,但是对于某些属性,这种策略不一定有效。eg:某个人的两段不同的婚姻,都正确,不存在冲突,则需要针对性设计不同检测策略。
冲突处理
- 冲突忽略:不处理,将检测出的冲突交给用户解决(舍弃或修改)
- 冲突避免:不解决,而使用规则或约束对数据来源进行过滤。eg:约束人的年龄范围,设计不同知识来源的可信优先度。
- 冲突消解:利用知识图谱本身(框架和实例)的特征来消解冲突
- 基于投票的方法:eg:多数投票
- 基于质量估计的方法:考虑不同知识来源的可信度,最终选择较高质量的结果。eg:HITS或PangRank算法计算不同知识来源的可信度。