iText2KG:显著降低LLM构建知识图谱时的幻觉现象

1. 当前知识图谱构建存在的问题

知识图谱通过捕捉实体之间的关系来构建知识的结构化表示,在分析文本数据集和从结构化异构数据中推断知识方面具有显著优势。比如,知识图谱能够融合来自多个来源的不同数据,提供一个具有凝聚力的信息视角。还能为文本语料库的分析提供更高层次的可解释性。

知识图谱的重要性不必多言,最近的GraphRAG又再一次将知识图谱掀起高潮。

1.1 传统知识图谱构建的问题

传统的命名实体识别、关系提取和实体解析是常用于将非结构化文本转化为结构化数据、捕获实体及其关联和相关属性的 NLP 技术。然而,这些方法存在一些局限性:往往局限于预定义的实体和关系,或者依赖特定的本体,并且大多依赖监督学习方法,需要大量的人工标注。

1.2 LLM时代知识图谱构建的问题

LLMs (大语言模型) 的最新进展在包括知识图谱补全、本体优化和问答等各类 NLP 任务中展现出了潜力和更优的性能,为知识图谱的构建带来了良好的前景。

LLMs 在少样本学习方面也表现出色,能够实现即插即用的解决方案,并且无需大量的训练或微调。由于它们在广泛的信息源中接受训练,因而能够跨不同领域提取知识。

所以,近期的研究已开始利用 LLMs 的发展成果,特别是其在知识图谱构建任务中的少样本学习能力。

不过,未解决和语义重复的实体及关系仍然构成重大挑战,导致构建的图谱出现不一致的情况,需要大量的后期处理。这些不一致可能表现为冗余、模糊以及图谱扩展的实际困难。

此外,许多现有的方法与主题相关,这意味着其有效性在很大程度上取决于其设计所针对的特定用例。这种依赖性限制了这些方法在不同领域的通用性,需要为每个新的主题领域定制解决方案。

基于大型语言模型(LLM)构建知识图谱(KG)的解决方案,可依据三种范式来分类:本体引导、微调以及零样本或少样本学习。

2. iText2KG

图片

为了解决以上问题,作者提出了iText2KG。上图是 iText2KG 的工作流程概览。包含四个模块:

  • • 1)文档蒸馏器(Document Distiller):利用 LLM,将原始文档重新整理为预定义和语义块。该模式类似预定义的 JSON 结构,引导语言模型从每个文档中提取与特定键相关的特定文本信息;

  • • 2)增量实体提取器(Incremental Entities Extractor):获取语义块,识别语义块内独特的语义实体,消除歧义,确保每个实体都有清晰的定义并与其他实体区分开;

  • • 3)增量关系提取器(Incremental Relations Extractor):处理已解决的实体和语义块,以检测语义上独特的关系。

  • • 4)图集成器(Graph Integrator):使用 Neo4j 以图形格式直观地呈现这些关系和实体。

2.1 文档蒸馏器(Document Distiller)

运用大型语言模型(LLM)依照预定义的模式(Schema)或蓝图将输入文档重写为语义块。这些模式(Schema)并非本体,而是一个蓝图,使 LLM 倾向于特定类别,同时在其他方面保持灵活性。

实际上,该模式(Schema)的功能类似于预定义的 JSON,引导 LLM 从每个文档中为特定的键提取特定的值(文本信息)。在这个项目的Github仓库里可以找到一些这种Schema的示例(如下图):

图片

对于每个文档,如果其中存在所需信息,将获得一个半填充的 JSON。

然后将所有这些半填充的 JSON 聚合起来,形成文档的语义块。

该模块的主要目标为:

-(a)通过减少可能用冗余信息污染图形的噪声来提高信噪比。

-(b)利用模式引导图形构建过程,特别是针对概念键。例如,对于一篇科学文章,能够提取“标题”和“作者”,并添加诸如“具有标题”和“具有作者”之类的关系以及语义信息。为确保解决方案在各种用例中的适用性,Schema是一个取决于用户偏好和用例特殊性的输入。通过重新制定原始文档来增强图形构建过程的构想已被以下论文所证实。

