智能化的知识管理:大模型在知识图谱构建中的突破性应用

news2024/9/23 3:23:51

转自:大模型奇点说

知识图谱是一种以图形结构组织数据的知识表示形式,其中,概念、事件、实体等知识单元通过节点呈现,而它们之间的各种关系则通过边来描述。知识图谱的显著特点在于,通过关系的定义,为节点提供了丰富的上下文信息,从而在多义词的语义理解、实体区分等方面发挥着关键作用。例如,在谷歌搜索中,知识图谱能够准确区分“苹果”这一品牌与水果的不同含义。

知识图谱的应用范围广泛,涵盖了零售业、搜索引擎优化、反洗钱以及医疗保健等多个领域,尤其在产品推荐系统中展现出其独特的价值。

尽管知识图谱的应用前景广阔,但其构建过程却面临着诸多挑战,如成本高昂、构建周期长等。为应对这些挑战,近年来,自动构建知识图谱的研究成为热点。特别是,随着大型语言模型(LLM),如GPT-4等技术的发展,其在语言理解和处理方面的卓越能力,为知识图谱的自动构建提供了新的可能性。

本文首先将探讨知识图谱构建中的主要难题,其次,将知识图谱与LLM在知识库构建方面进行对比分析。最后,文章将对现有利用LLM进行自动知识图谱构建的方法进行综述。

构建知识图谱的困难

传统的知识图谱构建方法主要依赖于众包和文本挖掘技术。众包知识图谱的典型例子包括WordNet和ConceptNet,这些知识图谱通过大量人力资源构建而成,但它们通常局限于预定义的关系集合。另一方面,基于文本挖掘的技术从文档中提取知识,其能力受限于文本中明确表述的关系。这种方法涉及多个复杂的步骤,包括共指消解、命名实体识别等。

知识图谱的构建过程具有高度的复杂性,这一点在为特定领域或应用构建定制化知识图谱时尤为突出。由于不同领域所采用的概念和术语各不相同,不存在一种普适的方法来创建知识图谱。特定领域的知识图谱构建还面临着独特的挑战。例如,在服务计算领域,知识图谱对于资源管理、个性化推荐和客户洞察等方面极为有用。然而,这些应用场景通常要求知识图谱整合来自多个领域的知识和概念,而所需的数据往往是高度分散且缺乏注释的。这些因素显著增加了构建知识图谱所需的时间、资源和成本。

知识图谱与大型语言模型

知识图谱和大型语言模型(LLM)均可用于知识的检索。在知识图谱中,通过查询相关联的节点来确定答案;而在LLM中,模型接收提示并填写缺失的部分来完成句子。例如,GPT-4和BERT等LLM因其卓越的语言理解能力而备受瞩目。这些模型随着规模的不断扩大和海量数据的训练,积累了广泛的知识。如今,许多用户倾向于通过ChatGPT等平台提出问题,而不是传统的Google搜索。学术界和工业界的关注点转向了探讨LLM(如GPT)是否有可能取代知识图谱(如谷歌知识图谱)成为主要的知识来源。

图片

从知识图谱(左)和大型语言模型(右)中检索知识

进一步的研究揭示,尽管大型语言模型(LLMs)拥有更多的基础世界知识,但它们在回忆关系性事实和推断行动与事件之间的关系方面存在困难。尽管大型语言模型有许多优势,但它们也面临以下挑战:

  • 幻觉:大型语言模型有时会产生令人信服但不正确的信息。相反,知识图谱提供基于其事实数据源的结构化和明确的知识。

  • 推理能力有限:大型语言模型难以理解和使用支持证据来得出结论,特别是在数值计算或符号推理方面。知识图谱中捕捉的关系允许更好的推理能力。

  • 缺乏领域知识:虽然大型语言模型在大量通用数据上进行训练,但它们缺乏特定领域的知识,如医学或科学报告中的特定技术术语。与此同时,可以为特定领域构建知识图谱。

  • 知识过时:大型语言模型训练成本高昂且不经常更新,导致它们的知识随时间变得过时。另一方面,知识图谱有一个更直接的更新过程,不需要重新训练。

  • 偏见、隐私和毒性:大型语言模型可能会给出有偏见或冒犯性的回答,而知识图谱通常建立在没有这些偏见的可靠数据源之上。

知识图谱不会遇到这些问题,并且展现出更好的一致性、推理能力和可解释性,尽管它们也有自己的一套限制。除了之前讨论过的问题,知识图谱还缺乏大型语言模型(LLMs)因其无监督训练过程而享有的灵活性。

