前言
大模型落地应用过程中,一般形式还是问答形式,无论是人机对话还是机机对话,都是靠问答来解决一系列问题。无论是要求大模型给出具体的专业化知识,还是要求大模型进行某项作业的开展,都是以问题(指令其实也是一种特殊的问题)的形式进行。所以在RAG中,如何将问题转化为大模型能够理解的问题,转化为各种知识库可以查询的问题,这是应用大模型能力的关键。本次带来的东南大学发表的一篇关于KBQA相关的论文综述。详细介绍了复杂事实性问题的处理框架。我分为上中下三个部分详解这篇论文中关于KBQA相关的内容。洞悉用户问题才是大模型落地应用的第一步!本篇为上篇,欢迎关注我们,大模型的艺术,持续更新!
介绍
早期的KBQA仅仅包含单一的事实性问题。比如:“谁是《杰夫-普罗斯特秀》的提名人?”这个问题包含头实体《杰夫-普罗斯特秀》,关系:“提名人”。查询的仅仅是知识图谱中三元组事实知识(《杰夫-普罗斯特秀》,提名人,杰夫-普罗斯特)尾实体“杰夫-普罗斯特”。复杂问题通常包含多个主题、表达复合关系或包含数字运算。如下图所示:
图片中的问题:谁是第一位获得《杰夫-普罗斯特秀》提名的电视制片人的妻子?头实体和回答实体分别被标记为粗的字体和阴影方块。"多跳"、"约束 "和 "数字 "用黑色虚线框标出。不同颜色表示通往答案的不同原因跳数。 本例问题以 "杰夫-普罗斯特秀 "为主题。该问题不要求查询单一事实,而是要求查询 "提名人 "和 "配偶 "这两个关系的组合。该查询还与实体类型约束"(杰夫-普罗普斯特是电视制片人)"相关联。最终答案应通过选择结婚日期最早的可能候选人来进一步汇总。一般来说,复杂问题是指涉及多跳推理、约束关系或数字运算的问题。
简单的KBQA的解决方案,有两种主流方法提出了一些研究。在下图中展示了简单知识库问答系统的整体架构。这两种方法首先识别问题中的主题,并将其链接到知识库中的实体(称为主题实体)。
上面是基于语义解析的方法,下面的是基于信息检索的方法 通过执行解析的逻辑形式或从知识库中提取的特定问题图中进行推理,得出主题实体邻域内的答案。这两类方法在之前的工作中通常被称为基于语义解析(semantic parsing-based,SP)的方法和基于信息检索(information retrieval-based,IR)的方法。它们设计了不同的工作机制来解决 KBQA 任务。前一种方法用符号逻辑形式表示问题,然后根据知识库对问题进行排序,以获得最终答案。后一种方法是构建特定问题图,提供与问题相关的综合信息,并根据提取的图生成最终答案。
然而,在将这两种主流方法应用于复杂的 KBQA 任务时,复杂的问题会给方法的不同部分带来挑战:
- 现有的基于 SP 的方法中使用的解析器难以涵盖各种复杂查询(如多跳推理、约束关系)。同样,以前基于 IR 的方法也可能无法回答复杂查询,因为答案是在没有可追溯推理的情况下生成的。
- 复杂问题中的关系和主题越多,说明潜在逻辑形式的搜索空间越大,这将大大增加计算成本。同时,关系和主题越多,基于 IR 的方法就越无法检索到所有相关的推理事实,这使得常见的不完整知识库问题变得更加严重。
- 当问题在语义和句法两方面都变得复杂时,就要求模型具有强大的自然语言理解和概括能力。将 "谁是获得杰夫-普罗普斯特秀提名的电视制作人的第一任妻子?"这个问题与 "谁是获得杰夫-普罗普斯特秀提名的第一任电视制作人的妻子?"这个问题进行比较,模型应该能够理解 "第一任 "这个序号是用来约束 "妻子 "或 "电视制作人 "这个短语的。
- 一般来说,只提供问题-答案对。这表明基于 SP 的方法和基于 IR 的方法都必须在没有正确逻辑形式和推理路径注释的情况下进行训练。由于缺乏中间推理过程的指导,这种弱监督信号给两种方法都带来了困难。
任务描述
我们将知识库KB表示为,其中在主实体和客实体之间存在关系r,和分别代表实体集合和关系集合。
给定可用的知识库,KBQA任务的目标是回答自然语言问题,问题的格式是一串标记(通常由一个独特的词典表),我们将预测的答案记为。特别的,当前的研究假设预测的正确答案可以从实体集合或者自然语言序列(例如实体的表面名称)中得到。简单 KBQA 任务的答案是与主题实体直接相连的实体,而复杂 KBQA 任务的答案则是与主题实体相距多跳的实体,甚至是这些实体的集合体。通常,一个KBQA系统通过一个数据集被训练。
传统方法
针对简单问题的KBQA系统有一个流水线式的框架,如上面第二图所示。第一步是识别问题q的主体实体,目的是将问题与其知识库中的相关实体联系起来。通常使用命名实体识别,实体消歧,实体链接。之后,使用答案预测模块将问题q作为输入就可以预测答案。
几十年来,基于信息检索的方法也得到了发展。它们从整个知识库中检索特定问题图。一般来说,距离主题实体一跳的实体及其连接关系构成了解决简单问题的子图。子图中的问题和候选答案可以用低维密集向量表示。人们提出了不同的排序函数对这些候选答案进行排序,并将排序靠前的实体视为预测答案。然后,使用记忆网络生成最终答案实体。最近的研究在此框架中采用了注意力机制或多列模块,以提高排名的准确性。在第二个图中,我们展示了两种方法的不同管道和中间输出。
两种主流方法
如第二张图所示,复杂的 KBQA 系统遵循相同的总体架构,首先进行实体链接。基于SP和基于IR的方法是回答复杂问题的两种主流方法。基于 SP 的方法将问题解析为逻辑形式,并在知识库中执行以找到答案。基于 IR 的方法会检索特定于问题的图,并应用一些排序算法从顶部位置选择实体,或使用文本解码器直接生成答案。总之,这两种方法都遵循 "解析-执行 "范式或 "检索-生成 "范式。为了说明这两种范式的区别,我们在下图中用详细的模块说明了它们的问题解答过程。
基于语义解析的方法
如上图所示,我们总结了基于语义解析方法的程序概括为以下四个模块。
-
它们通过问题理解模块来理解问题,该模块负责进行语义和句法分析,并为后续的解析步骤获得编码的问题。我们将该模块定义为:
其中是问题的编码,它捕捉了自然语言问题的语义和句法信息。它可以是分布式表示、结构式表示,也可以是它们的组合。直观地说,神经网络(如 LSTM、GRU和 PLMs)被用来作为问题理解模块,获取隐藏状态来表示问题。与此同时,还会进行一些语法分析,以提取问题的结构属性。 -
逻辑解析模块用于将编码后的问题转换为非实体化的逻辑形式:
其中是没有填写详细实体和关系的非实体化逻辑表单。逻辑形式的语法和成分可能因系统的具体设计而不同。在这里,可以通过生成一个标记序列或对一组候选标记进行排序来获得。在实践中,seq2seq模型或基于特征的排序模型可用于根据编码问题生成。 -
为了在知识库中执行,逻辑形式需要进一步实例化,并通过知识库连接与结构化知识库进行语义对齐来验证。需要注意的是,在某些工作中,逻辑解析和知识库连接是同时进行的,即在部分解析的同时在知识库中验证逻辑形式:
在这一步之后,被实例化为中的实体和关系,从而得到可执行的逻辑形式。值得注意的是总是包含通过实体链接模块检测到的。它的格式并不局限于 SPARQL 查询,但总是可以转移到 SPARQL。 -
最终,解析后的逻辑形式将通过知识库执行模块针对知识库执行,生成预测答案,其中是给定问题 q 的预测答案。该模块通常通过现有的执行器来实现。
在训练过程中,逻辑形式被视为中间输出。这些方法使用格式的 KBQA 数据集进行训练,目标是生成与问题语义相匹配的逻辑形式,并得出正确答案。
基于信息检索的方法
同样的,如上图所示,我们总结了基于信息检索方法的程序概括为以下四个模块。
- 从主题实体开始,系统首先从知识库中提取问题特定图。理想情况下,该图将所有与问题相关的实体和关系分别作为节点和边。在不明确生成可执行逻辑形式的情况下,基于 IR 的方法会对该图进行推理。我们将问题和知识库作为输入来表示检索源构建模块。其中是从中提取出来的问题特定图。由于子图的大小会随着与主题实体的距离呈指数增长,因此采用了一些过滤技巧(如个性化 Pagerank),以将图的大小保持在可承受的计算规模内。
- 系统通过问题表示模块对问题进行编码。该模块分析问题的语义并输出推理指令,推理指令通常用向量的形式表示。通常,问题q通过神经网络(如LSTM、GRU和PLM)编码为隐藏向量q,然后结合其他方法(如:注意力机制)生成向量作为指令。这里,是第 k 个推理的指令向量,它编码了自然语言问题的语义和句法信息。多步推理和单步匹配都适用,因此推理步骤 n 也各不相同。
- 基于图的推理模块通过基于向量的计算进行语义匹配,以沿着图中的相邻实体传播和汇总信息。推理状态在不同的方法中有不同的定义(如预测实体的分布和关系的表示),根据推理指令进行更新。其中是推理状态,被视为图上第k个推理步骤的状态。最近一下研究多次重复步骤(2)和(3)来执行推理。
- 答案生成模块用于在推理结束时根据推理状态生成答案。这种生成器主要有两种类型: (1) 实体排序生成器,对实体进行排序,获得排名靠前的实体作为预测答案;(2) 文本生成器,生成包含词汇的自由文本答案。其中表示最后一步的推理状态。在实体排序模块中,中包含的实体是答案预测的候选实体。在许多例子中,是通过选择得分大于预设阈值的实体获得的,其中得分来自。而在文本生成范式中,答案是以标记序列的形式从词汇表中生成的。
在训练过程中,实体排名生成器的目标通常是在中将正确的实体排名高于其他实体。相比之下,文本生成器的训练目标通常是生成黄金答案(正确实体的名称)。
核心模块比较
对比基于 SP 的方法和基于 IR 的方法,我们发现这两种方法的核心模块设计和工作机制各不相同,但在多个方面也有相似之处。
不同点:基于 SP 的方法在很大程度上依赖于逻辑解析模块,该模块可为每个问题生成具有表达力的逻辑表单。实际上,许多基于 SP 方法开发的商业 KBQA 系统都需要专业人员对生成的逻辑表单提供反馈,以便进一步改进系统。然而,考虑到获取注释逻辑表单所需的高昂成本和专业知识,基于 SP 的方法在研究中通常在弱监督环境下进行训练。与基于 IR 的方法相比,基于 SP 的方法的优势在于通过明确的推理证据来显示可解释性,并对问题的扰动进行防御。但是,逻辑解析模块受到逻辑形式设计和解析技术能力的限制,这是提高性能的关键。
相比之下,基于 IR 的方法首先使用检索模块获取特定问题图,然后使用基于图的推理模块对图结构进行复杂推理。最终通过答案生成模块预测答案。基于 IR 的方法的性能部分取决于检索模块的召回率,因为后续推理将检索到的图作为输入。同时,基于图的推理和答案生成模块在准确预测中发挥着关键作用。基于 IR 的方法不生成逻辑形式,而是直接生成实体或自由文本作为预测。因此,它们很自然地融入了端到端训练范式,与基于 SP 的方法相比更容易优化。尽管如此,推理模块的黑箱风格还是降低了推理过程的可解释性,从而降低了鲁棒性,阻碍了用户与系统的交互。
相似性: 基于 SP 的方法和基于 IR 的方法都包含无参数模块,分别是 KB链接模块、KB 执行模块和检索源构建模块。虽然它们通常不是从 KBQA 数据集中学习的,但其性能对 KBQA 的最终性能有很大影响。这两类方法都利用了检测到的主题实体。基于 SP 的方法在知识库基础模块中利用它们来实例化逻辑形式,而基于 IR 的方法则在检索源模块中利用它们来缩小推理范围。此外,基于 SP 的方法和基于 IR 的方法都强调自然语言理解与问题理解(表示)模块的重要性。这些模块的结果会对后续的解析或推理过程产生重大影响。
统一范式--神经符号推理
近年来,神经符号推理(NSR)已成为机器学习领域的热门话题。它描述了一种混合系统,应用连接主义(神经系统)的高效性和符号主义(符号系统)的概括性,将学习和推理有效地结合在一起。相关技术被广泛应用于智能应用,如问题解答和语义解析。对于复杂的 KBQA,NSR 技术有助于解决基于 SP 和基于 IR 的方法所面临的一些挑战。此外,NSR 可能是统一基于 SP 和基于 IR 方法的潜在辅助手段。 富豪系统和神经系统在KBQA任务中扮演着不同的角色。
符号系统通常将知识库和语法规则作为输入,搜索问题解答的解空间,并对结果进行推理。相比之下,神经系统将自然语言问题和知识库中的元素作为输入,针对特定任务学习神经网络模型,并在潜在空间中进行推理。这样,基于 NSR 的方法就可以利用强大的神经网络在潜在空间中进行推理,同时提供明确的推理证据来解释结果和推理过程。对于基于 SP 的方法,逻辑解析模块和知识库链接充当符号系统,与知识库交互并搜索潜在的逻辑形式。问题理解模块通常充当神经系统,学习给定问题与潜在逻辑形式之间的语义匹配。对于基于 IR 的方法,检索源构建和基于图的推理模块与符号系统相连,而神经系统通常由问题表示和基于图的推理模块组成。
将神经符号推理应用于复杂 KBQA 的好处主要体现在以下几个方面: 1) 符号系统有助于对结构化数据进行离散推理。符号系统有助于缩小复杂问题的搜索空间,提高推理过程的可解释性,以及系统的合成泛化能力。2) 神经系统有助于对异构和不完美数据建模。神经系统可以处理复杂问题的多种自然语言表达,处理异构数据(如复杂问题、实体、关系,甚至生成的模板),甚至推断出不完整知识库中缺失的关系。事实证明 在基于 SP 的方法和基于 IR 的方法中,它都被证明能有效解决上述问题。3) 神经符号推理(NSR)可以同时利用神经系统和符号系统的优势。在基于 IR 的方法中,Sun 等人开发了一种神经符号机 PullNet,在基于图(神经)推理过程中同时进行(符号)推理图扩展,并取得了可喜的性能。 我们可以看到,复杂 KBQA 系统呈现出与神经符号推理相联系并从中受益的趋势。这两种主流方法可以与神经符号推理范式统一起来,两者在符号系统和神经系统的具体设计上有所不同。
参考论文地址:https://ieeexplore.ieee.org/abstract/document/9960856
欢迎关注我们微信公众号,大模型的艺术。一起学习大模型的原理及探索大模型的应用落地,欢迎交流。如果你有什么想问想说的,可以在评论区留言或者后台直接留言,我们会第一时间进行回复。
关注后回复【论文】:即可免费领取NLP必读经典论文,包括attention,bert,word2vec等必读论文。还有2023最新的LLMs相关论文,包括RLHF最新最全最高引论文!多达100多篇全部需要收费的论文,回复即可免费获取!
标签:RAG,基于,实体,推理,知识库,方法,模块,问答 From: https://www.cnblogs.com/TheArtofLLMs/p/17809328.html