2.2 增量实体提取器(Incremental Entities Extractor)

增量式实体匹配器(iEntities Matcher)会遍历所有语义块并提取全局文档实体。

图片

iEntities Matcher 的主要算法如上图。

iEntities Matcher的核心算法是先利用大型语言模型(LLM)从首个语义块(即文档0)中提取实体,构建全局实体集ℰ,且假定这些实体在首次迭代中仅此一次成对独立。

遵循约束(C1,原文具体定义,即:实体和关系都应该描述一个语义上独特的概念。),引导LLM提取单一概念的实体,以避免语义混淆。

对于文档集合中的后续文档,算法抽取局部实体,并尝试将其与全局实体集中的实体进行匹配。

如果局部实体在中找到对应,则加入到匹配集中。

若未找到,算法将使用预设阈值的余弦相似度在中寻找相似实体。若依然无匹配项,局部实体将直接加入匹配集;

若有,则基于最高相似度选取最佳匹配的全局实体加入。随后,全局实体集通过与匹配集的合并进行更新。

这一流程在文档集合中的每个文档上重复执行,最终形成一个全面的全局实体集。

2.3 增量关系提取器(Incremental Relations Extractor)

将全局文档实体与每个语义块一同作为上下文提供给增量式关系匹配器(iRelations Matcher)以提取全局文档关系。

采用了与 iEntities Matcher 相同的方法。

根据将全局实体还是本地实体作为与语义块一起的上下文提供给 LLM,关系提取会有不同的表现。

当提供全局实体作为上下文时,LLM 会提取语义块直接陈述和隐含的关系,特别是对于语义块中未明确存在的实体。这为图形丰富了潜在信息,但增加了不相关关系出现的可能性。

相反,当提供本地匹配的实体作为上下文时,LLM 仅提取上下文直接陈述的关系。这种方式降低了图形的丰富程度,但也降低了不相关关系的概率。

图片

iRelations Matcher 的两个版本如上图所示,蓝色表局部实体(Local),红色表示全局实体(Global)。

2.4 图集成器(Graph Integrator)

将全局文档实体和全局文档关系输入到 Neo4j 中以构建知识图谱。

这一部分作者描述的比较简单,大家有兴趣可以去Github查看该部分的源代码:

https://github.com/AuvaLab/itext2kg/tree/main/itext2kg/graph_integration

3. 效果评估

所有实验中,作者均选用了 GPT-4 来作为基础模型进行评估。GPT-4 即便在零样本的情境下,也能达成近乎微调后的顶尖性能。

采用了三个用例:网站转化为知识图谱、科学文章转化为知识图谱以及简历转化为知识图谱分别对各个模块进行效果评估,确保 iText2KG 能在不同的知识图谱构建场景中适用。

3.1 文档蒸馏器效果评估

作者首先对模块 1 (文档蒸馏器)进行评估,以确保所提取的信息与模式及输入文档的语义相符。针对该模块,作者提出了以下指标:

  • • 模式一致性(Schema consistency):检验重写文本内容是否与输入的架构相符。对于架构中每个关键点,我们定义   Cs(K)为正确对应到该关键点相关架构的元素数目。Is(k) 为那些被加入但不属于架构的元素数目。架构中某个关键点的一致性得分计算如下:

图片

  • • 信息一致性(Information consistency):评估重写文本的内容是否与原始报告的语义相符,具体分类为:差异极大(<30%)、中等差异(30-60%)、大致一致(60-90%)和完全一致(>90%)。

3.1.1 模式一致性

图片

上表显示,文档蒸馏器在各类文档类型中均实现了较高的模式一致性。

科学文章和简历呈现出最高的模式一致性得分,表明该模块处理结构化信息的能力出色,特别是对于主要依靠标题来组织数据的文档。

网站的一致性得分仍高达 0.94,但相对略低,这或许是由于网络内容的多样性和结构化程度较低所致。

表明文档蒸馏器在处理和从不同类型文档中提取结构化信息方面的稳健性和适应性。

3.1.2 信息一致性

图片

上图展示了不同类型文档(简历、科学文章和网站)的信息一致性情况。