将知识图谱和大型语言模型(LLMs)相结合

因此,已经有众多的研究工作旨在合并LLMs和知识图谱。尽管知识图谱拥有引导LLMs朝向更高精度的能力,LLMs也可以在构建过程中帮助知识图谱进行知识提取,提高知识图谱的质量。合并这两个概念有几种方法:

  • 使用LLMs辅助自动构建知识图谱:LLMs可以从数据中提取知识以填充知识图谱。关于此方法的更多细节将在下面讨论。

  • 教导LLMs从知识图谱中搜索知识:如下图所示,知识图谱可以增强LLMs的推理过程,使LLMs能够得出更准确的答案。

  • 将它们结合成知识图谱增强的预训练语言模型(KGPLMs):这些方法旨在将知识图谱纳入LLMs的训练过程中。

图片

(a) 仅靠LLM可能还不够 (b) 通过知识图谱,可以增强LLM的推理过程

使用LLMs自动构建知识图谱

早期方法

2019年提出的一个早期方法是COMET(或COMmonsEnse Transformers),它使用了一个微调过的生成型LLM,这里是GPT,通过在给定头实体和关系的情况下生成尾实体来构建知识图谱。在下图中的“种子”和“关系”给出后,COMET生成了“完成”响应,然后由人类评估这些响应的合理性。这些种子-关系-完成三元组可以用来形成知识图谱。例如,“piece”和“machine”可以通过“PartOf”关系形成两个相连的节点。

图片

“完成”列中的响应由 COMET 生成,给定“seed”和“relation”

使用 ChatGPT 作为信息提取器

为了避开与手动数据注释相关的努力和成本,专门针对服务领域构建了一个名为BEAR的知识图谱,使用ChatGPT进行开发。为此,创建了一个特定于该领域的本体,它作为知识图谱的基础,并确定了稍后应该填充到知识图谱中的概念和特征。然后提示ChatGPT从非结构化文本数据中提取相关内容和关系,如下图所示。自动提取的信息随后被纳入知识图谱中以构建它。

图片

ChatGPT用于从BEAR模型中的文本数据中提取信息

使用LLMs进行半自动知识图谱构建

Kommineni等人最近再次提出使用ChatGPT作为信息提取器,在他们的知识图谱构建方法中使用ChatGPT-3.5,并在两个阶段由人类领域专家验证结果,如下图所示。这种方法与之前的方法的区别在于,LLMs在这里扮演了更积极的角色。从特定数据集开始,提示ChatGPT生成能力问题(CQs),这些问题是对数据的抽象级问题。通过提示ChatGPT从CQs中提取概念和关系来创建一个本体。从数据中检索CQs的答案并交给ChatGPT,指示其提取关键实体、关系和概念,并将它们映射到本体上以构建知识图谱。

图片

一种使用 LLM 构建知识图谱的半自动方法

从LLMs中提取知识图谱

本文讨论的最后一个方法旨在直接从LLMs本身提取信息。Shibo Hao等人认识到,在LLMs的初始训练中存储了大量的知识,这些知识可以被利用。下图显示了获取LLM知识的步骤。该过程从初始提示和少至两个示例实体对开始。采用文本释义模型来对提示进行释义,并从原始提示中派生出修改后的提示。随后,在LLM中搜索与这组提示相对应的实体对。使用搜索和重新评分的方法,提取最相关的对以形成知识图谱,其中对中的实体作为节点,提示作为关系。

这种方法使得生成的知识图谱具有更好的关系质量,因为派生的关系具有传统构建的知识图谱中未见的几个特点:

  1. 关系可能很复杂,例如,“A 有能力,但不擅长 B”。

  2. 关系可能涉及两个以上的实体,例如“A 可以在 C 处执行 B”。

有趣的是,使用LLMs构建知识图谱还提供了一种新方法来可视化和量化LLMs内部捕获的知识。

图片

BertNet中自动构建知识图谱的过程

LLMs构建知识图谱的优势包括:1.表示复杂关系;2.提升关系质量;3.易于更新和扩展;4.增强知识可解释性;5.实现知识多样性和全面性;6.减少人工干预。

结论

总之,我们讨论了知识图谱和大型语言模型(LLMs)作为知识库的潜力。知识图谱在捕捉关系方面表现出色,并且具有更强的推理能力,但构建起来困难且成本高昂。另一方面,LLMs包含广泛的知识,但容易出现偏见、幻觉和其他问题。它们在针对特定领域进行微调或适配时也计算成本昂贵。为了利用这两种方法的优势,可以通过几种方式将知识图谱和LLMs整合在一起。

