知识图谱
AIAI Summary (BLUF)
本文从零开始讲解知识图谱,涵盖定义、逻辑与技术架构、构建流程(信息抽取、知识融合、知识加工)及更新方式。适合想系统了解知识图谱的读者,快速掌握核心概念和关键步骤。
核心洞察
先说结论:这篇文章把知识图谱从零搭到能用的全流程拆得很清楚,但最容易卡住项目的环节,往往是知识融合。实体链接里同名不同义、同义不同名的问题,处理不好,后面所有推理都白搭。
核心结论
知识图谱概念由谷歌于2012年正式提出,最初目标是通过语义化知识提升搜索引擎的智能性。
在处理复杂关联查询时,图数据库相比关系数据库优势明显,进行2度、3度关联查询时效率可高出几千倍甚至几百万倍。
知识融合是知识图谱构建中最容易卡住项目的环节,核心难点在于实体链接中的“同名不同义”和“同义不同名”问题,需要分别通过实体消歧和共指消解来解决。
知识加工包括本体构建、知识推理、质量评估三部分,其中本体构建需要通过实体并列关系相似度计算和上下位关系抽取,才能形成类似“阿里巴巴、腾讯属于公司,手机是另一类”的层级化概念结构。
1. 前言
谷歌搜索、聊天机器人、大数据风控、证券投资、智能医疗、自适应教育、推荐系统,这些领域现在都在用知识图谱。它在技术圈的热度也一年比一年高。这篇文章用通俗的方式讲知识图谱是怎么回事,重点讲从零搭建一个知识图谱要经历哪些步骤,每个阶段要考虑什么。
知识图谱这个概念,2012年由谷歌正式提出,目标是让搜索引擎更聪明。2013年之后,学术界和工业界开始大量讨论。到今天,智能搜索、智能问答、个性化推荐、情报分析、反欺诈都在用知识图谱。它把互联网上的信息、数据和链接关系整理成知识,让这些资源更容易被计算机理解、计算和评价,也慢慢沉淀出一套网络语义知识库。知识图谱的语义处理能力和开放互联能力,让“知识之网”这个设想有了落地的基础。
2. 知识图谱定义
知识图谱是结构化的语义知识库,用来描述物理世界中的概念和它们之间的关系。
它把复杂文档里的数据做加工、处理、整合,转成简单的“实体,关系,实体”三元组,再聚合大量知识,实现快速响应和推理。
构建知识图谱有两种方式:自顶向下和自底向上。自顶向下是借助百科类网站这类结构化数据源,从高质量数据中提取本体和模式,加入知识库。自底向上是用技术手段从公开采集的数据里提取资源模式,选置信度高的新模式,人工审核后再加入知识库。
下面这张图就是一个简单的知识图谱。

图中的节点,如果有关系,就用一条边连起来。节点叫实体,边叫关系。
实体是能独立存在、可以区分的事物,是知识图谱里最基本的元素。不同实体之间可以有不同关系。比如图中的“中国”“北京”“16410平方公里”。
关系连接不同的实体,表示它们之间的联系。比如“首都”“人口”“面积”。通过关系,整个图才连成一张大网。
实体、关系、实体,这三个组成一个三元组,也是知识图谱的核心。
3. 数据类型和存储方式
知识图谱的原始数据,一般有三种类型,这也是互联网上的三类原始数据:
- 结构化数据:比如关系数据库
- 半结构化数据:比如XML、JSON、百科
- 非结构化数据:比如图片、音频、视频、文本
存这些数据一般有两种选择。一种是按资源描述框架(RDF)这种规范格式来存,另一种是用图数据库,比如Neo4j。
RDF结构:

Neo4j结构:

