知识图谱:知识图谱概述(一)

一、知识图谱简介

  知识图谱,是结构化的语义知识库,主要用于描述现实世界中的实体及其相互关系,由节点和边组成。节点可以是实体,如汽车、街道等,或是抽象的概念,如AI、疾病等。边可以是实体的属性,如颜色、名字或是实体之间的关系,如朋友、配偶。如下图所示:

1.1 知识图谱的几个关键概念

  本体(ontology):领域术语集合,用于定义和描述特定领域的知识,包括该领域中的实体、属性、关系及其约束。本体提供了一个结构化框架,使得知识能够以一种一致且明确的方式进行表示和处理。

  类型( type):具有相同特点或属性的实体集合的抽象,如足球球员、足球联赛、足球教练。

  实体(Entities):实体就是type的实例,如足球球员–梅西,足球联赛–西甲等。

  类层次结构(Class Hierarchy):定义概念之间的继承关系。例如,“鸟类”是“动物”的子类,“麻雀”是“鸟类”的子类。

  关系(Relations):实体与实体之间通过关系关联起来,如梅西是巴塞罗那的球员。

  属性(Attributes):实体自带信息是属性,如梅西 出生日期 1987年6月24日, 身高 1.7米等。

   知识图谱(Knowledge graph):图状具有关联性的知识集合。可以由三元组(实体——关系——实体)表示。

  知识库(Knowledge Base):一个知识数据库,包含了知识的本体和知识,可以看成是由图数据库存储的知识库。

1.2 知识图谱的分层架构

  知识图谱由数据层(data layer)模式层(schema layer)构成。

  数据层:数据层是知识图谱的基础层,负责存储和管理知识图谱中的所有原始数据。这些数据以结构化的形式存在,知识以事实(fact)为单位存储在图数据库中,通常表示为三元组,包括“实体—关系—实体”和“实体—属性—属性值”等形式。

  模式层:知识图谱的核心,是知识图谱的概念模型和逻辑基础。模式层通常包括本体、类层次结构、关系类型和数据模式等元素。通过定义本体、类层次结构、关系类型和属性,模式层构建了一个系统的、结构化的知识框架,确保了数据的一致性和完整性,并支持高级应用和语义推理。

1.3 知识图谱数据类型和存储方式

  知识图谱的原始数据类型一般来说有三类:
  结构化数据(Structed Data),如:关系数据库、链接数据

  半结构化数据(Semi-Structured Data),如:XML、JSON、百科

  非结构化数据(Unstructured Data),如:文本、图片、音频、视频

在这里插入图片描述

  知识图谱的存储方式主要分为两种:
  资源描述框架(RDF):RDF是一种用于描述网络上资源及其关系的标准格式。RDF使用三元组来表示实体及其关系,比较常用的有 Jena ,Virtuoso等。RDF存储的优点在于其标准化和互操作性,可以方便地与其他语义数据进行集成。然而,对于非常复杂或大规模的数据集,查询性能可能会成为一个瓶颈。

  图数据库(Graph Databases):图数据库专门为处理图结构数据而设计,使用节点来表示实体及其关系,具有很高的查询性能和灵活性,常用的有 Neo4j,JanusGraph等,适用于大规模和关系复杂的数据场景,具有高效的查询性能和灵活性。

1.4知识图谱构建流程

  知识图谱的构建方法主要有两种:自底向上(data layer)自顶而下(data layer)

  自底向上是从数据开始构建知识图谱的。数据驱动,能充分利用现有数据资源;可以自动地从知识图谱中抽取概念、概念层次和概念之间的关系,实体和关系的识别可以更加细致和全面。其缺点是需要大量的预处理和数据清洗工作,以及难以保证图谱的全局一致性。
  构建流程:数据收集 → 数据清洗 → 实体抽取 → 关系抽取 → 模式构建 → 图谱融合。

  自顶而下是从设计模式和本体开始构建知识图谱的。
  构建流程:需求分析 → 本体设计 → 数据对齐 → 实例填充 → 验证和优化。

  本次学习主要是自底向上的构建技术。构建知识图谱是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代包含三个阶段:信息抽取知识融合知识加工

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

  知识融合:在获得新知识之后,需要对其进行整合,以消除矛盾和歧义,比如某些实体可能有多种表达,某个特定称谓也许对应于多个不同的实体等。

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

在这里插入图片描述

知识抽取(infromation extraction)

  知识抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术,其关键问题是:如何从异构数据源中自动抽取信息得到候选指示单元。涉及的关键技术包括:实体抽取关系抽取属性抽取

  实体抽取:也称为命名实体识别,是指从文本数据集中自动识别出命名实体。

    例如非洲某国发生叛乱,中国海军执行撤侨任务,冷锋奉命只身闯入硝烟四起的战场。不屈不挠的战狼,与冷酷无情的敌人展开了悬殊之战。

    通过实体抽取,从中抽取出四个实体:“非洲”、“中国海军”、“冷锋”、“战狼”。

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

