知识图谱构建流程与实现技术浅谈

一些预备知识

结构化、半结构化与非结构化数据

知识图谱的原始数据类型一般来说有三类(也是互联网上的三类原始数据):

  • 结构化数据(Structed Data):如关系数据库
  • 半结构化数据(Semi-Structed Data):如XML、JSON、百科
  • 非结构化数据(UnStructed Data):如图片、音频、视频、文本

实体

实体可以简单理解为一个对象,它是知识图谱最基本的单位

多关系图

那什么叫多关系图呢? 学过数据结构的都应该知道什么是图(Graph)。图是由节点(Vertex)和边(Edge)来构成,但这些图通常只包含一种类型的节点和边。但相反,多关系图一般包含多种类型的节点和多种类型的边。比如左下图表示一个经典的图结构,右边的图则表示多关系图,因为图里包含了多种类型的节点和边。这些类型由不同的颜色来标记。

在这里插入图片描述

图数据库

在这里插入图片描述

三元组

三元组是指形如((x,y),z)的集合,三元组是计算机专业的一门公共基础课程——数据结构里的概念。主要是用来存储稀疏矩阵的一种压缩方式,也叫三元组表。假设以顺序存储结构来表示三元组表(triple table),则得到稀疏矩阵的一种压缩存储方式,即三元组顺序表,简称三元组表。

在这里插入图片描述

掀开知识图谱的神秘面纱

我会先讲什么是知识图谱,再介绍其诞生背景,虽然看上去逻辑不对,但是我觉得只有大概了解了什么是知识图谱后才能更好地品味其诞生的背景

什么是知识图谱

知识图谱,英文是Knowledge Graph,简称KG

知识图谱由谷歌在2012年最早提出,目的是提升其搜索质量。知识图谱常用的表示方法包括(实体1,关系,实体2)三元组,(概念,属性,属性值)三元组。以三元组表示,则可以选择图数据库作为存储介质,如开源的Neo4j,Twitter的FlockDB,sones的GraphDB等。

在当前的人工智能大数据时代,知识图谱作为重要的知识表示方式之一,为机器语言认知提供了丰富的背景知识,使得机器对人类自然语言的理解更加精确。知识图谱本质上是语义网络(semantic network)的知识库,从应用的角度可以说知识图谱是一种多关系图谱(multi-relational graph)。

百度百科对知识图谱的定义更加侧重于知识图谱的可视化,但其实知识图谱背后的逻辑不是可视化,并且可视化只是知识图谱构建过程中最简单的一环。目前对知识图谱并没有一个很标准的定义,当然了,定义只是定义,这并不妨碍我们从多角度去看待知识图谱:

  • 在Web视角下,知识图谱如同简单文本之间的超链接一样,通过建立数据之间的语义链接,支持语义搜索
  • 在自然语言处理视角下,知识图谱就是从文本中抽取语义和结构化的数据。
  • 在知识表示视角下,知识图谱是采用计算机符号表示和处理知识的方法。
  • 在人工智能视角下,知识图谱是利用知识库来辅助理解人类语言的工具。
  • 在数据库视角下,知识图谱是利用图的方式去存储知识的方法。

知识图谱呢,它不是一个单独的技术,可以理解为一个大杂烩,你如果需要构建一个知识图谱呢,它可能牵扯很多技术,最最关键的就是自然语言处理,即NLP,这是最最关键的。其次呢还会涉及爬虫、数据库、计算机视觉、语言学、可视化等。

在这里我还是需要强调一下,我特意可视化放在了最后,还是想给大家提个醒,可视化确实是构建图谱最简单的一环,他只是将数据以一种喜闻乐见的形式表现了出来,但可视化背后的逻辑才是最最以关键的,也是最最困难的。其实知识图谱这个概念更加偏重后端,而不是前端。

知识图谱的诞生背景

随着移动互联网的发展,万物互联成为了可能,这种互联所产生的数据也在爆发式地增长,而且这些数据恰好可以作为分析关系的有效原料。如果说以往的智能分析专注在每一个个体上,在移动互联网时代则除了个体,这种个体之间的关系也必然成为我们需要深入分析的很重要一部分。 在一项任务中,只要有关系分析的需求,知识图谱就“有可能”派的上用场。

知识图谱的类别

知识图谱的表示