在知识图谱这件事上,图数据库比关系数据库灵活得多。数据量小的时候,关系数据库效率也不差。图谱一旦复杂起来,图数据库的优势就出来了。做2度、3度关联查询的时候,图数据库的效率能比关系数据库高出几千倍甚至几百万倍。
4. 知识图谱的架构
知识图谱在架构上分逻辑架构和技术架构。
4.1 逻辑架构
逻辑上分两层:模式层和数据层。
模式层在数据层之上,是知识图谱的核心。一般用本体库来管理模式层。本体是结构化知识库的概念模板,用本体库建出来的知识库,层次结构更清楚,冗余也更少。模式层描述的是“实体,关系,实体”和“实体,属性,属性值”。
数据层由一系列事实组成,知识以事实为单位存储。事实用三元组表达,比如(比尔·盖茨,妻子,梅琳达·盖茨)、(比尔·盖茨,总裁,微软)。存储介质一般选图数据库,开源的Neo4j、Twitter的FlockDB、sones的GraphDB都可以。
4.2 技术架构
整体架构见下图,虚线框内是知识图谱的构建过程,也是知识图谱的更新过程。

虚线框最左边是三类输入数据。只要对构建知识图谱有帮助,这些数据可以来自任何地方。
虚线框里面是整个构建过程,主要分三个阶段:信息抽取、知识融合、知识加工。
最右边是生成的知识图谱。这个架构是循环往复、迭代更新的。知识图谱不是一次性建好的,是慢慢积累出来的。
信息抽取:从各种数据源里提取实体、属性和实体间的关系,形成本体化的知识表达。
知识融合:把新知识整合起来,消除矛盾和歧义。同一个实体可能有多种叫法,同一个称谓也可能对应好几个实体。
知识加工:融合之后的新知识要经过质量评估,部分要人工参与甄别,合格之后才能加入知识库。
这三个过程是知识图谱构建的主体,每一个都有自己的难点。
5. 信息抽取
信息抽取是构建知识图谱的第一步。核心问题是怎么从异构数据源中自动抽取信息,得到候选知识单元。
它做的事情,是从半结构化和无结构数据中自动抽取实体、关系、属性,把它们变成结构化信息。关键技术有三块:实体抽取、关系抽取、属性抽取。
5.1 实体抽取
实体抽取也叫命名实体识别,就是从文本里自动识别出命名实体。这块的准确率和召回率会直接影响后续知识获取的效率和质量,所以它是信息抽取里最基础也最关键的一环。

2012年,Ling等人归纳出112种实体类别,用条件随机场做实体边界识别,再用自适应感知机算法给实体自动分类,效果不错。
但互联网内容一直在变,人工预定义实体分类体系已经跟不上需求,所以出现了面向开放域的实体识别和分类研究。开放域不需要、也不可能为每个领域或实体类别单独建语料库。难点变成了:只给少量实体实例,怎么自动发现一个有区分力的模型。
一条思路是先根据已知的实体实例做特征建模,用这个模型去处理海量数据集,得到新的命名实体列表,再针对新实体建模,迭代生成实体标注语料库。
另一条思路是用搜索引擎的服务器日志。事先不给出实体分类等信息,直接根据实体的语义特征,从搜索日志中识别出命名实体,然后用聚类算法把识别出的实体聚在一起。
5.2 关系抽取
做完实体抽取,得到的是一堆离散的命名实体。想拿到语义信息,还得从语料里把实体之间的关联关系抽出来。关系把实体和概念连起来,知识才能形成网状结构。关系抽取要解决的就是这个问题。

