QA- GNN:使用语言模型和知识图谱的推理问答

摘要1 引言2 准备工作3 相关工作3.1 KG-增强LLM for KGQA3.2 KG-to-Text

4 方法4.1 Retrieve-Rewrite-Answer4.1.1 检索4.1.2 Rewrite:KG-to-Text4.1.3 Answer:Knowledge Text Enhanced Reasoning。

4.2 语料库生成4.2.1 子图提取。4.2.2 文本生成。4.2.3 质量评价。

摘要

尽管大型语言模型在知识密集型任务上具有竞争力,但在记忆所有世界知识特别是长尾知识方面仍然存在局限性。在本文中,我们研究了知识图谱增强语言模型的方法来解决知识图问答(KGQA)的任务,需要丰富的世界知识。现有的工作表明,检索KG知识,以提高LLM提示可以显着提高LLM在KGQA的性能。然而,他们的方法缺乏KG知识的良好形式的语言化,即,它们忽略了KG表示和文本表示之间的差距。 为此,我们提出了一个答案敏感的KG到文本的方法,可以将KG知识转化为最的文本化语句KGQA。基于这种方法,我们提出了一个KG-to-Text增强的LLM框架来解决KGQA任务。在几个KGQA基准测试上的实验表明,所提出的KG-to-Text增强LLM方法在回答准确性和知识语句的有用性方面优于以前的KG-augmented LLM方法。

1 引言

大型语言模型以其上级的优越性在自然语言处理领域得到了越来越广泛的应用。尽管LLM在零样本场景中表现出了卓越的能力,但它们在几个方面的表现都很好。知识密集型任务不够令人满意。这揭示了LLM中的巨大参数不能存储世界上所有的知识。一些研究表明,LLM在回答问题时仍然存在幻觉和事实不准确等问题。具体来说,LLM在知识密集型任务KGQA中表现不佳。

为了解决这个问题,最近的工作试图提高LLM与外部知识。如在广泛的语料库上持续预培训LLM。然而,这种方法需要大量的文本数据,计算资源和时间投资。 以前的一些工作试图通过利用外部知识(如知识图和网络内容)来明确提高LLM在下游任务上的性能。这种方法是用来解决模型的事实知识的不足。受此启发,其他工作通过将与问题相关的事实信息前置到问题来构建知识增强提示,以更直接的方式丰富LLM的知识。虽然这种方法被证明是成功的和成本效益,它忽略了知识表示的重要性。 在本文中,我们总结了在以前的工作两种知识表示格式:三元组形式的文本和自由形式的文本。如图1所示,三元组格式的文本涉及到简单的三元组线性连接,将它们转换为结构化文本。自由格式文本基于KG-to-Text方法将三元组转换为语义一致的文本描述。此外,我们提出了一个KG-to-Text的增强框架,Retrieve-Rewrite-Answer,以加强对KGQA的LLM的性能。如图2所示,与以前以Retrieve-then-Answer方式回答问题的工作相比,我们的框架采用了Rewriter模块来将检索到的三元组转换为文本描述。该框架的核心在于 任务驱动的KG-to-Text方法。 我们设计的方法是答案敏感的,可以将问题相关的三元组转换为文本知识, 这是最能够提供有用信息(informative)的KGQA。与以前简单地采用现成KG到文本模型的工作相比,我们对开源模型进行了 微调 。LLM在KG-to-Text语料库上生成有利于KGQA的知识描述。然而,主要的挑战是现有KGQA基准中缺乏KGto-Text注释数据。因此,我们提出了一种自动语料库生成方法,用于生成高质量的图形-文本对的基础上的反馈LLM。

本文的贡献总结如下:

我们提出了Retrieve-Rewrite-Answer,一个KG-to-Text增强的LLM框架KGQA。与以前的KGaugmented LLM框架相比,我们框架中最重要的创新在于重写模块。该模块使用微调的LLM作为KG-to-Text模型,将检索到的子图转换为对KGQA最具信息性的文本化语句。针对KG转Text语料标注缺乏的问题,设计了一种KG-to-Text语料自动生成方法。我们提取问题相关的子图,并利用ChatGPT作为语料库生成的工具。基于问答LLM的反馈,我们生成用于构建KG到文本标记数据的答案敏感的知识描述。我们微调了几个开源的的LLM生成的语料库,并调查不同的LLM生成的文本知识对KGQA的影响。我们在四个KGQA基准上评估我们的框架。实验结果表明,我们的框架优于以前的KG增强方法在几个LLM,这证明了它的有效性。此外,我们还研究了不同的知识表示格式对KGQA的影响,证明了我们的框架产生的知识是最有益的。

