第1章 理解知识图谱(一)

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互相学习和建立一个积极的社区。谢谢你的光临,让我们一起踏上这个知识之旅!
请添加图片描述

文章目录

  • 🥦1.1 知识图谱概述
    • 🥦1.1.1 知识定义及分类
    • 🥦1.1.2 知识图谱定义
    • 🥦1.1.3 知识图谱分类
    • 🥦1.1.4 知识图谱发展阶段
  • 🥦1.2 知识图谱架构
    • 🥦1.2.1 构建方法
    • 🥦1.2.2 逻辑架构
    • 🥦1.2.3 技术架构

在学习本书前,我想在此夸一夸本书的作者,作者在每一大章的前面都会送读者一段励志话。

临渊羡鱼,不如退而结网。 — 《汉书 董仲舒传》

🥦1.1 知识图谱概述

🥦1.1.1 知识定义及分类

哲学家柏拉图先生曾经指明,知识的三个条件

  • 合理性
  • 真实性
  • 被相信

从大白话来讲就是知识是人类通过观察学习等行为进而获得总结的产物或者说是集合。


如果我们从不同的研究视角、研究目的以及多知识的不同认识程度对知识进行分类的话,可以分为以下几种:

首先是层次划分

  • 零级知识:最基本的知识,定义、定理等,问题求解的常识性和原理性知识。
  • 一级知识:第二层知识,启发式知识,可弥补零级知识的不足,提高求解的效率。
  • 二级知识:第三层知识,控制性知识,对低层知识起到指导作用,组织,运用零级和一级知识。
  • 高层次知识:像回忆,综合,概况,抽象,也可以反映人类的心理。

其次是性质划分

  • 叙述性知识:状态,概念,条件,事实
  • 过程性知识:求解过程中用到的操作,演算,行动的知识
  • 控制性知识:求解过程中决定选用哪种操作,演算,行动的知识

最后是来源划分

  • 共识知识:来自教科书刊物,已经被专业人士承认。
  • 个性知识:来自现场有经验的专业人士,包括大量的经验知识或启发式知识。它描述问题的轮廓,知识严格性差。

作者在这总结了一下,无论采用何种划分方式,目的都是为了构建知识实体之间的结构化关系网络的知识图谱,毕竟我们的目的还是搞出知识图谱的。

🥦1.1.2 知识图谱定义

知识图谱:以结构化的形式描述显示世界中的实体机器关系,将互联网庞大的信息网转化为更接近人类去认知的形式。

这里我仅仅简单概述了一下,想了解更多概念的可以参考百度百科。

知识图谱的相关概念有几个分别是:

  1. 概念
  2. 实体
  3. 关系
  4. 属性

我们可以理解为知识图谱就是将世界中的不同的种类的事物连接在一起而得到一个关系网络。
在这里插入图片描述
可以从上图看出,实体包括小李,小丁,跑步等,关系包括喜欢,同学等,概念就是人,运动之类的,属性就是面积:3000平方米。整张图还是很好理解的。当然这里面的细节我们也是要知道的。


比如:如果两个节点之间存在关系的话,那么它们之间就会被一条有向边连接在一起。本质来讲:知识图谱就是一种揭示实体之间关系的语义网络,可以对现实世界的事物及其相互关系进行形式化描述。组织形式:有向图

🥦1.1.3 知识图谱分类

书中在知识图谱分类上分为了两类,一种是通用知识图谱,一种是领域知识图谱

  • 通用知识图谱(General Knowledge Graph): 这种知识图谱致力于涵盖各种主题,包括常识性的信息、人物、地点、历史事件等。通用知识图谱的目标是为用户提供广泛的知识,以满足各种查询和信息检索需求。例如,Google的知识图谱就是一个通用知识图谱的实例。

  • 领域特定知识图谱(Domain-specific Knowledge Graph): 这类知识图谱专注于特定的领域或行业,以深入挖掘该领域的专业知识。领域特定知识图谱有助于更深入地理解特定领域的实体、关系和属性,支持专业性的应用。例如,在医学领域使用的医学知识图谱就是领域特定知识图谱的一个例子。当然还有可多的应用,书中还介绍了生活类知识图谱、社交类知识图谱、电商类知识图谱、金融类知识图谱等

作者还提到,不同的知识图谱并不是一蹴而就的,而是经过漫长的发展和积累进行得到的,这里面包括了前人的不断积累,值得我们去学习与敬佩。

🥦1.1.4 知识图谱发展阶段

早期阶段:

概念形成(2000年前): 早期的知识图谱概念主要体现在人工智能和语义网等领域。研究者们开始探索如何以图形结构的方式表示和组织知识。

语义网阶段(2001-2010年):

语义网的提出: 在这个阶段,Tim Berners-Lee提出了语义网的概念,强调在互联网上创建具有明确含义的数据链接。RDF(Resource Description Framework)和OWL(Web Ontology Language)等标准被引入,用于表示和推理关于网络资源的知识。

知识图谱概念的兴起(2012年前后):

