您的当前位置:首页正文

调研-知识图谱构建

2024-11-10 来源:个人技术集锦

一、知识图谱的逻辑结构层次

知识图谱的数据层是本体的实例。
如果不需支持推理, 则知识图谱(大多是自底向上构建的) 可以只有数据层而没有模式层。在知识图谱的模式层,节点表示本体概念,边表示概念间的关系。

二、知识图谱的技术架构

知识图谱主要有自顶向下(top-down)与自底向上(bottom-up)两种构建方式。

  • 自顶向下指的是先为知识图谱定义好本体与数据模式,再将实体加入到知识库。该构建方式需要利用一些现有的结构化知识库作为其基础知识库,例如Freebase项目就是采用这种方式,它的绝大部分数据是从维基百科中得到的。
  • 自底向上指的是从一些开放链接数据中提取出实体,选择其中置信度较高的加入到知识库,再构建顶层的本体模式。
    目前,大多数知识图谱都采用自底向上的方式进行构建。

2.1 自底向上

2.1.1 数据获取(Data Acquisition)

将原始数据分为结构化数据、半结构化数据和非结构化数据,根据不同的数据类型,我们采用不同的方法进行处理。

  1. 结构化数据
    RDF:把关系型数据库中的数据转换为RDF数据(linked data),普遍采用的技术是D2R技术。D2R主要包括D2R Server,D2RQ Engine和D2RRQ Mapping语言。
    D2R Server 是一个 HTTP Server,它的主要功能提供对RDF数据的查询访问接口,以供上层的RDF浏览器、SPARQL查询客户端以及传统的 HTML 浏览器调用。 D2RQ Engine的主要功能是使用一个可定制的 D2RQ Mapping 文件将关系型数据库中的数据换成 RDF 格式。D2RQ engine 并没有将关系型数据库发布成真实的 RDF 数据,而是使用 D2RQ Mapping 文件将其映射成虚拟的 RDF 格式。该文件的作用是在访问关系型数据时将 RDF 数据的查询语言 SPARQL 转换为 RDB 数据的查询语言 SQL,并将 SQL 查询结果转换为 RDF 三元组或者 SPARQL 查询结果。D2RQ Engine 是建立在 Jena(Jena 是一个创建 Semantic Web 应用的 Java 平台,它提供了基于 RDF,SPARQL 等的编程环境)的接口之上。 D2RQ Mapping 语言的主要功能是定义将关系型数据转换成 RDF 格式的 Mapping 规则。
    图数据库:将数据整合后,迁移到图数据库中。
  2. 半结构化数据
    半结构化数据,主要是指那些具有一定的数据结构,但需要进一步提取整理的数据。比如百科的数据,网页中的数据等。对于这类数据,主要采用包装器的方式进行处理。
    包装器是一个能够将数据从HTML网页中抽取出来,并且将它们还原为结构化的数据的软件程序。网页数据输入到包装器中,通过包装器的处理,输出为我们需要的信息。
    对于一般的有规律的页面,我们可以使用正则表达式的方式写出XPath和CSS选择器表达式来提取网页中的元素。但这样的通用性很差,因此也可以通过包装器归纳这种基于有监督学习的方法,自动的从标注好的训练样例集合中学习数据抽取规则,用于从其他相同标记或相同网页模板抽取目标数据。
  3. 非结构化数据
    对于非结构化的文本数据,我们抽取的知识包括实体、关系、属性。
    对应的研究问题就有三个:实体抽取,关系抽取,属性抽取
2.1.2 信息抽取(Information Extraction)

实体抽取,也称为命名实体识别,实体的类型主要包括三大类七小类:实体类(包括人名,地名,机构名);时间类(日期,时间);数字类(货币、百分比).
关系抽取,也就是实体和实体之间的关系,也是文本中的重要知识,需要采用一定的技术手段将关系信息提取出来。
属性抽取,也就是实体的属性信息,和关系比较类似,关系反映实体的外部联系,属性体现实体的内部特征。属性抽取的目标是从不同信息源中采集特定实体的属性信息,从而完成对实体属性的完整勾画,如针对某款手机,可以从互联网中获取多源(异构)的数据,从中得到其品牌、配置等信息。如果把实体的属性值看作是一种特殊的实体,那么属性抽取实际上也是一种关系抽取。 百科类网站提供的半结构化数据是通用领域属性抽取研究的主要数据来源,但具体到特定的应用领域,涉及大量的非结构化数据,属性抽取仍然是一个巨大的挑战。

2.1.3 知识融合(Knowledge Fusion)

知识融合旨在解决如何将关于同一个实体或概念的多源描述信息融合起来
不同的知识库,收集知识的侧重点不同,对于同一个实体,有知识库的可能侧重于其本身某个方面的描述,有的知识库可能侧重于描述实体与其它实体的关系,知识融合的目的就是将不同知识库对实体的描述进行整合,从而获得实体的完整描述。
主要关键技术包括:指代消解、实体消歧、实体链接