在知识图谱里,我们通常用“实体(Entity)”来表达图里的节点、用“关系(Relation)”来表达图里的“边”。实体指的是现实世界中的事物比如人、地名、概念、药物、公司等,关系则用来三元组表达不同实体之间的某种联系,比如人-“居住在”-北京、张三和李四是“朋友”、逻辑回归是深度学习的“先导知识”等等。

现实世界中的很多场景非常适合用知识图谱来表达。 比如一个社交网络图谱里,我们既可以有“人”的实体,也可以包含“公司”实体。人和人之间的关系可以是“朋友”,也可以是“同事”关系。人和公司之间的关系可以是“现任职”或者“曾任职”的关系。 类似的,一个风控知识图谱可以包含“电话”、“公司”的实体,电话和电话之间的关系可以是“通话”关系,而且每个公司它也会有固定的电话。

在这里插入图片描述

在现实世界中,实体和关系也会拥有各自的属性,比如人可以有“姓名”和“年龄”。当一个知识图谱拥有属性时,我们可以用属性图(Property Graph)来表示。下面的图表示一个简单的属性图。李明和李飞是父子关系,并且李明拥有一个138开头的电话号,这个电话号开通时间是2018年,其中2018年就可以作为关系的属性。类似的,李明本人也带有一些属性值比如年龄为25岁、职位是总经理等。

在这里插入图片描述

知识图谱的存储

可以用RDF来表示,也可以用以Neo4j为首的原生图数据库表示。它们之间的区别如下图所示。RDF一个重要的设计原则是数据的易发布以及共享,图数据库则把重点放在了高效的图查询和搜索上。其次,RDF以三元组的方式来存储数据而且不包含属性信息,但图数据库一般以属性图为基本的表示形式,所以实体和关系可以包含属性,这就意味着更容易表达现实的业务场景。

RDF表示法:

在这里插入图片描述

Neo4j原生图数据库表示法:

在这里插入图片描述

其中RDF主要还是用于学术的场景,在工业界我们更多的还是采用图数据库(比如用来存储属性图)的方式。

在这里插入图片描述

部分图数据库排行榜:

在这里插入图片描述

知识图谱vs思维导图

很多人会把知识图谱和思维导图混淆,我记不得是谁了,说把只是总结一下,做个知识图谱,我当时震惊了,我想,哇,还把知识抽取出来做成图谱,真的有心了。没想到一看是一个思维导图。

更加偏重于百度百科的定义,希望大家严谨一些。。。。

知识图谱vs深度学习

我们将深度学习归纳为隐性的模型,它通常是面向某一个具体任务,比如说下围棋、识别猫、人脸识别、语音识别等等。通常而言,在很多任务上它能够取得非常优秀的结果,同时它也有非常多的局限性,比如说它需要海量的训练数据,以及非常强大的计算能力,难以进行任务上的迁移,而且可解释性比较差。

另一方面,知识图谱是人工智能的另外一大技术驱动力,它能够广泛地适用于不同的任务。相比深度学习,知识图谱中的知识可以沉淀,可解释性非常强,类似于人类的思考。

在这里插入图片描述

海量数据和大规模分布式计算力,催生了以深度学习为代表的第三次(1993-目前)人工智能高潮。Web 2.0产生的海量数据给机器学习和深度学习技术提供了大量标注数据,而GPU和云计算的发展为深度学习的复杂数值计算提供了必要算力条件。深度学习技术在语音、图像领域均取得了突破性的进展,这表示学习技术成果使得机器首次在感知能力上达到甚至超越了人类的水平,人工智能已经进入感知智能阶段。

然而,随着深度学习被广泛应用,其局限性也愈发明显:

  • 缺乏可解释性:神经网络端到端学习的“黑箱”特性使得很多模型不具有可解释性,导致很多需要人去参与决策,在这些应用场景中机器结果无法完全置信而需要谨慎的使用,比如医学的疾病诊断、金融的智能投顾等等。这些场景属于低容错高风险场景,必须需要显示的证据去支持模型结果,从而辅助人去做决策。
  • 常识(Common Sense)缺失:人的日常活动需要大量的常识背景知识支持,数据驱动的机器学习和深度学习,它们学习到的是样本空间的特征、表征,而大量的背景常识是隐式且模糊的,很难在样本数据中进行体现。比如下雨要打伞,但打伞不一定都是下雨天。这些特征数据背后的关联逻辑隐藏在我们的文化背景中。
  • 缺乏语义理解。模型并不理解数据中的语义知识,缺乏推理和抽象能力,对于未见数据模型泛化能力差。
  • 依赖大量样本数据:机器学习和深度学习需要大量标注样本数据去训练模型,而数据标注的成本很高,很多场景缺乏标注数据来进行冷启动。

