Advertisement

Retrieve-Rewrite-Answer: A KG-to-Text Enhanced LLMsFramework for Knowledge Graph Question Answering

阅读量:

论文笔记:《Retrieval-Rewrite-Answer:一个基于知识图谱到文本增强的大语言模型问答框架》

论文地址:https://arxiv.org/abs/2309.11206

代码地址:Extract-Reconstruct-Code(github.com))


目录

摘要

1 介绍

1.1 研究背景--存在的问题

1.2 创新点--本文工作

2 相关工作

2.1 KG-Augmented LLM for KGQA

2.2 KG-to-Text

3 方法

3.1 Retrieve-Rewrite-Answer

3.1.1 Retrieve

3.1.2 Rewrite

3.1.3 Answer

3.2 语料库生成

4 实验

5 总结


摘要

虽然大型语言模型 (LLM) 在处理知识密集型任务时表现出色,在记忆所有世界知识(尤其是长尾领域)方面仍显不足。本研究旨在提出一种增强型知识图谱导向的语言模型方法以解决需依赖丰富世界知识的知识图谱问答(KGQA)任务。现有研究证实,在结合检索机制以提升LLM提示效果方面取得了一定成效。但现有相关工作未能实现 KG 知识语料与文本表示间的良好融合。为此本研究提出了一种基于答案敏感性的 KG 到文本转换的方法。通过这种新型的方法构建了一个整合了 KG 到文本转换机制的增强型语言模型框架来解决 KGQA 问题。针对多个 KGQA 公测基准集的实验表明所提出的 KG 到文本增强 LLM 模型在回答准确性和有用性等方面均优于传统 KG 增强 LLM 方法

1 介绍

1.1 研究背景--存在的问题

大型语言模型(即LLMs)因其出色的表现而逐渐成为自然语言处理领域的焦点。尽管这些模型能够在zero-shot场景中展现出色的能力,在某些需要大量知识的任务上仍显不足。这一现象暗示着当前的模型规模难以覆盖人类已知的所有知识领域。经过测试后发现,在回答复杂问题时LMs仍然会表现出推测性思维和部分事实准确性的问题。

前人工作:(引入外部知识来增强语言模型)

在大量文本数据的基础上对LLM进行持续性预训练工作。然而,在这一过程中需要投入大量的文本数据、计算资源以及所需的时间成本。
通过整合外部知识资源(包括知识图谱和网络内容等)来显式地提升LLM在下游任务中的性能水平。这种方法主要针对的是模型在事实性知识方面的不足问题。
受此启发,在后续研究中其他学者采取了不同的策略:即在提出问题时添加与问题相关联的事实信息,并构建增强型知识提示机制;这种改进方式使得LLM的知识获取更加直接化。
尽管这种方法已经被证明是有效的且经济可行的方案;但其未能充分考虑到知识表示的相关重要性。

1.2 创新点--本文工作

*对两种知识表示格式进行总结:三元组形式文本与自由形式文本。将三元组形式转化为结构化文本的方式较为简单。基于KG-to-Text方法的自由形式文本能够生成具有语义意义的描述。

  • 该系统命名为Retrieve-Rewrite-Answer,旨在成为一种增强型Knowledge Graph-enhanced Large Language Model (LLM)架构。它专为支持知识图谱问答任务(Knowledge Graph Question Answering, KGQA)而设计。相较于现有Knowledge Graph-enhanced LLMs架构,其主要改进体现在rewriter组件的设计。rewriter组件采用经过微调后的LLMs作为Knowledge Graph到文本转换的核心引擎,通过其强大的生成能力实现对检索到的知识库三元组的有效转化。具体而言,通过rewriter组件,检索到的知识库三元组被转化为最具有信息价值且适合于回答Knowledge Graph Question Answering相关问题的文字表述形式。整个架构的设计重点在于任务导向的任务生成机制。
  • 为了解决KG-to-Text语料库标注不足的问题,设计了一种自动的KG-to-Text语料库生成方法。提取与问题相关的子图,并利用ChatGPT作为语料库生成的工具。基于问答型LLMs的反馈,我们生成对答案敏感的知识描述,用于构建KG-to-Text标记数据。我们在生成的语料库上微调了几个开源LLM,并研究了不同LLM生成的文本知识对KGQA的影响。
  • 在四个知识图谱问答(KGQA)基准上评估了本文框架。实验结果显示,本文的框架在几个LLMs上优于先前的KG增强方法,证明了其有效性。此外,还研究了不同知识表示格式对KGQA的影响,并证明了本文框架产生的知识最有益。

