知识图谱构建(概念,⼯具,实例调研)
知识图谱构建(概念,⼯具,实例调研)
⼀、知识图谱的概念
知识图谱(Knowledge graph)知识图谱是⼀种⽤图模型来描述知识和建模世界万物之间的关联关系的技术⽅法。知识图谱由节点和边组成。节点可以是实体,如⼀个⼈、⼀本书等,或是抽象的概念,如⼈⼯智能、知识图谱等。边可以是实体的属性,如姓名、书名或是实体之间的关系,如朋友、配偶。知识图谱的早期理念来⾃Semantic Web(语义⽹络),其最初理想是把基于⽂本链接的万维⽹落转化为基于实体链接的语义⽹络。
1.知识图谱的⼏个关键概念
1.1 本体
领域术语集合。本体最为抽象,简单理解就是⼀堆概念,这堆概念集合能够描述某个具体的domain⾥的⼀切事物的共有特征,然后概念间⼜有⼀定的关系,所有构成⼀个具有层级特征的结构。所以在语义⽹⾥ontology和schema基本不分家。
在上⾯知识图谱的例⼦中,本体是⾜球领域schema
1.2 类型 type
具有相同特点或属性的实体集合的抽象,如⾜球球员、⾜球联赛、⾜球教练。
1.3 实体
实体就是type的实例,如⾜球球员--梅西,⾜球联赛--西甲等。
1.4 关系
实体与实体之间通过关系关联起来,如梅西是巴塞罗那的球员。
1.5 属性
实体⾃带信息是属性,如梅西 出⽣⽇期 1987年6⽉24⽇, ⾝⾼ 1.7⽶等。
1.6 知识图谱
图状具有关联性的知识集合。可以由三元组(实体entity,实体关系relation,实体entity)表⽰。
1.7 知识库
知识库(Knowledge Base),就是⼀个知识数据库,包含了知识的本体和知识。Freebase是⼀个知识库(结构化),也可以看成⼀个知识库(半结构化),等等。知识图谱可以看成是由图数据库存储的知识库。
⼆、知识图谱的分层架构
知识图谱由数据层(data layer)和模式层(schema layer)构成。
模式层是知识图谱的概念模型和逻辑基础,对数据层进⾏规范约束. 多采⽤本体作为知识图谱的模式层,借助本体定义的规则和公理约束知识图谱的数据层。也可将知识图谱视为实例化了的本体,知识图谱的数据层是本体的实例。如果不需⽀持推理, 则知识图谱(⼤多是⾃底向上构建的) 可以只有数据层⽽没有模式层。在知识图谱的模式层,节点表⽰本体概念,边表⽰概念间的关系。
在数据层, 事实以“实体-关系-实体”或“实体-属性-属性值”的三元组存储,形成⼀个图状知识库. 其中,实体是知识图谱的基本元素,指具体的⼈名、组织机构名、地名、⽇期、时间等。关系是两个实体之间的语义关系,是模式层所定义关系的实例。属性是对实体的说明,是实体与属性值之间的映射关系。属性可视为实体与属性值之间的 hasValue 关系,从⽽也转化为以“实体-关系-实体”的三元组存储。在知识图谱的数据层,节点表⽰实体,边表⽰实体间关系或实体的属性。
三、知识图谱构建流程及应⽤
知识图谱的构建⽅法主要有两种:⾃底向上和⾃顶⽽下。
1.开放域知识图谱的本体构建通常⽤⾃底向上的⽅法,⾃动地从知识图谱中抽取概念、概念层次和概念之间的关系。
2.领域知识图谱多采⽤⾃顶向下的⽅法来构建本体。⼀⽅⾯,相对于开放域知识图谱,领域知识图谱涉及的概念和范围都是固定或者可控的;另⼀⽅⾯,对于领域知识图谱,要求其满⾜较⾼的精度。⾃顶向下是先为知识图谱定义好本体与数据模式,再将实体加⼊到知识库。该构建⽅式需要利⽤⼀些现有的结构化知识库作为其基础知识库。
图1 知识图谱技术架构图
图2 知识图谱技术应⽤
四、知识图谱构建步骤
4.1信息抽取
信息抽取从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的
知识表达,涉及的关键技术包括实体抽取、关系抽取和属性抽取。关键问题是如何从异构数据中⾃动抽取信息到候选指⽰单元。
4.1.1实体抽取
实体抽取⼜称为命名实体识别(NER),是指从⽂本数据集中⾃动识别出命名实体,其⽬的就是建⽴知识图谱中的“节点”。 实体抽取任务有两个关键词:find & classify,到命名实体,并进⾏分类。
主要应⽤:
(1)命名实体作为索引和超链接
(2)情感分析的准备步骤,在情感分析的⽂本中需要识别公司和产品,才能进⼀步为情感词归类
(3)关系抽取(Relation Extraction)的准备步骤
(4)QA 系统,⼤多数答案都是命名实体
主要实现⽅法和⼯具:
(1)DeepDive-斯坦福⼤学开源知识抽取⼯具(三元组抽取):从更少的结构化数据和统计推断中提取结构化的知识⽽⽆需编写任何复杂的机器学习代码。
(2)FudanNLP: 主要是为中⽂⾃然语⾔处理⽽开发的⼯具包,也包含为实现这些任务的机器学习算法和数据集。可以实现中⽂分词,词性标注,实体名识别,句法分析,时间表达式识别,信息检索,⽂本分类,新闻聚类等
(3)NLPIR分词 (中科院):主要功能包括中⽂分词;英⽂分词;词性标注;命名实体识别;新词识别;关键词提取;⽀持⽤户专业词典与微博分析。NLPIR系统⽀持多种编码、多种操作系统、多种开发语⾔与平台。
(4)LTP(哈⼯⼤):语⾔技术平台(Language Technology Platform,LTP)提供了⼀系列中⽂⾃然语⾔处理⼯具,⽤户可以使⽤这些⼯具对于中⽂⽂本进⾏分词、词性标注、句法分析等等⼯作。
实体抽取,实体链接(两个实体同⼀个含义需要规整),⽬前最主流的算法就是CNN+LSTM+CRF进⾏实体识别。
正则表达式提取中文4.1.2 关系抽取
⽂本语料经过实体抽取之后得到的是⼀系列离散的命名实体(节点),为了得到语义信息,还需要从相关的语料中提取出实体之间的关联关系(边),才能将多个实体或概念联系起来,形成⽹状的知识结构。研究关系抽取技术,就是研究如何解决从⽂本语料中抽取实体间的关系。根据对标注数据的依赖程度,实体关系抽取⽅法可分为有监督学习⽅法、半监督学习⽅法、⽆监督学习⽅法和开放式抽取⽅法。
(1) 有监督的实体关系抽取
有监督学习⽅法是最基本的实体关系抽取⽅法,其主要思想是在已标注的训练数据的基础上训练机器学习模型,然后对测试数据的关系类型进⾏识别。有监督学习⽅法包括有基于规则的⽅法、基于特征的⽅法和基于核函数的⽅法。
基于规则的⽅法需要根据待处理语料涉及领域的不同,通过⼈⼯或机器学习的⽅法总结归纳出相应的规则或模板,然后⽤模板匹配⽅法进⾏实体关系抽取。
基于特征向量的⽅法是⼀种简单、有效的实体关系抽取⽅法,其主要思想是从关系句⼦实例的上下⽂中提取有⽤信息( 包括词法信息、语法信息)作为特征,构造特征向量, 通过计算特征向量的相似度来
训练实体关系抽取模型。该⽅法的关键在于寻类间有区分度的特征,形成多维加权特征向量,然后采⽤合适的分类器进⾏分类。
基于核函数的实体关系抽取⽅法,包括词序列核函数⽅法、依存树核函数⽅法、最短路径依存树核函数⽅法、卷积树核函数⽅法以及它们的组合核函数⽅法可和基于特征的实体关系抽取⽅法可以相互补充。
(2)半监督的实体关系抽取
基于 Bootstrapping 的半监督实体关系抽取⽅法从包含关系种⼦的上下⽂中总结出实体关系序列模式,然后利⽤关系序列模式去发现更多的关系种⼦实例,形成新的关系种⼦集合。
基于协同学习( co-learning) ⽅法, 该⽅法利⽤两个条件独⽴的特征集来提供不同且互补的信息,从⽽减少标注错误。
(3)⽆监督的实体关系抽取
⽆监督实体关系抽取⽅法⽆需依赖实体关系标注语料,其实现包括关系实例聚类和关系类型词选择两个过程。⾸先根据实体对出现的上下⽂将相似度⾼的实体对聚为⼀类,然后选择具有代表性的词语来标记这种关系。
(4)开放式实体关系抽取
该⽅法能避免针对特定关系类型⼈⼯构建语料库,可以⾃动完成关系类型发现和关系抽取任务。通过借助外部领域⽆关的实体知识库( 如DBPedia、YAGO、OpenCyc、FreeBase 或其它领域知识库) 将⾼质量的实体关系实例映射到⼤规模⽂本中,根据⽂本对齐⽅法从中获得训练数据,然后使⽤监督学习⽅法来解决关系抽取问题。
4.1.3 关系抽取⼯具调研
1.实体间关系抽取,拿到知识图谱最⼩单元三元组,⽐较经典算法的就是Piece-Wise-CNN和 LSTM+ Attention 。
2.DeepKE:基于深度学习的开源中⽂关系抽取⼯具
&&
3. DeepDive是斯坦福⼤学开发的信息抽取系统,能处理⽂本、表格、图表、图⽚等多种格式的⽆结构数据,从中抽取结构化的信息。系统集成了⽂件分析、信息提取、信息整合、概率预测等功能。Deepdive的主要应⽤是特定领域的信息抽取,系统构建⾄今,已在交通、考古、地理、医疗等多个领域的项⽬实践中取得了良好的效果;在开放领域的应⽤
Deepdive在OpenKG.CN上有⼀个中⽂的教程:
4.Standford NLP提供了开放信息抽取OpenIE功能⽤于提取三元组SPO,所以使⽤Standford NLP更贴合知识图谱构建任务,
Reverb是华盛顿⼤学研发的开放三元组抽取⼯具,可以从英⽂句⼦中抽取形如(augument1, relation, argument2)的三元组。它不需要提前指定关系,⽀持全⽹规模的信息抽取。
6.SOFIE: 抽取链接本体及本体间关系
SOFIE是⼀个⾃动化本体扩展系统,由max planck institute开发。它可以解析⾃然语⾔⽂件,从⽂本中抽取基于本体的事件,将它们链接到本体上,并基于逻辑推理进⾏消歧。
7.OLLIE:开放三元组知识抽取⼯具。
华盛顿⼤学研发的知识库三元组抽取组件,OLLIE是第⼆代提取系统。Reverb的抽取建⽴在⽂本序列上,⽽OLLIE则⽀持基于语法依赖树的关系抽取,对于长线依赖效果更好。
4.1.3属性抽取
(1)基于规则匹配的抽取⽅法
基于模式匹配的抽取⽅法也叫基于规则的抽取⽅法,就是基于事先构造⼀系列规则来抽取⽂本中实体-属性的⽅法。这种⽅法⾸先定义相关抽取规则,如,定义相关的规范的tag标,或⼈⼯编写正则表达式,然后将这些规则与⽂本进⾏匹配,通过匹配的结果得到抽取的实体及其属性。
基于规则的抽取系统⼀般由两部分组成,⼀个是⼀系列关于抽取规则的集合,第⼆是⼀系列定义匹配策略的集合。
(2)基于模式匹配的实体-属性抽取⽅法
基于模式匹配的⽅法根据其定义模式的⽅法可以分成三种:基于⼿⼯定义的抽取、基于有监督学习的抽取和基于迭代的抽取。基于⼿⼯定义⽅式就是具有通过相关领域专业知识的⼈员进⾏⼈⼯的定义⼀系列模式。基于学习的⽅式就是,⾸先收集相关语料组成⼤规模的语料库,然后通过⼈⼯标准的⾮结构化例⼦训练⾃动获得模式,构建具有⼤量实体-属性的知识库。基于迭代的⽅法是⾸先定义模板元组,让后对这些模板元组进⾏迭代,⾃动产⽣模式,从⽽进⾏对实体-属性的抽取。
(3)基于关系分类的实体-属性抽取⽅法
基于关系分类的⽅法就是将属性抽取问题转化成关系分类问题。⾸先将抽取的两个实体视为⼀个样本,实体直接的关系视为标签,然后通过⼿⼯的⽅式构建样本特征,最后依据这些特征对样本进⾏分
类,分类的结果便是实体之间的关系,也就是属性。基于关系的抽取⽅法通常借助机器学习的⽅法来进⾏,如⽀持向量机(SVM)、神经⽹络等,通过对⼤量语料库的训练来学习分类模型,从⽽对实体-属性进⾏抽取。基于关系分类的⽅法按照其语料库的建设⽅式可以分为远程监督的⽅法和全监督的⽅法。基于远程监督的⽅法基本由机器构建语 料库,⽽基于全监督的⽅法则由⼈⼯构建语料库。由于由⼈⼯ 来构建语料库耗费⼤量的时间和精⼒,因此通常⽬前更热衷于 使⽤远程监督的⽅法构建语料库。
(4)基于聚类的实体-属性抽取⽅法
基于聚类的⽅法就是将属性抽取问题转化成聚类问题。⾸先构建实体特性向量,然后基于相关⽅法对这些特征向量进⾏聚类,最后得到的聚类就是实体的属性。例如对于类别属性可以采⽤弱监督的聚类⽅法,对应产品属性可以采⽤⽆监 督的聚类⽅法等。
图3 基于⽂本化简的实体属性抽取⽅法
4.2知识融合
经由信息抽取之后的信息单元间的关系是扁平化的,缺乏层次性和逻辑性,同时存在⼤量冗余甚⾄错误的信息碎⽚。知识融合旨在解决如何将关于同⼀个实体或概念的多源描述信息融合起来,将多个知识库中的知识进⾏整合,形成⼀个知识库的过程,在这个过程中,主要关键技术包含指代消解、实体消歧、实体链接。
4.2.1关键问题解决⽅法
(1)实体统⼀(共指消解)
多源异构数据在集成的过程中,通常会出现⼀个现实世界实体对应多个表象的现象,导致这种现象发⽣的原因可能是:拼写错误、命名规则不同、名称变体、缩写等等。⽽这种现象会导致集成后的数据存在⼤量冗余数据、不⼀致数据等问题,从⽽降低了集成后数据的质量,进⽽影响了基于集成后的数据做分析挖掘的结果。分辨多个实体表象是否对应同⼀个实体的问题即为实体统⼀。
如重名现象,南京航天航空⼤学(南航)
1)基于两者混⽤的⽅法