在这里插入图片描述

  属性抽取:从不同信息源中采集特定实体的属性信息,如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。

在这里插入图片描述

知识融合(Knowledge Fusion)

  通过信息抽取,从原始的非结构化和半结构化数据中获取到了实体、关系以及实体的属性信息。因此,在获得新知识之后,需要对其进行整合,以消除矛盾和歧义。知识融合包括2部分内容:实体链接知识合并

  实体链接(entity linking):将文本中抽取得到的实体对象链接到知识库中对应的正确实体对象。其基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象。

在这里插入图片描述

  知识合并:数据来源除了半结构化数据和非结构化数据以外,还有结构化数据。对于结构化数据,知识融合主要分为两种:合并外部知识库、合并关系数据库。

在这里插入图片描述

知识加工(Knowledge Processing)

  通过信息抽取,从原始语料中提取出了实体、关系与属性等知识要素,并且经过知识融合,消除实体指称项与实体对象之间的歧义,得到一系列基本的事实表达。然而事实本身并不等于知识。要想最终获得结构化、网络化的知识体系,还需要经历知识加工的过程。知识加工主要包括3方面内容:本体抽取知识推理质量评估

  本体抽取:本体可以采用人工编辑的方式手动构建(借助本体编辑软件),也可以以数据驱动的自动化方式构建本体。

  自动化本体构建过程包含三个阶段: 实体并列关系相似度计算 → 实体上下位关系抽取 → 本体的生成。

  知识推理:经过以上步骤,知识图谱之间大多数关系仍缺失严重,则需要使用知识推理技术,去完成进一步的知识发现。

在这里插入图片描述

  知识推理的对象也并不局限于实体间的关系,也可以是实体的属性值,本体的概念层次关系等。

    推理属性值:已知某实体的生日属性,可以通过推理得到该实体的年龄属性;

    推理概念:已知(老虎,科,猫科)和(猫科,目,食肉目)可以推出(老虎,目,食肉目)

  这一块的算法主要可以分为3大类:基于知识表达的关系推理技术;基于概率图模型的关系推理技术路线示意图;基于深度学习的关系推理技术路线示意图。

在这里插入图片描述

  质量评估:对知识的可信度进行量化,通过舍弃置信度较低的知识来保障知识库的质量。

参考文章:知识图谱构建全流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/49028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于FPGA的以太网设计(2)----以太网的硬件架构(MAC+PHY)

1、概述 以太网的电路架构一般由MAC、PHY、变压器、RJ45和传输介质组成,示意图如下所示: 需要注意的是,上图是一个简化了的模型,它描述的是两台主机之间的直接连接,但在实际应用中基本都是多台主机构成的局域网,它们之间并不直接相连,而是通过交换机Switch来进行…

【PPT把当前页输出为图片】及【PPT导出图片模糊】的解决方法(sci论文图片清晰度)

【PPT把当前页输出为图片】及【PPT导出图片模糊】的解决方法 内容一:ppt把当前页输出为图片:内容二:ppt导出图片模糊的解决方法:方法:步骤1:打开注册表编辑器步骤2:修改注册表: 该文…

Perl语言入门学习指南

Perl语言入门学习指南 原文链接 Perl(Practical Extraction and Report Language)是一种强大的编程语言,因其在文本处理和系统管理任务中的高效性而广受欢迎。本文将逐步深入介绍Perl,从环境准备到编写代码,探讨其实…

设计模式实战:图形编辑器的设计与实现

简介 本篇文章将介绍如何设计一个图形编辑器系统,系统包括图形对象的创建、组合、操作及撤销等功能。我们将通过这一项目,应用命令模式、组合模式和备忘录模式来解决具体的设计问题。 问题描述 设计一个图形编辑器系统,用户可以创建并操作图形对象,将多个图形对象组合成…

JavaScript导入导出excel

在JavaScript的浏览器环境下导入和导出Excel文件,主要可以通过一些库来帮助我们简化操作,比如SheetJS(也称为xlsx库)和FileSaver.js。以下是如何使用这些库来实现Excel的导入和导出的基本步骤: 导入Excel 导入Excel文…

万字长文之分库分表里无分库分表键如何查询【后端面试题 | 中间件 | 数据库 | MySQL | 分库分表 | 其他查询】

在很多业务里,分库分表键都是根据主要查询筛选出来的,那么不怎么重要的查询怎么解决呢? 比如电商场景下,订单都是按照买家ID来分库分表的,那么商家该怎么查找订单呢?或是买家找客服,客服要找到对…

【黄啊码】GPT的相关名词解释

GPT是一种基于互联网的、可用数据来训练的、文本生成的深度学习模型 GPT的核心技术是‌变换器(Transformer),这是一种神经网络结构,可以有效地处理序列数据,比如文本、语音、图像等。GPT使用了大量的预训练数据&#…

vue中预览视频,word,pdf,xlsx