2 相关工作

2.1 KG-Augmented LLM for KGQA

当前的研究致力于借助知识图谱来增强LLMs在KGQA任务中的表现,在这些探索中主要采用了以下技术:首先从知识图谱中提取与问题相关的三元组,并主要采用线性表达或现成的KG-to-Text模型等技术将其转换为文本格式;其次通过预先设计的模板将这些三元组与问题的文本表示结合转化为具有知识增强功能的提示;最后将该提示输入到问答型LLMs中,并生成更可靠的答案。然而这些方法却忽视了知识表示格式对其在KGQA任务中的性能影响。

2.2 KG-to-Text

最近研究可以分为两种主要方法:

  • 基于图神经网络(GNNs): 研究人员致力于通过设计更为复杂的编码器来保留子图的结构性信息,并取得更加优异的子图表示效果。已有相关研究已成功开发出基于GNNs的图结构编码器模型。然而,传统GNN架构由于其局部处理特性而存在局限性:它们是基于相邻节点特征逐步更新节点表示的机制。针对这一限制,在后续研究中人们开始尝试突破这种局限性:通过引入Transformer架构来构建编码器模型。这种方法突破了传统GNN仅能处理局部节点之间的关系这一限制,在全局范围内建立起任意两个节点之间的关联性。
  • 基于预训练语言模型(PLMs):当前研究者们正将像BART 、T5 和GPT 这样的大规模预训练语言模型应用于KG-to-Text建模任务中,并将其视为一个端到端的生成建模过程。这一系列研究工作主要集中在对模型架构进行优化以及引入新的预训练任务设定上:以期提升模型在抽取知识图谱结构信息方面的表现能力。我们采用的是后者方案:通过对开源LLMs进行微调的方式实现对KG-to-Text语料库的有效建模。

3 方法

3.1 Retrieve-Rewrite-Answer

如图所示,在...原点坐标系中建立三维空间模型并进行数据处理

3.1.1 Retrieve

Subgraph Retrieval(子图检索): 包含以下三个阶段:节点跳跃预测、关系路径推断和三元组采样.

  • Hop Prediction(跳数预测):该步骤的主要目标是估算关系路径的数量级,并以此指导后续推理方向的选择。研究者将这一过程建模为基于预训练语言模型(PLM)的分类模型,并设计了一种高效的特征提取方法以辅助这一目标实现.具体而言,对于输入的问题𝑞,研究者通过利用PLM模型对输入的问题𝑞进行编码处理,并生成相应的向量表示
q_{v}

中,然后利用线性分类器对跳数的概率分布进行预测。

