前言
大模型落地应用过程中,一般形式还是问答形式,无论是人机对话还是机机对话,都是靠问答来解决一系列问题。无论是要求大模型给出具体的专业化知识,还是要求大模型进行某项作业的开展,都是以问题(指令其实也是一种特殊的问题)的形式进行。所以在RAG中,如何将问题转化为大模型能够理解的问题,转化为各种知识库可以查询的问题,这是应用大模型能力的关键。本次带来的东南大学发表的一篇关于KBQA相关的论文综述。详细介绍了复杂事实性问题的处理框架。我分为上中下三个部分详解这篇论文中关于KBQA相关的内容。洞悉用户问题才是大模型落地应用的第一步!本篇为下篇,PLM在复杂知识库问答中的应用以及排行榜以及未来趋势。欢迎关注我们,大模型的艺术,持续更新!
【RAG问答相关】复杂知识库问答综述(上)
【RAG问答相关】复杂知识库问答综述(中)
PLM在复杂知识库问答中的应用
在大型文本语料库上进行无监督的预训练语言模型,然后在下游任务上对预训练语言模型(PLMs)进行微调,已经成为自然语言处理的一种流行范式[100]。此外,由于从大规模数据中获得的强大性能以及在广泛下游任务中提供服务的能力,PLMs被认为是许多任务的“基础模型”[101],包括复杂的知识库问答(KBQA)任务。因此,一些最近的基于SP和基于IR的方法已经广泛地将PLMs纳入到它们的流程中。
对于基于SP的方法,PLMs通常用于同时优化可训练模块(即问题理解、逻辑解析、知识库连接),从而有助于在seq2seq框架中生成可执行程序(例如SPARQL)。通过这种统一的范式,可以利用跨任务的可转移知识来缓解低资源情境中的数据稀缺问题。对于基于IR(信息检索)的方法,PLMs有助于精确构建数据源,并进一步增强了统一的推理能力。一方面,PLMs提供了强大的表示能力,可以从知识库中检索语义相关信息。另一方面,PLMs可以帮助统一问题和知识库的表示,从而有助于推理能力。
PLM应用于基于sp的方法
搭载强大的PLMs,逻辑形式生成模块受益于通过无监督预训练获得的强大生成和理解能力。在统一的seq2seq生成框架下,PLMs提供了可转移的知识,有助于在有限数据情况下进行有效的模型训练。 用于增强逻辑形式生成的PLM。 为了获得可执行程序(例如SPARQL),传统的基于SP的方法将问题解析成逻辑形式,然后通过知识库连接来实例化它。这个过程可以很好地在知识增强文本生成框架下形式化(即从用户请求到可执行程序)。因此,一些研究利用了通常是神经编码器-解码器模型的PLMs,直接根据问题和其他相关的知识库信息生成可执行程序。为了获取相关的知识库信息输入,Das等人从案例内存中检索了类似的案例,其中每个案例都是问题和其金标准可执行程序的一对。Ye等人根据预定义的规则,直接从基于知识库的搜索中枚举的候选逻辑形式中检索了前k个相关的逻辑形式。这种PLMs的使用方式已经证明了在模型性能方面取得了显著的改进。
用于低资源训练的PLM。 从PLMs获得的强大和可转移的自然语言理解能力使得KBQA方法能够在低资源情境中克服对训练数据的无法承受之需求。在最近的一项研究中,Shi等人在KQA Pro数据集上对预训练的序列到序列模型进行了微调,以生成SPARQL和程序。虽然没有引入外部知识来增强生成,但基于BART的生成器达到了接近人类性能,并且对稀疏训练数据表现出了鲁棒性。
此外,与复杂的知识库问答类似,一系列结构解析任务(例如Text2SQL、表格问答、数据库语义解析)可以构成知识增强文本生成框架。在这个基础上,受此启发,Xie等人提出了结构知识映射(SKG),以统一一系列结构解析任务,并使用PLM模型T5在21个基准任务上达到了(接近)最先进的性能水平。通过这种基于PLM的通用方法,可以通过知识共享和跨任务泛化来解决低资源任务中精确语义解析的挑战。
PLM应用于基于IR的方法
凭借PLMs强大的表示能力,我们可以增强特定问题的图检索,并在检索源构建过程中缓解知识库的不完整性。此外,PLMs提供了一种统一的方式来建模非结构化文本和结构化知识库信息在统一的语义空间中,从而改善了特定问题的图推理。
用于增强源构建的PLM。 为了尽可能完整地覆盖答案,传统的基于启发式的方法,如个性化PageRank,会检索一个大而嘈杂的特定问题图,这会妨碍后续的推理。因此,Zhang等人训练了一个基于PLMs的路径检索器,以检索逐跳问题相关的关系。在每一步,检索器根据问题和上一步选择的关系排名前k个关系。这种方法成功地过滤了嘈杂的图上下文,并保持了对答案的预期推理路径的高召回率。
除了建立精确的源构建模块外,PLMs还具有减轻知识库不完整性的潜力。PLMs已经展示了它们回答“填空”式陈述的能力,这表明它们可以从无监督的预训练中学习关系知识。这些关键发现表明,PLMs在作为问题回答的知识源方面具有巨大潜力,可以在知识库不完整的情况下起到补充的作用。
用于精确和统一推理的PLM。 受到强大的预训练语言模型的吸引,一些研究人员对图结构上的复杂推理进行了适应,以进一步利用PLM。传统的基于知识库的推理依赖于对实体和关系学习的嵌入,这些嵌入可能无法识别与问题回答上下文相关的部分。为了在检索到的子图中过滤掉嘈杂的图上下文,Yasunaga等人采用了PLM相似性分数,以确定给定问题的相关知识。为了进一步联合推理问题回答上下文(即问题-答案序列)和知识图,检索到的子图中的节点表示是使用问题、答案和节点表面名称的连接序列的PLM编码进行初始化的。通过PLMs的增强,GNN模型获得了显著的性能提升。
评估和资源
在这一部分,我们首先介绍知识库问答(KBQA)系统的评估协议。然后,我们总结一些流行的KBQA基准测试。最后,为了方便跟踪研究进展,我们为这些基准测试数据集创建了一个排行榜,其中包含了相应出版物的评估结果和资源链接。我们还附带了一个伴随页面,用于综合收集与KBQA相关的出版物、开源代码、资源和工具。
为了全面评估知识库问答(KBQA)系统,应考虑从多个方面进行有效的度量。考虑到要实现的目标,我们将度量分为三个方面:可靠性、鲁棒性和系统与用户的交互。
评估方式
可靠性: 对于每个问题,都有一个答案集(一个或多个元素)作为连接真实值。通常,KBQA系统会预测具有最高置信度得分的实体,以形成答案集。如果KBQA系统预测的答案存在于答案集中,则为正确的预测。在以前的研究中 [35],[49],[53],存在一些经典的评估指标,如精确度(Precision),召回率(Recall),F1和Hits@1。对于一个问题q,其精确度表示正确预测占所有预测答案的比例。其形式定义如下:
其中是预测的答案,是连接的真实答案。
召回率是正确预测占所有连接真实值的比例。它的计算方式如下:
理想情况下,我们期望KBQA系统同时具有更高的精确度(Precision)和召回率(Recall)。因此,F1分数通常被用来进行综合评估:
其他一些方法使用 Hits@1 来评估正确预测排名高于其他实体的比例。它的计算方式如下:
其中是在预测集中第一位的。
鲁棒性: 实际的KBQA模型应该能够在测试时推广到分布之外的问题。然而,当前的KBQA数据集大多基于模板生成,缺乏多样性。而且,由于昂贵的标注成本,KBQA系统的训练数据规模受到限制。此外,由于查询的广泛覆盖和组合爆炸,KBQA系统的训练数据可能很难涵盖所有可能的用户查询。为了提高KBQA模型的鲁棒性,Gu等人提出了三个泛化级别(即i.i.d.、组合和零样本),并发布了一个大规模的KBQA数据集GrailQA来支持进一步的研究。在基本级别上,KBQA模型被假定是通过从相同分布中抽取的问题进行训练和测试的,这是大多数现有研究关注的内容。除此之外,鲁棒的KBQA模型可以泛化到已见模式项目(例如关系和实体类型)的新组合。为了实现更好的泛化并为用户提供服务,鲁棒的KBQA模型应该能够处理在训练阶段未涵盖的模式项目或领域的问题。
系统-用户交互: 尽管大多数现有研究都非常关注离线评估,但用户与KBQA系统之间的交互被忽视了。一方面,在搜索场景中,应考虑用户友好的界面和可接受的响应时间。为了评估这一点,应收集用户的反馈,并评估系统的效率。另一方面,如果只提供单一轮的服务,系统可能会误解用户的搜索意图。因此,评估KBQA系统的交互能力非常重要。例如,检查它们是否能够提出澄清问题以消除用户的查询歧义,并查看它们是否能够回应用户报告的错误。到目前为止,缺乏对系统-用户交互能力的量化测量,但可以将人工评估视为一种有效和综合的方式。
数据集和排行榜
数据集。多年来,已经付出了大量努力来构建复杂的知识库问答(KBQA)数据集。我们在表格1中列出了多个流行知识库(例如Freebase、DBpedia、Wikidata和WikiMovies)的复杂KBQA数据集的代表性示例。为了服务于现实应用,这些数据集通常包含需要多个知识库事实进行推理的问题。此外,它们可能包括数值操作(例如比较和最高问题的计数和排名操作)以及约束条件(例如实体和时间关键词),这进一步增加了从知识库中推理答案的难度。
总的来说,这些数据集的构建包括以下步骤:首先,以知识库中的主题实体作为问题的主题,使用不同的模板创建简单的问题。基于简单的问题和知识库中主题实体的邻近性,进一步使用预定义的组合模板生成复杂问题,另一项工作也使用模板生成可执行的逻辑形式。同时,使用相应的规则提取答案。在某些情况下,雇佣众包工作者来重新表述规范问题,并完善生成的逻辑形式,使问题表达更多样化和流利。
排行榜。 为了展示这些KBQA基准数据集中的最新研究进展,我们提供了一个排行榜,包括基于信息检索(IR-based)方法和基于句法分析(SP-based)方法的前三名KBQA系统。为了进行公平比较,结果选择遵循以下三个原则:1)如果一个数据集有官方排行榜,我们只参考排行榜上列出的公共结果。2)否则,我们从在2022年3月之前正式被会议或期刊接受的已发表论文中选择前三名结果。3)此外,我们保持每个数据集的实验设置与其他数据集一致。特殊情况下,我们不报告QALD系列的结果以便更简洁显示,因为它们有多个不同版本,而且我们只报告MetaQA Vanilla的3-hop拆分,因为这比1-hop和2-hop拆分更具挑战性。对于LC-QuAD 2.0,我们选择了Zou等人报告的结果。如果根据上述原则没有足够的结果,我们将留空。对于所有基准数据集上KBQA方法的更全面评估,请参考我们的附带页面。
在上文提到的文中,"LF" 表示数据集是否提供类似SPARQL的逻辑形式(Logic Forms),"CO" 表示数据集是否包含带有约束的问题(COnstraints),"NL" 代表数据集是否将众包工作者用于重写自然语言问题(Natural Language),"NU" 表示数据集是否包含需要数值操作的问题(NUmerical operations)。通常,基于SP的方法采用F1分数作为评估指标,而基于IR的方法采用Hits@1(准确性)作为评估指标。符号 三角形 和 心形 分别表示Hits@1(准确性)和F1分数的评估指标。
分析与讨论。根据表1,我们有以下观察:(1)基于句法分析(SP-based)和基于信息检索(IR-based)的方法都被开发来处理复杂的KBQA挑战,对于哪一类更好并没有绝对一致的看法。 (2)尽管SP-based方法涵盖了大多数基准数据集,但IR-based方法侧重于主要由多跳问题组成的基准数据集。 SP-based方法更常用于回答复杂问题的原因可能是它们生成灵活且富有表现力的逻辑形式,能够涵盖所有类型的问题(例如布尔型、比较型等)。 (3)我们还观察到,在每个类别中,表现出色的方法通常都配备了先进的技术。排行榜上的SP-based方法利用强大的问题编码器(例如PLMs)来帮助理解问题,使用富有表现力的逻辑形式来解析复杂查询。对于IR-based方法,大多数最新方法在问题表示模块中采用逐步动态指令,并使用关系路径建模或基于图神经网络(GNN)的推理进行多步推理。
最近趋势
在这一部分,我们讨论了复杂的知识库问答(KBQA)任务的几个有前景的未来方向:
-
进化型KBQA系统:现有的KBQA系统通常在离线情况下使用特定数据集进行训练,然后在线部署以处理用户查询。然而,大多数现有的KBQA系统忽视了从部署后接收的失败案例或未见问题模板中学习的机会。与此同时,大多数现有的KBQA系统无法跟上世界知识的快速增长,无法回答新的问题。因此,在线用户交互可能为已部署的KBQA系统提供进一步改进的机会。一些工作利用用户反馈来更正KBQA系统生成的答案,并进一步改进系统。通过用户反馈,Abujabal等人提出了一个连续学习框架,以学习捕捉以前未见的句法结构的新模板。除了增加模型的模板库,用户反馈还可以用于澄清模糊问题(例如,模糊短语或模糊实体)。这些方法为构建具有用户反馈的进化型KBQA系统提供了一个初始探索。这种方法是有效和实用的(即可接受的用户认知负担和运行成本),可以满足工业需求。由于KBQA系统的广泛应用,更多与KBQA系统的用户交互的工作和设计亟需研究。
-
鲁棒的KBQA系统:现有的KBQA研究通常在理想假设下进行,即训练数据足够且其分布与测试集相同。然而,由于数据不足和潜在的数据分布偏差,这在实践中可能并不理想。为了在资源有限的情况下训练鲁棒的KBQA系统,研究人员已经探索了元学习技术和从高资源场景中的知识传递等方法。我们还强调了PLMs在资源有限培训和跨任务泛化方面的潜在影响。由于手动注释KBQA系统的成本高昂,需要更多关于在资源有限情况下训练鲁棒KBQA系统的研究。同时,尽管现有方法通常持有i.i.d.假设,但它们可能很容易无法处理KBQA的分布之外(OOD)问题。通过对GrailQA数据集的系统评估,Gu等人指出,现有的基线方法容易受到组合挑战的影响。为了提高更高级别的鲁棒性,研究人员可以通过解决Gu等人提出的三个泛化级别(即i.i.d.、组合和零-shot)来获得更多见解。在复杂KBQA任务上,鲁棒性的研究工作很少。构建具有更强泛化能力的鲁棒KBQA系统仍然是一个开放性问题。
-
对话式KBQA系统:近几十年来,AI驱动的应用程序(例如搜索引擎和个人助手)的快速发展,被用来回答事实性问题。由于用户通常会提出跟进问题来探索一个主题,因此部署的模型应该以对话方式处理KBQA任务。在对话式KBQA的初步探索中,一些工作集中关注了由指代和省略现象引起的模糊性和困难。为了跟踪对话式KBQA的焦点,Lan等人提出通过实体转换图来建模焦点的流动。为了全面理解对话上下文,Plepi等人利用了Transformer架构,将上一轮对话历史作为输入。尽管这些研究解决了一些对话式KBQA的挑战,但距离实现人类水平的性能还有很远。在未来的研究中,需要识别和解决更多关键挑战。迄今为止,对话式KBQA是一个相对新的和具有挑战性的任务,在未来的搜索引擎和智能个人助手中可能发挥重要作用。
-
神经符号KBQA系统:尽管一些最近的工作提出了将KBQA系统配备神经符号推理(NSR)技术的想法,但这种强大范式的潜力尚未得到彻底探索。例如,尽管已经证明神经网络在KB上进行多跳推理方面是有效的,但这种神经模块无法明确考虑逻辑操作(例如数值操作和布尔操作)。为了在保持神经网络在推理中的强大功能的同时弥补这些缺点,可以引入一个与现有神经推理模块相结合的符号模块。神经编程的一些实践已经证明了这可以有效地赋予黑盒神经网络数学和逻辑推理能力。总的来说,研究人员欣赏基于句法分析方法的可解释性(即根据语法规则生成逻辑形式)和基于信息检索方法的强大性(即使用神经网络进行子图的精确推理)。基于句法分析和基于信息检索方法都可以统一为神经符号推理范式。因此,NSR提供了统一这两类方法并汇集它们优势的潜在途径,值得进一步研究。
-
更广泛的知识库:由于知识库的不完整性,研究人员将额外的信息(如文本、图像和人际交互)合并到知识库中,以补充知识库的信息,进一步解决复杂KBQA任务的信息需求。由于文本语料库在语义上丰富且易于收集,研究人员被从文本语料库中提取知识并使用提取的知识来回答问题的想法所吸引。研究人员已经探索了从文本语料库中获得的各种形式的知识,例如传统的关系三元组、以键值内存存储的虚拟知识库(VKB)以及PLMs作为隐式知识库。通过这些精心设计,可以获得更灵活和补充性的知识,以解决复杂的KBQA任务。最近的一个趋势是使用通用架构统一类似任务,并实现跨任务知识转移。在未来,可能会探索更多与通用知识库相关的任务,如合成、多语言和多模式知识库。