前提,下载依赖 #docx文档预览 npm install vue-office/docx#excel文档预览 npm install vue-office/excel#pdf文档预览 npm install vue-office/pdf 如果vue版本是vue2.6版本或者以下版本还需要安装vue/composition-api npm install vue/composition-api 1、预览…

vue keep-alive用法

<keep-alive> 是 Vue.js 中的一个内置组件&#xff0c;用于缓存不活动的组件实例&#xff0c;而不是销毁它们。当一个组件被切换出来时&#xff0c;它的 beforeDestroy 和 destroyed 生命周期钩子不会被调用&#xff0c;而是会被暂停&#xff0c;并在重新激活时恢复。 使…

深入浅出WebRTC—ULPFEC

FEC 通过在发送端添加额外的冗余信息&#xff0c;使接收端即使在部分数据包丢失的情况下也能恢复原始数据&#xff0c;从而减轻网络丢包的影响。在 WebRTC 中&#xff0c;FEC 主要有两种实现方式&#xff1a;ULPFEC 和 FlexFEC&#xff0c;FlexFEC 是 ULPFEC 的扩展和升级&…

websocket实现进度条

websocket实现进度条 做一个简易的websocket实现进度条的练习&#xff0c;效果如下&#xff1a; 前端vue3 <template><el-progress type"circle" :percentage"this.progressValue" :status"this.perstatus" /><el-button cli…

docker tomcat 404

HTTP 404状态码表示“Not Found”&#xff0c;即服务器无法找到请求的页面。 当用户尝试访问一个不存在的网页时&#xff0c;服务器会返回这个状态码。这个状态码是HTTP协议的一部分&#xff0c;用于告知客户端&#xff08;通常是浏览器&#xff09;服务器无法完成请求。404状…

黑马JavaWeb企业级开发(知识清单)02——HTML实现标题:样式(CSS引入、CSS选择器、span标签)和超链接

文章目录 前言一、标题样式1&#xff1a;新闻标题颜色1. CSS三种引入方式2. 颜色表示3. javacode实现 二、标题样式2&#xff1a;发布时间颜色1. < span >标签2. CSS选择器1&#xff09;元素&#xff08;标签&#xff09;选择器&#xff08;优先级最低&#xff09;2&…

IC秋招RTL代码合集

一 全加器和半加器 全加器 module full_adder1(input Ai, Bi, Ci,output So, Co);assign So Ai ^ Bi ^ Ci ;assign Co (Ai & Bi) | (Ci & (Ai | Bi)); endmodule module full_adder1(input Ai, Bi, Cioutput So, Co);assign {Co, So} Ai Bi Ci ; endm…

wireshark过滤器,如何使用wireshark捕获指定域名的流量

过滤器比较高级&#xff0c;但是也很重要&#xff0c;我决定通过一个案例来学习过滤器的知识点。 比如&#xff0c;我现在访问 zhangdapeng.com 我希望能够捕获关于这个域名下的流量&#xff0c;该如何实现呢&#xff1f; 我选择了捕获以太网的流量&#xff0c;但是目前捕获到…

python-爬虫实例(4):获取b站的章若楠的视频

目录 前言 道路千万条&#xff0c;安全第一条 爬虫不谨慎&#xff0c;亲人两行泪 获取b站的章若楠的视频 一、话不多说&#xff0c;先上代码 二、爬虫四步走 1.UA伪装 2.获取url 3.发送请求 4.获取响应数据进行解析并保存 总结 前言 道路千万条&#xff0c;安全第一条 爬…

Redis和mysql如何保持数据一致?

1.先更新Mysql&#xff0c;再更新Redis&#xff0c;如果更新Redis失败&#xff0c;可能仍然不一致 2. 先删除Redis缓存数据&#xff0c;再更新Mysql&#xff0c;再次查询的时候在将数据添加到缓存中&#xff0c;这种方案能解决1方案的问题&#xff0c;但是在高并发 下性能较低…

技术速递|C# 13:探索最新的预览功能

作者&#xff1a;Kathleen Dollard 排版&#xff1a;Alan Wang C# 13 已初具雏形&#xff0c;其新特性侧重于灵活性、性能以及使您最喜欢的功能在日常中变得更容易使用。我们以公开的方式构建 C#&#xff0c;在今年的 Microsoft Build 大会上&#xff0c;我们会让您一睹 C# 13 …

基于vite + pnpm monorepo 实现一个UI组件库

基于vite pnpm monorepo的vue组件库 仓库地址 思路 好多文章都是直接咔咔咔的上代码。跟着做也没问题&#xff0c;但总觉得少了些什么。下次做的时候还要找文章参考。。 需求有三个模块&#xff0c;那么就需要三个包。使用monorepo进行分包管理。 a. 组件库 b. 组件库文档…

Linux C语言 54-目录操作

Linux C语言 54-目录操作 本节关键字&#xff1a;Linux、C语言、目录操作、遍历目录 相关C库函数&#xff1a;opendir、readdir、closedir 遍历目录 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <dirent.h> #include <…