d_{h_{c}}^{'}

为给定问题的跳数为

h_{c}

时的概率,

D_{h}^{'}

为所有跳数的概率分布集合, ℎ 即为概率最高的跳数。

在训练期间,跳数的ground truth分布

D_{h}

将变量编码为one-hot形式亦即仅将该跳数对应的概率设为1其余跳数的概率设为0并采用交叉熵损失函数来进行参数优化更新步骤

L_{CE}

Relation Path Prediction, also known as (RPP), stands for Relation Path Prediction and serves as a fundamental task in knowledge graph navigation. The objective is to predict the sequence of relations that connect a source node to a target node within a predefined number of hops, referred to as the path length h. At each step t (where t ranges from 1 to h), the system employs pre-trained language models (PLMs) to analyze the previously predicted path segments and determine the next relation in the sequence based on the current query node q. Specifically, for each predicted path segment, up to K candidate relations are sampled for consideration at each subsequent step. In the initial step (t=1), the system encodes the query node q into a vector representation using PLMs before proceeding to predict subsequent relations in the path

q_{v}

,然后,将该向量通过一个线性分类层传递,以计算KG中关系 𝑅 的分布

D_{r,1}^{'}

,其中,

d_{r_{c}}^{'}

是在给定问题表示

q_{v}

的情况下关系

r_{c}

的概率:

选择具有最高概率的前 𝐾 个关系作为单跳关系路径

p_{1}

。在接下来的第 𝑡 步(𝑡 > 1),在(𝑡 − 1)跳关系路径

p_{t-1}

中的关系路径

p_{t-1,i}

可以表示为:

然后将问题 q 与关系路径

p_{t-1,i}

拼接起来,利用PLM和线性分类器计算关系的概率分布

D_{r,t}^{'}

保留具有最高概率的前 𝐾 个关系作为(𝑡 − 1)跳关系路径

p_{t-1,i}

的第 𝑡 个跳关系。 在进行 ℎ 步预测后,我们可以得到

K^{h}

条关系路径。关系路径

p_{t-1,i}

的得分是路径中所有关系的概率的乘积:

采用 Triple Sampling 方法(即元组采样技术),首先将预测关系按照分数从高到低排序;随后依次抽取自知识图谱中的三元组所构成的推理路径;直到抽取到满足条件的推理路径数量达到预设阈值 M 为止;这些推理路径则用于提升基于知识图谱问答的语言模型性能。

3.1.2 Rewrite

该模块的主要功能在于利用KG-to-Text模型实现将结构化三元组转换为自由格式的文本。

首先利用与问题相关的graph-text对开源LLM进行训练。提供图𝐺及其对应的自由文本𝑦。通过利用主语、关系和宾语将𝐺中的三元组转换为三元形式的文本𝑥。接着将x填入prompt template中

T_{1}

Your task is to convert a knowledge graph into one or more sentences. The knowledge graph consists of: {triple-form text x }. The resulting sentence(s) will be:

p_{1}

与自由形式文本 x 分别作为输入与输出,并采用教师强制策略(teacher forcing strategy)进行训练

基于序列生成模型(RNN、LSTM等),教师强制策略是一种被广泛应用于强化训练的技术手段。其主要基于在训练过程中迫使模型直接接收真实数据来进行预测操作的方式,在每个时间段内避免采用自身预测结果作为后续输入的方法。

对于给定的提示

p_{1}

、实际输出序列 𝑦 = [

y_{1}

,

y_{2}

, ...,

y_{T}

] 和模型词汇表 [

v_{1}

,

v_{2}

, ...,

y_{1}

],模型在第 𝑡 步基于提示

p_{1}

和先前(𝑡 − 1)步的正确标记

y_{1}

,

y_{2}

, ...,

y_{t-1}

,预测标记的概率分布

D_{r,t}^{'}

,其中,

d_{v_{c}}^{'}

是在给定

p_{1}

y_{1}

,

y_{2}

, ...,

y_{t-1}

的情况下关系

v_{c}

的概率:

实际分布

D_{v,t}

采用one-hot编码的形式,在真实的目标标记yt处赋予概率值为1,在其余位置则设置为0,并通过交叉熵损失函数来优化模型参数。

在处理一个问题时, 首先将每个推理路径转换为三步式结构的文本, 然后按照模板 𝑇1 转换为提示信息。将这些提示信息输入经过微调的语言模型(LLMs)中, 以便生成相应的文本描述。这些描述被整合成段落, 作为与问题相关的知识来源, 进而提升语言模型的性能水平。

3.1.3 Answer

Knowledge Text Enhanced Reasoning:为了实现知识𝑦与问题𝑞的融合,并整合相关数据以提升推理能力,在本研究中我们开发了一种系统性的方法

T_{2}

Below are the data points that could potentially assist in addressing the inquiry: {free-form text 𝑦} Question: {question 𝑞}.

T_{2}

将自由文本 𝑦 和问题 𝑞 映射到KG增强的提示

p_{2}

。然后,我们将提示

p_{2}

输入到问答模型中,并收集输出作为预测答案 𝑎。

3.2 语料库生成

现有的KGQA基准系统目前缺乏问答任务相关的graph-text数据对,因此,我们开发了一种基于KGQA任务的任务驱动型语料库生成方法,其中ChatGPT被选为主导工具来进行数据生成工作。如图5所示,该流程主要包括三个关键环节:从知识图谱中提取子图,随后进行相应的文本构建,最后通过质量评估机制确保数据集的整体效能。

子图生成:针对具备关系路径或推理三元组的KGQA基准,在KG中依据注释执行查询以获取相应的子图;而对于采用SPARQL进行注释的标准,则需重新编写SPARQL查询以识别关键实体并构建与问题相关的子图.

SPARQL是一种基于三元组设计的数据库查询语言,并被用于执行与RDF相关的操作和数据检索操作。RDF数据则采用由subject, predicate, object三个部分组成的三元组来进行表示。

*文本生成:给定问题 𝑞, 首先通过构建主语与关系之间的联系, 将相关子图𝐺转化为其对应的关系三元组表示, 并将其表示为三元组形式的文本 𝑥. 然后, 采用模板

T_{1}

将三元组形式的文本 𝑥 转换为graph-to-text的转换提示

p_{1}

。最后,我们将提示

p_{1}

将输入数据传递至 ChatGPT 平台进行处理后生成自由文本 𝑦。由于缺乏对生成文本的解释 , 通常难以量化评估生成文本的质量 。考虑到生成文本的目的是加强大型语言模型在知识图谱问答系统(KGQA)中的性能表现 , 我们根据问答模型的反馈评估自由文本 𝑦 的质量 。为了提升大型语言模型在知识图谱问答系统(KGQA)中的性能表现 , 我们采用了一套标准化的评估模板

T_{2}

将自由文本 𝑦 和问题 𝑞 映射到增强知识图谱的提示

p_{2}

。然后,我们将提示

p_{2}

采用问答模型进行查询后会输出预测的回答 𝑎。在这种情况中,我们通过获取三元组形式的文本 𝑥 和自由文本 𝑦 来组织成 graph-text 对。

4 实验

数据库:具体包括以下几种——MetaQA、WebQuestionsSP(即 WebQSP)、
WebQuestions(即 WebQ)以及 ZhejiangQA(即 ZJ QA)。

该框架包含两个LLM相关模块:知识图谱到文本转换器(KG-to-Text)与问题回答系统(question-answering)。KG-to-Text模块采用Llama-2(7 billion与13 billion参数量级)及Flan-T5(3 billion参数量级)模型构建。我们所构建的KG-to-Text模型基于13 billion规模的Llama-2-chat架构设计,并支持多语言输出功能以满足不同应用场景需求。在问题回答系统中,则采用了包括但不限于以下几种主流大语言模型:先进的7 billion与13 billion参数量级的Llama-2模型;经典的T5系列(包括0.8 billion, 3 billion与11 billion参数量级版本);前沿开发中的Flan-T5(80 million, 3 billion与11 billion参数量级版本);开源社区贡献者开发的T0系列(仅包含有限规模版本);以及 widely popular 的 ChatGPT 模型等多款主流产品技术方案

评估指标:考虑到LLM一般返回一段文本作为回应而不是单一的答案实体因此采用 hit@1 作为一个评估标准来衡量答案 𝑎 的准确性。换句话说如果答案 𝑎 至少包含一个真实实体则被视为问题已被正确回答。

当采用 "hit@1" 的方式进行查询时,在生成的回答中至少包含一个正确的问题实体,则被认为是命中的一次。该指标旨在衡量生成的回答是否准确地覆盖了所有相关的问题。

实验结果:

消融实验:

5 总结

研究结果表明,在现有知识增强技术中, 所提出的框架显著性超越了基于知识增强的方法. 进一步而言, 在符号化表示方面与现有知识增强技术相比, 在自由形式的知识表示下生成的内容更加直观地被理解, 并且通过LLM与KGQA系统实现了优异的效果.

基于图-文本语料库的微调是该框架的一个必要条件;为了确保数据安全性和知识完整性,在构建 KG-to-Text 模型时仅限于 KG 数据源。未来的研究方向包括整合外部知识资源,并开发零样本知识生成方法。

全部评论 (0)

还没有任何评论哟~