本节问题概述
接上一篇文章
知识工程复习之十八类重点问题(1-7)
知识获取之关系抽取
(8)关系抽取的三类常用方法与优缺点?(依存句法分析)
知识获取之知识融合
(9)知识融合的两种方式是什么,常用工具有哪些?实体对齐的常用方法有哪些?
知识存储
(10)基于关系数据库的存储方案有哪两种?基本原理是什么?优缺点有哪些?
(11)基于图模型的存储有何优点?属性图模型如何存储数据?典型系统是什么?
知识管理
(12)SQL查询语句、SPARQL四种查询形式、Cypher查询语句
(8)关系抽取的三类常用方法以及优缺点?(依存句法分析)
关系抽取,即从文本中识别并判定实体对之间存在的特定关系
基于模板、规则的方法
(a)基于模板、规则的方法之触发词
(b)基于模板、规则的方法之依存句法分析
使用依存句法分析句子的句法结构,并以动词为起点,构建规则,对节点上的词性和边上的依存关系进行限定
如下图所示,这样的依存句法分析树,是以动词为根节点的
算法流程如下:
优缺点
优点:
(1)在小规模数据及上容易实现
(2)构建简单
缺点:
(1)在特定领域的模板需要专家构建
(2)难以维护
(3)可移植性差
(4)规则集合小的时候,召回率很低
基于传统机器学习的方法
(a)基于特征向量(Feature-based)的关系抽取方法
-
其核心思想,是通过从句子上下文中提取出句法和语法等特征信息去构造特征向量,进而利用特征向量的相似度训练实体关系识别模型,如最大熵(ME, Max Entropy)
-
其关键,在于如何获取各种有效的词法、句法、语义等特征,并把它们有效地集成起来,从而产生描述实体语义关系的各种局部特征和简单的全局特征,不同的特征对最终系统的性能有不同影响
总结:基于特征的方法需要人工设计特征,这类方法适用于标注数量较少,精度要求较高,人工能够胜任的情况
== 优缺点==
优点:
可解释性好
缺点:
(1)特征的选择和设置上更多依靠构建者的直觉和经验
(2)特征项的选择组合是有限的,无法表示指定语义关系
基于核函数(Kernel-based)的关系抽取方法
- 其核心思想,是通过核函数将输入空间的数据嵌入到合适的高维特征空间,利用通用线性分类器在新的特征空间中进行关系抽取
- 其关键,在于设计出计算两个关系实例相似度的核函数
总结:基于核函数的方法能够从字符串或句法树中自动抽取大量特征,但这类方法始终是在衡量两段文本在子串或子树上的相似度,并没有从语义的层面对两者进行深度比较
优缺点
优点:
(1)处理高位特征空间问题的计算代价低
(2)求解的是凸优化问题
(3)和矩阵展现输入在特征空间中相对位置的信息
缺点:
随着性能要求的提升,核函数的符合更为复杂,导致了训练浴帘和测试速度过慢,对于大规模数据处理能力差
基于深度学习的方法
需要注意的是,基于传统及其学习的两种方法都需要做词性标注和句法分析,用于特征抽取或核函数的计算,这种pipeline做法,会把pos和句法分析等模块产生的错误传导到后续的关系抽取任务并被不断放大
优点:
(1)深度学习的方法,使用端到端的抽取方法能够大幅度减少特征工程
(2)减少对词性标注等预处理模块的依赖,成为当前关系抽取技术的主流技术路线
(9)知识融合的两种方式是什么,常用工具有哪些?实体对齐的常用方法有哪些?
知识融合的目标:
- 合并多个知识图谱
- 研究如何融合来源于多个数据集的关于同一实体或概念的描述信息
- 最终实现两个匹配:本体层匹配(等价类、子类,等加属性、子属性)、实例层匹配(实例等价)
据此,出现了知识融合的两种方法(方式):
(1)本体匹配(Ontology matching)
发现等价类、相似的类、属性或关系
(2)实体对齐(Entity Alignment)
发现指向相同真实对象的不同实例
(1)本体匹配(Ontology matching)的常用工具
本体:一个本体是一个概念体系的显式的形式化规范
集合相似度,其中jaccard相似系数,类似于交并比
本体匹配的工具:Falcon-AO
这是一个java编写的自动的本体匹配系统,应用于RDF、RDFS和OWL所表达的web本体相匹配的一种使用和流行的选择
(2)实体对齐(Entity Alignment)的常用方法和常用工具
实体对齐的目标:融合指称相同现实对象的 不同实例
实体对齐的工具:
(1)Dedupe:这是一个使用机器学习对结构化数据快速执行模糊匹配,重复数据删除和实体对齐的python
库
(2)Silk系统:这是一个用于集成异构数据源的凯源框架,可以:
- 生成不同关联数据源中相关数据项之间的链接
- 关联数据发布者可以使用Silk将RDF链接从其数据源设置为Web上的其他数据源
- 将数据转换应用于结构化数据源
(10)基于关系数据库的存储方案有哪两种?基本原理是什么?优缺点有哪些?
基于关系数据库的存储方案分类
存储方案包括水平划分(Horizontal Partitioning)和垂直划分(Vertical Partitioning)
水平划分的原理和优缺点
水平划分方法使用一张N+1列数据表存储RDF数据集(N为数据集中不同谓词的数目)
基于主语对RDF数据集进行划分,数据集中每行记录存储知识图谱中一个主语的所有谓词和宾语,不存在对应宾语时使用空值填充
Sempala系统是水平划分方法的典型代表,sempala系统使用一张水平表存储RDF数据,对于具有多值属性的主语则在紧邻着下一行列出,从而简化了SPARQL到SQL的转化过程
水平划分的优缺点
优点:
(1)将同一主语的所有数据存储在同一行,有利于星型SAPRQL查询处理
(2)Join减少了,接近于关系数据库,可重用RDBMS功能
局限性:
(1)数据表中可能存在大量空值,引入了存储和查询额外空值的开销
(2)数据表所需列数目等于RDF数据集中不同谓语数量,该数量可能超过关系数据库所允许的表中列数目的上限
垂直划分的原理和优缺点
相当于三元组表按照谓词进行划分,又名垂直划分表;为每一个谓词创建一个量列表,共N个2列表,其中N指的是属性数量;对于多个谓词的查询会导致夺标链接问题
原理:
垂直划分方法使用N张两列表存储RDF数据集(N为数据集中不同谓词个数)
基于谓词对RDF数据集进行划分,为每种谓词构建一张两列表,表名即为该谓词,表中每行数据是由该谓词连接的一对主语和宾语
德国弗莱堡大学于2016提出S2RDF系统,提出扩展垂直划分(ExtVP)。对于任意两个VP表,S2RDF预计算并存储VP表之间的半连接结果,从而在join执行时,减少不必要的输入
垂直划分的优缺点
优点:
(1)仅存储出现在RDF数据集中的三元组,不存储空值
(2)将多值属性存储为连续的行,解决了多值问题
(3)基于主语列对数据表进行排序,能够使用归并排序连接(Merge-sort join)快速执行join操作
局限性:
(1)创建两别表数目与数据集中不同位于个数相等,数量较大时,难以维护
(2)对于具有n条边的SPARQL查询,垂直划分方法需要读取n张数据表,并执行n-1次join
总结
关系模型将语义关联关系隐藏在外键结构中,无显式表达,并带来关联查询与计算的复杂性
知识图谱需要更加丰富的关系语义表达和关联推理能力,如,传递、对称、反关系、函数关系
关系型数据库处理关联查询时通过join完成,百万级数据下 几小时才能够完成,而在图数据库上进行图查询可以在秒内完成计算。
总的来说。关系模型背离了用接近自然语言的方式来描述客观世界的原则,这使得概念化、高度关联的世界模型与数据的物理存储之间出现了失配
(11)基于图模型的存储有何优点?属性图模型如何存储数据?典型系统是什么?
基于图模型的存储的优点
- 自然表达:使用图的方式来表达现实世界的关系很直接、自然,且易于建模
- 便于扩展:图数据库可以很高效地插入大量数据。关系型数据库如MySQL需要进行分库分表,图模型数据库可以轻松胜任亿级以上的数据
- 关联查询高效:图模型数据库可以很高效地查询关联数据。而传统的关系型数据库需要做表的连接,涉及大量的IO操作以及内存消耗
- 多跳优化:在处理多跳查询上,图模型有性能优势
属性图模型如何存储数据
- 属性图是图数据模型,由顶点集和边集组成
- 节点可以有一个或多个标签(Labels)
- 节点具有一组属性(Property),每个属性都睡一个键值对
- 边有一个类型(Type)和方向
- 边也可以具有属性(Property)
一些典型的图数据库管理系统
Neo4j
Microsoft Azure Cosmos DB
ArangoDB
Virtuoso
OrientDB
GraphDB