知识图谱小综述
概述
知识图谱即为一种结构化的语义知识库,在描述物理世界中的各种概念及其相互联系方面具有显著作用。该模型通过将数据粒度由文档级优化至数据级,并整合海量信息资源,在实现系统快速响应的同时也能进行高效推理。
在一项任务中,只要有关系分析的需求,知识图谱就“有可能”派的上用场。
将知识图谱理解成多关系图
知识图谱应用的前提是已经构建好了知识图谱
知识图谱的表示
当一个知识图谱拥有属性时,我们可以用属性图(Property Graph)表示。
除了属性图之外,知识图谱也可采用RDF形式表示,并由大量三元组实例(Triple实例)构成。
一 、信息抽取
构建的过程必须依赖于从多个来源中提取信息。对于垂直领域中的知识图谱而言,其主要来源包括两类:一类源于业务自身的信息,这些信息一般储存在内部数据库中,并采用系统的格式进行组织;另一类源自互联网公开获取的数据,这类信息多以网页形式存在,因此呈现非结构化的特征。
信息抽取的难点在于处理非结构化数据。
大致由如下的步骤组成:
a. 实体识别技术(Entity Recognition Technology)
b. 关系抽取(Relation Extraction)
二 、知识融合
实体统一(Entity Resolution),例如,“NYC”与“New York”的名称虽然不同,在实际中都指向同一个城市——纽约(New York City),应被整合为同一个条目以避免混淆或重复。通过实施实体统一策略不仅可以缩减整体 entity 的种类数量,还可以有效降低知识库图谱的空间分布特征(即 Sparsity)。
b. 核心提及消解(Coreference Resolution)在文本中出现的 "it"、"he"、"she" 这些代词究竟指代何物?例如,在本文中被标记的两个 "it" 实例均指向 "hotel" 这个实体。
三 、知识加工
四 、知识更新(对于已经有一定规模的知识库而言才需要去考虑)
五 、知识存储(Neo4j数据库)
核心挑战:构建一个知识图谱系统的过程,在于基于对业务本质的认识以及对其结构和机制的深入设计。
是否要用到知识图谱的决策:

数据源
数据源而言,分为结构化数据,半结构化数据和无结构数据三类。
- 结构化的数据(如关系数据库)
- 非结构化的数据(包括图片、音频和视频)
- 半结构化的数据包括XML、JSON以及百科类格式
架构
逻辑架构
在逻辑上,我们通常将知识图谱划分为两个层次:数据层和模式层。
例子
模式层:实体-关系-实体,实体-属性-性值
数据层:比尔盖茨-妻子-梅琳达·盖茨,比尔盖茨-总裁-微软
技术架构

知识图谱的构建
构建的方式分为自顶向下和自底向上
知识图谱的核心单元是基于‘实体(Entity)-关系(Relationship)-实体(Entity)’这一三元组结构构建的知识单元体系
- 数据信息的提取:基于多样化的数据源系统中识别出关键要素及其关联性,在此基础之上构建起系统的知识架构;
- 新获取的知识内容中需进行协调处理以解决不一致性问题(其中某些概念可能具有多维度表征特征);
- 知识精炼:经过筛选整理的质量标准达标项可正式纳入数据库系统之中(其中一部分需人工审核以确保数据准确无误)。
信息抽取
实体抽取、关系抽取和属性抽取。
实体抽取
实体识别
命名实体识别(named entity recognition,NER)
从文本数据集中自动识别出命名实体。
关系抽取
将实体与实体的关系打上标签
有监督的学习方法:该方法将关系抽取任务视为分类问题,并根据训练数据提取有效的特征后,在线训练各种分类模型。该方法的问题在于需要大量人工标注的数据集进行训练。
半监督的学习方法:该方法主要基于Bootstrapping算法进行关系抽取。首先初始化若干种子实例后,在迭代过程中从数据中抽取对应的关系模板和更多实例。
无监督的学习方法:该方法假设具有相同语义相似性的实体对具有相同的上下文信息。因此可以利用每个实体对对应的上下文信息来表示该实体对的语义关系,并对所有实体对的语义关系进行聚类分析。
在以下三种方法中,在监督学习法主要由于能够提取并充分运用特征,在这些指标如高准确率和高召回率上表现出色,并且尤其受到广泛关注的一种重要技术手段。
远程监督(Distant Supervision)算法归类于一种典型的有监督学习方法。它依托于现有的知识图谱系统来推导出更多的相关信息内容,并可以说是一种优化策略。
基于DeepDive的抽取系统和基于深度学习抽取算法。
DeepDive算法
数据处理->数据标注->学习推理->错误分析
人工定义一些规则去进行主语自动增补
启发式规则
在数据集上实施基本的预处理措施,在此过程中首先筛选出一批输入样本。随后构建词素集合,在这一阶段依据通常规律识别出可能相关的词汇素。最后应用这一系列步骤进行筛选以确定相关词汇素。
质量评价
可以采用F1-Score进行评估,其计算公式为:

