题目
KICGPT:用于知识图完成的带上下文知识的大型语言模型
论文地址:https://aclanthology.org/2023.findings-emnlp.580/
项目地址:https://github.com/WEIYanbin1999/KICGPT
摘要
知识图完备化(KGC)对于解决知识图不完备性和支持下游应用至关重要。已经为KGC提出了许多模式。它们可以分为两大类:基于三元组的方法和基于文本的方法。由于有限的结构信息和不平衡的实体分布,基于三元组的方法难以处理长尾实体。基于文本的方法缓解了这个问题,但需要对语言模型进行昂贵的训练,并对知识图进行特定的微调,这限制了它们的效率。为了缓解这些限制,在本文中,我们提出了KICGPT,一个集成了大型语言模型(LLM)和基于三重的KGC检索器的框架。它缓解了长尾问题,而不会导致额外的培训开销。KICGPT使用一种称为知识提示的上下文学习策略,将结构化知识编码到演示中来指导LLM。基准数据集上的实验结果表明,KICGPT具有较小的训练开销和无需微调的有效性。代码和数据将在https://github.com/WEIYanbin1999/KICGPT.提供
简介
知识图是真实世界知识的强大表示。实体之间的关系由<头实体,关系,尾实体>形式的三元组捕获。KGs是各种应用的基础,例如推荐系统、问题回答和知识发现。知识图补全(KGC)通过补全不完全三元组,解决了知识系统固有的不完全性,对知识系统起着至关重要的作用。本文主要研究KGC中的链接预测任务,即预测不完整三元组中的缺失实体。
根据使用的信息来源,现有的KGC方法可分为两大类:基于三元组的方法和基于文本的方法(王等,2022a)。基于三元组的方法(例如TransE (Bordes等人,2013年)、R-GCN (Schlichtkrull等人,2018年)和HittER (Chen等人,2021年))利用知识图的结构作为的唯一信息来源。鉴于KGs中实体的典型不平衡,长尾实体普遍存在,而KGC任务关于它们的结构信息有限。因此,由于信息稀缺,在处理长尾实体时,基于三重的方法的性能往往会下降(王等人,2022a)。基于文本的方法(如KG-BERT(姚等,2019))通过将文本描述编码为额外的信息源来缓解这一信息稀缺问题(王等,2022a)。除了使用预先训练的语言模型(PLM),微调仍然是基于文本的方法处理不同知识图所必需的。然而,这是资源密集型的,并且需要对每个下游任务进行特定于任务的微调。
大型语言模型(LLM),如ChatGPT和GPT-4 (OpenAI,2023),从其庞大的预训练语料库中拥有广泛的内部知识库,可以用作额外的知识库,以缓解长尾实体的信息匮乏。Tay等人(2022年)和欧阳等人(2022年)展示了LLM通过特殊设计的提示处理广泛任务的潜力,而无需培训或微调。鉴于LLM的吸引人的特性,一种直接的方法是将LLM直接应用于KGC任务。然而,经验证据(朱等,2023)表明,纯LLM仍然无法在KGC任务(如链路预测)中实现最先进的性能。此外,还有几个挑战阻碍了LLM在KGC任务中的应用。首先,LLM输出可以不受约束,可能会超出范围KGs中的实体。第二,LLM对输入令牌施加了长度限制,这些限制远远不足以描述完整的KGC任务。最后,在KGC任务上,没有有效的情境学习提示设计。
为了缓解上述局限性,我们在本文中提出了一个GPT背景下的知识(KICGPT)框架。这将LLMs与传统的结构感知KG模型(称为检索器)集成在一起。具体来说,对于每个查询,q = (h,r,?)还是q =(?,r,t),其中“?”表示要预测的丢失的尾部或头部实体,检索器首先独立地处理查询q,并生成有序的候选实体列表Rretriever,该列表基于它们的检索分数对KG中的所有实体进行排序。然后,LLM对Rretriever返回的前m个实体执行重新排序,并用LLM返回的重新排序的实体替换这m个实体,作为最终结果RKICGP T。为了实现LLM重新排序,我们提出了知识提示,这是一种上下文学习的策略(,魏等,2022),以将KG知识编码到提示中的演示中。
注意,在KICGPT中,我们只需要训练检索器。与现有的基于三元组的方法相比,KICGPT能够同时利用知识源(即KG和LLM的知识库),并促进它们的对齐和丰富,以缓解长尾实体的信息稀缺。此外,与现有的基于文本的模型不同,KICGPT利用了更大的语义知识库,而不会产生额外的训练开销。与直接将LLM应用于KGC任务(可能产生不期望的输出)不同,所提出的KICGPT通过将链路预测形式化为给定序列检索器的重排序任务来约束其输出。此外,标准链接预测任务需要对所有实体进行排序,由于输入标记的长度限制,这对于LLM是不可行的。为了克服这个限制,KICGPT利用检索器来获得Rretriever中的前m个实体,并且只允许LLM对这些实体进行重新排序。
总之,我们的贡献如下。我们为KGC任务提出了一个新的经济高效的框架KICGPT。据我们所知,这是第一个将LLMs与基于三重KGC方法相结合的工作,提供了一个独特的解决方案来解决这个问题。我们提出了一种新颖的情境学习策略——知识提示,它是专门为KGC设计的。在基准数据集上的大量实验表明,KICGPT以较低的训练开销获得了一流的性能。
相关工作
基于三重的KGC现有的大多数KGC方法都是基于三重的方法,它们仅基于三重信息来完成知识图。早期的浅层知识图嵌入(KGE)方法将实体和关系表示为连续嵌入空间中的低维嵌入向量。基于评分函数,这些方法可以进一步分类(王等,2017)为基于翻译的(如TransE (Bordes等,2013))和语义匹配模型(如RESCAL (Nickel等,2011)和DistMult(杨等,2014))。然而,由于使用浅层网络结构,它们的表达能力有限。
近年来,更强大的网络结构被集成来解决KGC任务。示例包括图形神经网络(Schlichtkrull等人,2018年)、卷积神经网络(Dettmers等人,2018年)和变压器(Chen等人,2021年)。这些方法中的大多数将本地结构上下文聚合到节点嵌入中,并实现了更好的性能。然而,它们仍然受到知识图结构分布不均衡和对长尾实体了解不足的限制。元学习(熊等,2018;Chen等人,2019)和逻辑规则(Sadeghian等人,2019)可以缓解KG中的长尾问题。它们与我们的工作的主要区别在于,它们通过从KG中的有限信息中提取和总结共同的结构模式或规则来处理长尾实体,而KICGPT将LLM内部庞大的外部知识库与KG中的结构信息相结合,这有助于缓解信息稀缺。
基于文本的KGC随着自然语言处理的成功,基于文本的知识图自动完成越来越受到重视。作为不同于结构化知识的另一种知识模式,语篇可以提供丰富的语义信息。DKRL(谢等,2016)首先将文本描述引入实体嵌入由卷积神经网络产生。后续工作(如KG-BERT(姚等,2019)、KEPLER(王等,2021b)和Pretrain-KGE(张等,2020b))使用预训练语言模型(PLM)对文本描述进行编码。最近,LMKE (Wang等人,2022a)提出了一个对比学习框架,该框架使用PLM在与单词标记相同的空间中获得实体和关系嵌入,并证明了其在长尾问题上的有效性。这些方法通常依赖于语言模型来处理文本描述,并需要针对不同的知识图进行微调。直接使用LLM的KICGPT更有效,因为它不需要训练,也不需要微调。
一些最近的工作也探索了LLM在KG任务上的能力。StructGPT (Jiang et al,2023)提出了一个通用框架来提高LLMs在结构化数据上的零炮推理能力。它利用LLM,在从KG获取所需信息的辅助接口的帮助下,对KG问题回答(KGQA)任务进行推理。虽然StructGPT和我们的工作都利用了KG和LLM,但StructGPT旨在帮助LLM处理结构化数据和探索KGQA任务,而我们的工作利用LLM内部的知识库来处理KGC的长尾问题。此外,StructGPT直接基于KG结构执行多步推理,而提出的KICGPT以不同的方式利用KG信息。首先,在使用LLM之前,我们使用整个KG来生成初步结果。此外,我们将KG三元组的一部分合并到ICL演示中,以帮助LLM进行推理。朱等(2023)直接评估了LLM在KG推理上的性能。我们的工作设计了一个ICL策略来指导LLM执行推理。
此外,他们在链接预测任务上的实验仅涉及来自FB15k-237数据集(具有20,466个测试三元组)的25个采样实例。相反,我们在ChatGPT上重新运行他们的设置,并报告新的结果作为我们实验的基线。LLM的ICL研究LLM的一个典型方法是通过情境学习(Brown et al,2020),通过提供明确的指令和演示来指导模型的行为。这种方法在各种语言理解和生成任务中是有效的(Rae等人,2021;魏等,2022)。情境学习将模型暴露于特定的情境信息,使其能够掌握和复制必要的模式和结构,以进行精确生成(欧阳等人,2022)。然而,语境学习的成功在很大程度上取决于提示的质量,而制作合适的提示可能是微妙的(王等,2022b)。虽然已经有工作在不同的任务上探索ICL(Dong等人,2022),但就我们所知,还没有为做这样的工作。与现有的工作不同,提出的ICL策略,知识提示,考虑了KGC任务的特点,并证明了它在KGC任务上的有效性。
方法
在本节中,我们将介绍提议的KICGPT模型。完整的算法见附录A.1。问题设置知识图可以表示为一组三元组G = {(h,R,t)},其中E和R分别表示G中实体和关系的集合,h ∈ E是头部实体,t ∈ E是尾部实体,r ∈ R表示它们之间的关系。链路预测是KGC中的一项重要任务。给定一个不完全三元组(h,r,)或者(?,r,t)作为查询,链接预测旨在预测缺失的实体(表示为?).链接预测模型通常需要将所有看似合理的实体评分为缺失实体,然后按降序排列所有实体。为了简化表示,我们将重点放在缺少尾部实体的查询上(即(h,r,?)).缺少标题实体的查询(即(?r,t))可以类似地处理。
概述图1展示了KICGPT框架。有两个组成部分:一个三重基础的KGC寻回犬和一个法学硕士。对于每个查询三元组(h,r,),检索器首先为每个实体e ∈ E生成(h,r,e)的分数。所有实体的排名(按递减分数)表示为Rretriever = [e1st,e2nd,e3rd,.。。,e|E|th]。然后,LLM根据它的知识和建议的知识提示中的演示,对前m个实体进行重新排序。重新排序的RLLM =[e′1st,e′2nd,e′3rd,.。。,e′m]是[e1st,e2nd,e3rd,.。。,emth]。通过用RLLM替换Rretriever中的m个前导实体,KICGPT输出RKICGP T =[e1st,e2nd,e3rd,.。。,emth]。
知识提示在本节中,我们介绍知识提示,这是一种专门为KGC任务设计的情境学习策略。通过将KG的一部分编码到演示中,知识提示提高了LLM在链接预测方面的性能。每个查询的演示池(h,r,),我们从KG构建两个三元组池Da和Ds作为演示。类比池类比池Da包含三元组,帮助LLM通过类比更好地理解查询的语义。设Gtrain和Gvalid分别是用于训练和验证的KG三元组的集合。da = {(E′,r,E′)∈gt rain∪Gvalid | E′,E′∈E }包含与查询(h,r,?).补充池补充池Ds包含提供关于查询的头实体h的补充信息的三元组。具体来说,Ds包括在训练和验证部分中以h作为头或尾实体的所有三元组:{(h,R′,E′)∈gt rain∪Gvalid | R′∈R,E′∈E }∩{(E′,R′,h)∈gt rain∪Gvalid | R′∈R,E′∈E }。
演示顺序由于演示顺序影响性能(Ye et al,2023),我们对类比池和补充池提出了不同的顺序策略。对于类比池Da,它的所有三元组都与查询相似,因为它们共享相同的关系。由于演示的多样性很重要,因此LLM可以从各种类比演示中学习,我们提出了一个促进多样性的排序策略。具体来说,首先我们为每个实体设置一个零计数器。从Da中随机选择一个三元组作为演示,并且与其实体相关联的计数器增加1。
我们反复选择其实体的相关计数器具有最小和的三元组作为示范(随机解析tie)。然后相关的计数器加1。重复这一过程,直到Da中的所有三元组都被使用,并且所获得的结果演示列表被表示为La。对于补充池Ds,由于它用于提供关于查询的头实体h的补充信息,我们更喜欢相关的演示而不是查询。具体来说,我们根据BM25分数对Ds中的所有三联体进行排名(Robertson和Walker,1994)。该分数用于评估每个演示和查询中文本之间的相关性。得到的排序列表表示为Ls,包含Ds中的所有三元组。
具有特定关系或标题实体的查询使用共享类比或补充池。为了防止重复计算,在数据预处理中创建并排序演示池。在推断过程中,根据查询使用相应的池。提示工程提示工程在很重要(赵等,2021)。在这一节中,我们将展示与LLM的整个交互工作流程,以及提示设计的注意事项。演示和查询采用三元组的形式。然而,LLM需要自然的语言输入。为了弥补这一缺陷,KICGPT使用统一的提示模板将查询和演示转换为相同格式的纯文本。
然后,我们执行与LLM的多轮交互,以引导它执行重新排序,其中这些文本和一些指令被组织为提示输入。图2展示了与LLM进行多轮交互的工作流程。对于每个链接预测查询(h,r,),KICGPT创建一个独立的对话提示。整个多轮交互过程包括职责描述、提问和演示描述、多次演示、最终查询四个阶段。责任描述如图2的第一部分所示。我们告诉LLM,它的角色是一个助手,根据可信度对问题的候选答案进行排序。然后,我们检查它的反馈,以确保它知道任务。
图2的第二部分显示了问题和演示描述阶段。我们输入问题(对应于查询的文本),并告诉它将提供两种类型的示例,应该区别对待,一种用于类比,另一种包含补充信息。接下来,如图2的第三部分所示,我们向LLM提供了来自类比池和补充池的一批演示(La和Ls)。为了包含更多的KG信息和演示,我们根据输入令牌的长度限制尽可能多地重复这个步骤。最后,我们重申查询文本,并要求LLM重新排列前m个候选实体。反馈被解析成一个有序列表RLLM,然后该列表代替Rretriever中的前m个实体作为最终答案。
文本自对齐在本节中,我们提出了用于KG文本清洗的文本自对齐。它将KG中的原始文本转换成LLM更容易理解的描述。KG中通常存在原始和模糊的文本描述。例如,FB15k-237数据集中的原始关系描述是“/电视/电视节目/原产地国家”。大多数现有方法(姚等,2019;张等,2020bWang等人,2021b,2022a)通过移除符号(例如,“电视节目原产国”)将其转换为更清晰的描述。默认情况下,KICGPT图2:与LLM进行多轮交互的图示。阶段3重复多次,以提供更多的演示。
用“的”来组织这样的层级关系,就导致了“电视节目的原产国”。然而,这种描述对于LLM来说可能仍然难以理解,并且可能导致不正确的响应。为了解决上述问题,我们使用ICL并让LLM从使用原始描述的给定演示中总结自然文本描述。具体来说,对于一个关系r,我们使用r的类比池Da(3 . 3 . 1节)作为演示,并对它们进行排序以得到有序列表La(3 . 3 . 2节)。这些演示作为提示提供给LLM(附录A.2),要求LLM将关系的语义总结成一个句子(r的自对齐文本描述)。对于具有原始关系文本“/TV/TV _ program/country _ of _ origin”的上述示例,LLM生成更加清晰和自然的自对齐文本描述“[T]是电视节目[H]起源的国家。”,其中[T]和[H]分别是尾部和头部实体的占位符。数据预处理使用文本自对齐为每个关系创建清晰对齐的描述,可以直接作为KICGPT中的关系文本进行链接预测。这个变种叫做KICGPTtsa。由于文本是从LLM中派生出来的,所以它们符合LLM的表示约定,这使得它们更容易理解并提高了性能。
表1:建议方法和基线方法之间的比较。每个指标的最佳结果以粗体显示,第二好的结果以下划线表示。表示结果复制自(王等,2022),表示结果复制自(陈等,2021),表示结果根据(朱等,2023)中的设置在整个数据上运行,其他结果取自其原始论文。EP表示MEM-KGC模型中的实体预测任务。
实验
在这一部分中,我们对KICGPT进行经验评估。设置数据集。我们在FB15k-237 (Toutanova等人,2015年)和WN18RR (Dettmers等人,2018年)上评估了所提出的方法,这些方法是广泛用于链路预测的基准。FB15k-237是freebase (Bollacker等人,2008年)知识图的子集,它包括关于电影、体育、奖励和旅行等主题的常识知识。WN18RR是WordNet (Miller,1995),其中包含有关英语词法的知识。FB15k-237和WN18RR数据集都在信息泄漏的情况下移除了冗余的逆关系。与FB15k-237相比,WN18RR的知识图要稀疏得多。两个数据集的统计数据如表2所示。
基线。我们将提出的KICGPT与一些基于三元组、基于文本和基于对数的基线进行了比较。三重基准包括RESCAL (Nickel等人,2011年)、TransE (Bordes等人,2013年)、DistMult (Yang等人,2014年)、ComplEx (Trouillon等人,2016年)、RotatE (Sun等人,2019年)、TuckER(Bala evic等人,2019年)、HAKE (Zhang等人,2020年a)、CompGCN (Vashishth等人,2019年)和HittER (Chen等人,2021年)。基于文本的基线1包括预训练(zhang等,2020b)、KG-BERT(姚等,2019)、StAR(王等,2021a)、等(崔等,2021)。基于LLM的基线基于ChatGPT。Zhu等人(2023)报告了从FB15k-237采样的25个实例的零触发和单触发链接预测结果。我们在整个数据集上运行他们的代码,并将更新后的结果报告为ChatGPTzero shot和ChatGPTone shot。
实施细节。尽管所提出的方法可以用于各种检索器和LLM,但出于效率考虑,我们更喜欢轻量级模型。具体来说,我们的KICGPT实现使用RotatE (Sun等人,2019)作为检索器,使用ChatGPT (gpt-3.5-turbo)作为LLM。旋转的超参数设置如所示(Sun等人,2019)。m的值从{10,20,30,40,50}中选择,批量大小从{4,8,16,32}中选择,该子集具有来自验证集的200个实例。对于ChatGPT API,我们将temperature、presence_penalty和frequency_penalty设置为0,将top_p设置为1以避免随机性。详细提示见附录A.2。度量标准。链接预测输出所有KG实体的排序列表。我们报告平均倒数排名(MRR ),以及在“过滤”设置下排名列表的命中@1,3,10。“过滤”设置(Bordes等人,2013年)是一种常见的做法,它从排序列表中过滤出有效实体,而不是基本事实目标实体。
实验结果结果见表1。可以看出,在大多数指标上,建议的KICGPT和KICGPTtsa在FB15k-237和WN18RR上都实现了一流的性能。具体来说,在Fb15k-237数据集上,KICGPT的两个变体在所有评估指标方面都超过了所有基线。文本自对齐方法有助于提高Hits@10的性能,但会降低MRR和Hits@{1,3}的性能。这可能是因为这些演示和对齐文本是相互支持的,这增强了LLM理解正确语义的信心,但对于LLM理解不好的关系,对齐文本可能无法传达真实的语义。
在Fb15k-237数据集上,KICGPT和KICGPTtsa在以下方面都超过了所有基线所有评估指标。文本自对齐有助于提高Hits@10的性能,但会降低MRR和Hits@{1,3}的性能。这可能是因为文本自对准文本是从演示中导出的,这些演示也与文本自对准文本一起用于LLM推理过程。虽然相互支持的文本自对齐文本和演示增强了LLM对正确语义的理解,但是它们也使得对关系语义的不正确解释更加持久。
在WN18RR数据集上,KICGPTtsa在除Hits@10以外的所有指标上都取得了一流的性能。与FB15k-237数据集不同,文本自对齐提高了所有指标。这可能部分是因为与FB15k-237 (1308.5)相比,WN18RR (8454.8)中每个关系的三元组的平均数量更高,由于每个关系的信息可用性增加,这有助于生成更精确的文本描述。此外,如表3所示,WN18RR关系比FB15k-237中的关系具有更简洁和直接的语义,使得WN18RR的文本自对齐比FB15k237更容易。这些差异导致LLM从WN18RR中总结出更简洁和精确的关系描述,这提高了高质量对齐文本的性能。
与基于三元组和基于文本的基线相比,所提出的方法表现出更好的性能。这证明了LLM中知识库的有用性。此外,与基于LLMbased的基线(即ChatGPT基线3)相比,所提出的方法在两个数据集上的性能都显著优于LLMbased基线,这表明了集成算法的优越性与LLMs一起为KGC服务。性能的提升主要来自于知识图中包含的信息的注入。
对于FB15k-237和WN18RR数据集,演示排序过程分别需要50.13分钟和30.29分钟。在训练效率方面,KICGPT在FB15k-237和WN18RR上分别只需要28.36和20.63分钟进行训练,与现有的基于文本的方法相比,可以花费数小时进行训练,因此效率更高。这是因为KICGPT不需要对LLM进行微调。
消融研究在该实验中,使用FB15k-237数据集,我们进行消融研究以证明KICGPT中每个组件的有用性。表4显示了结果。在第一项消融研究中,我们在输入LLM之前,对Rretriever中的top-m实体进行了洗牌。可以看出,这导致了轻微的性能下降。这说明检索者提供的顺序很重要,可以降低重新排序的难度。最近,Sun等人(2023)也注意到了初始顺序在搜索重新排序中的重要性。在第二个研究中,我们从类比和补充池中随机选择演示顺序。性能再次下降,证明了第3.3.2节中提出的演示顺序的有效性。
在第三个研究中,我们从KG中检索随机三元组作为演示。由此产生的性能下降显示了在第3.3.1节中构建示范池的有用性。在第四个研究中,我们排除了所有的演示,但仍然提供了前m个候选来约束ChatGPT输出。可以看出,观察到与完整模型的显著性能差距,证明了所提出的ICL策略的必要性。还要注意,没有ICL的Hit@3优于有随机演示的Hit@3。这可能是由于KG中的大量三元组,使得随机演示与查询的语义相关性不显著。使用不相关的三元组作为LLM的演示可能会引入噪声,潜在地导致误导性的结果。在上一次消融研究(附录A.2)中,我们使用了一个没有提示工程组件的提示(第3.3.3节)。这个变体仍然使用提议的示范池(第3.3.1节)和订购(第3.3.2节)。观察到的性能下降表明,专门设计的提示可以利用KGC任务的属性来提高性能。
对长尾实体的分析为了显示KICGPT和KICGPTtsa处理长尾实体的有效性,我们遵循(Wang et al,2022a)并根据实体在知识图中的对数度对它们进行分组。等级较低的实体(因此更可能是长尾实体)被分配到索引较低的组。如果h或t属于d,则三元组(h,r,t)被认为与群d相关。图3显示了FB15k237数据集上各种模型的Hits@1和Hits@10性能平均值,按实体度的对数分类。在长尾条目上,基于文本的方法比基于三元组的方法表现出稍好的性能。然而,这种改进并不显著,因为它只适用于一小部分长尾实体(特别是组0、1、2)。与这些基线相比,所提出的模型在几乎所有组上都实现了性能改进,并且在长尾实体上表现得更好,这证实了LLM与KG相结合的好处。
结论
在本文中,我们提出了KICGPT,一个集成LLM和传统KGC的有效框架方法的链接预测,以及一个新的ICL策略称为知识提示。KICGPT利用LLM作为额外的知识库。与基于文本的方法相比,KICGPT利用LLM的trainingfree属性显著降低了训练开销,并且不需要针对不同的kg进行微调。实验结果表明,KICGPT在链接预测基准上取得了最先进的性能,并且在处理长尾实体方面是有效的。
附录