方法这条线走过几个阶段:
- 人工构造语法和语义规则,做模式匹配。
- 用统计机器学习方法。
- 用基于特征向量或核函数的有监督学习方法。
- 研究重点转向半监督和无监督。
- 开始研究面向开放域的信息抽取方法。
- 有人把面向开放域的方法和面向封闭领域的传统方法结合起来。
5.3 属性抽取
属性抽取的目标,是从不同信息源里采集特定实体的属性信息。比如一个公众人物,可以从公开信息里拿到昵称、生日、国籍、教育背景。属性抽取把这些信息汇集起来,把实体的属性画完整。
做法上,可以把属性看成实体和属性值之间的一种名词性关系,这样属性抽取就变成了关系抽取。
具体手段有三种。一是用规则和启发式算法抽结构化数据。二是借助百科类网站的半结构化数据,自动生成训练语料,训练实体属性标注模型,再拿这个模型去抽非结构化数据。三是用数据挖掘方法,直接从文本里挖掘实体属性和属性值之间的关系模式,借此定位属性名和属性值。
6. 知识融合
通过信息抽取,我们从原始的非结构化和半结构化数据里拿到了实体、关系、属性。
把这些信息比作拼图碎片的话,它们现在散乱无章,里面可能有别的拼图的碎片,也可能有专门干扰人的错误碎片。碎片之间的关系是扁平的,缺乏层次和逻辑,大量冗余和错误夹杂在中间。一堆碎片怎么变成一张完整的图?这就是知识融合要做的事。

知识融合分两块:实体链接和知识合并。
6.1 实体链接
实体链接,就是把文本里抽出来的实体对象,匹配到知识库中对应的正确实体。
基本做法是:先根据给定的实体指称项,从知识库里选一组候选实体,然后通过相似度计算,把指称项链接到正确的那个实体。
早年的研究,只关心怎么把从文本里抽到的实体链接到知识库,忽略了同一文档里实体之间的语义联系。后来才开始利用实体的共现关系,把多个实体同时链接进知识库,也就是集成实体链接。
实体链接的流程是这样的:先从文本里通过实体抽取拿到实体指称项。接着做实体消歧和共指消解,判断知识库里同名的实体是不是同一个意思,以及知识库里还有没有其他实体跟当前指称表示同一个对象。确认了对应的正确实体之后,再做链接。
实体消歧解决的是同名实体有歧义的问题。它会根据当前语境来准确建立链接,主要用聚类法,也可以理解成基于上下文的分类问题,跟词性消歧、词义消歧是同类思路。
共指消解解决的是多个指称对应同一个实体的问题。一次会话里,好几个说法可能指向同一个对象,共指消解把这些指称项关联、合并到正确的实体上。它在信息检索和自然语言处理里都很重要,研究很多。它还有别的叫法,比如对象对齐、实体匹配、实体同义。
6.2 知识合并
构建知识图谱的过程里,还可以从第三方知识库产品或已有的结构化数据拿知识输入。常见的知识合并需求有两个:合并外部知识库,合并关系数据库。
把外部知识库融合到本地知识库,要处理两个层面的问题。
数据层要融合实体的指称、属性、关系、类别,重点是避免实例和关系的冲突,别造成冗余。模式层要把新得到的本体融入已有的本体库。
合并关系数据库,也是很多企业建图谱时绕不开的一步。关系数据库里的历史数据质量高,是知识图谱的重要来源。为了把这些结构化数据转成知识图谱,一般用RDF做数据模型。这个转换过程叫RDB2RDF,说白了就是把关系数据库的数据换成RDF三元组。
7. 知识加工
信息抽取帮我们从原始语料里拿到了实体、关系、属性这些知识要素,知识融合又消除了指称和实体之间的歧义,得到一系列基本事实。
但事实不等于知识。
想得到结构化、网络化的知识体系,还要经过知识加工。知识加工包括三块:本体构建、知识推理、质量评估。
7.1 本体构建
本体可以理解成公认的概念集合、概念框架,比如“人”“事”“物”。
本体可以人工编辑,借助本体编辑软件手动构建。也可以用数据驱动的方式自动构建。人工方式工作量大,还难找专家,所以现在主流的全局本体库产品,大多从特定领域的现有本体库出发,用自动化构建技术逐步扩展。
自动化本体构建分三个阶段:
- 实体并列关系相似度计算
- 实体上下位关系抽取
- 本体生成
举个例子。知识图谱刚得到“阿里巴巴”“腾讯”“手机”三个实体的时候,可能觉得它们三者差别不大。算完相似度,会发现阿里巴巴和腾讯更像,跟手机差别大。这是第一步的作用。但到这一步,图谱仍然没有上下层级的概念,它不知道阿里巴巴和手机根本不属同一类。第二步上下位关系抽取,就是来解决这个的。三步都走完,图谱才会明白:阿里巴巴和腾讯都是“公司”这个实体下的细分,手机是另一类东西。

