论文笔记:《Retrieve-Rewrite-Answer:一个知识图到文本的增强LLM知识图提问框架》
论文地址:https://arxiv.org/abs/2309.11206
代码地址:Retrieve-Rewrite-Answer(github.com)
目录
摘要
尽管大型语言模型 (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 之外不包含额外的数据源。在未来的工作中,可以探索整合额外的知识资源,并设计一种能够在零样本场景中生成与问题相关的知识的方法。