知识图谱是结构化的语义知识库,本质上是语义网络(Semantic Network)的知识库,用于迅速描述物理世界中的概念及其相互关系。它通过对错综复杂的文档的数据进行有效的加工、处理、整合来转化为简单、清晰的“实体,关系,实体”的三元组,最后聚合大量知识,从而实现知识的快速响应和推理。
三元组是知识图谱的基本单位。
知识图谱有自顶向下和自底向上两种构建方式。
如果两个节点之间存在关系,他们就会被一条无向边连接在一起,那么这个节点,我们就称为实体(Entity),它们之间的这条边,我们就称为关系(Relationship),就类似于数据库里的ER图。
知识图谱的原始数据类型一般来说有三类(互联网上的三类原始数据):
1.结构化数据(Structed Data):如关系数据库
2.半结构化数据(Semi-Structed Data):如XML、JSON、百科
3.非结构化数据(UnStructed Data):如图片、音频、视频、文本
在知识图谱方面,图数据库比关系数据库灵活的多。
一般有两种选择存储数据的方法,一个是通过RDF(资源描述框架)这样的规范存储格式来进行存储,还有一种方法,就是使用图数据库来进行存储,常用的有Neo4j等,Neo4j系统本身的查询效率高,但唯一的不足就是不支持准分布式。
RDF在设计上的主要特点是易于发布和分享数据,但不支持实体或关系拥有属性,主要还是用于学术的场景,在工业界我们更多的还是采用图数据库(比如用来存储属性图)的方式。
对于垂直领域的知识图谱来说,它们的数据源主要来自两种渠道:一种是业务本身的数据,这部分数据通常包含在公司内的数据库表并以结构化的方式存储;另一种是网络上公开、抓取的数据,这些数据通常是以网页的形式存在所以是非结构化的数据。
知识图谱在架构上分,可以分为逻辑架构和技术架构。
知识图谱在逻辑上可分为模式层(核心,通常采用本体库来管理)与数据层(知识将以事实为单位进行存储)两个层次。
知识图谱的构建主要包含了3个阶段,信息抽取、知识融合、知识加工。
知识图谱不是一次性生成,是慢慢积累的过程。
信息抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术。涉及的关键技术包括:实体抽取,关系抽取,属性抽取。信息抽取的关键问题是如何从***异构数据源***中自动抽取信息得到***候选指示单元***。
实体抽取又称为命名实体识别(named entity recognition,NER),是指从文本数据集中自动识别出命名实体。实体抽取的质量(准确率和召回率)对后续的知识获取效率和质量影响极大,因此是信息抽取中最为基础和关键的部分。
一个完整的知识图谱的构建包含以下几个步骤:1. 定义具体的业务问题 2. 数据的收集 & 预处理 3. 知识图谱的设计 4. 把数据存入知识图谱 5. 上层应用的开发,以及系统的评估。
从算法的角度来讲,有两种不同的应用场景:一种是基于规则的;另一种是基于概率的。鉴于目前AI技术的现状,基于规则的方法论还是在垂直领域的应用中占据主导地位。
*在面向开放域的实体识别和分类研究中,不需要(也不可能)为每个领域或者每个实体类别建立单独的语料库作为训练集。因此,该领域面临的主要挑战是如何从给定的少量实体实例中自动发现具有区分力的模型。
一种思路是根据已知的实体实例进行特征建模,利用该模型处理海量数据集得到新的命名实体列表,然后针对新实体建模,迭代地生成实体标注语料库。
另一种思路是利用搜索引擎的服务器日志,事先并不给出实体分类等信息,而是基于实体的语义特征从搜索日志中识别出命名实体,然后采用聚类算法对识别出的实体对象进行聚类。*
关系抽取是信息抽取领域中的重要任务之一,目的在于抽取文本中的实体对,以及识别实体对之间的语义关系。
目前主流的关系抽取主要分为两种,两类方法各有利弊:
1,远监督标注数据下的关系分类
优:利用远监督思想得到训练数据,可大大减轻标注工作;关系抽取准确率基本在85%以上。
缺:实体识别的错误会传递到关系抽取过程中;同时,分开抽取,也没有充分的利用实体信息;负样本的选取也是决定着模型好坏。
注:word embedding + position embedding 成为输入层的标配。Attention和多实例学习的作用明显。图神经网络兼顾了语义和句法结构。
2,实体关系联合抽取
优:实体和关系抽取工作同时进行,关系抽取过程会充分利用实体信息。
缺:模型复杂;基于英文公共数据集,最好模型的准确率只有64%,即只要实体识别准确率在80以上,那么远监督的准确率就会高于联合抽取模型。
知识融合包括2部分内容:实体链接,知识合并。
实体消歧主要采用聚类法,其实也可以看做基于上下文的分类问题,类似于词性消歧和词义消歧。
共指消解主要用于解决多个指称对应同一实体对象的问题。共指消解还有一些其他的名字,比如对象对齐、实体匹配和实体同义。
常见的知识合并需求有两个,一个是合并外部知识库,另一个是合并关系数据库。
RDB2RDF,实质就是将关系数据库的数据换成RDF(资源描述框架)的三元组数据。
知识加工:本体构建、知识推理和质量评估。
知识推理:基于逻辑的推理、基于图的推理和基于深度学习的推理。
质量评估:可以对知识的可信度进行量化,通过舍弃置信度较低的知识来保障知识库的质量。
从逻辑上看,知识库的更新包括概念层的更新和数据层的更新。
知识图谱的内容更新有两种:全面更新,增量更新。
知识图谱工程本身还是业务为重心,以数据为中心。不要低估业务和数据的重要性。它最重要的是知识的推理,而且知识的推理是走向强人工智能的必经之路。但很遗憾的,目前很多语义网络的角度讨论的推理技术(比如基于深度学习,概率统计)很难在实际的垂直应用中落地。其实目前最有效的方式还是基于一些规则的方法论,除非我们有非常庞大的数据集。
目前的知识图谱技术主要用于智能语义搜索、移动个人助理(Siri)以及深度问答系统(Watson),支撑这些应用的核心技术正是知识图谱技术。
在深度问答应用中,系统同样会首先在知识图谱的帮助下对用户使用自然语言提出的问题进行语义分析和语法分析,进而将其转化成结构化形式的查询语句,然后在知识图谱中查询答案。比如,如果用户提问:『如何判断是否感染了埃博拉病毒?』,则该查询有可能被等价变换为『埃博拉病毒的症状有哪些?』,然后再进行推理变换,最终形成等价的三元组查询语句,如(埃博拉,症状,?)和(埃博拉,征兆,?)等。如果由于知识库不完善而无法通过推理解答用户的问题,深度问答系统还可以利用搜索引擎向用户反馈搜索结果,同时根据搜索结果更新知识库,从而为回答后续的提问提前做出准备。
参考文章:
https://www.cnblogs.com/huangyc/p/10043749.html#_label4
https://www.jiqizhixin.com/articles/2018-06-20-4
表示学习旨在将研究对象的语义信息表示为稠密低维实值向量,知识表示学习则面向知识库中的实体和关系进行表示学习.该技术可以在低维空间中高效计算实体和关系的语义联系,有效解决数据稀疏问题,使知识获取、融合和推理的性能得到显著提升。
与表示学习相比,独热表示无需学习过程,简单高效,在信息检索和自然语言处理中得到广泛应用。