在这里插入图片描述

先看几个案例

思知

https://www.ownthink.com/knowledge.html

在这里插入图片描述

辞海

https://www.cihai.com.cn/pages/zhishidaotu

在这里插入图片描述

全历史

https://www.allhistory.com/

在这里插入图片描述

还有一些比较常见的,例如说企查查等

知识图谱的整体架构

一个简单的架构图,如下图所示

在这里插入图片描述

知识图谱的构建

数据信息

知识获取是指从不同来源、不同结构数据中,抽取相关实体、属性、关系、事件等知识。从数据结构划分可以分为结构化数据、半结构化数据和纯文本数据。

结构化数据指的关系型数据库表示和存储的的二维形式数据,这类数据可以直接通过Schema融合、实体对齐等技术将数据提取到知识图谱中。

半结构化数据主要指有相关标记用来分隔语义元素,但又不存在数据库形式的强定义数据,如网页中的表格数据、维基百科中的Infobox等等。这类数据通过爬虫、网页解析等技术可以将其转换为结构化数据。

现实中结构化、半结构化数据都比较有限,大量的知识往往存在于文本中,这也和人获取知识的方式一致。对应纯文本数据获取知识,主要包括实体识别、实体分类、关系抽取、实体链接等技术。

知识抽取

从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的知识表达;

实体抽取

实体抽取又称命名实体识别,是知识图谱的核心单位,从文本中抽取实体是知识获取的一个关键技术,实体抽取的质量(准确率和召回率)对后续的知识获取效率和质量影响极大,因此是信息抽取中最为基础和关键的部分。

文本中识别实体,一般可以作为一个序列标注问题来进行解决。传统的实体识别方法以统计模型如HMM、CRF等为主导,随着深度学习的兴起,BiLSTM+CRF模型备受青睐,该模型避免了传统CRF的特征模版构建工作,同时双向LSTM能更好地利用前后的语义信息,能够明显提高识别效果。

案例:黄晓明,1977年11月13日生于山东省青岛市市南区,中国内地男演员、歌手、商人。2006年他出演武侠剧《神雕侠侣》,2007年凭借民国剧《新上海滩》获得第13届上海电视节白玉兰奖最佳男演员提名,粉丝喜欢称他为教主。

关系抽取

关系抽取是从文本中自动抽取实体与实体之间的特定的语义关系,以补充图谱中缺失的关系。方法包括人工构造予以规则以及模版的方法识别实体关系。

文本语料经过实体抽取,得到的是一系列离散的命名实体,为了得到语义信息,还需要从相关的语料中提取出实体之间的关联关系,通过关联关系将实体(概念)联系起来,才能够形成网状的知识结构。

案例:从“干酪鱼原来是奶酪做的”中抽取出<干酪鱼,食材,奶酪>。

其实可以粗暴地归为分类问题,为什么这么呢?因为最后我们需要得到的是食材这个关系,我们训练一个模型进行多分类就OK了。

属性抽取

属性抽取是从不同信息源中采集特定实体的属性信息。例如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。属性抽取技术能够从多种数据来源中汇集这些信息,实现对实体属性的完整勾画。

案例:黄晓明,1977年11月13日生于山东省青岛市市南区,中国内地男演员、歌手、商人。2006年他在武侠剧《神雕侠侣》中饰演杨过,2007年凭借民国剧《新上海滩》获得第13届上海电视节白玉兰奖最佳男演员提名,粉丝喜欢称他为教主。

属性抽取可以转换为实体抽取+分类问题,因为实体的属性可以看成是实体与属性值之间的一种名称关系。

知识融合

知识融合就是将多个知识库中的知识进行整合,形成一个知识库的过程,知识融合需要解决的问题是实体对齐。

不同数据源的实体收集知识的侧重点不同,可能会指向现实世界的同一个客体,比如有的知识库可能侧重于其本身某个方面的描述,有的知识库可能侧重于描述实体与其它实体的关系,通过实体对齐进行知识融合可以将不同知识库中的知识进行互补融合,形成全面、准确、完整的实体描述。

