一文速学-知识图谱从零开始构建实战:知识图谱的基本概念

news2024/11/16 16:20:45

前言

目前设计到很多企业专业领域的知识库构建基本都没有很好的思路对现有的领域知识作一个很好的思路拆分理解,想要落地私域多模态大模型的应用我想还是绕不过想现有的知识库转换为知识图谱,知识图谱不论是对业务还说还是对各个员工来说都是对业务清晰认识了解的有力工具。

但是构建知识图谱这个构成是绕不开现有业务的深入理解,构建的过程比较像构建一个数据仓库,也是对业务的实际拆解重构过程,但是现在通过和LangChain的集成大大提高了知识图谱的应用空间,能够适用于数据并非全面充裕的小型业务场景。

在这里插入图片描述
本人构建过时空交通以及招投标领域的知识图谱,均起到了十分不错的业务效果,此专栏将全面详细讲述从零开始构建知识图谱搭建到应用以及集成企业知识库,落地不同业务场景的实际运用和探索,对此项目专栏感兴趣的不妨支持一下!

一、知识图谱的基础概念

知识图谱的基础设计理念就是万物互联,可以想象结合业务去不断分裂不同业务的思维导图,用图来描述每一条业务线关系到的人或物。以电影数据库为例:

电影名导演演员类型年份
盗梦空间克里斯托弗·诺兰莱昂纳多·迪卡普里奥科幻、动作2010
泰坦尼克号詹姆斯·卡梅隆凯特·温丝莱特爱情、剧情1997
敢死队西尔维斯特·史泰龙杰森·斯坦森动作2010

根据数据集,我们可以识别出他们直接的特征名称:

实体

  • 电影(如《盗梦空间》)
  • 导演(如“克里斯托弗·诺兰”)
  • 演员(如“莱昂纳多·迪卡普里奥”)

关系

  • 导演-执导-电影
  • 演员-出演-电影
  • 电影-属于-类型

属性

  • 年份:《盗梦空间》->2010。
  • 类型:“科幻”、“爱情”。

我们将上述的特征可以映射为知识图谱的实体,也称之为一个节点,知识图谱的最小构成单位。

1.1实体(Nodes)

实体是知识图谱的基本单元,通常代表具体的对象或概念。在我们的电影知识图谱中,实体可以分为以下几类:

  • 电影:每部电影都是一个实体。例如,《盗梦空间》、《泰坦尼克号》和《敢死队》都作为电影实体存在。
  • 导演:电影的导演也是一个重要的实体,如“克里斯托弗·诺兰”和“詹姆斯·卡梅隆”。
  • 演员:参与电影表演的演员是另一个重要的实体,比如“莱昂纳多·迪卡普里奥”和“凯特·温丝莱特”。

其中关系我们可以映射为描述每一个节点关联的边。

1.2关系(Edges)

关系描述了实体之间的联系。我们在电影知识图谱中可以定义以下几种主要关系:

  • 导演-执导-电影:这表示某位导演执导了一部电影。例如,克里斯托弗·诺兰执导了《盗梦空间》。
  • 演员-出演-电影:这表示某位演员在一部电影中出演了角色。例如,莱昂纳多·迪卡普里奥在《盗梦空间》中出演。
  • 电影-属于-类型:这表示某部电影属于某种类型,比如《泰坦尼克号》属于爱情和剧情类型。

1.3属性(Attributes)

属性是对实体特征的描述,帮助进一步丰富知识。例如,在我们的电影知识图谱中,电影的属性包括:

  • 年份:电影的上映年份,如《盗梦空间》的年份是2010。
  • 类型:电影的类型,如“科幻”、“爱情”等。

知识图谱的关键组成部分包括实体、关系和属性。Google就是通过一个巨大的知识图谱,提高了用户的搜索体验。

以电影《盗梦空间》为例:

  • 实体
    • 电影:盗梦空间
    • 导演:克里斯托弗·诺兰
    • 演员:莱昂纳多·迪卡普里奥
  • 关系
    • 克里斯托弗·诺兰执导《盗梦空间》
    • 莱昂纳多·迪卡普里奥出演《盗梦空间》
  • 属性
    • 年份:2010
    • 类型:科幻、动作

以上就是构建知识图谱的大致过程。