7.2 知识推理
本体构建完,知识图谱的雏形就出来了。但这时候,图谱里很多关系还是残缺的,缺失值严重。可以用知识推理来做进一步的知识发现。
比如这么一条推理:A是B的配偶,B是C的主席,C坐落在D,那我们可以推出A生活在D这个城市。按这个规则,去图里找有没有别的路径满足条件,有就把A和D关联起来。再往外想一步:推理链上如果有一环是“B是C的主席”,那“B是C的CEO”“B是C的COO”是不是也能作为推理策略的一环?
知识推理的对象也不局限于实体之间的关系。实体的属性值、本体的概念层次关系都可以推理。知道某实体的生日属性,能推出年龄属性。知道(老虎,科,猫科)和(猫科,目,食肉目),能推出(老虎,目,食肉目)。
推理算法分三大类:基于逻辑的推理、基于图的推理、基于深度学习的推理。

7.3 质量评估
质量评估的作用,是给知识的可信度打分。置信度低的知识会被舍弃,这样知识库的质量才有保障。
8. 知识更新
从逻辑上看,知识库更新分概念层更新和数据层更新。
概念层更新,是新增数据带来了新概念,需要自动把新概念加进概念层。数据层更新,主要是新增或更新实体、关系、属性值。做数据层更新时,要考虑数据源可不可靠、数据一不一致,有没有矛盾或冗余,然后选择那些在多个数据源里出现频率高的事实和属性加入知识库。
知识图谱的内容更新有两种方式。
全面更新,是用更新后的全部数据当输入,从零开始重新构建。方法简单,但资源消耗大,还要大量人力去维护系统。
增量更新,只把新增数据作为输入,往现有知识图谱里添加新知识。资源消耗小,但现在仍然需要大量人工干预,比如定义规则,做起来很困难。
9. 总结
知识图谱把互联网信息表达成更接近人类认知世界的形式,也为海量信息的组织、管理和利用提供了一套更好的方案。目前知识图谱技术主要用在智能语义搜索、移动个人助理(Siri)、深度问答系统(Watson)这些方向。
智能语义搜索里,用户发起查询后,搜索引擎借助知识图谱对关键词做解析和推理,把关键词映射到图谱里的一个或一组概念上,再根据概念的层次结构,向用户返回图形化的知识结构。这就是我们在谷歌和百度搜索结果里看到的知识卡片。
深度问答里,系统会先用知识图谱对自然语言问题做语义分析和语法分析,转成结构化查询语句,再去知识图谱里查答案。比如用户问“如何判断是否感染了埃博拉病毒?”,系统可能把问题等价成“埃博拉病毒的症状有哪些?”,再做推理变换,最后形成(埃博拉,症状,?)和(埃博拉,征兆,?)这样的三元组查询。如果知识库不完善,推理答不出来,系统还可以用搜索引擎反馈搜索结果,同时根据搜索结果更新知识库,为后续提问做准备。
参考:https://www.cnblogs.com/huangyc/p/10043749.html
常见问题(FAQ)
什么是知识图谱?
知识图谱是结构化的语义知识库,用“实体-关系-实体”三元组描述概念及其关联。它把复杂文档数据加工成结构化知识,支持快速推理和响应,构建方式有自顶向下和自底向上。
知识图谱的构建流程是什么?
构建分三阶段:信息抽取(实体、关系、属性抽取)、知识融合(实体链接和知识合并,消除歧义)、知识加工(质量评估和人工审核)。该过程循环迭代,不断更新知识库。
知识图谱的数据存储方式有哪些?
知识图谱存储有两种:按RDF规范存储,或用图数据库如Neo4j。图数据库在处理复杂关联查询时效率远高于关系数据库,适合大规模图谱。
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。