案例:对于历史人物曹操的描述,在百度百科、互动百科、维基百科等不同的知识库中,描述有一些差别。

数据来源特征描述 百度百科 互动百科 维基百科
曹操所处时代 东汉 东汉末年 东汉末期
曹操主要成就 实行屯田制,安抚流民消灭群雄,统一北方,奠定曹魏政权的基础,开创建安文学,提倡薄葬 统一北方 统一了东汉帝国核心地区

实体对齐主要有两个关键:

  • 实体消岐
  • 指代消岐

实体消岐

在文本中可能同一个实体会有不同的写法,比如说“Angelbaby”就是杨颖的别称,因此“杨颖”和“Angelbaby”指的就是同一个实体。

作用就是对具有相同名称的实体进行区分。例如两个人同名,那就通过性别、工作、兴趣爱好等其他属性进行区分。

指代消岐

指代消岐跟实体消岐类似,都是处理同一个实体的问题。比如上述黄晓明案例中的“他”其实指的就是“黄晓明”。所以指代消解要做的事情就是,找出这些代词,都指的是哪个实体。

知识加工

对于经过融合的新知识,需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分加入到知识库中,以确保知识库的质量。

本体抽取

本体比较抽象,简单理解即为一系列概念,这一系列概念集合能够描述某个具体领域里的一切事物的共有特征,之后概念间又有一定的关系,构成一个具有层级特征的结构。比如足球领域即为一个本体。

本体抽取过程包含三个阶段:

  • 实体并列关系相似度计算
  • 实体上下位关系抽取
  • 本体的生成

举例:当知识图谱得到“阿里巴巴”、“腾讯”、“手机”这三个实体的时候,可能会认为它们三个之间并没有什么差别,但当它通过第一步计算三个实体之间的相似度后,就会发现,阿里巴巴和腾讯之间可能更相似,和手机差别更大一些,但仅此知识图谱实际上还是没有一个上下层的概念,它仍然为判断出阿里巴巴和手机就不隶属于一个类型,无法比较。因此通过第二步实体上下位关系抽取去完成这样的工作,从而生成第三步的本体。

在这里插入图片描述

当三步结束后,这个知识图谱即明白,“阿里巴巴和腾讯都是公司这样一个本体下的细分实体,它们和手机不属于一类。”

知识推理

知识推理是指从知识库中已有的实体关系数据出发,经过计算机推理,建立实体间的新关联,从而拓展和丰富知识网络,知识推理是知识图谱构建的重要手段和关键环节,通过知识推理,能够从现有知识中发现新的知识。

举例:

在这里插入图片描述

质量评估

对知识的可信度进行量化,保留置信度较高的,舍弃置信度较低的,有效保证知识的质量。

目前亟待解决的问题

知识的自动获取

结构化、非结构化、半结构化的处理

长句的关系抽取

句子很长的时候无法准确抽取关系

多源知识的自动融合

基于机器学习和深度学习

知识的存储与检索

图数据库、分布式存储、高效检索

面向知识的表示学习

将原始数据转换成为能够被机器学习来有效开发的一种形式。它避免了手动提取特征的麻烦,允许计算机学习使用特征的同时,也学习如何提取特征:学习如何学习。

知识推理与应用

基于深度学习的知识推理

应用层的整体架构

到上面介绍为止,我们已经了解了如何构建一个知识以及相关问题,但是这只能说我们有了知识储备,那我们怎么提取或者去利用构建好的知识呢?比如说,我们要做一个智能客服、智能搜索、图谱可视化那我们怎么去做呢?其实不同的业务场景的构建逻辑不一定,具体情况具体分析,下面我就介绍一下我们参加计算机设计大赛的项目

在这里插入图片描述

项目的架构图如下:

在这里插入图片描述

应用层的构建

数据清洗

首先使用jieba分词工具对用户输入的话进行分词,然后将分词后的结果进行过滤,最后进行词性标注。

问题分类

我们开始尝试过基于深度学习的方式的分类,但是由于问题句子短,同时鉴别度较低,后来我们就换成了基于规则的问题匹配,同时使用一些方法为系统提高了容错率。

地名景区识别