Google知识图谱: Google于2012年推出了知识图谱,将知识图谱引入主流。这一阶段的重要事件包括谷歌的知识图谱以及百度、微软等公司对知识图谱概念的采纳。

知识图谱的应用拓展(2015年后):

应用扩展: 知识图谱在搜索引擎、虚拟助手、自然语言处理、推荐系统等领域得到广泛应用。各种知识图谱的建设和应用逐渐增多,包括通用知识图谱和领域特定知识图谱。

领域特定知识图谱的兴起(2018年后):

领域特定应用: 随着对于更深入领域知识的需求增加,领域特定知识图谱得到更广泛的应用,如医学知识图谱、金融知识图谱等。

知识图谱与AI的融合(2020年后):

知识增强的AI: 知识图谱与人工智能、机器学习的结合越来越深入。知识图谱被用于丰富机器学习模型的输入,帮助模型更好地理解语境和关系。

这里作者是通过一张图进行展示,并对未来国内对于此行业进行了一定的展望。

🥦1.2 知识图谱架构

🥦1.2.1 构建方法

从两个角度去看的话,可以分为自底向上和自顶向下
构建知识图谱可以从自底向上和自顶向下两个角度来考虑,这两种方法分别强调从细节逐步构建整体和从整体指导细节的方式。
自底向上(Bottom-Up)的构建方式:

  • 数据收集与整理: 从各种数据源中收集结构化和非结构化的信息。这可能包括从文本中提取实体和关系,解析数据库中的数据等。

  • 实体识别和关系抽取: 使用自然语言处理技术,从文本数据中识别实体和抽取实体之间的关系。这可以包括命名实体识别(NER)、关系抽取等任务。

  • 数据清洗和预处理: 处理数据中的噪声、错误和不一致性,确保数据的质量。

  • 知识表示和建模: 将数据表示成图结构,定义实体、属性和关系。这可能涉及到为不同实体设计模型和属性,以及识别关系类型。

  • 关联实体: 在图中建立实体之间的连接,形成知识图谱的结构。这可能需要使用算法来推断或预测一些关联关系。

  • 知识图谱的增量构建: 可能采用增量式的方式,逐步将新的信息添加到已有的知识图谱中。

自顶向下(Top-Down)的构建方式:

  • 需求分析: 首先明确定义知识图谱的目标和应用场景,确定需要包含的实体、关系和属性。

  • 知识建模和设计: 定义知识图谱的整体结构,包括实体的分类、属性的定义和关系的建模。这一步可以借助领域专家的知识进行设计。

  • 数据获取和注入: 根据知识图谱的设计,获取符合设计要求的数据。这可能涉及到购买、合作获取、或者使用已有数据集。

  • 数据清洗和转换: 对获取的数据进行清洗和预处理,以符合知识图谱的标准。

  • 知识图谱的实际建立: 将清洗过的数据注入到知识图谱中,建立实体、属性和关系的具体关联。

  • 知识图谱的优化和维护: 反馈知识图谱的实际应用情况,进行优化和调整,确保知识图谱的持续有效性。

作者总结到,自顶向下是指为知识图谱定义好本体模型,根据本体模式的约束,再将实体加入知识库。
自底向上是指从一些通用知识图谱中提取出实体,选择其中置信度较高的实体加入知识库,再构建顶层的本体模式。
注意:这里的本体库可以理解为面向对象中的“类”,作者这里形容的十分妙~

🥦1.2.2 逻辑架构

逻辑架构可以划分为两个层次:概念层和数据层

概念层的构建是在数据层之上的,这是知识图谱的核心,用来规定知识图片中包含哪些领域的知识、知识的类
别、每种类别知识的关系与属性。

如果从一个例子来展示的话,如下:
概念层:人物1-关系-人物2,人物-属性-属性值
数据层:李娜-丈夫-姜山,李娜-冠军-法网

我相信这样大家理解起来就会轻松许多了吧

🥦1.2.3 技术架构

在这里插入图片描述
本小节内容较多,不进行一一描述,大家可以通过上图进行大概理解知识图谱的整个构建过程。

请添加图片描述

挑战与创造都是很痛苦的,但是很充实。

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

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

相关文章

SpringBoot : ch11 整合RabbitMQ

前言 在当今的互联网时代,消息队列成为了构建高可靠、高性能系统的重要组件之一。RabbitMQ作为一个可靠、灵活的消息中间件,被广泛应用于各种分布式系统中。 本篇博客将介绍如何使用Spring Boot整合RabbitMQ,实现消息的发送和接收。通过这种…

基于SpringBoot的教师工作量管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的教师工作量管理系统,ja…

硬件工程师助理怎么买器件

