知识图谱技术概述

2023-10-26

1知识图谱定义与架构

在这里插入图片描述

1.1知识图谱定义

维基百科上对知识图谱的定义是这样的:知识图谱是谷歌及其提供的服务所使用的知识库,目的是通过从各种来源收集信息以增强其搜索结果的展示。这个定义时侠义的。
知识图谱, 是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系。其基本组成单位是“实体-关系-实体”三元组,以及实体及其相关属性- 值对,实体间通过关系相互联结,构成网状的知识结构。
**注意,**知识图谱最初就是用来改善搜索效果的,因此在搜索方面应用的最多也最成熟。通过知识图谱,可以实现Web从网页链接向概念链接的转变,从而支持用户按主题而不是字符检索(Things, not strings),实现真正的基于语义的检索。
该定义有三方面的含义:

  • 知识图谱本身是一个具有属性的实体通过关系链接而形成的网状知识库。从图的概念来看,知识图谱是对物理世界的一种符号表达。
  • 知识图谱的研究价值在于:它是构建在当前Web基础上的一层覆盖网络,知识图谱的目标是在当前网页之间建立概念的链接,从而将互联网上的知识进行整合,成为“知识”。
  • 知识图谱的应用价值在于,它可以帮助人们准确的锁定自己想要检索的内容,而不必从海量网页中人工过滤。
    知识图谱中包含三种节点:

实体: 指的是具有可区别性且独立存在的某种事物。如某一个人、某一个城市、某一种植物等、某一种商品等等。世界万物有具体事物组成,此指实体。如图1的“中国”、“美国”、“日本”等。,实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。

语义类(概念):具有同种特性的实体构成的集合,如国家、民族、书籍、电脑等。 概念主要指集合、类别、对象类型、事物的种类,例如人物、地理等。

内容: 通常作为实体和语义类的名字、描述、解释等,可以由文本、图像、音视频等来表达。

属性(值): 从一个实体指向它的属性值。不同的属性类型对应于不同类型属性的边。属性值主要指对象指定属性的值。如图1所示的“面积”、“人口”、“首都”是几种不同的属性。属性值主要指对象指定属性的值,例如960万平方公里等。

关系: 形式化为一个函数,它把kk个点映射到一个布尔值。在知识图谱上,关系则是一个把kk个图节点(实体、语义类、属性值)映射到布尔值的函数。

基于上述定义。基于三元组是知识图谱的一种通用表示方式,即,其中,是知识库中的实体集合,共包含|E|种不同实体; 是知识库中的关系集合,共包含|R|种不同关系;代表知识库中的三元组集合。三元组的基本形式主要包括(实体1-关系-实体2)和(实体-属性-属性值)等。每个实体(概念的外延)可用一个全局唯一确定的ID来标识,每个属性-属性值对(attribute-value pair,AVP)可用来刻画实体的内在特性,而关系可用来连接两个实体,刻画它们之间的关联。如下图1的知识图谱例子所示,中国是一个实体,北京是一个实体,中国-首都-北京 是一个(实体-关系-实体)的三元组样例北京是一个实体 ,人口是一种属性2069.3万是属性值。北京-人口-2069.3万构成一个(实体-属性-属性值)的三元组样例。在这里插入图片描述

1.2知识图谱架构

逻辑架构和技术架构

1.2.1逻辑架构

所谓逻辑架构,指的是图谱的双层结构:数据层和模式层。在数据层,知识以事实(fact)为单位存储在图数据库中。事实一般以三元组的方式进行描述,例如“实体-关系-实体”、“实体-属性-属性值”,借此,图数据库中所有的数据将组成庞大的关系网络,形成所谓的“图谱”。
个人感觉知识图谱和中国的家谱在逻辑架构方面是及其类似的。如果从诞生家谱概念那一天开始就一直延续不曾间断,那么家谱的内容也将是极其庞大的。不同的是,图谱中实体的关系可能是错综复杂的,而家谱中三四代之后的人和之前的祖先几乎没有什么联系了。
模式层建立在数据层之上,按照字面意思理解就是:对数据层的知识设置一种过滤模式,从而减少知识的冗余。举个例子,比如一个人可能有两个名字,在数据层,不同的名字可能对应了不同的属性和关系,而模式层就是把这实质上是同一个人的实体及其关系进行融合(知识融合),去除不必要的冗余。
在这里插入图片描述
如图所示,底层是原始网页,有人一直以为知识图谱中包含了所有的原始网页中的数据,而实际上知识图谱只是从原始数据中获取了它们之中的实体、关系、属性以及它们到原始网页的链接(第二层),再经过模式层进行知识融合。用户发出搜索请求后,通过前两层的知识查询,然后通过链接找到对应的原始网页返回给用户。也就是说,图谱只包含关系,但并不包含内容。