二、知识图谱技术发展现状

知识图谱的概念源于20世纪90年代的本体论和语义网研究。这个时期的主要成就包括:

  • 本体论:本体论提供了一种形式化的知识表示方法,定义了概念及其相互关系,帮助计算机理解人类语言中的意义。著名的本体论如WordNet,通过词汇的关系构建语义网络,奠定了知识图谱的基础。
  • 语义网的提出:1999年,蒂姆·伯纳斯-李提出了“语义网”的概念,旨在通过结构化的数据使机器能够理解网页上的信息,为后来的知识图谱发展奠定了理论基础。

2012年是知识图谱发展的重要转折点:

谷歌知识图谱:谷歌在其搜索引擎中推出了知识图谱,这一举措标志着知识图谱进入主流视野。知识图谱使搜索结果不仅限于关键词匹配,而是通过理解用户查询的意图,提供更为精准和相关的信息。这里展示了一张谷歌用来描述其知识图谱的插图。这是一张有向图,上面有命名实体(达芬奇、蒙娜丽莎和卢浮宫)以及显示实体之间关系的命名关系。
在这里插入图片描述
图谱的构建与应用:谷歌通过整合多个数据源(如Wikipedia、CIA World Factbook等)构建了其知识图谱,并通过图谱提高了用户体验。这一成功案例激励了更多企业和机构开始探索知识图谱的构建与应用。

  • 2015年:Facebook推出了“图形搜索”功能,该功能利用知识图谱来增强用户搜索体验,使用户能够根据关系和属性更方便地找到信息。
  • 2016年:微软在其“Azure”平台上提供知识图谱服务,允许企业快速构建和部署自己的知识图谱,进一步推动了知识图谱在企业应用中的普及。
  • 2018年:随着人工智能和深度学习的发展,许多研究者开始将知识图谱与机器学习结合,推动了智能问答、推荐系统等应用的进步。例如,OpenAI的GPT系列模型开始尝试将知识图谱信息融入其生成模型中,提升了生成文本的准确性。

知识图谱正在快速发展,具有以下特点:

  • 动态知识更新:现代知识图谱不再是静态的,而是具备动态更新的能力。企业通过自动化知识抽取技术,能够实时更新知识图谱,使其反映最新的信息。
  • 多模态融合:知识图谱开始与图像、视频等多种数据形式结合。例如,Google和Microsoft等公司正在开发结合文本和图像的多模态知识图谱,以提高搜索和推荐的准确性。
  • 大模型与知识图谱的结合:目前,像GPT-4等大型预训练语言模型开始与知识图谱结合。这种结合使得模型不仅可以生成文本,还能基于知识图谱提供更准确的答案,提升了在复杂任务中的表现。
  • 行业应用广泛:从医疗、金融到电商,知识图谱的应用领域正在不断扩展。以医疗行业为例,知识图谱能够整合患者数据、医学文献和治疗方案,帮助医生进行更精确的诊断和治疗。

三、知识图谱和知识库的区别

3.1定义

知识库:是一个用于存储和管理信息的系统,可以是结构化(如数据库)或半结构化(如文档库)的形式。它集中存储特定领域的事实、规则和信息,方便查询和管理。

知识图谱:是一种以图形化方式表现知识的结构,通过节点(实体)和边(关系)来展示信息,强调实体之间的关联性和上下文。

3.2表现形式

知识库

  • 采用表格、文档或文件的形式,数据通常是静态的。
  • 信息存储为键值对、记录或对象。

知识图谱

  • 以图形结构呈现,节点和边的组合形成网络。
  • 数据动态且可通过关系进行扩展,提供更复杂的信息视图。

3.3功能

知识库

  • 主要用于数据存储、管理和检索,强调数据的准确性和一致性。
  • 支持简单的查询和报告生成。

知识图谱

  • 侧重于数据之间的关联性和推理能力,支持复杂查询和智能分析。
  • 可以揭示隐藏的关系和模式,增强信息的可理解性。

知识库和知识图谱在数据存储、管理和应用方面各有优势。知识库更适合传统的数据管理任务,而知识图谱则提供了更丰富的语义理解和数据关联能力,适用于复杂的信息处理和智能应用。在构建知识管理系统时,可以根据具体需求选择或结合这两种技术。