2 准备工作

知识图谱 略 KG to Text 是一种基于KG的自然语言生成技术。给定一个来自KG G的子图퐺′ = {(푠,푟,표)|푠,표∈퐸,푟∈푅},KG-to-Text的目标是生成与子图G‘语义一致的文本序列푋=(푥1,푥2,.,푥푛}。 知识图问题推理(KGQA) 是基于知识图上的一组事实回答自然语言问题的任务。给定一个问题q和一个主题实体eh,任务是生成一个能够正确响应请求的答案a

3 相关工作

3.1 KG-增强LLM for KGQA

尽管LLM在大量语料库上进行了预训练,但在KGQA方面,他们仍然会出现幻觉,事实不准确和过时的知识。最近的努力旨在利用KGs来提高KGQA的LLM能力。在这些研究中,从KG中提取与问题相关的三元组,并使用线性动词化或现成的KG到文本模型等技术将其转换为文本格式。通过预定义的模板,将三元组的文本表示和问题转换为知识增强提示。然后将提示输入到问答LLM中,以产生更可靠的答案。

虽然这些研究证明了这种策略的有效性,但它们 忽略了知识表示格式对KGQA上LLM性能的影响 。在这项研究中,我们设计了 一个KG-to-Text语料库生成方法,以产生高质量的注释。然后,我们利用LLM在语料库上进行微调,将问题相关的子图转换为知识文本,这可以进一步提高LLM在KGQA上的性能。

3.2 KG-to-Text

最近的KG-to- Text的研究可以分为两种主要方法:

1 基于图神经网络(GNNs):为了在编码过程中保留子图的结构信息,研究人员专注于设计更复杂的编码器以获得增强的子图表示。一些工作已经开发了基于GNN的图结构编码器,因为GNN在编码图结构数据方面具有强大的能力。然而,GNN受到局部处理性质的限制,因为它们基于相邻节点的特征迭代地计算节点表示。为了克服这个限制,替代的努力已经在设计编码器中采用了基于transformer的架构。这种方法允许建立图中任何两个节点之间的连接,从而解决了GNN的局限性。2 基于预训练语言模型(PLM):随着BART,T5和GPT等大规模生成PLM的发展,最近的工作将这些模型应用于KG到文本,将其建模为端到端生成任务。这些研究涉及修改模型架构和引入预训练任务,以提高提取结构信息的能力。

在这项工作中,我们遵循第二种方法,并微调KG-to-Text语料库上的开源LLM。

4 方法

4.1 Retrieve-Rewrite-Answer

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

4.1.1 检索

子图检索。 我们的检索模块由三个步骤组成:跳数预测、关系路径预测和三元组采样,如图4所示。 跳数预测 这一步的目的是预测问题的跳数,以在下一步骤中用来预测关系路径。我们将跳数预测建模为基于PLMs的分类任务。给定问题q,我们利用PLMs对问题q进行编码,得到向量表示qv:

q

v

=

P

L

M

(

q

)

(

1

)

q_v=PLM(q) (1)

qv​=PLM(q)(1) 然后将

q

v

q_v

qv​的表示输入线性分类层,以预测潜在跳数h1,h2,…,hH的概率分布:

D

h

=

[

d

h

1

,

d

h

2

,

.

.

.

,

d

h

H

]

=

L

i

n

e

a

r

(

q

v

)

(

2

)

D'_h=[d'_{h1},d'_{h2},...,d'_{hH}]=Linear(q_v) (2)

Dh′​=[dh1′​,dh2′​,...,dhH′​]=Linear(qv​)(2) 其中

d

h

c

d'_{hc}

dhc′​是跳数给出的问题表征

q

v

q_v

qv​的条数hc的概率:

d

h

c

=

P

(

h

c

q

v

)

,

c

=

1

,

2

,

.

.

.

,

H

3

d'_{hc}=P(h_c|q_v), c=1,2,...,H (3)