在本文中,我们专注于使用LLMs来辅助自动构建知识图谱。特别是,我们回顾了四个例子,包括早期的COMET模型,使用ChatGPT作为BEAR中的信息提取器,以及直接从LLMs中获取知识。这些方法代表了结合知识图谱和LLMs的优势,以增强知识表示的有希望的前进道路。

引用

  • What is a Knowledge Graph? | IBM. (n.d.). Www.ibm.com. https://www.ibm.com/topics/knowledge-graph

  • ‌Yang, L., Chen, H., Li, Z., Ding, X., & Wu, X. (2023). Give Us the Facts: Enhancing Large Language Models with Knowledge Graphs for Fact-aware Language Modeling (Version 2). arXiv. https://doi.org/10.48550/ARXIV.2306.11489

  • Feng, C., Zhang, X., & Fei, Z. (2023). Knowledge Solver: Teaching LLMs to Search for Domain Knowledge from Knowledge Graphs (Version 1). arXiv. https://doi.org/10.48550/ARXIV.2309.03118

  • Bosselut, A., Rashkin, H., Sap, M., Malaviya, C., Celikyilmaz, A., & Choi, Y. (2019). COMET: Commonsense Transformers for Automatic Knowledge Graph Construction (Version 2). arXiv. https://doi.org/10.48550/ARXIV.1906.05317

    Yu, S., Huang, T., Liu, M., & Wang, Z. (2023). BEAR: Revolutionizing Service Domain Knowledge Graph Construction with LLM. In Service-Oriented Computing (pp. 339–346). Springer Nature Switzerland. https://doi.org/10.1007/978-3-031-48421-6_23

    Kommineni, V. K., König-Ries, B., & Samuel, S. (2024). From human experts to machines: An LLM supported approach to ontology and knowledge graph construction (Version 1). arXiv. https://doi.org/10.48550/ARXIV.2403.08345

    Hao, S., Tan, B., Tang, K., Ni, B., Shao, X., Zhang, H., Xing, E. P., & Hu, Z. (2022). BertNet: Harvesting Knowledge Graphs with Arbitrary Relations from Pretrained Language Models (Version 3). arXiv. https://doi.org/10.48550/ARXIV.2206.14268

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

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

相关文章

EmguCV学习笔记 VB.Net 9.3 移动检测类

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

第十一课,多分支判断

一,多分支结构 某些场景下,判断条件不止一个,可能有多个。 语法格式(下图左): *需要注意:这里仅是以5种选择作为例子, 可以根据自己的需要,在if...else的中间插入任意…

OrangePi AIpro 香橙派 昇腾 Ascend C 算子开发 与 调用 - Tiling实现

OrangePi AIpro 香橙派 昇腾 Ascend C 算子开发 与 调用 - Tiling实现 flyfish 前置知识 基于Kernel直调工程的算子开发流程图 其中有一个Tiling实现 什么是Tiling、Tiling实现 计算API,包括标量计算API、向量计算API、矩阵计算API,分别实现调用S…

51单片机-串口通信(电脑向串口助手发送数据不接收)

