MPIKGC:大语言模型改进知识图谱补全

MPIKGC:大语言模型改进知识图谱补全

    • 提出背景
    • MPIKGC框架

 


论文:https://arxiv.org/pdf/2403.01972.pdf

代码:https://github.com/quqxui/MPIKGC

提出背景

知识图谱就像一个大数据库,里面有很多关于不同事物的信息,这些信息是以三元组的形式存在的,比如(人物,关系,事物),如(Ian Bryce,制片,变形金刚:月黑之时)。

知识图谱补全的任务有两个:判断给定的三元组是否正确(三元组分类),以及预测缺失的部分,例如找出缺失的实体或关系(链接预测)。

为了解决这些问题,我们提出了一个新型的技术框架MPIKGC,该框架通过利用大型语言模型(LLMs)生成辅助文本来提升KGC模型的性能。

具体解法可以拆解为以下几个子解法:

  1. 实体信息补全

    • 子解法:使用LLMs扩展实体描述。
    • 之所以使用此子解法,是因为面对实体描述的不完整性问题。
    • 我们通过设计链式思考(CoT)提示让LLM逐步生成不同方面的描述,以补全和丰富实体的信息。
  2. 关系模糊消除

    • 子解法:通过三种精心设计的提示策略查询LLMs以改进对关系含义的理解。
    • 之所以使用此子解法,是因为需要解决关系名称可能带来的歧义问题。
    • 这些策略包括全局提示、局部提示和反向提示,它们捕捉关系之间的联系,并促进更好的反向预测。
  3. 图连接稀疏问题

    • 子解法:查询LLMs提取额外的结构信息来丰富知识图谱。
    • 之所以使用此子解法,是因为需要解决图中链接稀疏,特别是长尾实体间连接不足的问题。
    • 我们通过使用LLMs总结的关键词测量实体间的相似度,并创建新的三元组来构建相关实体之间的联系,从而在KGC模型中形成新的结构模式。

在研究和改进知识图谱(一种存储实体及其相互关系的数据库)的过程中,存在两个主要方法:基于结构的方法和基于描述的方法。

  1. 基于描述的知识图谱补全(KGC)方法主要使用文本描述来提高对实体和关系的理解,通过如下方式:

    • 利用文本描述,通过不同的技术(如卷积神经网络、BERT模型)编码实体和关系,特别擅长处理信息不足的实体。
    • 这些方法可以通过描述来更好地理解实体间的关系,尤其对于那些难以通过简单的结构信息识别的实体。
  2. 大型语言模型(LLMs)在知识图谱中的应用

    • 近年来,大型语言模型(如GPT-4)显示出在处理知识图谱相关任务时的巨大潜力,它们可以提供丰富的知识和强大的理解能力。
    • 这些模型可以帮助识别和生成新的事实,通过理解文本描述来增强知识图谱的完整性和准确性。

基于描述的KGC方法通过分析文本描述来理解实体和关系,而大型语言模型则为这些方法提供了一个强大的工具,可以深入挖掘文本中的知识,帮助填补知识图谱中的缺口。

MPIKGC框架

在这里插入图片描述

上图描绘了一个名为MPIKGC的框架,这是一个旨在通过从实体、关系和结构的角度改进知识图谱的模型。

这个框架通过LLM查询来生成额外的描述和结构,使得知识图谱更完整、信息更丰富。

MPIKGC框架包含以下三个主要部分:

  • 实体描述扩展(MPIKGC-E):使用Chain-of-Thought(CoT)提示策略,让LLMs逐步生成更丰富的实体描述。
  • 关系理解(MPIKGC-R):通过全局、局部和反向提示策略,提高KGC模型对关系含义的理解,从而改善链接预测的反向预测性能。
  • 结构提取(MPIKGC-S):利用LLMs的关键词总结和匹配能力,提取额外的结构信息,丰富知识图谱,特别是对于长尾实体。

 

假设我们有一个简单的医学知识图谱,它包含实体(如疾病、症状、药物)和它们之间的关系。

在这个知识图谱中,我们可能有如下三元组:

  1. (糖尿病, 关联症状, 高血糖)
  2. (阿司匹林, 用于治疗, 发热)

但是,知识图谱可能不完整,缺少某些关键信息,例如糖尿病的其他症状或与阿司匹林相关的副作用。