dhc′​=P(hc​∣qv​),c=1,2,...,H(3) 选择概率最大的跳数h作为预测结果。 在训练过程中,ground truth分布Dh表示为one-hot向量,对于真实跳数为hgold的概率为1,对于其他跳数为0的概率为: 三元组采样 我们按照分数的降序排列预测的关系路径,并从KG开始依次抽取由三元组组成的推理路径,直到推理路径的数量达到m。这些推理路径被用来作为相关知识,以增加在KGQA LLM。

4.1.2 Rewrite:KG-to-Text

我们重写模块的核心是基于KG-toText模型将结构化三元组转换为自由格式的文本。我们首先基于与问题相关的图-文本对训练一个开源LLM。给定图形和相应的自由格式文本。我们通过连接主语、关系和宾语,将图中的三元组动词化为三元形式的文本。然后,我们通过模板T1将三元组形式的文本转换为图形到文本的转换提示p1:“你的任务是将知识图谱转换为一个句子或多个句子。知识图谱是:{三元组形式的文本x}。句子是:”。我们分别以提示p1和自由文本y作为输入和输出,并采用教师强制策略进行训练。在形式上,给定提示符p1,ground truth输出序列y=[y1,y2,…,푦푇]和模型词汇表[v1,v2,…,vV],模型根据提示p1和先前的(t-1)步正确标记y1,y2,…yt-1,预测t步骤上标记的概率分布

D

v

,

t

D'_{v,t}

Dv,t′​:

D

v

,

t

=

[

d

v

1

,

d

v

2

,

.

.

.

,

d

v

V

]

(

16

)

D'_{v,t}=[d'_{v1},d'_{v2},...,d'_{vV}](16)

Dv,t′​=[dv1′​,dv2′​,...,dvV′​](16) 其中

d

v

c

d'_{vc}

dvc′​是vc在给定y1,y2,…,yt时的概率: ground truth分布

D

v

,

t

D_{v,t}

Dv,t​是一个一跳向量,对于下一个真实的token yt,概率为1,对于其他token,概率为0: 交叉熵损失矩阵用于更新参数: 在回答问题时,每个推理路径首先被线性化为三元组形式的文本,然后通过模板T1转换为提示。该提示被馈送到微调的LLM中以获得相应的文本描述。这些描述被合并成一个段落,作为问题相关的知识,以提高LLM的性能。

4.1.3 Answer:Knowledge Text Enhanced Reasoning。

为了将生成的知识与问题集成,我们设计了一个模板T2:“以下是可能与回答这个问题有关的事实:{free-form text y}问题:{question q} 答案: ” 我们将自由形式的文本y和问题q映射到KG增强的提示p2,使用模板T2。然后,我们将提示p2输入到问答模型中,并收集输出作为预测答案푎。

4.2 语料库生成

现有的KGQA基准不提供问答任务的图形-文本对。因此,我们设计了一种KGQA任务驱动的语料库生成方法。考虑到ChatGPT强大的自然语言理解和生成能力,我们采用ChatGPT作为语料库生成器。如图5所示,这个过程包含三个步骤:子图提取、文本生成和质量评估。

4.2.1 子图提取。

对于提供关系路径或推理三元组的KGQA基准测试(例如MetaQA,PathQuestion),我们通过基于注释查询KG来获得子图。对于使用SPARQL注释的基准测试(例如WebQuery SP,ComplexWebQuestion),我们修改SPARQL查询以检索中间实体并构建问题相关的子图。

4.2.2 文本生成。

给定问题,我们首先通过连接主语、关系和宾语,将相关子图动词化为三重形式的文本。然后,采用模板T1将三元组格式文本T1转换为图文转换提示T1。最后,我们在ChatGPT中输入提示p1,以获得相应的自由格式文本。

4.2.3 质量评价。

由于缺少注释,无法采用包括BLEU、METEOR和ROUGE在内的常见评估指标。考虑到生成的文本的目的是加强KGQA的LLM的性能,我们评估了基于问答模型反馈的自由格式文本质量评估。我们将自由形式的文本和问题映射到KG增强的提示符,并通过模板将其映射到KG增强的提示符。然后,我们将提示符2输入到问答模型中,并得到预测答案。鉴于LLM通常提供文本段落作为响应而不是单个答案实体的事实,我们采用hit@1作为度量来评估答案的正确性。푎简单地说,如果答案A包含至少一个答案实体,则该问题被认为正确回答。在这个场景中,我们将三重格式的文本对象和自由格式的文本对象收集为一个图形-文本对。

参考链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: