KoPA: Making Large Language Models Perform Better in Knowledge Graph Completion

本文主要是介绍KoPA: Making Large Language Models Perform Better in Knowledge Graph Completion,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本来这个论文用来组会讲的,但是冲突了,没怎么讲,记录一下供以后学习。

创新点

按照我的理解简单概述一下这篇论文的创新点

  • 提出使用大模型补全知识图谱,并且融合知识图谱的结构信息
  • 提出一个新的模型KoPA模型,采用少量的参数进行模型的微调
  • 采用类似于In-context learning的方式实现,structure-aware

常规的知识图谱补全方式

根据目前对一些模型的了解,我其实也没看多少篇基于大模型的知识图谱补全论文,截至到目前,比较系统的接触的是这篇论文。
常规的知识图谱补全方式,通过实体和关系预测确实的实体,如(head, relation, ?)or (?,relation, tail)。通常是采用一些方式结合实体和关系,来和所有的候选实体进行语义相似度进行计算,如ConvE:
在这里插入图片描述
还有一些论文则是,将三元组同时作为输入进行整个三元组进行计算出一个得分,在评估的时候破坏三元组,计算整个三元组的得分, 如ConvKB:
在这里插入图片描述
以上两种方式,算是一种比较传统的方式,进行排序,选择正确的三元组作为结果。通常采用MR, MRR, Hits@K,作为常规的评估指标。

大模型进行知识图谱补全

以我目前对大模型结合知识图谱补全的方式,我理解大模型没法像上述方式进行知识图谱补全(应该是有其他的方式,我没太仔细看)。这篇论文,我理解的是它的本质是把知识图谱补全问题转化为二分类的问题。如下图所示:
在这里插入图片描述
其实是给予一个三元组,判断这个三元组是否是正确的三元组,如果是正确的三元组,通过prompt回答一个Yes,否则是No.的形式,进行知识图谱补全,和常规的方式略有区别。
下面是截取的数据形式:

{"instruction": "Given a triple from a knowledge graph. Each triple consists of a head entity, a relation, and a tail entity. Please determine the correctness of the triple and response True or False.","input": "\nThe input triple: \n( nucleic acid nucleoside or nucleotide, affects, mental or behavioral dysfunction )\n","output": "True","embedding_ids": [31,27,89]},{"instruction": "Given a triple from a knowledge graph. Each triple consists of a head entity, a relation, and a tail entity. Please determine the correctness of the triple and response True or False.","input": "\nThe input triple: \n( nucleic acid nucleoside or nucleotide, affects, fully formed anatomical structure )\n","output": "False","embedding_ids": [31,27,83]},

我粗略的理解,为了实现label平衡的状态,负样例需要针对正样例进行破坏即可,从而实现label实现样例比较均衡的状态。模型的评估指标也就是常规的二分类的评估指标。

模型讲解

常规的LLM没有充分利用知识图谱的结构信息,该论文则是结合文本信息和三元组信息进行微调,模型结构如下:
在这里插入图片描述
以上就是模型的输入,宏观上将输入包含两个部分,结构信息和文本信息。结构信息未为Adapter,进行微调类似于大模型的微调方式P-tuning。

  • 结构信息
    对于结构信息作为prefix或者Adapter,则是采用常规的KGC(知识图谱补全),如RotatE, TransE进行预训练参数,但是由于结构化嵌入的参数与大模型的输入不一致,则需要进行线性变换:其中 K \mathcal K K表示结构信息
    在这里插入图片描述
    P \mathcal P P则是一个线性层,进行维度变换,在训练的过程中, h , r , t \mathcal h, r, t h,r,t 结构化参数进行冻结,只训练线性层参数。
  • 文本信息
    在这里插入图片描述
    文本信息包含三个部分, I , U , X \mathcal I, \mathcal U, \mathcal X I,U,X分别表示Instruction文本信息;可选的文本信息;以及三元组的描述信息,其描述如下,就是实体和关系的描述信息进行简单的拼接的方式。
    在这里插入图片描述
    其中 U \mathcal U U可选信息,在使用的时候也是ICL信息,在这里称作structure-aware。本质上就是利用头实体和尾实体相邻的三元组,作为样例。三元组的形式,我理解应该也是实体描述的形式,然后告诉这个三元组的结果。类似一下形式:
    在这里插入图片描述
  • 可调参数
    对于该可调的参数,主要是两个方面,结构信息的维度变化参数;对于大模型,并没有采用全量参数微调,而是采用一种Lora微调的方式,主要的可学习参数在Lora的两个线性举证方面

实验结果

数据集统计:
在这里插入图片描述
其实就是一个正例子,一个负例子
在这里插入图片描述
对于常规的方式则是设置一个得分的阈值进行二分类。

消融实验

在这里插入图片描述
消融实现则是探究,常规的KGC方式进行预训练的影响, random则是探索采用随机的嵌入方式的影响。

结论

本论文实现了,大模型和知识图谱结构信息结合的论文,只训练很少的参数。

这篇关于KoPA: Making Large Language Models Perform Better in Knowledge Graph Completion的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/520447

相关文章

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图

陈科肇 ============= 1.主要模型 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内部行为。 包括序列图、活动图、状态图。 因为要创建个人空间项目并不是一个很大的项目,我这里只须关注两种图的创建就可以了,而在开始创建UML图

速通GPT-3:Language Models are Few-Shot Learners全文解读

文章目录 论文实验总览1. 任务设置与测试策略2. 任务类别3. 关键实验结果4. 数据污染与实验局限性5. 总结与贡献 Abstract1. 概括2. 具体分析3. 摘要全文翻译4. 为什么不需要梯度更新或微调⭐ Introduction1. 概括2. 具体分析3. 进一步分析 Approach1. 概括2. 具体分析3. 进一步分析 Results1. 概括2. 具体分析2.1 语言模型

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景

高精度打表-Factoring Large Numbers

求斐波那契数,不打表的话会超时,打表的话普通的高精度开不出来那么大的数组,不如一个int存8位,特殊处理一下,具体看代码 #include<stdio.h>#include<string.h>#define MAX_SIZE 5005#define LEN 150#define to 100000000/*一个int存8位*/int num[MAX_SIZE][LEN];void

【POJ 3666】Making the Grade(简单DP)

首先可以明确一个方面,那就是如果将X改成Y,那么Y肯定是这N个数中的某一个(为什么仔细想想) 之后可以得到一个状态转移那就是dp[i][j]代表已经考虑了i位的情况下,结尾为j的最小更改数。 状态转移为dp[i][j] = min(dp[i-1][k] + abs(a[i] - b[j])) 这样的话可以写出一个初步的代码: #include<cstdio>#include<cst

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

Neighborhood Homophily-based Graph Convolutional Network

#paper/ccfB 推荐指数: #paper/⭐ #pp/图结构学习 流程 重定义同配性指标: N H i k = ∣ N ( i , k , c m a x ) ∣ ∣ N ( i , k ) ∣ with c m a x = arg ⁡ max ⁡ c ∈ [ 1 , C ] ∣ N ( i , k , c ) ∣ NH_i^k=\frac{|\mathcal{N}(i,k,c_{