开通VIP,畅享免费电子书等14项超值服
首页
好书
留言交流
下载APP
联系客服
2023.07.12陕西
1.知识图谱的几个关键概念
领域术语集合。本体最为抽象,简单理解就是一堆概念,这堆概念集合能够描述某个具体的domain里的一切事物的共有特征,然后概念间又有一定的关系,所有构成一个具有层级特征的结构。所以在语义网里ontology和schema基本不分家。
在上面知识图谱的例子中,本体是足球领域schema>
具有相同特点或属性的实体集合的抽象,如足球球员、足球联赛、足球教练。
实体就是type的实例,如足球球员--梅西,足球联赛--西甲等。
实体与实体之间通过关系关联起来,如梅西是巴塞罗那的球员。
实体自带信息是属性,如梅西出生日期1987年6月24日,身高1.7米等。
知识库(KnowledgeBase),就是一个知识数据库,包含了知识的本体和知识。Freebase是一个知识库(结构化),维基百科也可以看成一个知识库(半结构化),等等。知识图谱可以看成是由图数据库存储的知识库。
知识图谱由数据层(datalayer)和模式层(schemalayer)构成。
模式层是知识图谱的概念模型和逻辑基础,对数据层进行规范约束.多采用本体作为知识图谱的模式层,借助本体定义的规则和公理约束知识图谱的数据层。也可将知识图谱视为实例化了的本体,知识图谱的数据层是本体的实例。如果不需支持推理,则知识图谱(大多是自底向上构建的)可以只有数据层而没有模式层。在知识图谱的模式层,节点表示本体概念,边表示概念间的关系。
知识图谱的构建方法主要有两种:自底向上和自顶而下。
1.开放域知识图谱的本体构建通常用自底向上的方法,自动地从知识图谱中抽取概念、概念层次和概念之间的关系。
2.领域知识图谱多采用自顶向下的方法来构建本体。一方面,相对于开放域知识图谱,领域知识图谱涉及的概念和范围都是固定或者可控的;另一方面,对于领域知识图谱,要求其满足较高的精度。自顶向下是先为知识图谱定义好本体与数据模式,再将实体加入到知识库。该构建方式需要利用一些现有的结构化知识库作为其基础知识库。
图1知识图谱技术架构图
图2知识图谱技术应用
信息抽取从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的知识表达,涉及的关键技术包括实体抽取、关系抽取和属性抽取。关键问题是如何从异构数据中自动抽取信息到候选指示单元。
实体抽取又称为命名实体识别(NER),是指从文本数据集中自动识别出命名实体,其目的就是建立知识图谱中的“节点”。实体抽取任务有两个关键词:find&classify,找到命名实体,并进行分类。
主要应用:
(1)命名实体作为索引和超链接
(2)情感分析的准备步骤,在情感分析的文本中需要识别公司和产品,才能进一步为情感词归类
(3)关系抽取(RelationExtraction)的准备步骤
(4)QA系统,大多数答案都是命名实体
主要实现方法和工具:
(1)DeepDive-斯坦福大学开源知识抽取工具(三元组抽取):从更少的结构化数据和统计推断中提取结构化的知识而无需编写任何复杂的机器学习代码。
。(3)NLPIR分词(中科院):主要功能包括中文分词;英文分词;词性标注;命名实体识别;新词识别;关键词提取;支持用户专业词典与微博分析。NLPIR系统支持多种编码、多种操作系统、多种开发语言与平台
(4)LTP(哈工大):语言技术平台(LanguageTechnologyPlatform,LTP)提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。
实体抽取,实体链接(两个实体同一个含义需要规整),目前最主流的算法就是CNN+LSTM+CRF进行实体识别。
(1)有监督的实体关系抽取
的方法。基于核函数和基于特征的方法、基于规则的方法有监督学习方法是最基本的实体关系抽取方法,其主要思想是在已标注的训练数据的基础上训练机器学习模型,然后对测试数据的关系类型进行识别。有监督学习方法包括有
,然后用模板匹配方法进行实体关系抽取。通过人工或机器学习的方法总结归纳出相应的规则或模板基于规则的方法需要根据待处理语料涉及领域的不同,
,然后采用合适的分类器进行分类。寻找类间有区分度的特征,形成多维加权特征向量基于特征向量的方法是一种简单、有效的实体关系抽取方法,其主要思想是从关系句子实例的上下文中提取有用信息(包括词法信息、语法信息)作为特征,构造特征向量,通过计算特征向量的相似度来训练实体关系抽取模型。该方法的关键在于
基于核函数的实体关系抽取方法,包括词序列核函数方法、依存树核函数方法、最短路径依存树核函数方法、卷积树核函数方法以及它们的组合核函数方法可和基于特征的实体关系抽取方法可以相互补充。
(2)半监督的实体关系抽取
基于协同学习(co-learning)方法,该方法利用两个条件独立的特征集来提供不同且互补的信息,从而减少标注错误。,形成新的关系种子集合。去发现更多的关系种子实例,然后利用关系序列模式实体关系序列模式基于Bootstrapping的半监督实体关系抽取方法从包含关系种子的上下文中总结出
(3)无监督的实体关系抽取
选择两个过程。首先根据实体对出现的上下文将相似度高的实体对聚为一类,然后选择具有代表性的词语来标记这种关系。关系类型词和关系实例聚类无监督实体关系抽取方法无需依赖实体关系标注语料,其实现包括
(4)开放式实体关系抽取
(如DBPedia、YAGO、OpenCyc、FreeBase或其它领域知识库)将高质量的实体关系实例映射到大规模文本中,根据文本对齐方法从中获得训练数据,然后使用监督学习方法来解决关系抽取问题。借助外部领域无关的实体知识库该方法能避免针对特定关系类型人工构建语料库,可以自动完成关系类型发现和关系抽取任务。通过
。LSTM+Attention和Piece-Wise-CNN实体间关系抽取,拿到知识图谱最小单元三元组,比较经典算法的就是1.
2.DeepKE:基于深度学习的开源中文关系抽取工具
3.DeepDive是斯坦福大学开发的信息抽取系统,能处理文本、表格、图表、图片等多种格式的无结构数据,从中抽取结构化的信息。系统集成了文件分析、信息提取、信息整合、概率预测等功能。Deepdive的主要应用是特定领域的信息抽取,系统构建至今,已在交通、考古、地理、医疗等多个领域的项目实践中取得了良好的效果;在开放领域的应用
StandfordNLP提供了开放信息抽取OpenIE功能用于提取三元组SPO,所以使用StandfordNLP更贴合知识图谱构建任务,4.
Reverb是华盛顿大学研发的开放三元组抽取工具,可以从英文句子中抽取形如(augument1,relation,argument2)的三元组。它不需要提前指定关系,支持全网规模的信息抽取。
SOFIE是一个自动化本体扩展系统,由maxplanckinstitute开发。它可以解析自然语言文件,从文本中抽取基于本体的事件,将它们链接到本体上,并基于逻辑推理进行消歧。
华盛顿大学研发的知识库三元组抽取组件,OLLIE是第二代提取系统。Reverb的抽取建立在文本序列上,而OLLIE则支持基于语法依赖树的关系抽取,对于长线依赖效果更好。
(1)基于规则匹配的抽取方法
基于规则的抽取系统一般由两部分组成,一个是一系列关于抽取规则的集合,第二是一系列定义匹配策略的集合。
(2)基于模式匹配的实体-属性抽取方法
(3)基于关系分类的实体-属性抽取方法
(4)基于聚类的实体-属性抽取方法
图3基于文本化简的实体属性抽取方法
。主要关键技术包含指代消解、实体消歧、实体链接经由信息抽取之后的信息单元间的关系是扁平化的,缺乏层次性和逻辑性,同时存在大量冗余甚至错误的信息碎片。知识融合旨在解决如何将关于同一个实体或概念的多源描述信息融合起来,将多个知识库中的知识进行整合,形成一个知识库的过程,在这个过程中,
实体统一(共指消解)(1)
多源异构数据在集成的过程中,通常会出现一个现实世界实体对应多个表象的现象,导致这种现象发生的原因可能是:拼写错误、命名规则不同、名称变体、缩写等等。而这种现象会导致集成后的数据存在大量冗余数据、不一致数据等问题,从而降低了集成后数据的质量,进而影响了基于集成后的数据做分析挖掘的结果。分辨多个实体表象是否对应同一个实体的问题即为实体统一。
如重名现象,南京航天航空大学(南航)
1)基于两者混用的方法
2)模式匹配
模式匹配主要是发现不同关联数据源中属性之间的映射关系,主要解决三元组中谓词之间的冲突问题;另一种解释:解决不同关联数据源对相同属性采用不同标识符的问题,从而实现异构数据源的集成
3)宾语冲突消解
宾语冲突消解是解决多源关联数据宾语不一致问题。
(2)实体消歧
实体消歧的本质在于一个词有很多可能的意思,也就是在不同的上下文中所表达的含义不太一样。如:我的手机是苹果。我喜欢吃苹果。
1)基于词典的词义消歧
基于词典的词义消歧方法研究的早期代表工作是Lesk于1986的工作。给定某个待消解词及其上下文,该工作的思想是计算语义词典中各个词义的定义与上下文之间的覆盖度,选择覆盖度最大的作为待消解词在其上下文下的正确词义。但由于词典中词义的定义通常比较简洁,这使得与待消解词的上下文得到的覆盖度为0,造成消歧性能不高。
2)有监督词义消歧
有监督的消歧方法使用词义标注语料来建立消歧模型,研究的重点在于特征的表示。常见的上下文特征可以归纳为三个类型:
1.词汇特征通常指待消解词上下窗口内出现的词及其词性;
2.句法特征利用待消解词在上下文中的句法关系特征,如动-宾关系、是否带主/宾语、主/宾语组块类型、主/宾语中心词等;
3.语义特征在句法关系的基础上添加了语义类信息,如主/宾语中心词的语义类,甚至还可以是语义角色标注类信息。
3)无监督和半监督词义消歧
虽然有监督的消歧方法能够取得较好的消歧性能,但需要大量的人工标注语料,费时费力。为了克服对大规模语料的需要,半监督或无监督方法仅需要少量或不需要人工标注语料。一般说来,虽然半监督或无监督方法不需要大量的人工标注数据,但依赖于一个大规模的未标注语料,以及在该语料上的句法分析结果。
(3)实体链接(EntityLinking)
实体链接(entitylinking)是指对于从非结构化数据(如文本)或半结构化数据(如表格)中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。其基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象,通过打分的方法对指称项最高的实体作为目标实体
向量表示抽取有效的特征表示,有效地计算向量之间的相似度。基于实体指称项上下文与目标实体上下文中特征的共现信息来确定。
2)主题一致性模型
实体指称项的候选实体概念与指称项上下文中的其他实体概念的一致性程度
上面只处理单个实体指称项的链接问题,忽略了单篇文档内所有实体指称项的目标实体之间的关系。对文档内所有实体指称项进行协同链接有助于提升实体链接的性能。
4)基于神经网络的实体消歧方法
数据预处理1.
数据预处理阶段,原始数据的质量会直接影响到最终链接的结果,不同的数据集对同一实体的描述方式往往是不相同的,对这些数据进行归一化是提高后续链接精确度的重要步骤。常用的数据预处理有:
语法正规化:
的表达方式地址综合属性:如家庭
数据正规化:
移除空格、《》、“”、-等符号
输入错误类的拓扑错误
用正式名字替换昵称和缩写等
记录连接2.
假设两个实体的记录x和y,x和y在第i个属性上的值是
属性相似度:综合单个属性相似度得到属性相似度向量:
实体相似度:根据属性相似度向量得到一个实体的相似度。
2.1属性相似度的计算
距离、集合相似度计算、基于向量的相似度计算等。编辑属性相似度的计算有多种方法,常用的有
距离:Levenstein、WagnerandFisher、EditDistancewithAfineGaps编辑(1)
(2)集合相似度计算:Jaccard系数,Dice
(3)基于向量的相似度计算:Cosine相似度、TFIDF相似度
2.2实体相似度的计算
实体关系发现框架Limes
2.2.1聚合:
均:对相似度得分向量的各个分量进行加权求和,得到最终的实体相似度权平(1)加
(2)手动制定规则:给每一个相似度向量的分量设置一个阈值,若超过该阈值则将两实体相连
(3)分类器:采用无监督/半监督训练生成训练集合分类
2.2.2聚类:
(1)层次聚类:通过计算不同类别数据点之间的相似度对在不同的层次的数据进行划分,最终形成树状的聚类结构。
(3)Canopy+K-means:不需提前指定K值进行聚类
)嵌入式表示2.2.3知识表示学习:(
将知识图谱中的实体和关系都映射低维空间向量,直接用数学表达式来计算各个实体之间相似度。这类方法不依赖任何的文本信息,获取到的都是数据的深度特征。
(1)分块
分块(Blocking)是从给定的知识库中的所有实体对中,选出潜在匹配的记录对作为候选项,并将候选项的大小尽可能的缩小。常用的分块方法有基于Hash函数的分块、邻近分块等。常见的Hash函数有:字符串的前n个字,n-grams,结合多个简单的hash函数等。邻近分块算法包含Canopy聚类、排序邻居算法、Red-BlueSetCover等。
(2)负载均衡
-Reduce操作。Map负载均衡(LoadBalance)来保证所有块中的实体数目相当,从而保证分块对性能的提升程度。最简单的方法是多次
距离的字符串匹配。I-Sub和V-Doc都是基于字符串或文本级别的处理。更进一步的就有了GMO,它是对RDF本体的图结构上做的匹配。PBM则基于分而治之的思想做。首先经由PBM进行分而治之,后进入到V-Doc和I-Sub,GMO接收两者的输出做进一步处理,GMO的输出连同V-Doc和I-Sub的输出经由最终的贪心算法进行选取。编辑Falcon-AO是一个自动的本体匹配系统,已经成为RDF(S)和OWL所表达的Web本体相匹配的一种实用和流行的选择。编程语言为Java。匹配算法库包含V-Doc、I-sub、GMO、PBM四个算法。其中V-Doc即基于虚拟文档的语言学匹配,它是将实体及其周围的实体、名词、文本等信息作一个集合形成虚拟文档的形式。可以用TD-IDF等算法进行操作。I-Sub是基于
Limes是一个基于度量空间的实体匹配发现框架,适合于大规模数据链接,编程语言是Java。其整体框架如下图所示:
(3)Sematch(开源2017):用于知识图谱的语义相似性的开发、评价和应用的集成框架。Sematch支持对概念、词和实体的语义相似度的计算,并给出得分。Sematch专注于基于特定知识的语义相似度量,它依赖于分类(比如)中的结构化知识。深度、路径长度)和统计信息内容(语料库与语义图谱)。----基于wordNet。
(目前最常用)的知识图谱的实体对齐图数据库Neo4j(4)基于
(5)使用jieba完成实体统一,jieba是优秀的中文分词第三方库,中文文本需要通过分词获得单个的词语,jieba是优秀的中文分词第三方库,需要额外安装,jieba库提供三种分词模式,最简单只需掌握一个函数
(7)基于Silk的知识融合
Silk是一个集成异构数据源的开源框架。编程语言为Python。提供了专门的Silk-LSL语言来进行具体处理。提供了图形化用户界面SilkWorkbench,用户可以很方便的进行记录链接。
Silk的整体框架如下图所示:
(8)使用Dedupe包实现实体匹配
dedupe是一个python包,在知识融合领域有着重要作用!主要就是用来实体匹配。dedupe是一个用于fuzzymatching,recorddeduplication和entity-resolution的python库。它基于activelearing的方法,只需用户标注它在计算过程选择的少量数据,即可有效地训练出复合的blocking方法和record间相似性的计算方法,并通过聚类完成匹配。dedupe支持多种灵活的数据类型和自定义类型。
海量数据在经信息抽取、知识融合之后得到一系列基本的事实表达,但这并不等同于知识,要想获得结构化,网络化的知识体系,还需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分纳入知识体系中以确保知识库的质量,这就是知识加工的过程。知识加工主要包括3方面内容:本体构建、知识推理和质量评估。
本体:定义了组成领域的词汇表的基本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则。
领域:一个本体描述的是一个特定的领域。
术语:指给定领域中的重要概念。
基本术语之间的关系:包括类的层次结构,包括并列关系、上下位关系等等。
词汇表外延的规则:包括属性、值约束、不相交描述。
本体构建过程包含三个阶段:实体并列关系相似度计算>实体上下位关系抽取>本体的生成.
比如对下面这个例子,当知识图谱刚得到“阿里巴巴”、“腾讯”、“手机”这三个实体的时候,可能会认为它们三个之间并没有什么差别,但当它去计算三个实体之间的相似度后,就会发现,阿里巴巴和腾讯之间可能更相似,和手机差别更大一些。
这就是第一步的作用,但这样下来,知识图谱实际上还是没有一个上下层的概念,它还是不知道,阿里巴巴和手机,根本就不隶属于一个类型,无法比较。因此我们在实体上下位关系抽取这一步,就需要去完成这样的工作,从而生成第三步的本体。
当三步结束后,这个知识图谱可能就会明白,“阿里巴巴和腾讯,其实都是公司这样一个实体下的细分实体。它们和手机并不是一类。”
完成了本体构建这一步之后,一个知识图谱的雏形便已经搭建好了。但可能在这个时候,知识图谱之间大多数关系都是残缺的,缺失值非常严重,可以使用知识推理技术,去完成进一步的知识发现。知识推理就是指从知识库中已有的实体关系数据出发,经过计算机推理,建立实体间的新关联,从而扩展和丰富知识网络。
单调推理机montony-inference是一个基于perl语言的内存计算框架的单调语义推理软件。输入为两部分。1事实抽取出三元组。2自定义的一套规则语法的三元组。输出为推理后得出的事实三元组,使用排列组合算法产生新事实加入内存再次迭代计算,一直到没有新的事实产生输出。
RacerPro是语义网的OWL推理器和推理服务器。RACER代表RenamedABox和ConceptExpressionReasoner。RacerPro是软件的商业名称。
Jena用来构建语义Web和关联数据的免费开源的Java框架。它为RDF,RDFS和OWL,SPARQL,GRDDL提供了一个编程环境,并且包括基于规则的推理引擎。
RDFox是一个高度可扩展的内存RDF三元组存储,支持共享内存并行OWL2RL推理。它是用C++编写的跨平台软件,带有一个Java包装器,允许与任何基于Java的解决方案(包括OWLAPI)轻松集成。
Virtuoso是一个可扩展的跨平台服务器,将关系,图形和文档数据管理与Web应用程序服务器和Web服务平台功能相结合。Virtouso也是一个OWL推理者。Virtuoso直接提供RDB2RDF(以前称为SQL2RDF)通过Sponger及其墨盒,它还可以从GRDDL,RDFa,微格式和更多输入提供RDF。
能。GraphDB(前OWLIM)是最可扩展的语义库。它包括三元组存储,推理引擎和SPARQL查询引擎。它被封装为SesameRDF数据库的存储和推理层(SAIL)。GraphDB使用TRREE引擎执行RDFS,OWLDLP,OWLHorst推理和OWL2RL。最支持的表达式语言是OWL2RL,包含RDFS。GraphDB提供可配置的推理支持和性
HermiT是使用OWL编写的本体论的推理者。给定一个OWL文件,HermiT可以确定本体是否一致,识别类之间的包含关系等等。HermiT是第一个公开可用的OWL推理器,基于一种新颖的“超高级”演算,提供比任何以前已知的算法更有效的推理。以前需要几分钟或几小时进行分类的本体通常可以通过HermiT分类为秒,并且HermiT是能够对一些本体进行分类的第一推理器,这些本体以前被证明对于任何可用系统来说太复杂。
器中的默认推理器之一。编辑eaux的表达式描述逻辑(DL)的推理器。它涵盖OWL和OWL2(不支持关键约束和一些数据类型)基于DL的本体语言。它可以用作独立的DIG推理器,或作为基于OWLAPI的应用程序的后端推理器。现在它被用作ProtégéOWLablFaCT++是一个在C++中实现的OWLDL推理器。它是一个基于t
在知识图谱更新过程中,根据知识表达的方法可以发现一些新出现的实体,属性以及关系。在构建的一般步骤包括关系属性的抽取,实体关系的抽取以及实体关系的推理过程中,需要把海量的实体、属性、关系转化为机器能够读懂的知识表示方法(XML/OWL)。知识图谱的更新包含数据模式层更新和数据层更新,又可以按照层次进行划分定义为实体属性的更新和推理过程的更新。在知识图谱更新过程中,根据知识表达的方法可以发现一些新出现的实体、属性
(1)数据模式层更新
(2)数据层更新
知识图片更新流程
(1)知识图谱搜索引擎Magi
(2)中文知识图谱资源库
(3)Github上的一些优秀的知识图谱项目
1.利用网络上公开的数据构建一个小型的证券知识图谱/知识库
医疗保险领域知识图谱2.
农业知识图谱(AgriKG):主要功能包括命名实体识别,实体查询,关系查询,农业知识分类,农业知识问答3.
命名实体识别1.
实体查询2.
知识问答4.
漫威英雄的知识图谱4.
基于知识图谱的《红楼梦》人物关系可视化及问答系统5.
小型金融知识图谱构建流程6.
中式菜谱知识图谱可视化(CookBook-KG)7.
从无到有构建一个电影知识图谱,并基于该KG,开发一个简易的KBQA程序8.