使用BERT预训练模型对地名和景点名分类,这两个都会被归类到地名,因此需要再对它进行一次单独的分类。

查找相关知识

和黄鹤楼相关的游记为例:识别出关系游记、识别出后置实体黄鹤楼,我们只需要根据[x] --> [黄鹤楼]逻辑来编写CQL得到X即可,具体数据库内部是怎么查询的不是我们关注的点,大家可以后续深入了解一下Neo4j图数据库,它在数据结构上以及检索方式上都做了很大的优化。

知识图谱的应用

除了金融领域,知识图谱的应用可以涉及到很多其他的行业,包括医疗、教育、证券投资、推荐等等。其实,只要有关系存在,则有知识图谱可发挥价值的地方。 在这里简单举几个垂直行业中的应用。

  • 信息检索/搜索:搜索引擎中对实体信息的精准聚合和匹配、对关键词的理解以及对搜索意图的语义分析等;
  • 自然语言理解:知识图谱中的知识作为理解自然语言中实体和关系的背景信息;
  • 问答系统:匹配问答模式和知识图谱中知识子图之间的映射;
  • 推荐系统:将知识图谱作为一种辅助信息集成到推荐系统中以提供更加精准的推荐选项,知识图谱+推荐系统;
  • 电子商务:构建商品的知识图谱用于精准匹配用户的购买意愿和商品候选集,知识图谱+推荐系统;
  • 金融风控:利用实体之间的关系分析金融活动的风险以提供在风险触发后的补救措施(如反欺诈等);
  • 公安刑侦:分析实体和实体之间的关系获取案件线索等;
  • 司法辅助:法律条文的结构化表示和查询用于辅助案件的判决等;
  • 教育医疗:提供可视化的知识表示,用于药物分析、疾病诊断等;
  • 社交类业务:社交类业务具备高度连接的特点,比如 好友关系 等,<用户1,关注,用户2>。
  • 辅助决策:构建决策主题研究相关知识库、政策分析模型库和情报研究方法库,建设并不断完善辅助决策系统,为决策主题提供全方位、多层次的决策支持和知识服务。

语义搜索

语义搜索:通过识别用户语义获得搜索结果

在这里插入图片描述

智能推荐

推荐系统首先要采集用户的需求,分析用户的以往数据,提取共同特征,然后根据一定的规则,对用户提供推荐的产品。淘宝即是典型的例子。

传统推荐系统的主要类型包括热门推荐、人工推荐、相关推荐、个性化推荐四大类。

  • 热门推荐:当下热点事件,具有广泛的社会关注,以达到“广而告之”的效果。例如知乎、新浪微博的“热榜”等
  • 人工推荐:编辑或内容运营人员人工推荐的优秀内容/物品
  • 相关推荐:根据当下浏览的内容按照一定的信息或关联规则进行的内容推荐,主要起“丰富扩展”的作用,例如看了“快乐大本营”第四期,就会推荐第一期、第三期等
  • 个性化推荐:根据用户的历史记录、实时行为以及个人偏好,通过算法和模型为用户自身定制化的推荐,已达到“想你所想”的效果

知识图谱将来还可以实现:用户想看[七月与安生],系统根据[七月与安生]→[曾国祥]→[少年的你]、[七月与安生]→[周冬雨]→[少年的你]两条路径,为用户继续推荐了新上映的[少年的你],可以直接根据两条连接的路径为用户生成推荐理由:都由曾国祥导演,周冬雨主演。

在这里插入图片描述

金融风控

当一个事件出现了反面影响时,可迅速根据知识图谱相关信息控制与之相影响的人物或者事件,将损失降到最小。

在这里插入图片描述

智能问答

智能问答,和语义搜索类似,对于提问的内容,计算机首先分析问题的语义,然后将语义转换为查询语句,到知识图谱中查找,将最贴近的答案提供给提问者。

简单案例:

在这里插入图片描述

复杂案例:

在这里插入图片描述

相关资料推荐

书籍

《知识图谱:方法、实践与应用》

在这里插入图片描述

公众号

开放知识图谱,强烈推荐

知识图谱(Knowledge Graphs)综述

很新很全的知识图谱综述论文,长达135页

https://arxiv.org/pdf/2003.02320.pdf

组织社区

http://www.openkg.cn/

猜你喜欢

转载自blog.csdn.net/m0_46521785/article/details/121323289
今日推荐