指代消解(Coreference Resolution)
Coreference Resolution,字面上翻译应该是“共指消解”,一般情况下,指代分为三种(NLP领域一般只关注前两种指代类型):回指(也称指示性指代),共指(也称同指),下指。(非结构化数据,如文本中)。

实体消歧(Entity Disambiguation)
实体消歧是专门用于解决同名实体产生歧义问题的技术。

实体链接(Entity Linking)
对于非结构化数据(如文本)或半结构化数据(如表格)中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。其基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象。

知识合并
对于结构化数据, 如外部知识库和关系数据库。对于这部分结构化数据的处理,就是知识合并的内容啦。一般来说知识合并主要分为两种:
合并外部知识库,主要处理数据层和模式层的冲突。将外部知识库融合到本地知识库需要处理2个层面的问题.①数据层的融合,包括实体的指称、属性、关系以及所属类别等,主要的问题是如何避免实例以及关系的冲突问题,造成不必要的冗余;②通过模式层融合,将新得到的本体融入已有的本体库中。
合并关系数据库,有RDB2RDF等方法。将外部知识库融合到本地知识库需要处理2个层面的问题.①数据层的融合,包括实体的指称、属性、关系以及所属类别等,主要的问题是如何避免实例以及关系的冲突问题,造成不必要的冗余;②通过模式层融合,将新得到的本体融入已有的本体库中。
其他:除了关系型数据库之外,还有许多以半结构化方式存储(如XML,CSV,JSON等格式)的历史数据也是高质量的知识来源,同样可以采用RDF数据模型将其合并到知识图谱当中。

2.1.4 知识加工(Knowledge Processing)

所解决的问题:通过信息抽取,可以从原始语料中提取出实体、关系与属性等知识要素。再经过知识融合,可以消除实体指称项与实体对象之间的歧义,得到一系列基本的事实表达。然而,事实本身并不等于知识,要想最终获得结构化、网络化的知识体系,还需要经历知识加工的过程。

涉及的关键技术:本体构建知识推理质量评估
本体构建:本体(ontology)是对概念进行建模的规范,是描述客观世界的抽象模型,以形式化方式对概念及其之间的联系给出明确定义。本体是树状结构,相邻层次的节点(概念)之间具有严格的“IsA”关系,这种单纯的关系有助于知识推理,但不利于表达概念的多样性。
在知识图谱中,本体位于模式层,用于描述概念层次体系,是知识库中知识的概念模板。本体构建的方法有:
(1)手动构建:采用人工编辑的方式手动构建(借助本体编辑软件)
(2)自动构建:采用计算机辅助,以数据驱动的方式自动构建,然后采用算法评估和人工审核相结合的方式加以修正和确认。自动化本体构建过程包含3个阶段:实体并列关系相似度计算、实体上下位关系抽取以及本体的生成

知识推理
知识推理是指从知识库中已有的实体关系数据出发,经过计算机推理,建立实体间的新关联,从而拓展和丰富知识网络。
知识推理的对象并不局限于实体间的关系,也可以是实体的属性值、本体的概念层次关系等。知识的推理方法可以分为2大类:基于逻辑的推理和基于图的推理。

基于逻辑的推理
一阶谓词逻辑:建立在命题的基础上,在一阶谓词逻辑中,命题被分解为个体(individuals)和谓词(predication)两部分。例如对于人际关系可以采用一阶谓词逻辑进行推理,方法是将关系视为谓词,将人物视为变元,采用逻辑运算符号表达人际关系,然后设定关系推理的逻辑和约束条件,就可以实现简单关系的逻辑推理。
描述逻辑:是一阶谓词逻辑的子集,基于描述逻辑的知识库一般包含TBox(terminology box)与ABox(assertion
box),其中,TBox是用于描述概念之间和关系之间的关系的公理集合,ABox是描述具体事实的公理集合。借助这2个工具,可以将基于描述逻辑的推理最终归结为ABox的一致性检验问题,从而简化并最终实现关系推理。
基于规则:例如利用专门的规则语言(如semantic web rule language, SWRL)对本体模型添加自定义规则进行功能拓展。
基于图的推理方法主要基于神经网络模型或PathRanking算法等

质量评估
质量评估是知识库构建技术的重要组成部分,这一部分存在的意义在于:可以对知识的可信度进行量化,通过舍弃置信度较低的知识来保障知识库的质量

2.2 自顶向下

其他展望

时序知识图谱
当前知识图谱研究大多关注静态KG,不会随时间变化,而时变的KG探索较少。但是时序信息非常重要,因为很多结构化的知识只在特定的之间内有效,facts的变化遵循一个时间序列。近来的研究开始将时序信息融入到KRL和KGC中,称为时序知识图谱。

具体内容:引用[3]及《A Survey on Knowledge Graphs: Representation, Acquisition and Applications》

引用:

  1. http://www.360doc.com/content/19/1227/19/99071_882587810.shtml
  2. https://zhuanlan.zhihu.com/p/107325417?utm_source=weibo
  3. https://zhuanlan.zhihu.com/p/135438943
  4. https:///lairongxuan/article/details/100527179
  5. OWL本体语言和Protege本体编辑器: https:///QFire/article/details/82497088
显示全文