1. 买器件的要求。 1. 保证器件的质量。 2. 货期近可能的合适。 3.稳定渠道。 2. 器件到哪里买 1. 首先到立创商城去买,因为方便,价格明显,质量有保证。 立创商城链接:新人注册享元器件优惠券_新人特价商品_立创商城 (szlcsc.com…

视频集中存储/磁盘阵列EasyCVR平台黑名单异常解决步骤是什么?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…

华为云(HECS)docker环境下安装jenkins

Jenkins是一个开源的自动化工具,可以自动化地完成构建、测试、交付或部署等任务。总之重点就是三个字:自动化,至于如何实现这些功能,Jenkins基于插件化的机制,提供了众多的插件来完成持续集成CI与持续部署CD。 【持续…

【Python】python天气数据抓取与数据分析(源码+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

每日随想:在Python中字符串如何转列表

要将一个字符串转换为列表,可以使用字符串的 split() 方法。split() 方法根据指定的分隔符将字符串分割成子串,并将这些子串组成列表。 假设有一个用空格分隔的字符串,我们想要将其转换为一个单词列表: my_string "Hello w…

Ajax 是什么? 如何创建一个 Ajax?

Ajax(Asynchronous JavaScript and XML)是一种使用客户端JavaScript发送异步HTTP请求到服务器的技术,以便在不重新加载整个页面的情况下更新部分网页内容。 使用Ajax的原因有很多,以下是其中一些: 改善用户体验&…

pdf文件能扫码查看吗?一键做文本二维码

pdf格式是常用的一种文件格式,很多资料、展示性的内容都会选择这种格式,现在很多人都需要将文件生成二维码图片后分享给他人,那么文件存入二维码展示的方法有哪些呢?下面给大家分享一招使用二维码生成器来生成二维码图片的操作方法…

[英语学习][3][Word Power Made Easy]的精读与翻译优化

[序言] 这次翻译校验, 难度有点大, 原版中英翻译已出现了严重地偏差. 昨晚11点开始阅读如下段落, 花费了1个小时也没有理解原作者的核心表达, 索性睡觉了. 今早学习完朗文单词之后, 9点半开始继续揣摩. 竟然弄到了中午11点30, 终于明白原作者要表达的意思了. 废话不多说&#x…

插入排序:理解经典的排序技术

什么是插入排序? 插入排序是一种简单而直观的排序算法,它的工作方式类似于我们手动排序卡片或整理文件: 工作原理: 初始状态:将数组分为两部分:一部分是已排序的(最开始时这部分只包含第一个元…

SVD recommendation systems

SVD recommendation systems 为什么在推荐系统中使用SVD 一个好的推荐系统一定有小的RMSE R M S E 1 m ∑ i 1 m ( Y i − f ( x i ) 2 RMSE \sqrt{\frac{1}{m} \sum_{i1}^m(Y_i-f(x_i)^2} RMSEm1​i1∑m​(Yi​−f(xi​)2 ​ 希望模型能够在已知的ratings上有好的结果的…

[学习笔记]IK分词器的学习

IK分词器有几种模式 # 测试分词器 POST /_analyze {"text":"黑马程序员学习java太棒了","analyzer": "standard" }# 测试分词器 POST /_analyze {"text":"黑马程序员学习java太棒了","analyzer": &quo…

电脑风扇转一下停一下,无法正常开机问题解决

今天同事电话说电脑开不了机了,只听见风扇不停地呜呜地作响。笔者第一反应是不是硬件哪里出问题了,于是二话没说拿起心爱的螺丝刀就闪了过去。 按下电源,确实如电话所述。但感觉风扇并非一直在转,而是时断时续。由于听不大真切&a…

怎么更新BI报表数据?问我就对了

BI大数据分析工具上有大量的BI报表模板,这些模板都是一个个完整的BI报表,只需将数据源更换,立即就能用来分析我们自己的数据。那,BI报表的数据怎么更新?接下来就来说说这事。 目的:更新BI报表数据 工具&a…

第3章 表、栈和队列

前言 本章讨论最简单和最基本的三种数据结构。实际上,每一个有意义的程序都将至少明确使用一种这样的数据结构,而栈则在程序中总是隐含使用,不管你在程序中是否做了声明。 在这一章,我们将: 介绍抽象数据类型…

每日OJ题_算法_双指针⑧力扣18. 四数之和

目录 力扣18. 四数之和 解析代码 力扣18. 四数之和 难度 中等 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应&…

nvm:node版本控制工具

下载安装 首先先下载nvm,下载地址 https://github.com/coreybutler/nvm-windows/releases选择nvm-setup.exe下载即可 常用命令 命令说明nvm list available显示所有可以下载的Node.js版本nvm list显示已安装的版本nvm install 18.12.1安装18.12.1版本的Node.jsnv…

如何把一个数组json数据,加到已有的树形数据中

要将一个数组的 JSON 数据添加到已有的树形数据中,可以使用递归方法遍历树形数据,并将数组中的每个元素插入到合适的位置。以下是一个使用 JavaScript 实现的示例: function insertArrayToTree(tree, arrayData) {if (!tree || !arrayData) …

Pikachu靶场(PHP反序列化漏洞)

查看php反序列化漏洞的概述&#xff0c;了解序列化与反序列化。 构造payload <?php class S{var $test "<script>alert(wjy)</script>"; } $c new S(); echo(serialize($c)); ?>将对象序列化为O:1:"S":1:{s:4:"test";s:…