面向复杂知识图谱问答任务的思维链增强的知识改写方法
最近的研究探索了结合检索增强生成(Retrieval Augmented Generation, RAG)的大语言模型(Large Language Models, LLMs)用于知识图谱问答(Knowledge Graph Question Answering, KGQA)。这些研究通常需要将检索到的子图改写为LLMs能理解的自然语言格式。然而,在处理复杂问题时,现有方法改写的知识可能包含不相关
论文题目: CoTKR: Chain-of-Thought Enhanced Knowledge Rewriting for Complex Knowledge Graph Question Answering
1.摘要
最近的研究探索了结合检索增强生成(Retrieval Augmented Generation, RAG)的大语言模型(Large Language Models, LLMs)用于知识图谱问答(Knowledge Graph Question Answering, KGQA)。这些研究通常需要将检索到的子图改写为LLMs能理解的自然语言格式。然而,在处理复杂问题时,现有方法改写的知识可能包含不相关的信息,遗漏关键细节,或未能与问题的语义对齐。为了解决这些问题,我们提出了一种新的改写方法,即增强思维链的知识改写(Chain-of-Thought Enhanced Knowledge Rewriting, CoTKR),该方法交替生成推理路径和相应知识,从而克服了单步知识改写的限制。此外,为了弥合知识改写器和问答(Question Answering, QA)模型之间的偏好差异,我们提出了一种训练策略,即从问答反馈中对齐偏好(Preference Alignment from Question Answering Feedback, PAQAF),通过利用QA模型的反馈进一步优化知识改写器。我们使用多个LLMs在几个KGQA基准上进行了实验。实验结果表明,与以往的知识改写方法相比,CoTKR为QA模型生成了最有益的知识表征,显著提高了LLMs在KGQA中的性能。
2.介绍
大语言模型(LLMs)在各种自然语言处理任务中取得了卓越的表现,标志着一个重要的里程碑[1][2][3]。尽管它们在零样本(zero-shot)情景中表现出色[4][5],但在如问答(QA)等知识密集型任务中仍会遇到事实性错误[6][7],这种错误通常被称为“幻觉”[8]。这一问题源于LLMs的内在限制,包括事实不准确和知识过时。为了应对这一挑战,大量研究[9][10][11]通过从外部来源检索与任务相关的知识作为上下文,从而增强了LLMs在下游任务中的能力,这种方法被称为检索增强生成(Retrieval-Augmented Generation, RAG)[12][13]。
最近RAG范式下的工作[11][14][15][16]探讨了使用知识图谱(KGs)作为信息来源以增强大语言模型(LLMs)在问答(QA)任务中的能力。与典型的问答任务不同,这一范式下KGQA的一个主要挑战在于将与问题相关的子图转换成LLMs能理解的自然语言,同时保留结构信息[11][17][18]。本研究将这一过程称为知识改写(KR)。如图1所示,本文总结了现有工作中常用的知识改写方法。大多数先前的研究[11][17][18]采用简单线性拼接的方法(Triple),即拼接每个三元组的主语、关系和宾语,形成三元组形式的文本。此外,考虑到LLMs是在文本语料库上预训练的,并且难以处理结构化的三元组形式文本,一些工作[11][19][21]聚焦于通过KG-to-Text将三元组转换为自然语言。进一步地,鉴于检索到的子图常包含与问题无关的冗余信息,其他研究[22][23]旨在从三元组中提取与问题相关的知识,以生成与问题相关的摘要。
尽管这些策略有效,但它们表现出几个限制:
(1)冗余或遗漏。如图1所示,Triple和KG-to-Text生成的知识冗长,包含过多无关信息。Summary提供了与问题相关的摘要,但试图在一个步骤中组织所有相关知识。鉴于解决复杂问题所需的广泛知识,这种方法可能无法封装所有关键信息,可能导致关键点的遗漏。
(2)语义不匹配。图1中显示的三种现有方法忽略了问题的语义,并缺乏与问题推理路径对齐的逻辑组织。
图1 现有研究中常用的知识改写方法
为此,我们提出了思维链增强知识改写方法,简称CoTKR。受到ReAct[24]的启发,我们方法的核心是以交错方式生成推理过程和相应知识。如图1所示,我们交替执行以下两种操作:
(1)推理:分解问题以识别推理所需的知识;
(2)总结:根据推理步骤的输出,总结检索到的三元组中的相关知识。通过将思维链(CoT)[25]与知识改写整合,CoTKR过滤掉无关信息并提取与问题相关的知识。此外,它生成与问题语义对齐的、组织良好的知识表示。与传统的CoT在问答(QA)中的应用不同,我们的框架首先利用知识改写器总结知识,然后作为上下文信息来增强QA性能。这种策略提供了更优的鲁棒性。尽管总结可能不准确,但仍能提供有价值的信息,有可能导致正确答案。然而,将CoT应用于QA需要更精确的推理链,这些链条的错误传播会受到显著影响[24][26]。为了基于大语言模型(LLMs)培训知识改写器,我们为CoTKR设计了一个培训框架。在第一阶段,受到以往工作的启发[11][17][27],我们使用由ChatGPT生成的知识表示来指导知识改写器的监督式微调,使其初步掌握知识改写的能力。在第二阶段,我们引入了基于问答反馈的偏好对齐方法(PAQAF),以弥合知识改写器与QA模型之间的偏好差异。该方法根据QA模型的相应响应评估不同知识表示的质量,随后构建偏好对,并通过直接偏好优化(DPO)对LLMs进行微调[28]。
我们在GrailQA[29]和GraphQuestions[30]数据集上进行实验,比较了现有工作中常用的知识改写方法。与之前的研究结果相反,这些研究表明大型语言模型(LLMs)在处理三元组形式的知识时表现更佳,而非自然语言形式,我们的发现显示大型语言模型可以从精心构造的自然语言表示的知识中获得显著的好处。这表明我们的方法可能显著提升大型语言模型在知识图谱问答(KGQA)中的性能。
本文的主要贡献包括:
-
我们提出了CoTKR,一种基于思维链增强的知识改写方法,通过应用思维链(CoT)来提升知识表示形式的质量。该方法交错生成推理轨迹和相应的知识,从而产生与问题语义一致的、结构良好的知识表示形式。
-
我们提出了基于问答模型反馈的偏好学习方法PAQAF,用以弥合知识改写器与问答模型之间的偏好差距。该策略通过评估问答模型的响应来衡量不同知识表示形式的质量。然后,它构建偏好对并采用 DPO来优化知识改写器。
-
在两个知识图谱问答数据集基准上进行了实验。与其他知识改写方法相比,CoTKR能够为问答模型生成最有益的知识表示,并进一步提升大型语言模型(LLMs)在KGQA中的性能。此外,考虑到隐私和成本问题,我们评估了开源和闭源大语言模型作为知识改写和问答的基础模型的性能。
3.方法
3.1 思维链增强的知识改写器
我们的问答框架如图2所示。首先,我们的框架从知识图谱中检索与问题相关的子图,然后使用CoTKR将其转化为上下文知识。这种上下文知识以及问题本身,促使问答模型生成答案。这一框架的核心是知识改写器。简而言之,它交替执行以下两种操作:
推理:分解问题并基于生成的知识表示形式生成推理轨迹,指出当前步骤所需的具体知识。
总结:基于当前的推理轨迹总结相关的知识。
图2 知识图谱问答框架的示意图
假设我们在(t-1)步有推理轨迹xt-1,r,总结的知识xt-1,k。相应的知识表示形式,即Xt-1,表示为:
在第t步的知识改写过程中,给定问题q,子图G’以及先前生成的内容Xt-1,知识改写器R首先生成推理迹线xt,r:
随后,基于问题q,子图G’,先前生成的内容Xt-1,以及第t步的推理轨迹xt,r,CoTKR 总结了相关知识xt,k:
在第t步的知识表示中,xt,r和xt,k被附加到Xt-1上。请注意,在第1步中,X0被初始化为None。
3.2 CoTKR的训练框架
图3展示了CoTKR的训练框架。
图3 CoTKR的训练框架
3.2.1 利用从ChatGPT提取的知识进行监督微调
这一阶段使开源大语言模型(LLMs)通过监督微调初步获得知识改写能力。这主要包括两个步骤:参考知识表示形式生成和监督微调。
参考知识表示形式生成。我们采用ChatGPT作为数据生成器来构建训练语料库。我们通过简单线性连接,将与问题相关的子图G’,并与问题q结合,形成输入提示x。随后,ChatGPT根据多个示例(即演示)和提供的输入x生成参考知识表示k。最终,我们构建了训练数据集DT= {(x1, k1),(x2, k2),…,(xT, kT)}。
监督微调。对于训练数据集DT中的每一对输入和输出(xi, ki),我们的知识改写器Rθ被训练基于xi生成ki,使用以下目标:
其中,θ代表知识改写器Rθ的参数,pθ(ki,xi)表示在给定输入xi的情况下,Rθ生成ki的概率。
3.2.2 基于问答模型反馈的偏好微调(PAQAF)
在这一阶段,我们采用偏好对齐(Preference Alignment,PA)来弥合知识改写器和问答模型之间的偏好差距。这一阶段包括四个步骤:候选知识表示形式采样,基于问答模型反馈的偏好微调,基于ChatGPT的数据增强,以及直接偏好优化(Direct Preference Optimization,DPO)。
候选知识表示形式采样。我们输入问题q和相应的子图G’,然后从知识改写器Rθ中采样M个候选知识表示,k1,k2,…,kM。
基于问答模型反馈的偏好注释。在候选知识表示形式中,我们选择两个具有最大语义差异(即最低语义相似性)的知识表示形式k1和k2,以便在训练期间加速收敛。采用标准评估方法评估这些知识表示形式是次优的,因为它们未能与问答模型的偏好对齐。受到前人研究[11][17][31]的启发,我们认为更好的知识表示通常会带来问答性能的提升。因此,我们选择k1和k2作为上下文知识,促使问答模型Q回答问题q,分别生成答案a1和a2。随后,我们提示ChatGPT从准确性和相关性的角度评估a1和a2的质量。此评估旨在识别偏好的知识表示k+和非偏好的知识表示k-。
基于ChatGPT的数据增强。与开源大语言模型(LLM)相比,ChatGPT能够产生更高质量的知识表示。因此,为了提高首选知识表示的质量并增强训练数据的多样性,我们利用ChatGPT对k+进行释义。除了问题q,检索到的子图G’和首选知识表示k+外,我们还提供答案实体e。这使ChatGPT能够围绕组织相关知识,确保改写的知识覆盖关键证据。我们使用问题q和文本化子图G’的结合体作为输入x,并使用释义后的知识表示k++和k-作为首选对。最后,我们构建偏好数据集PN=(x1,k1++,k1-),(x2,k2++,k2-),…,(xN,kN++,kN-)。
直接偏好优化。我们在知识改写器上使用直接偏好优化(DPO),以开发一个偏好微调版本的知识改写器Rθ*。它最小化以下目标:
鉴于不同问答模型的偏好各异,CoTKR专门针对每个问答模型进行训练。通过两个阶段的训练,CoTKR倾向于为每个问答模型生成更有利的知识表示k++,同时避免生成无益的知识表示k-。
4.实验
4.1 数据集基准
GrailQA是一个具有挑战性的大规模多跳KGQA基准测试,包含64,331个问题(44,337个训练集,6,763个验证集,13,231个测试集)。训练集和验证集提供了带注释的SPARQL查询和答案实体,而测试集则只包含问题。为了方便评估,验证集用于测试。
GraphQuestions是一个基于Freebase的丰富特征的事实问题回答数据集,包含5,166个问题(2,771个训练集,2,395个测试集)。对于每一个问题,该数据集提供相应的SPARQL查询和答案实体。
4.2 大语言模型
我们使用了Llama-2 (7B),Llama-3 (8B)和ChatGPT 2来进行知识改写,同时使用ChatGPT和Mistral (7B)来执行问答任务。
4.3 基线
在知识图谱问答(KGQA)中,我们将不含PAQAF的CoTKR(简称CoTKR)和含PAQAF的CoTKR(简称CoTKR+PA)与其他知识改写方法进行比较。
简单线性拼接(Triple)[14][15]将三元组的主语、谓语和宾语拼接起来,生成三元组形式的文本。这种方法不需要额外的模型进行知识改写。知识图谱到文本(KG-to-Text)[11]将事实转换为每个关系路径的自由形式文本,通过KG-to-Text模型解决了LLMs在理解结构化三元组形式文本的局限性。Summary[17]将三元组转换为与问题相关的摘要,缓解了冗余上下文知识的问题。
4.4 检索方法
2-跳子图(2-Hop)。我们保留头实体的2-跳子图中的30个三元组,优先选择与问题语义相似度较高的三元组。
BM25。我们遵循DecAF中的处理方法[32],简单地将主题实体的1-跳子图线性化为文章。我们选取与候选文档相对应的前30个三元组作为检索结果。
精确子图(GS)。我们修改数据集中的SPARQL查询,以获得问题对应的精确子图。这些子图代表了理想检索器的检索结果。
4.5 评估指标
Accuracy:衡量生成的答案是否至少包含一个正确的答案实体。
Recall:计算模型的回复中正确实体的比例。
Exact Match (EM):用于评估模型的回复中是否包含所有答案实体。
4.6 主要结果
为全面评估各种知识改写方法,我们采用了广泛使用的2-Hop检索方法。表1展示了整体结果。我们观察到:(1)我们的方法在大多数评价指标和大语言模型(LLM)中均优于基准线,证明了我们知识改写策略的有效性。这也展示了CoTKR的广泛实用适用性,适用于需要微调的开源大语言模型和使用上下文学习(ICL)的闭源大语言模型。将与问题相关的知识整合显著提高了问答(QA)性能,与直接问答相比,凸显了检索增强(RAG)范式在知识图问答(KGQA)中的效能。KG-to-Text表现最弱,表明仅将三元组转换为文本可能导致子图中信息的损失。总结(Summary)虽然优于KG-to-Text,但通常落后于CoTKR/CoTKR+PA,表明过滤掉不相关知识是有效的,但不足够。(2)CoTKR+PA在性能上接近甚至超过了ChatGPT作为知识改写器,证明了我们训练框架和偏好对齐的有效性。CoTKR+PA表现优于CoTKR,表明偏好对齐可以弥合知识改写器与问答模型之间的偏好差异,从而增强知识表示形式的质量。(3)精心设计的知识表示形式对于在KGQA中使用的大语言模型至关重要。尽管Triple不需要额外的知识改写模块,它提供了一个强大的基线,并在某些情况下,表现优于KG-to-Text和Summary。相反,CoTKR+PA始终优于Triple。这表明Triple虽简单但有效,并解释了其在现有工作中广泛使用的原因。另一方面,它表明精心设计的知识表示形式可以有效提升KGQA的性能。
表1 CoTKR及基线方法的总体结果
4.7 检索方法的影响
为了研究检索方法的影响,我们选择Llama-3作为知识改写器,以及ChatGPT作为问答模型。根据图4所示结果,我们有以下观察:(1)对于更具挑战性的问题,2-Hop检索方法可能不足够,但对于简单问题足够。在GrailQA上,BM25和2-Hop的表现相似,但在GraphQuestions上,2-Hop相对于BM25显示出显著优势。这可能是因为GrailQA是一个更复杂的数据集基准,具有更大的问题相关的子图,使得2-Hop子图通常不足够囊括解决问题所需的全部信息。相反,对于GraphQuestions,一个2-Hop子图通常为大多数问题提供了精确的上下文。(2)设计一个高质量的检索器仍然是一个开放性问题。GS显著优于BM25和2-Hop,表明检索噪声对KGQA性能的影响重大。(3)CoTKR在各种检索方法中始终表现优于所有基线,显示了其稳健性和实用性。
图4 使用不同的知识改写器和不同的检索方法的知识图谱问答(KGQA)结果
4.8 与三元组方法的对比
多项研究[14][33]表明,与自然语言相比,大语言模型(LLMs)能更好地理解三元形式文本。然而,我们的结果却显示出相反的情况。因此,我们通过比较使用三元形式文本作为输入的知识改写方法(KG-to-Text,Summary,CoTKR,CoTKR+PA)和Triple,进一步深入探讨这一问题。我们使用准确性作为评估响应正确性的标准。对于每种方法,我们考虑三种情况:(1)错误→正确:Triple提供了错误答案,但对比方法回答正确。(2)正确→错误:Triple回答正确,但对比方法回答错误。(3)无变化:Triple和对比方法均回答正确或错误。我们采用Llama-3作为知识改写器,ChatGPT作为问答(QA)模型,以及2-Hop作为检索方法。然后,我们计算GrailQA中这三种不同情况的比例。根据图5所示结果,我们得出以下结论:(1)KG-to-Text和Summary主要产生负面影响,部分验证了先前研究的结论。Triple提供了一个强大的基准,采用KG-to-Text和摘要导致更多错误答案。这表明LLMs能有效理解三元形式文本,使用简单的知识改写方法会导致信息丢失。(2)设计良好的知识表达显著有益于问答模型。由CoTKR/CoTKR+PA重写的知识表达通常提升QA模型的表现。这反映了先前工作中次优的知识表达是性能下降的主要因素。我们的方法生成了全面且语义连贯的知识表达,从而提高了知识图谱问答(KGQA)的有效性。
图5 GrailQA上的对比结果
4.9 知识增强的有效性
为了评估数据增强的有效性,我们比较了三个变体的性能:CoTKR,CoTKR+PA和CoTKR+PA*(使用监督微调和偏好对齐,但不使用数据增强)。实验结果显示在表2中,从中我们可以得出两个结论:(1)CoTKR+PA*通常优于CoTKR+PA,表明PAQAF并不完全依赖于基于ChatGPT的数据增强。(2)在大多数情况下,CoTKR+PA表现最佳,证明了数据增强增强了偏好对齐的效果。
表2 在GraphQuestions上数据增强的消融实验
4.10 案例研究
在本节中,我们通过一个例子比较了Summary和CoTKR。如表3所示,Summary忽略了关键知识(即Stephen Jay Gould)。相比之下,CoTKR在第一次改写步骤中突出显示了最相关的知识(即知识1)。此外,在进行偏好对齐后,CoTKR+PA可以避免不必要的推理步骤(即推理2),为问答生成全面且语义连贯的上下文知识。
表3 不同方法的知识改写结果示例
5.总结
在本文中,我们提出了一种新的知识改写方法——思维链增强的知识改写方法(Chain-of-Thought Enhanced Knowledge Rewriting,CoTKR),用于提高知识图谱增强问答任务中三元组知识表示形式的质量。为了缩小知识改写器与问答模型之间的偏好差异,我们提出了基于问答回馈的偏好对齐(Preference Alignment from Question Answering Feedback,PAQAF)。实验结果表明,与现有的知识改写方法相比,CoTKR能够为问答模型生成最有益的知识表征。在未来的工作中,我们将不局限于知识图谱问答(KGQA),探索适用于其他类型结构化数据的知识表示形式,广泛应用于RAG(Retrieval Augmented Generation)。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)