80C52中的串口通过SCON寄存器配置波特率位可变的,因此,需要通过计算定时器1的参与,在定时器配置过程中选择定时器的相关寄存器TMOD来配置定时器的模式为模式2(8位自动重装定时器,如上图,TL1为计数器&#x…

SpringBoot动态配置Nacos

重要知识点 Nacos属性的简单使用 将SpringBoot中的所有配置全部放入到Nacos中 开发人创建单独的命名空间,修改互不影响 Nacos经常变动的配置抽离到外部文件中 将项目中的所有配置全部放到到 1. 首先引入包 <!-- nacos 接入--><!-- https://mvnrepository.com/artifact…

网络安全服务基础Windows--第14节-数字签名

散列函数&#xff08;Hash Function&#xff09;&#xff0c;也称为哈希函数&#xff0c;是密码学中⼀个重要的⼯具。它能够将任意⻓度的输⼊数据转换为固定⻓度的输出&#xff08;散列值或哈希值&#xff09;。这种转换过程具有单向性&#xff0c;即很难从输出推断出输⼊&…

uniapp scroll-view滚动页面

页面滚动固定距离&#xff08;scrollTop&#xff09; <template><view><button click"Test">测试</button><scroll-view style"height: 100px;" :scroll-top"scrollTop" scroll-y"true" class"scrol…

大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

Cadence Virtuoso添加工艺库、转换工艺库格式

系统环境&#xff1a;Red Hat 操作软件&#xff1a;Virtuoso 工艺库&#xff1a;tsmc18rf 1、准备好工艺库文件&#xff0c;放在任意文件夹内&#xff0c;记住文件路径&#xff1a; 2、打开Virtuoso软件&#xff1a; 在桌面右键打开终端&#xff0c;输入&#xff1a; virtuo…

Web3D 技术发展瓶颈在哪里?

Web3D 技术的发展瓶颈主要集中在以下几个方面&#xff1a; 1、性能和优化&#xff1a;尽管现代浏览器和硬件逐步提高了性能&#xff0c;但高质量的3D渲染仍可能导致性能瓶颈。特别是在移动设备上&#xff0c;图形渲染和计算可能会受到限制。建议合理控制好项目资源量&#xff…

DataGridView用法合集【精品】

1.当前的单元格属性取得、变更 [VB.NET] Console.WriteLine(DataGridView1.CurrentCell.Value) Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex) Console.WriteLine(DataGridView1.CurrentCell.RowIndex) DataGridView1.CurrentCell DataGridView1(0, 0) [C#] Con…

毕业设计选题系统

一、项目概述 Hi&#xff0c;大家好&#xff0c;今天分享的项目是《毕业设计选题系统》。 毕业论文选题是大学教学管理中的重要环节&#xff0c;关系到高校的教学质量。传统的手工管理方式工作效率低下、管理繁琐&#xff0c;浪费教师和学生的时间与精力的问题。本系统以提高…

鸿蒙HarmonyOS使用地图服务

1. 生成签名证书指纹 按照步骤生成签名证书指纹 步骤1&#xff1a; 步骤2&#xff1a; 步骤3&#xff1a;Key store file为生成的*.p12文件的存储路径&#xff0c;可以自己选择路径并自定义文件名&#xff0c;输入并确认密码后&#xff0c;点击确认 步骤4&#xff1a;Key s…

代码随想录算法day28 | 动态规划算法part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、 746. 使用最小花费爬楼梯

理论基础 什么是动态规划 动态规划&#xff0c;英文&#xff1a;Dynamic Programming&#xff0c;简称DP&#xff0c;如果某一问题有很多重叠子问题&#xff0c;使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的&#xff0c;这一点就区分于贪…

关于位结构体及位操作总结

#include <stdio.h> #pragma pack(1) struct stu{char a:4; // a占用char的低4位 char b:4; // b占用char的高4位&#xff08;注意&#xff0c;这里实际上是与a共享同一个char的空间&#xff09; }; #pragma pack(4) int main() {struct stu s{.a2, //a:0010.b3, …

如何对单片机程序进行加密(防止别人破解)

单片机程序的破解无非就是非法途径获得源代码或者可执行文件&#xff08;hex文件&#xff09;。本文主要介绍两个方法防止别人从单片机fash中获取可执行文件&#xff08;hex文件&#xff09;。一方面保证别人不能获取你的hex文件&#xff0c;另一面就算别人非法获取你的hex文件…

Windows下的Redis启动报错Redis service failed to start

报错原因&#xff1a;Redis服务没有找到log文件 解决方案&#xff1a; 1、在Redis目录下打开redis.windows-service.conf文件 2、找到logfile存放目录&#xff0c;一般默认为Logs/redis_log.txt 3、在Redis目录创建Logs文件夹&#xff0c;在Logs文件夹下创建redis_log.txt文件…

工业图像输出卡设计原理图:FMC214-基于FMC兼容1.8V IO的Full Camera Link 输出子卡

FMC214-基于FMC兼容1.8V IO的Full Camera Link 输出子卡 一、板卡概述   基于FMC兼容1.8V IO的Full Camera Link 输出子卡支持Base、Middle、Full Camera link信号输出&#xff0c;兼容1.8V、2.5V、3.3V IO FPGA信号输出。适配xilinx不同型号开发板和公司内部各FMC载板。板…

Flutter修改Android包名

一、前言 我在将Android打包上传到google商店的时候提示我“com.example”已受到限制&#xff0c;请换一个软件包名称。“的错误。因此我们需要去修改flutter的Android包名。 二、操作流程 1.修改路径 android ——> app ——> src ——> debug ——> AndroidMa…

LearnOpenGL学习笔记

LearnOpenGL学习笔记 入门认识OpenGL核心模式和立即渲染模式扩展状态机对象 创建窗口视口渲染循环释放资源输入事件渲染 你好&#xff0c;三角形基本概念顶点输入顶点着色器编译着色器片段着色器链接顶点属性顶点数组对象索引缓冲对象 着色器GLSL数据类型输入与输出Uniform 纹理…