为了补全这些信息,我们可以使用下面的方法:

  • 描述扩展:我们询问一个大型语言模型,比如GPT-4,关于糖尿病的更多信息。

    模型可能会告诉我们,除了高血糖,糖尿病还可能导致视力模糊和疲劳。

    现在我们可以在知识图谱中添加新的三元组,如(糖尿病, 关联症状, 视力模糊)和(糖尿病, 关联症状, 疲劳)。

  • 关系理解:如果知识图谱只是简单地标记了阿司匹林“用于治疗”发热,我们可能会用提示策略让语言模型提供更多上下文,比如阿司匹林还能“减少炎症”或“预防血栓”。

    这样我们就能在知识图谱中添加更准确的关系描述,比如(阿司匹林, 用于预防, 血栓)。

  • 结构提取:对于长尾实体,比如一个不太为人知的罕见疾病,我们可以让语言模型提取该疾病的特征或相关信息。

    如果模型提供了与其他疾病相似的症状,我们可以创建新的链接,显示这些疾病之间的相似性,从而丰富知识图谱的结构。

    以一种罕见疾病“多发性硬化症”作为例子来说明结构提取的过程。

    在我们的知识图谱中,“多发性硬化症”可能与几个症状相关联,例如肌肉无力和视觉问题。

    但是,我们的图谱可能没有完全覆盖这个疾病的所有相关信息。

    我们现在使用一个大型语言模型来提取更多信息。

    1. 关键词提取:语言模型可能会从医学文献或数据库中提取出“多发性硬化症”通常与“认知功能障碍”和“步态不稳”这些症状相关联的信息。

    2. 新的链接创建:有了这些新提取的关键词,我们可以在知识图谱中创建新的三元组,如:

      • (多发性硬化症, 关联症状, 认知功能障碍)
      • (多发性硬化症, 关联症状, 步态不稳)
    3. 结构丰富:进一步地,如果语言模型指出“系统性红斑狼疮”也与“认知功能障碍”有关,我们可以在这两种疾病之间添加一个“相似症状”类型的链接,以显示它们之间的相似性。

    4. 新的结构模式形成:通过这样的操作,我们不仅补充了单个疾病的信息,还在不同疾病之间创建了新的联系,有助于揭示它们之间可能的共同生物学机制或治疗方法的对比。

    这增加了知识图谱的丰富性,使得研究者能够看到不同疾病间的联系,这些联系以前可能未被注意到。例如:

    • (多发性硬化症, 症状相似, 系统性红斑狼疮)

     

    这个过程有助于研究人员理解不同疾病间的潜在联系,为疾病诊断和治疗提供更多线索。

    通过这种方式,知识图谱变得更加完整,能够支持更复杂的查询和分析,最终提升医疗保健领域的知识发现和决策支持。

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

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

相关文章

python知识点总结(四)

这里写目录标题 1、Django 中的缓存是怎么用的?2、现有2元、3元、5元共三种面额的货币,如果需要找零99元,一共有多少种找零的方式?3、代码执行结果4、下面的代码执行结果为:5、说一下Python中变量的作用域。6、闭包7、python2与p…

Github 2024-03-18开源项目日报Top10

根据Github Trendings的统计,今日(2024-03-18统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目7TypeScript项目3非开发语言项目1Solidity项目1《Hello 算法》:动画图解、一键运行的数据结构与算法教程 创建周期:476 天协议类型…

Apache Doris 2.1 核心特性 Variant 数据类型技术深度解析

在最新发布的 Apache Doris 2.1 新版本中,我们引入了全新的数据类型 Variant,对半结构化数据分析能力进行了全面增强。无需提前在表结构中定义具体的列,彻底改变了 Doris 过去基于 String、JSONB 等行存类型的存储和查询方式。为了让大家快速…

MS17_010 漏洞利用与安全加固

文章目录 环境说明1 MS17_010 简介2 MS17_010 复现过程3 MS17_010 安全加固 环境说明 渗透机操作系统:kali-linux-2024.1-installer-amd64漏洞复现操作系统: cn_windows_7_professional_with_sp1_x64_dvd_u_677031 1 MS17_010 简介 MS17_010 漏洞后门利用程序 Eter…

【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

docker和K8S理解 一、docker的问世虚拟机是什么?Docker的问世?docker优点及理解 二、Kubernetes-K8SK8S是什么?简单了解K8S架构Master节点Node节点K8S架构图 一、docker的问世 在LXC(Linux container)Linux容器虚拟技术出现之前,业…

java8:ArrayList与Vector的实现原理

概述 一上来,先来看看源码中的这一段注释,我们可以从中提取到一些关键信息: Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to…

内网穿透的应用-如何使用Docker安装DockerUI可视化管理工具无公网IP远程访问

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

Flutter-数字切换动画

效果 需求 数字切换时新数字从上往下进入,上个数字从上往下出新数字进入时下落到位置并带有回弹效果上个数字及新输入切换时带有透明度和缩放动画 实现 主要采用AnimatedSwitcher实现需求,代码比较简单,直接撸 import dart:math;import p…

huawei 华为交换机 配置手工模式链路聚合示例

组网需求 如 图 3-21 所示, SwitchA 和 SwitchB 通过以太链路分别都连接 VLAN10 和 VLAN20 的网络,SwitchA 和 SwitchB 之间有较大的数据流量。 用户希望SwitchA 和 SwitchB 之间能够提供较大的链路带宽来使相同 VLAN 间互相通信。 同时用户也希望能够提…

HarmonyOS NEXT应用开发—投票动效实现案例

介绍 本示例介绍使用绘制组件中的Polygon组件配合使用显式动画以及borderRadius实现投票pk组件。 效果预览图 使用说明 加载完成后会有一个胶囊块被切割成两个等大的图形来作为投票的两个选项,中间由PK两字分隔开点击左边选项,两个图形会随着选择人数…

Django templates 存放html目录

模板 一概述 模板由两部分组成,一部分是HTML代码,一部分是逻辑控制代码(变量,标签,过滤器) 作用:可以通过一些逻辑控制代码减少一些重复的操作更快速的生成HTML代码,并且实现简单的…

Jenkins使用pipeline流水线部署项目

新建流水线任务 前面的项目整个部署日志都在一个控制台页面,出现了错误不能快速定位不方便查阅 Jenkins提供了流水线方式的任务 这里我新建一个叫“pipeline-mytest”的流水线任务 在流水线出右侧有内置的样式,这里我选择了helloworld的样式。 构建一…