1.2.2技术架构

知识图谱的整体技术流程如下图所示:
在这里插入图片描述
橘色部分代表着知识图谱的构建及迭代过程:知识抽取、知识融合、知识加工。一般人们会把知识图谱的构建分为自顶而下和自底而上两种不同的形式,随着技术的不断成熟,现在大都采用自底而上的方法,即从数据中提取资源模式,通过一定的技术手段,选择其中置信度较高的部分,加入到知识图谱中去。

1.2.3代表性知识图谱库

根据覆盖范围而言,知识图谱也可分为开放域通用知识图谱和垂直行业知识图谱。开放通用知识图谱注重广度,强调融合更多的实体,较垂直行业知识图谱而言,其准确度不够高,并且受概念范围的影响,很难借助本体库对公理、规则以及约束条件的支持能力规范其实体、属性、实体间的关系等。通用知识图谱主要应用于智能搜索等领域。行业知识图谱通常需要依靠特定行业的数据来构建,具有特定的行业意义。行业知识图谱中,实体的属性与数据模式往往比较丰富,需要考虑到不同的业务场景与使用人员。下图展示了现在知名度较高的大规模知识库。
在这里插入图片描述

2知识图谱的构建技术

2.1知识抽取

知识抽取的目标就是从数据源中抽取出实体、关系及属性等信息,进而进行下一步的操作,所以这一项工作更准确地说应该叫做信息抽取,因为这一步骤并不能得到我们最终想要的“知识”。相应地,这一步骤涉及到的主要技术包括:实体抽取、关系抽取以及属性抽取。

2.1.1实体抽取

实体抽取,即所谓的命名实体识别(Named Entity Recognition, NER),指的就是如何从数据,特别是文本数据中准确获得其中的实体信息。实体的类型主要包括三大类七小类:

  • 实体类(包括人名,地名,机构名)
  • 时间类(日期,时间)
  • 数字类(货币、百分比)
    具体到特定领域,当然还可以对实体类别进行扩充。NER技术的发展,同样是经历了由基于规则的方法到基于统计的方法的转变。

2.1.2关系抽取

实体抽取获得了图数据库中的节点,那么关系抽取就是获得节点之间的连线的过程。
在早期的研究中,关系抽取同样基于规则,但这种方法本身的局限注定单基于规则建立模型不是长久之计。后来采用统计机器学习的方法,得到了不错的效果,但需要大量人工标注的语料,这对于特定领域的关系抽取来说,工作量无疑是巨大的。后来的基于半监督、无监督以及自监督模型,对模型的通用性有了一些提高,但整体来说,由于自然语言的复杂性,这一领域的学者仍然是任重而道远。

2.1.3属性抽取

如果把实体的属性值看作是一种特殊的实体,那么属性抽取实际上也是一种关系抽取。 百科类网站提供的半结构化数据是通用领域属性抽取研究的主要数据来源,但具体到特定的应用领域,涉及大量的非结构化数据,属性抽取仍然是一个巨大的挑战。

2.2知识融合

上一步抽取出的三元组信息存入数据库后,具备了初步的“知识”,但这些知识仍然不能直接利用。例如,对于前美国总统奥巴马,我们可能用不同的词来称呼他,在实体识别中这些称呼都被看作是独立的实体,那么我们就应该把这些指向同一类实体的三元组进行合并。再举一个例子,同名同姓的两个不同的人,如何区分他们呢?这就涉及下面的技术。

2.2.1指代消解

这个词可能不是很好理解,但理解它所代表的意思即可:消解那些指代不同实体的内容,这一技术就是处理对同一实体的不同语言描述问题(如上文对奥巴马的不同称呼)。利用这一技术,就可以将这些看似不同的实体归纳到一个统一的实体。这一技术本身也具有很多“称呼”:对象对齐,实体匹配,实体同义等。(我感觉都比指代消解更容易理解)

2.2.2实体消歧

相比而言,这个词就好理解多了,其作用也简单,就是对具有相同名称的实体进行区分。例如两个人同名,那就通过性别、工作、兴趣爱好等其他属性进行区分。

2.2.3知识合并

