论文笔记:《Retrieve-Rewrite-Answer:一个知识图到文本的增强LLM知识图提问框架》

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

代码地址:Retrieve-Rewrite-Answer(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)任务。现有的工作表明,检索KG知识,以提高LLM提示可以显着提高LLM在KGQA的性能。然而,这些方法缺乏KG知识的良好形式的语言化,即,它们忽略了KG表示和文本表示之间的差距。为此,本文提出了一个对答案敏感的KG-to-Text的方法,可以将KG知识转化为对KGQA最有用的文本化陈述。基于这种方法,我们提出了一个KG-to-Text增强的LLM框架来解决KGQA任务。对几个KGQA基准的实验表明,所提出的KG-to-Text增强LLMs方法在答案的准确性和知识陈述的有用性方面优于以前的KG增强的 LLMs方法。

1 介绍

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

大型语言模型 (LLM) 因其在各种应用中的卓越能力而在自然语言处理中越来越受欢迎。尽管LLM在zero-shot场景中表现出了卓越的能力,但它们在一些知识密集型任务上的表现还不够令人满意。这表明LLM中的巨大参数无法存储世界上所有的知识。LLM在回答问题时仍然存在幻觉和事实不准确等问题。 

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

在广泛的语料库上对 LLM 进行持续的预训练。然而,这种方法需要大量的文本数据、计算资源和时间投入。利用外部知识(如知识图和网络内容)来显式提高LLM在下游任务中的性能。这种方法被用来解决模型在事实知识方面的不足。受此启发,其他通过在问题前添加与问题相关的事实信息,构建了增强知识提示,以更直接的方式丰富LLMs的知识。尽管这种方法被证明是成功且经济高效的,但它忽视了知识表示的重要性。 

1.2 创新点--本文工作

总结两种知识表示格式:三元组形式文本和自由形式文本。三元组形式文本通过简单的线性连接,将其转换为结构化文本。自由形式文本则根据KG-to-Text方法将三元组转换为语义一致的文本描述。

提出Retrieve-Rewrite-Answer,一种增强型KG-to-Text的LLMs框架,用于知识图谱问答(KGQA)。与先前的KG增强LLMs框架相比,框架中最显著的创新在于rewrite模块。该模块使用经过微调的LLMs作为KG-to-Text模型,将检索到的三元组转换为对KGQA最具信息量的良好文本化语句。该框架的核心在于任务驱动的KG-to-Text方法。 ​

为了解决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中,以生成更可靠的答案。但它们忽视了知识表示格式对LLMs在KGQA上性能的影响。

2.2 KG-to-Text

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

基于图神经网络(GNNs):为了在编码过程中保留子图的结构信息,研究人员致力于设计更复杂的编码器以获得增强的子图表示。一些工作已经开发了基于GNNs的图结构编码器。然而,GNN受到局部处理性质的限制,因为它们基于相邻节点的特征迭代地计算节点表示。为了克服这一限制,另一些工作采用了基于Transformer架构的方法来设计编码器。这种方法允许在图中的任意两个节点之间建立连接,从而解决了GNNs的局部处理限制。基于预训练语言模型(PLMs):随着像BART 、T5 和GPT这样的大规模生成式PLMs的发展,最近的工作将这些模型应用于KG-to-Text,将其建模为一个端到端的生成任务。这些研究涉及对模型架构的修改和引入预训练任务,以增强提取结构信息的能力。我们采用第二种方法,对KG-to-Text语料库上的开源LLMs进行微调。

3 方法

3.1 Retrieve-Rewrite-Answer

如图所示,Retrieve-Rewrite-Answer框架包含三个步骤:子图检索、KG-to-Text和知识文本增强推理。

3.1.1 Retrieve

Subgraph Retrieval(子图检索):包括三个步骤:跳数预测、关系路径预测和元组采样.

 Hop Prediction(跳数预测):该步骤的目的是预测问题的跳数,用于预测下一步的关系路径。将跳数预测建模为基于PLM的分类任务。给定问题푞,使用PLM对问题푞编码并获得矢量表示然中,然后利用线性分类器对跳数的概率分布进行预测。 为给定问题的跳数为  时的概率, 为所有跳数的概率分布集合, ℎ 即为概率最高的跳数。

在训练期间,跳数的ground truth分布 设置为one-hot形式,即答案跳数的概率为1,其他跳数概率为0,并使用交叉熵损失进行参数更新  。

 Relation Path Prediction(关系路径预测):对于给定的问题与问题跳数,执行 ℎ 步预测,每一步对应一跳关系。在第 t步时,基于预测的(푡 − 1)跳关系路径和问题 푞,通过预训练语言模型(PLMs)进行分类任务来预测第 푡 个跳的关系。具体而言,对于每个预测的关系路径,将为下一步抽样 퐾 个候选关系。在第1步,将问题 푞 编码为一个向量表示 ,然后,将该向量通过一个线性分类层传递,以计算KG中关系 푅 的分布,其中,是在给定问题表示的情况下关系的概率:

 选择具有最高概率的前 퐾 个关系作为单跳关系路径 。在接下来的第 푡 步(푡 > 1),在(푡 − 1)跳关系路径 中的关系路径 可以表示为:

 然后将问题 q 与关系路径 拼接起来,利用PLM和线性分类器计算关系的概率分布 。