精确率P定义为正确识别的实体数量与总识别的实体数量的比率;召回率R则表示正确识别的实体数量占总实际存在的实体数量的比例。图8展示了本文构建的知识抽取模型的整体评估结果,F1值超过80%,充分满足领域内的一致性需求[26],适用于处理涉及润滑系统故障文本的知识抽取任务。
知识融合
实体消歧和共指消解
解决实体含义一对多与多对一的问题
实体消歧
实体消歧技术用于处理同名实体指代不同客观事物的问题
共指消解技术
用于处理多种表达方式对应同一实体对象的问题;
利用余弦距离与Jaccard相关系数的综合运用方法,能够度量润滑系统故障实体间的相似程度。通过设定阈值来判断待配对实体是否存在配对关系,并完成知识融合过程。

A(s)为实体s的属性字符串,Sim值越大,就代表两者的语义相似度就越高
结合Jaccard相关系数和余弦距离来综合判断是否融合为同一实体。
知识加工
知识加工主要包括3方面内容:本体构建、知识推理和质量评估。
知识推理
这块的算法主要包括3大类:一种是基于逻辑运算的推理过程、一种是基于图论模型进行数据处理和分析、还有一种是利用深度学习算法进行模式识别。
质量评估
可以通过量化知识系统的可信度来优化知识库的质量;具体而言,在处理知识时可以通过剔除低置信度的知识片段来提升整体质量。
知识更新
对于有一定体量的知识库才需要去考虑知识更新
- 全面更新即指以最新收集的数据全部资料作为输入依据,在原有基础上重新构建知识图谱网络结构。相较于其他方法而言此方案相对简单易行 但其资源消耗较大 并且需要投入大量的人力资源用于系统维护。
- 增量更新基于当前新增的数据信息 向现有的知识图谱系统中动态注入新的节点与关系 该方式在资源利用方面较为经济 但在实际操作中仍需大量人工干预(例如定义相关的规则等) 因此实施难度较大。
知识存储
常见的
图数据库Neo4j
图数据库ArangoDB
Neo4j的优势
所用语言:Java
特点:基于关系的图形数据库
使用许可: GPL,其中一些特性使用 AGPL/商业许可
协议: HTTP/REST(或嵌入在 Java中)
可独立使用或嵌入到 Java应用程序 图形的节点和边都可以带有元数据
很好的自带web管理功能
使用多种算法支持路径搜索
使用键值和关系进行索引为读操作进行优化
支持事务(用 Java api)
使用 Gremlin图形遍历语言支持 Groovy脚本
支持在线备份,高级监控及高可靠性支持使用 AGPL/商业许可
知识图谱的常见应用
机器人智能问答系统
在概率统计领域中, 朴素贝叶斯分类器作为一种分类模型得到广泛应用; 现已成为智能问答技术中的核心应用工具, 在电网、医疗和轨道交通等领域展现出显著的应用价值.
文本情感分析
