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

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

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

     

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

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

最近更新

  1. TCP协议是安全的吗?

    2024-03-19 11:30:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-19 11:30:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-19 11:30:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-19 11:30:02       20 阅读

热门阅读

  1. 什么是docker(docker客户端、镜像、容器、仓库)

    2024-03-19 11:30:02       17 阅读
  2. 开发常用的一些工具总结

    2024-03-19 11:30:02       18 阅读
  3. oracle迁移至gbase,sql问题总结(完善中)

    2024-03-19 11:30:02       18 阅读
  4. MQ横向对比:RocketMQ、Kafka、RabbitMQ、ActiveMQ、ZeroMQ

    2024-03-19 11:30:02       16 阅读
  5. IOS面试题object-c 136-140

    2024-03-19 11:30:02       19 阅读
  6. axios的安装和引用

    2024-03-19 11:30:02       22 阅读
  7. Jenkins环境搭建与使用

    2024-03-19 11:30:02       18 阅读