对于简历,大部分信息(74.5%)完全一致,25.5%大致一致,不存在中等一致性。表明重写的文本与简历原始内容的语义高度匹配。因为简历主要以清晰简洁的短语编写,使得大型语言模型更易于捕捉语义。

对于科学文章,57.1%的信息完全一致,42.9%大致一致,在保留原始语义方面展现出较高的准确性,尽管略逊于简历。这在预料之中,特别是鉴于科学文章是用更为复杂的科学英语撰写的。

网站有 56.0%的信息完全一致,24.0%大致一致,20.0%为中等一致性。这可能归因于网络内容的非结构化特性,这给准确的语义重写带来了更大的挑战。

3.2 增量实体提取器和增量关系提取器效果评估

  • • 三元组提取精度(Triplet Extraction Precision):不关心实体/关系解析过程,直接评估与相应文本的三元组一致性。三元组有的时候是隐含的,不一定直接由文本表述。将精度得分定义为提取的相关三元组数量除以提取的三元组总数。

  • • 实体/关系解析错误发现率(Entity/Relation Resolution False Discovery Rate):评估在提取的实体或关系总数中未解决(假阳性)的实体或关系所占比例。具体而言,计算未解决的实体或关系与提取的实体或关系总数的比率。通过突出总提取中的错误(未解决的实体/关系)比例,表明实体和关系提取过程的可靠性。

3.2.1 三元组提取

图片

参照上图,作者分别对使用全局还是局部实体作为上下文进行比较,比较二者在关系提取方面呈现出不同的表现。

当以全局实体作为上下文时,相关三元组的精度比以局部实体作为上下文时低 10%。当使用全局实体作为上下文时,大型语言模型会提取语义块中明确提及和隐含的关系。这会形成一个更丰富的图,包含更多潜在信息,但也有更高的出现不相关关系的可能性。

使用局部实体 作为上下文会致使大型语言模型仅提取直接陈述的关系,从而导致生成的图不够丰富,但不相关关系出现的可能性较低。

这体现了一种取决于用例的权衡。作者让用户决定是接受精度降低 10%以换取更丰富的图,还是获取 10%的精度但得到相对不那么丰富的图。

3.2.2 实体/关系解析

LlamaIndex 为检索增强生成(RAG)构建具有边级和节点级文本信息的未连接子图;因此,未将 LlamaIndex 与 iText2KG 进行对比评估。

图片

图片

从上面两个图中,可以看出 iText2KG 在三个不同的知识图谱构建场景中,在实体和关系解析过程方面取得了更优的成果。

此外,结果显示,当输入文档数量较少且具有清晰、非复杂的短语时,大型语言模型在实体和关系解析方面表现出色,如简历到知识图谱的过程所示。

此外,网站到知识图谱中未解决实体和关系的错误发现率高于其他知识图谱构建场景。是由于文档(块)数量较多以及网站文本信息的非结构化特性所致。

因此,只要文档(块)数量庞大且文本是非结构化且语言复杂,实体/关系解析过程对于构建一致的知识图谱就变得至关重要。

4.3 阈值估计

为基于余弦相似度估计合并实体和关系的阈值,使用 GPT-4 生成了一个包含 1500 个相似实体对和 500 个关系的数据集,其灵感源自不同领域。

图片

4.4 整体效果

图片

上图对比了其他方法与iText2KG在三种不同情境下的表现:

  • • 其他基准方法在所有三种知识图谱构建情境中都暴露出孤立节点,这些节点间缺乏联系。可能由于实体和关系提取的同时进行,导致语言模型产生幻觉效应,进而引起“遗忘”现象。可以通过分离实体和关系提取步骤可以提升性能。

  • • 在“网站至知识图谱”的场景中,输入文档数量的增加往往导致图中噪声节点的增加。表明文档蒸馏在有效提炼和精炼输入数据方面的重要性。

  • • iText2KG方法在三种知识图谱构建情境中均展现出了更优的实体和关系解析能力。当输入文档较少且内容简单、不复杂时,语言模型在实体和关系解析上表现出高效性,这一点在“简历至知识图谱”的流程中得到了体现。然而,随着数据集变得更为复杂和庞大,挑战也随之增大,如“网站至知识图谱”的场景。输入文档的分块大小和阈值对知识图谱构建的影响不容忽视。文档蒸馏器的输入可以是独立文档或分块。分块越小,语义块能捕捉到的文档细节就越具体,反之亦然。

    来源 | 大语言模型论文综述

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

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

