论文笔记:《KG-GPT:一个基于大语言模型的知识图推理通用框架》
论文地址:https://arxiv.org/abs/2310.11220
代码地址:KG-GPT(github.com)
目录
2.1 Sentence Segmentation(句子分割)
摘要
虽然大型语言模型 (LLM) 在理解和生成非结构化文本方面取得了相当大的进步,但它们在结构化数据中的应用仍未得到充分探索。特别是,使用LLM进行知识图(KG)上的复杂推理任务在很大程度上仍未触及。为了解决这个问题,本文提出了 KG-GPT,这是一个利用 LLM 来完成使用 KG 的任务的多功能框架。KG-GPT 包括三个步骤:句子分割、图检索和推理,每个步骤分别旨在分割句子、检索相关图组件和得出逻辑结论。使用基于 KG 的事实验证和 KGQA 基准来评估 KG-GPT,该模型表现出有竞争力和稳健的性能,甚至优于几个完全监督的模型。因此,本文工作标志着在LLM领域内统一结构化和非结构化数据处理的重要一步。
1 介绍
1.1 研究背景--存在的问题
LLM在处理非结构化文本数据已经有显著的成效了,但结构化数据领域在很大程度上仍未得到探索。
KG的固有结构提供了宝贵的资源,可以帮助执行复杂的推理任务,如多跳推理。然而现在并没有通用框架来使用自回归LLM执行基于KG的任务(例如,问题回答,事实验证)。
1.2 创新点--本文工作
本文提出了一个新的通用框架,称为KG-GPT,它使用LLM的推理能力来执行基于KG的任务。KG-GPT类似于StructGPT,因为这两个都是使用LLM的结构化数据。然而,与StructGPT不同,StructGPT识别KG内从主体实体到最终答案实体的路径,KG-GPT检索整个子图,然后推断答案。这意味着KG-GPT不仅可以用于KGQA,还可以用于基于KG的事实验证等任务。
KG-GPT包括三个步骤:
- 句子(声明/问题)分割:一个句子被分割成离散的子句子,每个子句子都与一个三元组对齐。
- 子图检索:检索潜在的关系池,可以桥接子句子中识别的实体。然后,使用检索到的关系和实体集获得候选证据图池(即子KG)。
- LLM推理:最后一步中,获得的图用于导出逻辑结论,例如验证给定的声明或回答给定的问题。
为了评估KG-GPT,论文采用了基于KG的事实验证和KGQA基准测试,这两个测试都要求利用KG的结构化知识进行复杂的推理。
- 在基于KG的事实验证中,使用FACTKG,包括各种图推理模式,KG-GPT与其他全监督模型相比表现出竞争力,甚至优于某些模型。
- 在KGQA中,使用MetaQA,由1跳,2跳和3跳推理任务组成的QA数据集。KG-GPT表现出与完全监督模型相当的性能。值得注意的是,性能并没有随着跳数的增加而显著下降,证明了其鲁棒性。
2 方法
假设一个图G(由实体E和关系R组成的知识图),一个句子S(声明或问题),S中涉及的所有实体,被给定。为了得到一个合乎逻辑的结论,需要一个准确的证据图,通过句子分割和图检索两个阶段获得。此外,所有上述步骤都采用上下文学习方法来执行,以最大限度地提高LLM的推理能力。
2.1 Sentence Segmentation(句子分割)
许多基于KG的任务需要多跳推理。为了解决这个问题,采用了分而治之的方法。通过将一个句子分解成对应于单个关系的子句子,识别每个子句子中的关系变得比一次性从原始句子中找到连接到实体的n跳关系更容易。
假设S可以被分解成子句子:S1,S2,...,其中Si由实体集合和关系组成。每个可以是一个具体的实体(如图1-(1)中的William Anders),也可以是一个类型(如图1-(1)中的人造卫星)。ri可以映射到R中的一个或多个项,因为可以有多个具有相似语义的关系(例如,birthPlace,placeOfBirth)。
2.2 Graph Retrieval(子图检索)
为了有效地验证一个声明或回答一个问题,获得一个有助于得出逻辑结论的证据图(即子KG)至关重要。在这一阶段目标首先是检索每个子句Si的对应关系,以提取GE。对于每个Si,使用LLM尽可能准确地将ri映射到R中的一个或多个项。
首先定义Ri⊂ R,它是根据G的模式连接到所有实体的关系的集合(即图1-(2)中的关系候选)。这个过程既考虑了连接到特定实体的关系,也考虑了与G中实体类型相关的关系。
然后,将Si和Ri馈送到LLM以检索最终的top-K关系Ri,k的集合。详细地,Ri中的关系被线性化(例如,[位置,出生年份,...,birthDate]),并与相应的子句子Si相结合以建立用于LLM的提示,并且LLM生成Ri,k = {r(1)i,.,r(k)i }作为输出。
在最后的图检索步骤中,我们可以获得GE,GE由所有三元组组成,其关系来自Ri,k,其实体来自所有Si上的Ei。
2.3 Inference(推理)
然后,我们将S和GE输入LLM以得出逻辑结论。为了在提示符中表示GE,我们将与GE相关的三元组线性化(即[[head1,rel1,tail1],.,[headm,relm,tailm]]),然后将这些线性化的三元组与句子S连接起来。事实上,在验证中,S是否被支持或反驳的确定取决于GE。在问题回答中,LLM将GE中的实体识别为S的最可能答案。
3 实验
数据集:
- FACTKG:它是为了事实验证而精心构建的,采用知识图进行验证。FACTKG体现了五种不同类型的推理,代表了KG的内在特征:单跳,连接,存在,多跳和否定。为了进一步提高其实际应用,FACTKG将口头和书面形式的权利要求整合在一起。
- MetaQA:旨在促进利用电影领域基于KG的方法进行问答的研究。该数据集包含超过40万个问题,包括1跳、2跳和3跳推理的实例。此外,它涵盖了各种各样的问题风格。
基线:
- FACTKG:基线分为两类:仅声明和有证据。(1)在“仅声明”设置中,模型仅提供声明作为其输入并预测标签。对于此设置,除了现有的基线外,还实现了12次ChatGPT基线。(2)在带证据场景中,模型由证据图检索器和声明验证模型组成。采用KG版本的GEAR作为一个完全监督的模型。
- MetaQA:在我们对MetaQA的探索中,我们使用了KGQA领域众所周知的原型基线。这些包括诸如KV-Mem,GraftNet,EmbedKGQA、NSM和UniKGQA。此外,还实现了12次ChatGPT基线。
实验分析:
- 对于FactKG数据集,框架的准确性还是表现较好的,但与完全监督模型GEAR相比还存在一定的局限性,这说明KG-GPT在few-shot场景中遇到了障碍,即难以从可用的受限数据中积累足够数量的信息。
- 对于MetaQA数据集,KG-GPT的总体表现较好。KG-GPT的有效性标志着在LLM的背景下,将结构化和非结构化数据管理相结合取得了一定的实质性进展。
误差分析:((每个数据集中100个不正确样本的错误数。))
图检索阶段的错误是三个步骤中最少的。这表明,一旦句子被正确分割,识别其中的关系就变得相对容易了。
随着跳数的增加,问题的多样性也增加。这种高度的多样性反过来又加剧了句子分割中的错误。
4 总结
使用基于KG的事实验证和KGQA指标来评估KG-GPT的有效性,该模型表现出一致的,令人印象深刻的结果,甚至超过了一些完全监督的模型。因此,研究标志着在LLM的上下文中结合结构化和非结构化数据管理的重大进步。
5 局限性
首先,KG-GPT高度依赖于上下文学习,其性能随提供的示例数量而显著变化。当有足够或低质量的例子时,框架特别难以处理复杂的任务。
其次,尽管KG-GPT在事实验证和问答任务中表现出色,但它仍然落后于完全监督的KG特定模型。性能上的差距凸显了KG-GPT由于数据有限而在几次学习场景中面临的挑战。