知识合并主要就是从结构化数据或者第三方库中获取知识并融合进图谱的过程。
我认为从关系型数据库中获取知识这一点在具体领域应用中是很重要的,通过资源描述框架模型,可以很方便地将企业地关系型数据库中的内容转化为三元组模式,进而用于图谱的构建。

2.3知识加工

严格来讲,经过前两步骤处理后的数据仍不能称得上是“知识”,只能算是事实表达的集合,要想获得结构化的知识,还需要经过知识加工环节。知识加工主要包括3方面内容: 本体构建,知识推理和质量评估。

2.3.1本体构建

这又是一个不容易理解的概念。本体最早是一个哲学上的概念,在知识图谱上引用本体构建这一技术,目的是对相关领域的知识进行总结提取,确定在该领域内得到共识的术语,然后以格式规范的定义来描述这些内容。可以这样理解,前两阶段提取出来的实体及其属性关系,是本体的具体表现;而本体就是对它们的概括总结。

2.3.2知识推理

知识推理指的是从已有的知识中推理出新的知识。例如康熙是雍正的父亲,雍正是乾隆的父亲,那么尽管康熙和乾隆这两个实体之间通过知识推理,就可以获得他们之间是祖孙关系。

2.3.3质量评估

顾名思义,质量评估就是对写入知识图谱中的知识做最后的判断,以提高知识库中内容的准确性

2.4知识更新

知识图谱并不是一成不变的,随着人类知识的增加,图谱的内容也要定期进行更新,以满足最新的知识需求。更新的方式有两种,一种是“打补丁”,即增量更新,将新增加的人类知识经过处理加入到知识图谱中;另一种是“推倒重建”,即全局更新,就是从零开始重建新图谱。事实上,无论哪种方法都是一件消耗巨大的工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

知识图谱技术概述 的相关文章

  • 软件使用:如何彻底把VMware卸载干净

    1 禁用VM虚拟机服务 首先 需要停止虚拟机VMware相关服务 按下快捷键WIN R 打开windows运行对话框 输入services msc 点击确定 在服务管理中 找到VM开头的所有服务类别 将所有VM开头的服务禁用掉 右击选择属性

