一文让您深度掌握“知识图谱”

人工智能背后具有两大技术驱动力:深度学习和知识图谱。关于二者的具体介绍如下:
深度学习:隐性的模型,通常是面向某一个具体任务,比如说下围棋、识别猫、人脸识别、语音识别等等。
通常而言,深度学习在很多任务上能够取得非常优秀的结果,但它也有较大的局限性,比如说它需要海量的训练数据,以及非常强大的计算能力,难以进行任务上的迁移,而且可解释性比较差。
知识图谱:人工智能的另外一大技术驱动力,能够广泛地适用于不同的任务。相比深度学习,知识图谱中的知识可以沉淀,可解释性非常强,类似于人类的思考。
很多深度学习的算法,都是一些“黑盒子”:工程调参数,大规模标注样本数据,然后在“黑盒子”里跑数据。跑出来结果知其然,而不知其所以然。
此外,深度学习的局限性也日益显现:依赖大规模标注数据,模型的结果会与人的先验知识或者专家知识相冲突。因此,相比深度学习算法,像人类一样具备分析和推理能力的“大脑”或许更有帮助,而知识图谱就是这样的“大脑”。
本期小编携手苍穹数据智能,带你一起了解下知识图谱。
1 什么是知识图谱
2012 年 5 月 17 日,Google 正式提出了知识图谱(Knowledge Graph)的概念,其初衷是为了实现更智能的搜索引擎,优化搜索返回的结果,提升用户搜索质量及体验。
随着信息服务应用的不断发展,聊天机器人、大数据风控、证券投资、个性化推荐、HR人岗匹配等,无一不跟知识图谱相关,其在技术领域的热度也在逐年上升。
知识图谱,从学术角度而言,它是一种大型语义网络的知识库;从实际应用角度而言,可以简单理解为多关系图。
那什么叫多关系图呢?学过数据结构的都应该知道什么是图(Graph)。图由节点(Vertex)和边(Edge)构成,但这些图通常只包含一种类型的节点和边。而多关系图一般包含多种类型的节点边,如下图所示:

多关系图旨在描述客观世界的概念实体事件以及事件之间的关系。
它以实体概念为节点,以关系为边,将分散的知识与信息连接起来,从人类对世界认知的角度,阐述世间万物之间的关系,既容易被人类解读,又容易被计算机来处理和加工,具有可解析性和可推理性。
由于图谱的方式更贴近人类大脑的思维方式,多关系图可以作为一种信息记录工具,也可以辅助人类思考,更可以提供从“关系”的角度去分析问题的能力。
以一张简单的知识图谱为例:

如图所示,如果两个节点之间存在关系,就会被一条无向边连接在一起。其中,节点称为实体(Entity),连接节点间的边称为关系(Relationship)。
知识图谱的基本单位,便是由“实体(Entity)-关系(Relationship)-实体(Entity)”构成的三元组。三元组也是知识图谱的核心。
实体: 指的是具有可区别性且独立存在的某种事物,如图中的“中国”、“北京”、“16410平方公里”等。实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。
关系: 关系是连接不同的实体,指代实体之间的联系,如图中的“人口”、“首都”、“面积”等。通过关系节点把知识图谱中的节点连接起来,形成一张大图。
2 如何构建知识图谱
应用知识图谱的前提是已经构建好了知识图谱。构建知识图谱,需要经过知识建模、知识抽取、知识清洗和融合、知识存储等四个过程,是持续迭代的系统工程,不可能一蹴而就。
但需注意,知识图谱本身仍是以业务和数据为重心,不能低估业务和数据的重要性。
Step1 知识建模
构建知识图谱,首先需要做好知识模型的定义。
定义知识模型,需从相关领域的实际应用场景和具体需解决的问题出发,定义该领域里概念的层次结构和概念之间的关系类型。为了确保知识图谱的严谨性和准确性,该领域的知识专家需参与定义知识模型的过程。
Step2 知识抽取
数据是构建知识图谱的基础。梳理数据非常重要,同时也最耗时间。具体需要什么数据,依赖于要解决的问题和应用场景。
一般而言,基于问题或者场景,梳理出领域相关的问题和数据、领域的词典,或者领域专家的经验规则,再结合外部百科数据或者开放知识图谱的数据,最终确定所需构建的知识图谱的数据。
数据类型一般有2种:
一种是业务本身的数据,通常用关系型数据库并以结构化的方式存储,只需简单预处理或者转换。
一种是网络上公开、抓取的数据,需要借助爬虫、NLP等技术来处理,主要涉及以下操作:爬虫、实体抽取、关系抽取、属性抽取。
爬虫需要解决登录、反爬等问题。该问题又是一个大的命题,非本文重点,因此这里不具体展开讨论。
抽取的质量(准确率)对后续的知识获取效率和质量影响极大,因此是信息抽取中最为基础和关键的部分。
根据领域专家的经验规则来进行抽取的准确率是最高的,其次是采用深度学习进行抽取。
小TIPS:
进行数据抽取时,需根据业务数据、领域的词典,足够多的标注数据进行特征建模,利用测试数据对模型进行验证。
当准确率达到一定标准后,才能使用,否则需要对业务数据、领域的词典,领域专家的经验规则、标注数据进行修正或者添加,直到准确率达到一定标准后为止。
该过程非常漫长,且模型投入使用时,往往也需要人工审核环节,以确保知识质量。
Step3 知识清洗和融合
知识来源广泛,有业务本身的数据,也有不同网络上的数据,存在质量良莠不齐、知识重复、知识间的关联不够明确等问题。
因此,必须要进行知识的清洗和融合,将不同来源的知识在同一框架规范下进行异构数据清洗、整合、消歧、加工、推理验证、更新等,最终形成高质量的知识库。
该过程比较棘手,非常具有挑战性,通常会遇到以下两种情况:
情况1:有些实体的名称相同,但其实是两个不同的实体,需要进行区分。
例如:两个实体的名称都为苹果,如下图,但一个是指苹果公司,苹果设备,另外一个是指苹果这种水果。

情况2:有些实体名称不一样,但其实是指向同一个实体,比如“中华人民共和国”、“中国”和 “China”,“北京大学”和“北大”。
面对这两种情况,通常采用领域专家的经验规则来解决,也可以采用聚类的方法,定义合适的相似度的阈值,根据实体描述的相似度和实体属性的相似度两个维度进行聚类。
Step4 知识存储
知识存储的方式主要有两种:一种是基于RDF(Resource Description Framework,资源描述框架)的存储,另一种是基于图数据库的存储。
RDF的一个重要的设计原则是数据的易发布以及共享;
图数据库的重点则放在了高效的图关联查询和搜索上,使用场景更广。
当然,如果需要设计的知识图谱非常简单,数据量比较少,而且查询也不会涉及到1度以上的关联查询,也可以选择用关系型数据库存储。
但是随着知识图谱复杂程度的提升(实际场景中的实体和关系普遍都比较复杂),图数据库的优势会慢慢体现出来,尤其是在关联查询的效率上会高出几千倍甚至几百万倍。
一般而言,图数据库适合体量较大的知识存储,复杂关系计算等场景,具体优点如下:
可以很自然地表达现实世界中的实体及其关联关
一文让您深度掌握“知识图谱”
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