相关文章

12.2 案例分析专题-数据库设计

数据库设计 ER图 真题1 真题2 1

电脑D盘数据误删怎么恢复?一文教你轻松找回

在日常使用电脑的过程中&#xff0c;我们可能会不小心删除D盘中的重要数据&#xff0c;导致数据丢失。这时&#xff0c;不要慌张&#xff0c;本文将为你介绍几种Windows电脑系统上恢复D盘数据的方法&#xff0c;帮助你轻松找回丢失的数据。 图片来源于网络&#xff0c;如有侵权…

高级算法设计与分析 学习笔记4 二叉查找树

左子树小于父节点小于右子树。 那么如何构建一个二叉查找树呢&#xff1f; 如何遍历一颗树&#xff1f; 这个其实就是中序遍历&#xff08;在中间访问根节点&#xff09; 如何查找一个元素&#xff1f; 可以看到后面这种方法更好&#xff0c;虽然都是递归&#xff0c;但后者不…

还不知道MES和PLC咋通信?5分钟看懂

最近网上看到一些写MES和PLC通信的文章。或许因为行业不同的缘故吧&#xff0c;对于里面的一些观点&#xff0c;我个人是持保留意见的。首先在我所在行业里&#xff0c;MES是不会和PLC直接通信的。MES和PLC之间通常还有一个其他系统。该系统在不同行业的叫法不一样。比如有的行…

【828华为云征文|华为云Flexus X实例:一键助力中小企业,快速部署个性化网站!】

文章目录 前言搭建自己专属网站准备工作具体操作服务器环境确认进入宝塔软件商店JTBC网站内容管理系统一键部署填写域名放行80端口JTBC安装初始页数据库信息配置管理员信息配置完成安装网站管理后台网站前台 验证后台配置内容前台访问的效果 结语 前言 在云计算盛行的时代&…

“颂歌唱响 乐动云山”云山天地携手幸福金龄会举办七夕国风艺术展演活动

弘扬中华优秀传统文化&#xff0c;充分挖掘七夕内涵&#xff0c;倡导勤劳智慧、忠贞爱情、家庭美满、追求美好的价值理念&#xff0c;由云山天地主办&#xff0c;幸福金龄会指导&#xff0c;广州风暴文化传媒有限公司承办的“颂歌唱响 乐动云山”七夕国风文化艺术展演活动&…

在python里把图变成gif

import scipy.io import matplotlib.pyplot as plt import imageio import numpy as npdata scipy.io.loadmat("/文件路径/Sol.mat")# 提取数据 t_current data[t].flatten() XX, YY np.meshgrid(data[x].flatten(), data[y].flatten()) u_pred_plot_final data[…

第二百二十三节 JPA教程 - JPA列定义示例

JPA教程 - JPA列定义示例 当将Java bean映射到实体时&#xff0c;我们可以在映射注释中设置数据库表列定义。 以下代码将列定义设置为 VARCHAR(40)。 Column(columnDefinition "VARCHAR(40)") private String name;Column注释表示物理数据库列的特定特征。 例子 …

金智维K-RPA基本介绍

一、K-RPA基本组成 K-RPA软件机器人管理系统基于“RPAX”数字化技术打造&#xff0c;其核心系统由管理中心(Server)、设计器(Control)、机器人(Robot/Agent)三大子系统组成&#xff0c;各子系统协同工作&#xff0c;易于构建协同式环境。 管理中心&#xff08;Server&#xff…

解决Metasploit调用Nessus报错问题

问题描述 Error while running command nessus_scan_new: undefined method []’ for nil:NilClass 解决方法 发现报错&#xff0c;经过网上查询解决方法 在Nessus服务器执行&#xff0c;下面的版本号可能有所不同&#xff0c;根据自己的情况更改&#xff0c;需要管理员身份执…

AI预测地球未来,温室效应失控?地球变金星?