保留具有最高概率的前 퐾 个关系作为(푡 − 1)跳关系路径 的第 푡 个跳关系。 在进行 ℎ 步预测后,我们可以得到 条关系路径。关系路径 的得分是路径中所有关系的概率的乘积:

 Triple Sampling(元组采样):按分数降序排列预测的关系路径,然后顺序抽样由KG中的三元组组成的推理路径,直到推理路径的数量达到 푀 为止。这些推理路径被用作增强在知识图问答(KGQA)上的语言模型。

3.1.2 Rewrite

KG-to-Text:rewrite模块的核心是基于KG-to-Text模型将结构化三元组转换为自由格式的文本。

首先基于与问题相关的graph-text对训练一个开源LLM。给定图 퐺 和相应的自由文本 푦。通过连接主语、关系和宾语,将图 퐺 中的三元组用三元形式的文本 푥 表达出来。然后,将x填入prompt模板 中: "Your task is to transform a knowledge graph to a sentence or multiple sentences. The knowledge graph is: {triple-form text x }. The sentence is: " 分别以prompt  和自由形式文本 x 作为输入和输出,使用教师强制策略(teacher forcing strategy)进行训练。

Teacher forcing strategy 是在序列生成模型(RNN、LSTM等)中使用的一种训练技术。其基本思想是在训练过程中,不将模型自身的预测结果作为下一个时间步的输入,而是在每个时间步骤都接收到标准答案作为输入。

对于给定的提示 、实际输出序列 푦 = [, , ..., ] 和模型词汇表 [, , ..., ],模型在第 푡 步基于提示 和先前(푡 − 1)步的正确标记 , , ..., ,预测标记的概率分布 ,其中,是在给定 和 , , ..., 的情况下关系的概率:

 实际分布 是一个one-hot形式,对于真实的下一个标记 푦푡,概率为1,对于其他标记,概率为0,利用交叉熵进行参数调整。

在回答问题时,首先将每个推理路径线性化为三元形式的文本,然后通过模板 푇1 转换为提示。将提示输入经过微调的语言模型(LLMs)中,以获取相应的文本描述。这些描述被整合成段落,作为与问题相关的知识,以提升语言模型的性能。

3.1.3 Answer

 Knowledge Text Enhanced Reasoning:为了将生成的知识푦 与问题 푞 整合,本文设计了一个模板 : "Below are the facts that might be relevant to answering the question: {free-form text 푦} Question: {question 푞}."我们使用模板将自由文本 푦 和问题 푞 映射到KG增强的提示 。然后,我们将提示 输入到问答模型中,并收集输出作为预测答案 푎。

3.2  语料库生成

现有的KGQA基准不提供问答任务的graph-text对,因此,设计了一种KGQA任务驱动的语料库生成方法,采用ChatGPT作为语料库生成器。如图5所示,这个过程包含三个步骤:子图提取、文本生成和质量评估。

 子图提取:对于提供关系路径或推理三元组的KGQA基准,通过根据注释查询KG来获得子图。对于使用SPARQL进行注释的基准,修改SPARQL查询以检索中间实体并构建与问题相关的子图。

SPARQL是为RDF开发的一种查询语言和数据获取协议。RDF数据是以三元组的形式进行表示的。

文本生成:给定问题 푞,首先通过连接主语、关系和宾语,将相关子图퐺动词化为三元组形式的文本 푥。然后,采用模板 将三元组形式的文本 푥 转换为graph-to-text的转换提示 。最后,我们将提示 输入到 ChatGPT 中,以获得相应的自由文本 푦。质量评估:由于缺乏注释,无法使用常见的评估指标,包括BLEU、METEOR和ROUGE。考虑到生成文本的目的是加强LLM在KGQA中的性能,我们根据问答模型的反馈评估自由文本 푦 的质量。我们通过模板 将自由文本 푦 和问题 푞 映射到增强知识图谱的提示 。然后,我们将提示 输入问答模型,得到预测的答案 푎。在这种情况下,我们收集三元组形式的文本 푥 和自由文本 푦 作为graph-text对。

4 实验

数据集:MetaQA、WebQuestionsSP (WebQSP)、WebQuestions (WebQ)、ZhejiangQA (ZJQA)

LLMs:提出的框架有两个基于LLM的模块:KG-to-Text 和question-answering。在 KG-to-Text 模块中使用 Llama-2(7B、13B)、Flan-T5(3B),本文KG-to-Text 模型是基于Llama-2-chat(13 B)实现的。在问答模块中使用 Llama-2(7B、13B)、T5(0.8B、3B、11B)、Flan-T5(80M、3B、11B)、T0(3B、11B)、ChatGPT。

评估指标:鉴于LLM通常提供文本段落作为响应,而不是单一的答案实体,使用 hit@1 作为度量标准来评估答案 푎 的正确性。简而言之,如果答案 푎 包含至少一个答案实体,则认为问题被正确回答。

使用 "hit@1" 时,如果生成的答案包含至少一个正确的答案实体,那么就被认为是一次命中。这个指标的目标是评估生成的文本是否正确回答了问题。

实验结果:

消融实验:

5 总结

实验结果表明,该框架大幅度优于以前的KG增强方法的。此外,与其他语言化方法相比,该框架生成的自由形式的知识文本更容易理解LLM和KGQA取得上级的结果。

然而,该框架需要在图-文本语料库上微调 KG-to-Text 模型,并且除了 KG 之外不包含额外的数据源。在未来的工作中,可以探索整合额外的知识资源,并设计一种能够在零样本场景中生成与问题相关的知识的方法。

参考链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。