一、知识图谱概述
OK~从今天开始,我们开始构建知识图谱!今天是第一相关文章,主要就是知识图谱的相关概述,知识图谱系列的文章都将收录在我的个人专栏《知识图谱系列》中,欢迎大家关注~
目录
3.2.3 知识图谱的分布式表示——KG Embedding
一、知识图谱的定义
在*的介绍中知识图谱是Google用于增强其搜索引擎功能的知识库。其实,知识图谱本质上是旨在描述真实世界中存在的各种实体或概念及其关系,其构成一张巨大的语义网络图,节点表示实体或概念,边则由属性或关系构成。下面是对知识图谱构成的简介。
1.1 实体
实体是指具有可区别性且独立存在的某种事物。如某一个人、某一种商品等等。实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。
1.2 概念
概念是具有同种特性的实体构成的集合,如国家、电脑等。 主要指集合、类别、对象类型、事物的种类等等。
1.3 属性
从一个实体指向它的属性值,不同的属性类型对应于不同类型属性的边。属性值主要指对象指定属性的值,用来刻画实体的内在特性。
1.4 内容
通常作为实体和语义类的名字、描述、解释等,可以由文本、图像、音视频等来表达。
1.5 关系
用来连接两个实体,刻画他们之间的关联。
知识图谱亦可被看作是一张巨大的图,图中的节点表示实体或概念,而图中的边则由属性或关系构成。三元组是知识图谱的一种通用表示方式。就覆盖范围而言,知识图谱也可分为通用知识图谱和行业知识图谱。通用知识图谱注重广度,强调融合更多的实体,较行业知识图谱而言,其准确度不够高,并且受概念范围的影响,很难借助本体库对公理、规则以及约束条件的支持能力规范其实体、属性、实体间的关系等。通用知识图谱主要应用于智能搜索等领域。行业知识图谱通常需要依靠特定行业的数据来构建,具有特定的行业意义。行业知识图谱中,实体的属性与数据模式往往比较丰富,需要考虑到不同的业务场景与使用人员。
二、知识图谱的架构
知识图谱的架构主要包括自身的逻辑结构以及体系架构。
2.1 逻辑结构
知识图谱在逻辑上可分为模式层与数据层两个层次:(1)数据层主要是由一系列的事实组成,而知识将以事实为单位进行存储。可以选择图数据库作为存储介质,例如开源的Neo4j、Twitter的 FlockDB、Sones的GraphDB等。(2)模式层构建在数据层之上,主要是通过本体库来规范数据层的一系列事实表达。本体是结构化知识库的概念模板,通过本体库而形成的知识库不仅层次结构较强,并且冗余程度较小。
2.2 体系架构
知识图谱的体系架构是指其构建模式结构。知识图谱构建从最原始的数据(包括结构化、半结构化、非结构化数据)出发,采用一系列自动或者半自动的技术手段,从原始数据库和第三方数据库中提取知识事实,并将其存入知识库的数据层和模式层,这一过程包含:信息抽取、知识表示、知识融合、知识推理四个过程,每一次更新迭代均包含这四个阶段。知识图谱主要有自顶向下与自底向上两种构建方式:
1、自顶向下指的是先为知识图谱定义好本体与数据模式,再将实体加入到知识库。该构建方式需要利用一些现有的结构化知识库作为其基础知识库,例如Freebase项目就是采用这种方式,它的绝大部分数据是从*中得到的。
2、自底向上指的是从一些开放链接数据中提取出实体,选择其中置信度较高的加入到知识库,再构建顶层的本体模式。目前,大多数知识图谱都采用自底向上的方式进行构建,其中最典型就是Google的Knowledge Vault。
三、技术概览
3.1 知识抽取
知识抽取可以从一些公开的半结构化、非结构化的数据中提取出实体、关系、属性等知识要素。知识抽取主要包含实体抽取、关系抽取、属性抽取等,涉及到的自然语言处理技术有命名实体识别、句法依存、实体关系识别等。
首先从网络上获取大量的各种非结构化的文本数据,经过文本预处理后得到干净的文本数据。然后借助机器学习相关程序对文本进行分词、词性标注、词法解析、依存分析等工作,此时词法及句法层次的分析结束,接下来对该文本进行命名实体识别和实体链接工作,为关系抽取和时间抽取做准备,最终形成KR用的三元组、多元关系、模态知识等构成知识图谱。
3.2 知识表示
知识表示形成的综合向量对知识库的构建、推理、融合以及应用均具有重要的意义。基于三元组的知识表示形式受到了人们广泛的认可,但是其在计算效率、数据稀疏性等方面却面临着诸多问题。近年来,以深度学习为代表的表示学习技术取得了重要的进展,可以将实体的语义信息表示为稠密低维实值向量,进而在低维空间中高效计算实体、关系及其之间的复杂语义关联。知识表示学习主要包含的 NLP 技术有语义相似度计算、复杂关系模型,知识代表模型如距离模型、双线性模型、神经张量模型、矩阵分解模型、翻译模型等。
3.2.1 RDF
RDF(Resource Description Framework)即资源描述框架,是W3C制定的。用于描述实体/资源的标准数据模型。在知识图谱中,我们用RDF形式化地表示三元关系。
3.2.2 SPARQL
SPARQL是RDF的查询语言,它基于RDF数据模型,可以对不同的数据集撰写复杂的连接,由所有主流的图数据库支持。
3.2.3 知识图谱的分布式表示——KG Embedding
其实看到 Embedding这个词我们就知道,它是一个向量嵌入。详细来说就是在保留语义的同时,将知识图谱中的实体和关系映射到连续的稠密的低维向量空间。
3.3 知识融合
由于知识图谱中的知识来源广泛,存在知识质量良莠不齐、来自不同数据源的知识重复、知识间的关联不够明确等问题,所以必须要进行知识的融合。知识融合是高层次的知识组织,使来自不同知识源的知识在同一框架规范下进行异构数据整合、消歧、加工、推理验证、更新等步骤,达到数据、信息、方法、经验以及人的思想的融合,形成高质量的知识库。在知识融合过程中,实体对齐、知识加工是两个重要的过程。
知识融合(Knowledge Fusion),也叫数据连接(Data Linking)。目的是在不同的数据集中找出一个实体的描述记录,主要目的是对不同的数据源中的实体进行整合,形成更加全面的实体信息。典型的工具为Dedupe(一个基于python的工具包)和LIMES。
3.4 知识推理
知识推理则是在已有的知识库基础上进一步挖掘隐含的知识,从而丰富、扩展知识库。在推理的过程中,往往需要关联规则的支持。由于实体、实体属性以及关系的多样性,人们很难穷举所有的推理规则,一些较为复杂的推理规则往往是手动总结的。对于推理规则的挖掘,主要还是依赖于实体以及关系间的丰富情况。知识推理的对象可以是实体、实体的属性、实体间的关系、本体库中概念的层次结构等。知识推理方法主要可分为基于逻辑的推理与基于图的推理两种类别。
按照解决方法分类可分为:基于描述逻辑的推理、基于规则挖掘的推理、基于概率逻辑的推理、基于表示学习与神经网络的推理。按照推理类型分类可分为:缺省推理、连续变化推理、空间推理、因果关系推理等等。
3.5 知识问答
知识问答(Knowledge-Based Question Answering, KBQA)是基于知识库的问题回答,它以直接而准确的方式回答用户自然语言提问的自动问答系统,它将构成下一代搜索引擎的基本形态。
四、知识图谱的应用
知识图谱为互联网上海量、异构、动态的大数据表达、组织、管理以及利用提供了一种更为有效的方式,使得网络的智能化水平更高,更加接近于人类的认知思维。典型的应用如语义检索、智能问答等等。
这就是整个知识图谱的概述部分,本文到这也就结束了,因为多为概念性的东西,所以借鉴了知识图谱基本概念这篇文章,下一篇文章开始相应的技术介绍~