想象一下&#xff0c;如果地球的气候突然失控&#xff0c;我们熟悉的蓝色星球会变成什么模样&#xff1f; 最近&#xff0c;一项由法国科学家使用人工智能系统进行的气候模拟研究揭示了一个惊人的未来景象&#xff1a;地球可能会变得如同金星一般&#xff0c;拥有高达270个大气…

Jupyter Notebook设置代码提示和自动代码补全

算法学习、4对1辅导、论文辅导或核心期刊可以通过公众号滴滴我 文章目录 在使用Jupyter Notebook中&#xff0c;会出现Jupyter不像Pycharm一样&#xff0c;可以 自动补全代码以及 代码方法提示等功能&#xff0c;这时候就需要通过给Jupyter安装插件来进行实现。 执行步骤&#…

《PneumoLLM:利用大型语言模型的力量进行尘肺病诊断》|文献速递--基于深度学习的医学影像病灶分割

Title 题目 PneumoLLM: Harnessing the power of large language model for pneumoconiosis diagnosis 《PneumoLLM&#xff1a;利用大型语言模型的力量进行尘肺病诊断》 01 文献速递介绍 在计算机辅助诊断领域&#xff0c;对医学数据的处理和分析能力至关重要。这不仅有助…

Nature Communications 多模触觉-视觉融合机器人:用于灵巧机器人做家务

随着机器人越来越多地参与人类日常生活&#xff0c;对模仿人类能力的追求推动了机器人多模态感官的进步。然而&#xff0c;目前的感知技术仍然不能满足机器人在家庭任务/环境中的需求&#xff0c;特别是在多感官整合和融合、快速反应能力和高灵敏度感知方面面临着巨大的挑战。 …

91、K8s之ingress上集

一、Ingress service模式&#xff1a; loadbalance NodePort&#xff1a;每个节点都会有一个指定的端口 30000-32767 内网 clusterip&#xff1a;默认模式&#xff0c;只能pod内部访问 externalName&#xff1a;需要dns提供域名 1.1、对外提供服务的ingress service&…

动态单窗口IP代理:提升网络操作的灵活性和安全性

互联网时代&#xff0c;各种网络工具层出不穷&#xff0c;而动态单窗口IP代理无疑成为了近年来的热门话题。今天&#xff0c;我们就来聊聊这个神奇的工具&#xff0c;看看它到底有什么独特之处。 什么是动态单窗口IP代理&#xff1f; 动态单窗口IP代理&#xff0c;顾名思义&a…

OpenGL Texture C++ 预览Camera视频

OpenGL是一个图形API&#xff0c;并不是一个独立的平台。包含了一系列可以操作图形、图像的函数。基于Texture纹理强大的功能&#xff0c;本篇文章实现Android OpenGL Texture C 预览Camera视频流的功能。 项目github地址&#xff1a;https://github.com/wangyongyao1989/WyFFm…

动手学深度学习(pytorch)学习记录27-深度卷积神经网络(AlexNet)[学习记录]

目录 创建模型读取数据集训练AlexNet AlexNet 是由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 在 2012 年提出的深度卷积神经网络&#xff0c;它在当年的 ImageNet 大规模视觉识别挑战赛&#xff08;ILSVRC&#xff09;中取得了显著的成绩&#xff0c;从而引起了深度…

15.3 JDBC数据库编程2

15.3.1 数据库访问步骤 使用JDBC API连接和访问数据库&#xff0c;一般分为以下5个步骤: (1) 加载驱动程序 (2) 建立连接对象 (3) 创建语句对象 (4) 获得SQL语句的执行结果 (5) 关闭建立的对象&#xff0c;释放资源 下面将详细描述这些步骤 15.3.2 加载驱动程序 要使…

计算机网络408考研 2022

https://zhuanlan.zhihu.com/p/695446866 1 1 1SDN代表软件定义网络。它是一种网络架构&#xff0c;旨在通过将网络控制平面从数据转发平面分离出来&#xff0c;从而实现网络的灵活性和可编程性。在SDN中&#xff0c;网络管理员可以通过集中式控制器 来动态管理网络流量&…