随机推荐

  • 直接插入排序(深入讲解哨兵的作用)---------通俗易懂,直击重点!!!

    直接插入排序详细讲解 直接插入排序 Straight Insertion Sort 哨兵 代码区实例 你好 欢迎来和我一起学习 直接插入排序算法内容 如果大佬们发现问题希望指出 我会尽全力来更改 希望我们共同进步 直接插入排序 Straig
  • Python:PyCharm 永久破解方法,真的超超超超超超超超超级简单!!!

    准备工作 1 破解包 gt gt gt 下载链接 gt gt gt 提取码 jjbf 2 注册码 gt gt gt 获取地址 gt gt gt 第一步 进入PyCharm 的安装目录的bin文件夹下 把破解包放到该目录 第二步 把bin 目
  • 正确理解stem教育

    成人对STEM教育的理解和态度将深刻地影响孩子们对STEM学习的信念和他们的能力发展 无论孩子天赋如何 STEM对所有的孩子非常有利 也对所有学科领域都很重要 格物斯坦小坦克告诉大家如何正确理解stem教育 当我们学习新技能时 大脑将整合之
  • Tensorflow中tf.nn.bias_add()以及tf.add()和tf.add_n的实现

    tf nn bias add 通俗解释 一个叫bias的向量加到一个叫value的矩阵上 是向量与矩阵的每一行进行相加 得到的结果和value矩阵大小相同 import tensorflow as tf a tf constant 1 1
  • Qt 内存回收机制

    关于 Qt 内存回收机制的 刚接触 Qt 不久 第一次看到这方面的问题 这篇文章需要在对Qt有很多了解后才会理解的更透彻 在你不断补充知识时 温故而知新 看到更全面和更官方的内容时随时更新 C GUI Programming with Qt
  • 多线程+隧道代理:提升爬虫速度

    在进行大规模数据爬取时 爬虫速度往往是一个关键问题 本文将介绍一个提升爬虫速度的秘密武器 多线程 隧道代理 通过合理地利用多线程技术和使用隧道代理 我们可以显著提高爬虫的效率和稳定性 本文将为你提供详细的解决方案和实际操作价值 同时附上Py
  • H5页面实现跳转微信公众号主页面

    由于考虑到微信商城内用户分享给未关注用户 所以进行openid判断 并且进行 跳转 谨此记录一下 1 登录公众号管理后台 2 F12 进入element 模块 3 ctrl f 搜索uin base64字段 4 在下面代码中填入uin ba
  • 戴尔计算机网卡驱动程序,dell戴尔网卡驱动如何安装

    网卡是电脑连接外部网络的重要设备 可以实现局域网传输介质之间的物理连接和电信号匹配 不过想要正常使用网卡设备还需要安装网卡驱动 下面 我就以Dell网卡为例 教大家安装驱动的方法 Dell 戴尔 以设计 生产 销售类型电脑而闻名 戴尔电脑质
  • vue-element-admin项目关闭eslint校验

    事情是这样的 今天在启动项目的时候报错了 报错差不多是这样的 我们都知道 ESLint 是一个代码规范和错误检查工具 对于代码的语法格式的规范相当的严格 我忘记自己在哪里的代码写的出现问题了 但现在直接启动不了就很麻烦了 只有先关闭一下es
  • CentOS7.6服务器搭建SFTP服务及JAVA工具类

    一 SFTP的简介 sftp Secure File Transfer Protocol 是一种安全的文件传送协议 是ssh内含协议 也就是说只要sshd服务器启动了 sftp就可使用 不需要额外安装 它的默认端口和SSH一样为22 1 s
  • thinkphp6 入门(4)--数据库操作 增删改查

    一 设计数据库表 比如我新建了一个数据库表 名为test 二 配置数据库连接信息 本地测试 直接在 env中修改 不用去config database php中修改 正式环境 三 增删改查 引入Db库 use think facade Db
  • 分析 Spring 的依赖注入模式

    一 依赖注入 二 Field Injection 优点 缺点 三 Constructor Injection 优点1 容易发现 code smell 优点2 容易厘清依赖关系 优点3 容易写单元测试 优点4 Immutable Object
  • 微信小程序 用户协议和隐私协议

  • 金山桌面软件测试实习生笔试面试

    2014年5月 实习生 笔试 3道数列推导题 1道推理题 2道编程题 2道设计测试用例题 推理题 A B C D E五个人将来的职业分别是预言师 侍女 舞蹈师 魔术师 侍应生 这5个人现在说的话 只有将来是预言师的那个人说的才是正确的 A
  • 经常使用runOnUiThread(),你真的理解它吗

    在Android开发的过程中 主线程主要来完成UI绘制和响应用户的操作 默认情况下 我们大部分的代码都是在主线程 中执行的 因此我们时刻要考虑主线程的情况 我们都知道要开启一个子线程来完成一个耗时操作 以避免阻塞主线程影响 用户体验 甚至A
  • FCM——(Fuzzy C-means)模糊C均值算法

    FCM算法是一种基于划分的聚类算法 它的思想就是使得被划分到同一簇的对象之间相似度最大 而不同簇之间的相似度最小 模糊C均值算法是普通C均值算法的改进 普通C均值算法对于数据的划分是硬性的 而FCM则是一种柔性的模糊划分 模糊聚类的目标函数
  • 【目标跟踪】1、基础知识

    文章目录 一 卡尔曼滤波 二 匈牙利匹配 一 卡尔曼滤波 什么是卡尔曼滤波 状态估计器 卡尔曼滤波用于在包含不确定信息的系统中做出预测 对系统下一步要做什么进行推测 且会结合推测值和观测值来得到修正后的最优值 卡尔曼滤波就是利用 t 1 状
  • k-medoids聚类算法

    引言 上一篇博客介绍了k means聚类算法 该算法虽然高效快速 但却受异常点的影响严重 如果样本中存在异常点 则聚类结果会产生极大的偏差 针对异常点对聚类结果的影响 本文介绍k medoids聚类算法 k medoids算法能有效削弱异常
  • vue2项目打包dist文件后如何部署访问(本地部署和网络部署)

    1 本地部署 前提 1 注意端口的占用 防火墙的放行 2 注意后端服务的请求链接3 记得不要关闭运行4 记得element ui的引入要放在vue版本导入的后面 1 1 新建一个文件夹打开之后打开终端 1 2 npm i express s
  • 知识图谱技术概述

    1知识图谱定义与架构 1 1知识图谱定义 维基百科上对知识图谱的定义是这样的 知识图谱是谷歌及其提供的服务所使用的知识库 目的是通过从各种来源收集信息以增强其搜索结果的展示 这个定义时侠义的 知识图谱 是结构化的语义知识库 用于以符号形式描