文章目录
论文标题:用于零点知识图谱问题解答的知识增强语言模型提示
论文链接:https://arxiv.org/abs/2306.04136
arXiv:2306.04136v1 [cs.CL] 7 Jun 2023
摘要
大型语言模型(LLMs)能够利用其在预训练阶段存储在参数中的内部知识,执行零次封闭式问题回答任务。然而,这些内部知识可能不完整且存在错误,导致LLMs产生事实不准确的答案。另外,对LLMs进行微调以更新知识的成本很高。为此,我们提出了一种方法,即在LLMs(大型语言模型)的输入中直接增强知识。具体来说,我们首先从知识图谱中检索与输入问题相关的事实在基于问题与其相关事实之间的语义相似性。然后,我们将检索到的事实以提示的形式前置到输入问题中,然后将其转发给LLMs以生成答案。我们的框架,知识增强语言模型提示(KAP-ING),无需模型训练,因此完全零次射击。我们在知识图谱问答任务上验证了我们的KAPING框架的性能,该任务旨在根据知识图谱中的事实回答用户的问题,我们的结果在多个大小不同的LLM上平均超过了相关零次射击基线48%。
1 介绍
预训练语言模型(LMs)(Devlin等人,2019;Raffel等人,2020)是通过自监督学习在大量文本语料库上训练的,可以执行闭卷问答(QA)任务。这些任务的目标是仅基于模型内部参数中的知识来回答用户的问题,无需使用任何外部知识(Petroni等人,2019;Roberts等人,2020)。此外,当我们增加语言模型的大小时,大型语言模型(LLM)可以在没有任何额外微调步骤的情况下生成问题的答案,这被称为语言模型提示(Brown et al., 2020; Liu et al., 2021)。然而,由于大型语言模型中的知识可能不完整、不正确或过时,它们经常生成事实错误的答案,这被称为幻想(Rohrbach et al., 2018)(见图1a)。此外,通过参数更新来提炼LLMs的知识是昂贵的,特别是当知识不断变化时(例如,货币的汇率)。最后,LLMs是否为问答任务获取正确的知识尚不明确。
图1:(a) 对于提示中的输入问题,大型语言模型GPT-3(Brown等人,2020)可以根据其内部参数知识生成答案,但会出现虚幻的描述,用黄色高亮显示。 (b) 我们的知识增强语言模型提示框架KAP-ING首先从问题中的实体检索相关事实,然后将它们添加到提示中,以生成事实正确的答案。
为了解决这些限制,我们提出将相关知识直接作为输入(称为提示)注入到大型语言模型中(图1b)。作为知识来源,我们使用包含符号知识的三元组形式的知识图谱(KG):(头部实体,关系,尾部实体)。因此,为了提取与输入问题相关的事实,我们首先将问题中的实体与知识图谱(KG)中的实体进行匹配。然后,将KG中与实体相关的三元组(即符号关系知识)转化为文本字符串,并将其附加到输入问题的开头。之后,将问题和转化后的知识输入到大型语言模型(LLMs)中,以生成答案。因此,基于事实知识的LLM(大型语言模型)能够生成事实性的答案,减轻了虚假信息的问题,同时保持LLM的参数不变:知识更新不需要微调。我们将这个整体框架称为知识增强语言模型提示(KAPING),它完全零次射击,可以与任何现成的LLM一起使用,无需额外训练。
虽然上述方案看起来简单有效,但还存在一些挑战。首先,与问题实体相关检索到的大多数三元组与回答给定问题无关。例如,当我们在Wikidata KG(Vrandecic和Krötzsch,2014)中检索图1中的问题实体(例如,波塞冬)相关的三元组时,存在60个三元组,其中大多数(例如,类型、出版日期等)与回答问题无关。因此,它们可能会误导模型生成错误的答案。另一方面,问题实体的三元组数量有时很大(例如,WebQSP数据集(Yih等人,2016)中有27%的样本拥有超过1000个三元组),因此将所有三元组包括在内进行编码会产生高昂的计算成本,特别是在大型语言模型上。
为了解决这些挑战,我们进一步提出根据它们与输入问题的语义相似性来过滤掉不必要的三元组,受到了信息检索的启发(Bast等人,2016)。具体来说,我们首先将问题及其相关的口语化三元组表示在嵌入空间中。然后,我们检索那些嵌入式比其他嵌入式更接近输入问题嵌入式的少量三元组。通过这样做,我们可以在给定问题前只添加更相关的三元组,有效地防止LLMs生成与问题无关的答案,同时具有较高的计算效率,与那种将所有三元组进行增强的方法不同。请注意,我们的过滤方法使用现成的句子嵌入模型(Song等人,2020年;Hofstätter等人,2021年);因此,我们的整个流程不需要额外的训练。
然后,我们在知识图谱问答(KGQA)任务上验证了我们的KAPING框架。结果显示,我们的KAPING显著优于相关的零样本基准。此外,详细的分析证实了知识检索和增强策略的重要性。我们的工作有三个主要贡献:
• 我们提出了一种新的知识增强的语言模型提示框架,它利用了来自知识图谱(KGs)的事实知识,以实现零样本问答(QA)。
• 我们提出从知识图谱中检索和增强与问题相关联的事实,这是基于问题与其相关三元组之间的语义相似性。
• 我们在KGQA基准数据集上验证了我们的KAPING,我们的方法在零样本问答任务上显著优于相关基线。
2 相关工作
语言模型提示
语言模型预训练,通过在未经注释的文本语料库上训练Transformer(Vaswani等人,2017),采用自编码(Devlin等人,2019;Liu等人,2019)或自回归(Yang等人,2019;Radford等人,2018)的目标,已成为自然语言任务的重要方法。此外,大型语言模型(LLM)(Brown等人,2020;Raffel等人,2020;Chowdhery等人,2022;Soltan等人,2022)能够进行零样本学习,例如,根据存储在预训练参数中的知识,为输入文本提示生成答案(Petroni等人,2019;Roberts等人,2020;Sung等人,2021),无需额外的参数更新和标注数据集。为了进一步提高性能,一些工作(Rubin等人,2022;Liu等人,2022a)提出从训练数据集中检索与输入问题相关的样本,并在少量示例学习的情况下将它们附加到提示中。最近的一些工作(Sanh等人,2022;Wei等人,2022a)进一步表明,当大型语言模型在自然语言任务的指令集合上进行微调时,它们可以在未见过的零样本任务上具有较强的泛化性能。然而,语言模型内部的知识可能不足以处理事实性问题,这就产生了知识增强的语言模型。值得注意的是,我们的语言模型提示与提示调整文献(Lester et al., 2021a; Chen et al., 2022a)不同,后者在模型训练过程中还对语言模型进行调整(详见附录C)。
知识增强的语言模型(Knowledge-Augmented LMs)
最近的工作提出将知识(如来自非结构化语料库(例如维基百科)的文档和知识图谱(KGs)中的事实)整合到语言模型(LMs)中。其中一些方法,如REALM(Guu等人,2020年)和RAG(Lewis等人,2020年),学习检索文档并用它们增强语言模型。此外,知识图谱(KGs)可以是另一种知识来源,其中知识以最简洁的形式编码在最紧凑的形式中,一些方法将KGs中的这些事实增强到语言模型(Galetzka et al., 2021; Rony et al., 2022; Kang et al., 2022)中。然而,所有上述方法都需要大量的训练数据和下游任务的模型更新。虽然最近的研究(Izacard等人,2022)表明,检索增强的大型语言模型在少样本学习中可以有很强的性能,但它仍然需要额外的训练步骤,这与我们专注于大型语言模型提示以实现完全零样本学习的方法不同。
最近,关于语言模型(LM)提示方案的知识增强的研究并不多。最初,一些研究提出通过提示来从大型语言模型(LLMs)的参数中提取知识,然后利用提取的知识来回答问题(Kojima等,2022;Liu等,2022b;Wei等,2022b;Wang等,2022)。然而,由于LLM的参数可能不足以存储所有世界知识,因此提取的知识和生成的答案可能不准确。另一方面,最近,Lazaridou等人(2022)提出使用Google搜索来检索网页上的文档,然后将检索到的文档与输入问题以及少量示例一起附加,以便在少量示例的LLM提示方案下回答问题。然而,我们关注的是使用知识图谱(KGs)的零样本提示,这与之前研究使用少量样本提示的文档的研究是正交的,并且使用KGs可以带来额外的优势。具体来说,由于知识图谱可以简洁地将知识编码为紧凑的三元组形式,对于问答任务,我们的方法使大型语言模型的提示更加高效(即,与文档情况相比,减少输入序列长度),并且在零样本问答方案上更有效:大型语言模型需要在提示中选择一个包含答案实体的三元组,而不是浏览包含各种实体的长文档。
知识图谱问答系统
我们的目标知识图谱问答(KGQA)任务的目标是根据一组知识图谱(Chakraborty 等,2019;Fu 等,2020)中的事实来回答输入的问题。以前的方法大致分为神经语义解析方法(Yih等人,2015;Bao等人,2016;Luo等人,2018)、基于信息检索的方法(Sun等人,2018;Saxena等人,2020;Yasunaga等人,2021)和基于可微知识图谱的方法(Cohen等人,2020;Saffari等人,2021;Sen等人,2021)。然而,这些方法需要有标注数据和额外的模型训练。虽然周等人(2021)的目标是在没有针对目标语言领域进行任何训练数据的情况下将KGQA模型转移到目标语言领域,但本工作实际上需要在数据丰富的源领域上使用标记数据来训练模型,然后才能将模型转移到目标领域。与上述所有方法不同,我们探索了一种新颖的零样本知识图谱问答机制,该机制不需要任何注释的问答对和额外的训练,而是利用语言模型提示。
3 方法
我们现在介绍我们的知识增强语言模型PromptING(KAPING)框架。
3.1 零样本问答的语言模型提示
我们首先从零样本问答开始,然后解释语言模型的提示。
零次问答(Zero-Shot Question Answering)
给定一个输入问题x,问答(QA)系统返回一个答案y,其中x和y由一系列标记组成:x = [w1, w2, …, w|x|]。让P成为一个基于生成式语言模型(LM)(Raffel等人,2020;Brown等人,2020)的QA模型,它生成对于问题x的答案y的条件概率,如下所示:P(y|x)。然后,与使用一组标注的(x, y)对训练模型P的监督学习不同,零样本学习不使用任何标记的样本和模型训练。值得注意的是,我们对这种零样本问答感兴趣,因为收集数据集然后对现有语言模型进行微调以适应每个新领域被认为是非常昂贵且有时是不可行的(Houlsby等人,2019年;Lester等人,2021b)。
LM提示
语言模型(LMs)通常通过根据先前的标记预测下一个标记来进行预训练,这被称为自回归语言建模(Radford et al., 2018; Raffel et al., 2020)。然后,由于这个预训练目标,大型语言模型(LLMs)可以执行零样本指令学习。具体来说,当我们向大型语言模型(LLM)提供一个问题和指示(例如,“请回答这个问题:《淑女苏珊》的作者是谁?”)时,该LLM可以根据输入文本生成输出令牌的概率序列,这可能是一个答案,例如“简·奥斯汀”。
为了更正式地表达,对于每个输入问题x,我们首先使用特定的指令模板T将其转换为一个称为提示的文本字符串x’,如下所示:T:x 转换为 x’。例如,如果我们有之前的问题x = “《淑女苏珊》的作者是谁?” 和之前的指令模板 “请回答这个问题:”,那么由此生成的提示x’将是T(x) = “请回答这个问题:《淑女苏珊》的作者是谁?”。然后,我们将提示x’传递给大型语言模型(即P),它通过P(y|x’)生成回答(即y)。请注意,这种语言模型提示方法不需要在标注数据上进行任何额外的模型参数更新(即微调),因此适用于目标零样本问答任务。
然而,在这种天真的零次提示问答中存在多个挑战。首先,依赖于参数知识的大型语言模型(LLMs)容易生成事实错误的答案,因为LLMs的知识可能不准确且过时:知识可以随着时间的推移而出现和改变。此外,用额外的参数更新来提炼内化知识是昂贵的,而反映错误且不断增长的知识是必要的。最后,大型语言模型在生成问题答案时所记忆和利用的知识是不明确的,这限制了它们对输出的解释性。
3.2 知识增强的语言模型提示
为了解决现有语言模型提示方案的上述限制,我们提出从知识图谱(KG)中注入相关知识到输入问题,我们称之为知识增强语言模型提示(KA