四、GraphRAG知识图谱和大模型的结合

尽管大语言模型这两年各方面表现非常出色,但是由于缺乏特定领域知识、实时更新信息,导致模型存在一定局限性。这些不足容易引发幻觉现象,即模型生成不准确甚至是虚构的信息。在我之前RAG详细描述的文章里面也有提到过:

虽然 RAG 成果斐然,并在各个领域得到广泛应用,但在实际场景中仍面临一些局限:

  • 忽视关系:实际上,文本内容并非孤立存在,而是相互关联的。传统的 RAG 无法捕获仅靠语义相似性无法呈现的重要结构化关系知识。比如,在通过引用关系连接论文的引用网络中,传统的 RAG 方法侧重于依据查询找到相关论文,却忽略了论文之间重要的引用关系。
  • 冗余信息:RAG 在连接成提示时,常以文本片段的形式重复内容,致使上下文过长,陷入“Lost in the Middle”的困境。
  • 缺乏全局信息:RAG 只能检索文档的子集,无法全面掌握全局信息,因而在诸如查询聚焦摘要(Query-Focused Summarization,QFS)等任务中表现不佳。

数据库中实体关系的复杂性对 RAG 构成了挑战。GraphRAG 技术应运而生,它利用实体间的结构信息,实现更精准的检索,增强关系知识的捕捉,并生成更符合上下文的响应。

在这里插入图片描述
GraphRAG(Graph-based Retrieval-Augmented Generation)是一种结合了知识图谱和图机器学习技术的新型检索增强生成模型。该技术由微软于2024年7月2日开源,本系列文章的目的也是包含将已构建的知识图谱运用到大模型里面去融合,再者完成对企业知识库文档进一步知识图谱自动构建,知识抽取和生成,增强对业务的理解能力。而该开源项目正好取长补短。
在这里插入图片描述
在这里插入图片描述
那么基础概念就先到此,重要的是实现过程以及是否能够在真实的业务场景下面发挥其效果,实现期望目标,因此下一章我们就开始着手部署完成知识图谱构建的。

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

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

相关文章

从响应到预见:前瞻性客户服务策略的实践与探索

在快速变化的商业环境中,客户服务已不再是简单的需求响应与问题解决,它正逐步演变为企业竞争力的核心要素之一。传统的“响应式”服务模式虽能满足基本的客户需求,但在追求极致客户体验和构建长期忠诚度的今天,显然已显不足。因此…

【巅峰算力,静谧之作】4卡4090GPU深度学习“静音”服务器

各位同仁,随着人工智能浪潮的汹涌澎湃,我们正步入一个前所未有的创新纪元。在这个充满挑战与机遇的时代,我愈发频繁地在工作场景中邂逅那些致力于深度学习探索的智者们。他们,对计算力的渴望如同对知识的追求一般,永无…

HTX DAO重磅亮相Crypto Summit 2024:强势布局CIS地区,推动全球化扩张

9月25日-26日,HTX DAO独家赞助Crypto Summit 2024大会注册处,并以商业伙伴身份亮相。此举为HTX DAO展示其独特的去中心化治理模型提供了机会,将进一步扩大HTX DAO及HTX在CIS地区的市场份额和影响力,吸引更多的加密社区成员、开发者…

实现org.springframework.beans.factory.InitializingBean 接口--初始化bean

1、案例 import com.dzwl.easy.report.core.service.IUserDescService; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;Component public c…

flink:java集成flink实现流数据处理(一)

文章目录 0. 引言1. flink安装2. 流数据处理程序依赖包简介流处理4个部分 3. 程序调用4. 总结 0. 引言 Apache Flink作为一款高性能的流处理框架,已成为企业级流数据处理的优选方案。本文将带领读者深入了解如何利用Java语言集成Flink,实现高效、可靠的…

Tomcat CVE-2017-12615 靶场攻略

漏洞描述 当 Tomcat运⾏在Windows操作系统时,且启⽤了HTTP PUT请求⽅法(例如,将 readonly初始化参数由默认值设置为false),攻击者将有可能可通过精⼼构造的攻击请求数据包向服务器上传包含任意代 的 JSP ⽂件&#xf…

Kubernetes 资源详解

1. Namespace Namespace 是 kubernetes 系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行…

鸡汤,你在生活中有哪些观人术和识人技巧?

看有没有边界感吧,npd一般没有边界感。还有就是三角测量 吧,可能就是把你和其他人对比看你对他好不好了。还有就是看他有没有情感吧,npd情感这方面可以说一无所有。我是npd不过npd也就那样吧,不过别人怎么看我并不重要&#xff0…

AlphaFold3 | 详解 AlphaFold3 的模型结构及其在不同类型的预测实验中的表现

Jumper 本文将介绍 24 年 5 月发布的 Alaphafold3,其以“使用 AlphaFold 3 进行生物分子相互作用的精确结构预测”为标题发表在《nature》上,通讯作者为 Jumper。 Jumper 具有物理、化学、生物和计算方面的丰富背景。Jumper 本科学的是物理和数学&#…

excel数据常用函数学习记录

1、VLOOKUP查询函数,匹配数据返回 vlookup(查找值,查找范围,要查找的值在第几列,0表示精确查找) enter键返回 例如:在E列中返回,A列的值与D列一致的对应的B值。只会返回查找到的第一个 如果需要把查找到的匹配的数据都返回到单元格中&…

Power Automate 设置流Owner不生效的bug

在查找某个功能没生效时,定位到是一个Power automate的流停了,查看原因是因为创建流的owner被disable了 但是当把流的owner更新为可用的用户时,流依旧没被触发,触发的条件很简单,某个表的记录创建时,因为是…

白嫖10个免费视频剪辑素材网站,新手必备。

视频剪辑不知道去哪里找素材,那就看看这10个网站吧,免费下载,赶紧收藏! 视频素材 1、菜鸟图库 视频素材下载_mp4视频大全 - 菜鸟图库 菜鸟图库网素材非常丰富,网站主要还是以设计类素材为主,高清视频素材…

51单片机应用开发(进阶)---数码管显示按键“加”“减”计数

实现目标 1、巩固按键操作 2、巩固数码管显示操作 一、内容描述 功能描述:1、开机显示10,每按一次K1 ,数码管计数值加1,当加到20,,再按K1,数值一直停留在20;2、每按一次K2,数码管计…

Pencils Protocol上线 Vaults 产品,为 $DAPP 深入赋能

Pencils Protocol 是 Scroll 生态一站式综合收益平台,该平台以 DeFi 功能作为抓手,基于 Farming、Vaults、Auction 等功能不断向 LRT、LaunchPad、AI、FHE、RWA 等领域深入的拓展。 近期 Pencils Protocol 生态不断迎来重磅进展,一个是 $DAPP…

基于二分查找的动态规划 leetcode 300.最长递增子序列

如题: https://leetcode.cn/problems/longest-increasing-subsequence/description/ 其实常规动态规划的解法就没什么好说的了,有意思的是官方放出了一个二分查找的动态规化解法,时间复杂度能降到O(nlog(n)),但是为什么这样能解&…

PPT 快捷键使用、技巧

前言: 本文操作是以office 2021为基础的,仅供参考;不同版本office 的 ppt 快捷键 以及对应功能会有差异,需要实践出真知。 shift 移动 水平/垂直 移动 ; shift 放大/缩小 等比例放大 缩小 ; 正圆 正…

Python编程:01-基本数据类型-数值字符串,列表与元组,字典,集合set

python的数据类型有如下: 1、数字 数字类型是python中常用的类型,她是不可变的,创建一个数字很简单可以用一个变量来接收它 num12 在这里插入代码片 #创建变量num1 num29 #创建变量num2数字的类型分为如下几类: 整型&#x…

再谈QT的界面开发 - QT的社区版本的获取 - 2024-09

前言: QT的跨平台特性,赋予了QT的生命。2024年,因为项目的原因,重新开启了一个基于QT的跨平台项目。 QT有付费的版本和社区的版本。 1 获取社区的版本: 1.1 社区的版本的软件授权说明: Qt - Obligation…

Spring Boot 2.x基础教程:实现文件上传

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 文件上传的功能实现是我们做Web应用时候最为常见的应用场景,比如:实现头像的上传,Excel文件数据的导入等功能,都需要我们先实现文件的上传,然…

【含文档】基于Springboot+微信小程序 的高校心理咨询系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…