DAgent:一种基于关系数据库驱动的数据分析报告生成代理
基于关系数据库驱动的数据分析(RDB-DA)报告生成旨在通过查询关系数据库生成数据分析报告,已在金融、医疗等领域得到广泛应用。通常,这些任务由数据科学家手动完成,这使得过程非常耗时,并显示出对自动化的迫切需求。尽管现有的方法(例如表问答或文本到SQL)被提出以减少人工依赖,但它们无法处理需要多步推理、跨表关联和将见解整合为报告的复杂分析任务。此外,目前尚无可用于开发自动RDB-DA报告生成的数据集
基于关系数据库驱动的数据分析(RDB-DA)报告生成旨在通过查询关系数据库生成数据分析报告,已在金融、医疗等领域得到广泛应用。通常,这些任务由数据科学家手动完成,这使得过程非常耗时,并显示出对自动化的迫切需求。尽管现有的方法(例如表问答或文本到SQL)被提出以减少人工依赖,但它们无法处理需要多步推理、跨表关联和将见解整合为报告的复杂分析任务。此外,目前尚无可用于开发自动RDB-DA报告生成的数据集。为填补这一空白,本文提出了一种用于RDB-DA报告生成任务的大型语言模型(LLM)代理系统,称为DAgent;此外,我们还构建了一个用于自动生成数据分析报告的基准测试,包括一个新的数据集DA-Dataset和评估指标。DAgent通过集成规划、工具和记忆模块,将自然语言问题分解为逻辑独立的子查询,准确地从关系数据库中检索关键信息,并通过多步推理和有效的数据整合生成满足完整性、正确性和简洁性要求的分析报告。在DA-Dataset上的实验分析表明,DAgent在检索性能和分析报告生成质量方面具有优越性,展示了其解决复杂数据库分析报告生成任务的强大潜力。
数据分析在决策制定中起着至关重要的作用,它推动了许多重要发现,如经济趋势预测、金融风险评估和市场行为分析。在企业中,大部分数据仍存储在关系数据库中。分析这些数据需要专业技能,包括编写复杂的SQL查询和分析执行结果,因此常常雇佣数据科学家来完成这项工作。然而,这种专业知识对许多小微企业来说是负担不起的。因此,降低这种基于关系数据库的数据分析(RDB-DA)门槛的需求十分迫切。
虽然一些方法,如TableQA和Text-to-SQL,已被提出以提供一个用户友好的自然语言接口给关系数据库,但这些方法主要集中在查找任务——检索单个值或简单聚合上。它们不支持更复杂的分析流程,如跨表推理、多步操作或将见解整合为可行动的报告,而这些都是RDB-DA所必需的。因此,这些方法不能为RDB-DA提供根本性的解决方案。例如,回答一个问题如“不同地区的销售趋势如何?它们与营销支出的相关性如何?”可能超出了它们的能力范围,因为它们专注于单次查询响应而非综合分析。为解决这一局限性,自动数据分析报告生成是一种自然选择,它根据自然语言数据分析问题和关系数据库生成分析报告。然而,这仍然是一个相对较少探索的领域。
甚至还没有针对此任务的基准测试。大多数现有数据集(例如Spider和BIRD)主要是为检索任务设计的,通常旨在定位数据库中的特定值或直接结果。这些数据集专注于细粒度查询任务,对更高层次的分析任务支持不足,特别是在需要跨多个表格进行推理、整合大规模信息和生成全面分析报告的场景下。为填补这一空白,我们首先介绍了一个用于自动生成数据分析报告的基准测试,其中包括一个新的数据集DA-Dataset和评估指标。该基准测试专门设计用于评估从关系数据库生成完整和准确分析报告的方法。
然后,我们提出了DAgent,这是一种基于LLM的代理系统,专为从关系数据库生成分析报告而设计。它由三个关键模块组成:规划、工具和记忆。规划模块根据输入问题和当前执行上下文动态确定执行路径并选择适当的工具。工具模块包括专门组件,如问题分解工具、数据检索工具、SQL重写工具和答案生成工具。这些组件协同工作,分析自然语言问题,在必要时对其进行分解,然后从关系数据库检索相关数据,并将结果整合为富有洞察力的分析报告。记忆模块记录分析过程中生成的历史问题、相应的执行路径和中间结果。
这个LLM代理框架使DAgent能够应对分析任务的固有复杂性。通过结合多步推理、跨表关联和数据整合,DAgent有效地将问题转化为有意义且逻辑连贯的报告。结合DA-Dataset,它为真实世界的数据库分析提供了强大且现实的评估基准,我们的方法突显了系统在实现完整性、正确性和简洁性方面的优势。实验结果表明,DAgent在报告生成方面始终优于现有方法,展示了其在实际数据库分析应用中的强大潜力。
总之,本文的主要贡献可以概括如下:
- 我们引入了 DAgent ,一种专门为基于关系数据库的分析报告生成量身定制的LLM代理。DAgent集成了规划、工具和记忆模块,使其能够适应性地处理复杂的分析任务。
- 我们构建了一个新的数据集, DA-Dataset ,专门用于分析报告生成任务。该数据集通过强调多表推理、大规模数据总结和分析报告合成,解决了现有数据集的局限性。
- 通过广泛的实验,我们证明了DAgent在报告生成方面优于最先进的方法,在完整性、正确性和简洁性方面表现出色,突显了其在数据库分析场景中的实用性和鲁棒性。
2 相关工作
基于关系数据库驱动的分析报告生成是一项复杂的任务,涉及从结构化的关系数据库中检索信息、执行跨表关联、进行多步推理和生成分析报告。尽管在表问答(Table QA)和文本到SQL(Text-to-SQL)等领域已经进行了广泛的研究,但在生成全面的分析报告方面仍然存在显著的研究空白。本节将回顾与此研究相关的几个主要领域,包括表问答、文本到SQL及相关数据集。
2.1 表问答
表问答(TableQA)的目标是从表中获取相关信息或根据自然语言问题生成答案。现有方法大致可分为四类:语义解析、生成、提取和检索-阅读方法。
语义解析方法主要将问题转换为SQL查询语句以检索数据。SQLNet利用基于草图的方法提高了SQL生成的准确性。随后,TypeSQL利用外部知识库中的类型信息更好地理解稀有实体。生成方法直接从表中生成答案。FeTaQA使用端到端预训练模型编码问题和表并生成自由形式的答案。进一步地,FinQANet专注于财务数据上的数值推理,支持复杂的算术运算。
提取方法选择相关单元格作为答案。例如,TAPAS通过行和列嵌入将表结构纳入单元格表示中。Mate使用多视图注意力机制高效建模表结构。检索-阅读方法广泛应用于开放域表问答。TableRAG结合模式检索和单元格检索,显著提高了处理复杂大规模表的效率。ERATTA引入了一个极端检索增强生成框架,专门设计用于企业级任务,其中包含用户认证、查询路由和模块化SQL生成等功能。
尽管这些方法取得了显著成果,但在多步推理、跨表关联以及满足特定领域需求等方面仍面临诸多挑战。
2.2 文本到SQL
文本到SQL旨在将自然语言查询转换为可执行的SQL语句,使非专家用户能够访问数据库。早期方法主要依赖手工规则,如解析树和语法规则方法,但这些方法缺乏泛化能力。

最近,大语言模型(LLMs)在文本到SQL任务中展现出强大的泛化能力,通过零样本和少量样本的上下文学习以及微调显著提升了SQL生成能力。例如,DIN-SQL采用基于分解的方法结合自监督学习以增强SQL生成,而DAIL-SQL改进了少量样本选择策略以增强LLM在不同数据库中的泛化能力。此外,C3使用清晰提示、带提示校准和一致输出以提高SQL稳定性,ACT-SQL自动选择最佳提示示例以改进复杂查询解释。
2.3 相关数据集
目前,现有的相关数据集主要为文本到SQL和表问答任务设计。这些数据集通常可分为两类:文本到SQL数据集和表问答数据集。
在文本到SQL数据集中,它们可以进一步分为原始数据集和后标注数据集。原始数据集包括Spider、WikiSQL、BIRD等。以BIRD数据集为例,它于2023年5月发布,包含12,751个示例和95个数据库。每个数据库平均包含7.3张表和549K行数据,具有跨领域和知识增强的特点。后标注数据集包括ADVETA、Spider-SS&CG等。ADVETA于2022年12月发布,基于Spider等数据集,通过对抗性表扰动评估模型的鲁棒性。Spider-SS&CG将Spider数据集中的实例划分为子实例,探索上下文依赖的SQL生成。
表问答数据集可分为三类:封闭域数据集如WTQ和SQA,专注于特定领域和有限的表上下文;开放域数据集如OTTQA和NQ-tables,设计用于各种表的广泛泛化;混合数据集如TAT-QA和FinQA,结合表和周围文本,要求模型处理结构化和非结构化数据。
尽管这些现有数据集并不直接适用于分析报告生成任务,但其构建过程(包括数据收集策略、预处理技术和注释方法)可能提供宝贵的见解。这些见解可用于开发专门针对报告生成的数据集,填补当前领域的空白。
3 预备知识
在本节中,我们首先正式定义基于关系数据库驱动的分析报告生成问题,然后介绍LLM代理系统的背景、低秩适应技术及表格数据检索。
3.1 问题陈述
基于关系数据库驱动的分析报告生成旨在根据关系数据库中存储的信息生成针对自然语言查询的正确和完整的报告。自动基于关系数据库驱动的分析报告生成可以显著促进数据分析,尤其是在需要跨表数据集成和深入推理的场景中,例如财务报表分析。在此背景下,任务涉及提取关键财务指标,如总资产、负债、权益和绩效指标,然后生成详细报告以评估公司的财务健康状况。这通常涉及复杂的数据库查询、统计分析和对数据的详细解读,以提供有意义的见解供决策使用。


基于关系数据库驱动的分析报告生成与现有的范式如表问答和文本到SQL有显著差异。表问答主要关注从表中检索特定答案,而文本到SQL通过将自然语言问题转换为SQL查询获得结果。这两种方法都旨在返回特定值或一组值,但通常不涉及分析或综合结果。相比之下,分析报告生成的目标是生成需要多步推理和信息整合的综合性报告,这对于解决复杂的查询场景至关重要。
3.2 LLM代理系统
LLM代理系统是一个框架,通过在大型语言模型中集成推理、规划和执行能力来解决复杂任务。这些系统可分为单代理和多代理框架。单代理系统独立运行,利用链式思维(CoT)和树形思维(ToT)等方法,而多代理系统通过通信、任务共享和集体智能协作解决大规模问题,从而增强可扩展性。
在核心层面,LLM代理系统由三个核心模块组成:规划、工具和记忆。规划模块作为决策中心,根据环境要求制定策略并将任务分解为子任务。它可以有或没有反馈运行,根据环境或人类输入动态调整计划。工具模块作为操作骨干,提供API集成、数据库查询和外部模型调用等专用功能,使代理能够执行超出LLM固有能力的动作。记忆模块存储关键上下文,包括历史交互、中间结果和执行路径,使代理能够回忆过去经验并改进未来动作。该模块通常采用混合记忆结构,结合短期和长期记忆,以增强代理在长时间段和复杂场景中的推理能力。ReAct方法的一个显著实现是LLM代理系统,它通过引导模型生成交替进行“思考”和“行动”的步骤,有效提高了模型在开放式任务中的性能。
LLM代理系统在需要复杂推理和多步执行的场景中有广泛的应用。它们广泛用于社会科学中模拟人类行为、自然科学中自动化实验和数据管理,以及工程中如代码生成和机器人等任务。这些系统表现出卓越的灵活性,能够适应不同的领域和任务,从而推动自主代理所能实现的边界。
3.3 低秩适应
为了高效地将LLM适配到特定下游任务,微调通常是必要的。然而,LLM的全参数微调计算成本高昂,需要大量内存资源,使得许多应用不切实际。为解决这一挑战,参数高效微调(PEFT)技术已开发出来,这些技术通过更新一小部分参数来将预训练模型适配到新任务。在这些技术中,低秩适应(LoRA)已成为最广泛认可和有效的方法之一,它在各种任务中实现了具有竞争力的性能,同时显著减少了资源需求。

3.4 表格数据检索
在从关系数据库生成分析报告的过程中,从表中检索相关信息是一个关键步骤。表格数据检索主要有两种方法:直接编码和检索,以及基于SQL查询的检索。直接编码和检索方法将表的结构和内容信息编码为高维向量表示,并通过向量相似性计算实现快速检索。这种方法适合大规模表数据处理场景,尤其在开放域任务中表现良好。基于SQL查询的检索方法生成SQL查询语句,将自然语言问题转换为结构化数据库查询以定位相关表内容。典型的代表是Text-to-SQL系统,它可以有效处理复杂的多表关联任务和细粒度查询。这两种方法各有优势。直接编码适合快速定位相关信息,而SQL查询方法更灵活,可以适应细粒度数据分析场景。
4 方法论
4.1 整体框架

在本节中,我们介绍了DAgent的整体设计,这是一个专门用于基于关系数据库驱动的分析报告生成任务的模块化代理系统。DAgent由三个主要模块组成:规划、工具和记忆,每个模块负责不同的任务并协作完成基于数据库的数据分析。规划模块是DAgent的“决策中心”,处理输入查询、制定执行策略并动态选择合适的工具。工具模块作为执行单元,处理问题分解、表格数据检索和报告生成等任务。记忆模块存储中间结果、历史执行路径和结果,提供长期记忆支持以增强报告生成。
工作流从用户的自然语言问题开始。规划模块首先分析输入并确定问题是否需要分解。如果问题是复杂的,规划模块会调用工具模块中的分解工具,将其分解为子问题。然后,这些子问题由数据检索工具处理,从数据库中检索相关信息。一旦收集到必要的数据,答案生成工具将检索到的信息与原始问题整合,生成最终的分析报告。在整个过程中,记忆模块记录中间结果、规划路径和输出,确保问题处理的高效性和未来任务更好的上下文理解。
4.2 规划
规划模块负责制定执行策略并协调工具使用,以准确处理自然语言问题。它根据问题复杂性动态调整执行过程,确保工具模块和记忆模块之间的良好协作。规划模块处理问题分解、选择适当的数据检索策略、优化SQL查询并协调分析报告生成。

为了说明这一过程,考虑以下问题: “中国央行和区域经济中的关键财务指标,包括外债、政府存款和GDP,在过去一年中如何比较?从这种比较中可以获得哪些见解?” 这个问题需要分解,因为它涉及多个方面,包括财务指标、过去一年的时间比较和分析见解。尝试将这个问题作为一个单一任务处理会导致过度复杂和执行过程缺乏清晰性。为了解决这个问题,规划模块将问题分解为子问题,例如:
- “过去一年政府存款的趋势是什么?”
- “过去一年区域经济中的GDP如何演变?”
- “过去一年中央银行的外债发生了什么变化?”
一旦问题进入下一阶段,规划模块将确定如何从数据库中检索相关信息。数据检索过程涉及两个关键组件:直接编码和检索以及基于SQL查询的检索。直接编码和检索工具适用于模糊查询,而Text-to-SQL工具适用于具体查询。一起检索到的信息作为报告生成的信息来源。
对于直接编码和检索,规划模块根据问题意图生成相关关键词。这些关键词作为搜索查询,以检索相关数据库信息。具体的检索过程在工具内管理,确保高效的索引和基于相似性的搜索以提高检索准确性。对于基于SQL查询的检索,规划模块根据系统资源选择合适的Text-to-SQL模型。鉴于Text-to-SQL模型在计算开销和资源消耗方面的显著差异,模块动态决定是否使用轻量级提示驱动API以提高效率,或部署本地微调的语言模型以生成更精确的SQL查询。这确保了在保持高查询准确性的同时实现最优资源利用。

例如,对于子问题 “过去一年政府存款的趋势是什么?” ,规划模块首先生成相关关键词以指导直接编码和检索过程。同时,它使用Text-to-SQL方法生成SQL查询,如 “SELECT GovernmentSavings FROM ed_moneyauthoritybs;” 。如果需要细化,规划模块将调用SQL优化工具,生成改进的查询,如 “SELECT Year, SUM(GovernmentSavings) AS TotalSavings FROM ed_moneyauthoritybs GROUP BY Year;” 。这种细化查询确保检索到的数据与原始问题的分析需求一致。

该设计的目的是确保生成工具能够全面理解上下文信息。通过结合问题分解信息和优化的SQL结果,它可以生成准确且逻辑清晰的分析报告。同时,通过直接调用工具模块,规划模块与工具解耦,将具体实现细节留给工具模块。这种模块化设计提高了系统的可扩展性和任务处理效率。
4.3 工具
工具模块负责根据规划模块制定的任务路径完成具体操作。作为由规划模块调用的功能模块,工具模块中的每个工具都有明确的功能划分,分别为任务的不同方面提供支持,确保任务执行的效率和准确性。工具模块一般可分为四类,包括问题分解工具、表格检索工具、SQL重写工具和答案生成工具。
4.3.1 问题分解工具




4.3.2 数据检索工具
数据检索工具旨在从数据库中提取相关信息以支持分析报告生成任务,这些工具分为编码检索工具和Text-to-SQL工具,各自在信息检索中扮演不同角色。


直接编码和检索工具适合模糊查询,而Text-to-SQL工具则适用于具体查询。两者共同提供了一个全面的解决方案,满足广泛的广度和详细数据检索需求。
4.3.3 SQL重写工具
SQL重写工具的主要目的是优化生成的SQL查询,旨在减少数据量并增强结果与问题的相关性。最初生成的SQL可能覆盖过多数据,导致大规模检索结果,增加了后续处理的复杂性。特别是在需要复杂分析时,过多无关数据会显著干扰生成结果的质量。因此,SQL重写工具优化SQL结构,确保生成的结果更紧凑且符合问题要求,从而提高系统的整体效率和结果的准确性。


4.3.4 报告生成工具


4.4 记忆
在DAgent系统中,记忆模块的核心功能是为任务执行提供高效支持。通过存储关键信息,系统可以利用历史经验来提高任务处理的效率和质量。具体而言,记忆模块通过三种类型的记忆实现这一目标:历史用户问题和结果、当前问题的中间内容以及历史问题和规划路径对应关系。
首先,记忆模块存储历史用户问题和结果。每当DAgent处理一个问题并生成相应的报告时,系统将用户的提问及其执行结果存储在内存中。这使得系统能够快速对类似问题生成响应,而不需重新执行数据检索和分析过程,而是直接利用历史记录。
其次,记忆模块存储当前问题的中间生成内容。在处理每个用户问题的过程中,DAgent会经历多个步骤,包括问题分解、数据检索等。每一步生成的中间数据和结果都被记录在记忆中。这些信息为最终报告生成提供了重要的上下文支持。
最后,记忆模块还存储历史问题和规划路径对应关系。每个用户问题都与规划模块生成的执行路径相关联,该路径包括关键策略,例如问题是否需要分解、使用哪些工具等。这些历史规划路径为DAgent在处理类似问题时提供了宝贵的经验支持,帮助系统快速确定最合适的执行策略,从而提高任务执行效率。

5 DA-Dataset
为了全面评估DAgent框架在分析报告生成中的性能,我们构建了一个多领域数据集,专注于分析性问题。虽然现有的公开数据集包含丰富的基础问题和SQL查询,但它们通常局限于从数据库中检索确切答案。它们无法有效模拟现实世界的数据分析问题,这些问题往往涉及层次结构并需要多角度分析。为填补这一空白,我们设计了一个新数据集,旨在测试DAgent在信息检索和报告生成方面的能力。该数据集共有735个条目,其中201个条目来自恒生金融数据集(DA-CCKS),535个条目来自BIRD数据集(DA-BIRD)。平均而言,每个问题需要从4.5张表和10.8列中检索信息,反映了数据集中分析任务的复杂性和多面性。如图 [fig:aa] 所示,数据集构建涉及两个关键步骤:(1)查询合成,和(2)报告合成。这种设计使系统能够更全面地评估处理复杂问题的能力,并为进一步优化DAgent的性能和应用提供了坚实的基础。
5.1 问题合成
构建数据集的第一步集中在创建具有总结和层次复杂性的分析问题。这些问题需要结合相关数据并提供详细和广泛的答案,模拟现实世界的多视角分析场景。这种设计旨在评估DAgent在处理复杂问题方面的能力,特别是在推理、信息检索和报告生成方面。
在实施过程中,我们首先从恒生金融和BIRD数据集中提取所有问题-SQL对。这些对作为生成分析问题的基础。接下来,我们随机选择10个问题-SQL对,并将其作为输入,通过精心设计的提示传递给大语言模型(LLMs)。LLMs通过结合这些问题的逻辑生成一个分析问题。为确保生成问题的质量,所有输出均经过人工审查。任何不符合标准的问题都会被修改或替换,以确保语义清晰和适当的复杂性。这些生成的问题通常整合多个子问题,表现出总结和多视角分析的特征。
这种方法利用了现有数据集的多样性,同时结合了大语言模型和人工验证的优势。它确保生成的问题质量高且具有实际价值,满足评估数据集中分析问题的要求。

DA-Dataset 示例条目
5.2 报告合成
第二步涉及根据第一步生成的问题生成分析报告。其目标是根据问题从数据库中检索相关信息,并生成一份完整、逻辑连贯的自然语言分析报告。此过程集成了语义增强、模式检索、SQL生成和报告生成,确保生成的报告准确且与原始问题的语义意图一致。
在实施过程中,我们首先使用大语言模型(LLMs)对原始问题进行语义增强。具体而言,LLM分析问题,结合上下文信息并利用数据库模式优化其表达。此语义增强步骤提高了问题的清晰度和完整性,增强了与数据库模式的兼容性,以便进行后续的模式检索。
接下来,基于语义增强的问题,我们使用交叉编码器模型从数据库中检索相关表和列。交叉编码器双向编码增强的问题和数据库模式,计算相关性分数以识别最相关的表和列。检索到相关模式后,我们再次使用LLM生成SQL。LLM根据增强的问题和检索到的模式生成一组语义适当的SQL。为进一步提高这些SQL查询的质量和覆盖率,我们实现了一种过滤机制:系统执行多个候选查询并选择返回信息的查询。此过滤过程结合自动评估与人工审查,确保选定的SQL查询完全满足问题的语义要求。
执行过滤后的SQL查询后,从数据库中检索到相应的结构化数据。然后使用自然语言生成的提示模板将这些结果转换为自然语言分析报告。模板根据问题类型和SQL结果的结构设计,将关键字段嵌入固定的句式中,生成流畅且语义准确的报告。
这种逐步设计促进了语义增强、模式检索、SQL生成和自然语言生成之间的高效协作。语义增强确保问题的清晰性和可解释性;模式检索和SQL查询生成保证准确的数据提取;基于模板的报告生成提升了自然语言输出的质量。通过结合大型模型和交叉编码器模型的能力,系统能够有效处理复杂的数据库查询,提供高质量、逻辑连贯且语义一致的报告——展示了其在实际应用中的巨大潜力。
6 实验
6.1 实验设置
6.1.1 比较方法
为了全面评估DAgent的性能,我们将它与一系列方法进行了比较,包括基准方法、文本到SQL方法和高级表问答框架。比较方法分为以下几类:
基准方法 : (1) LLM-Answer : 此方法直接使用大型语言模型(LLM)回答问题,不依赖任何中间步骤,如模式解析或结构化查询执行。它完全依赖于LLM的生成能力和预训练知识来推断和生成答案。(2) Schema-Answer : 此方法将数据库模式信息,包括表和列的元数据,纳入LLM的输入中。通过结合这些结构化信息,Schema-Answer增强了模型对问题及其上下文推理能力的理解,生成更相关的答案。(3) RandomRowCol : 此方法随机选择表单元格内容生成答案,不涉及任何语义解析、查询生成或模式理解。这是一种完全随机和启发式的方法,作为基准方法评估更高级方法的有效性。
文本到SQL方法 : (1) LLM-SQL : LLM-SQL直接使用大型语言模型生成SQL查询,将自然语言问题转换为结构化查询语言。为此,它将自然语言问题和数据库模式(包括表和列元数据)作为输入。模型利用其生成能力解析问题,将其与模式对齐,并生成可执行的SQL查询。然而,这种方法并未深入优化针对数据库特定结构或语义,更适合于简单的查询场景而非复杂的分析任务。(2) C3 : C3是一种零样本文本到SQL方法,基于ChatGPT,包括三个核心组件:清晰提示、带提示校准和一致输出。通过优化提示设计,C3确保清晰的语义输入;通过偏差校正策略,避免不必要的列或错误关键字;并通过基于执行的一致性检查选择最佳查询,确保生成的SQL与问题要求一致。(3) FinSQL : FinSQL是一个模型不可知的文本到SQL框架,专为财务分析设计,解决了宽表、复杂模式和财务数据库中的数据隐私等问题。FinSQL采用先进技术,包括混合数据增强的提示构造、通过LoRA进行参数高效微调和SQL一致性输出校准。该框架展示了强大的跨数据库泛化能力,在财务文本到SQL任务中达到最先进的性能,并最小化对外部API的依赖,使其在实际财务应用中高度有效。
表问答方法 : (1) TableRAG : TableRAG是一种检索增强生成框架,结合模式检索和单元格检索,从表中高效提取关键信息以回答问题。模式检索识别重要列及其数据类型,而单元格检索定位与查询相关的键值。通过优化提示长度和独立编码单元格值,TableRAG显著提高了处理复杂和大规模表的效率,成为表理解任务的高度有效解决方案。(2) ERATTA : ERATTA引入了一种极端检索增强生成方法,专门用于企业级表问答任务。其框架包括用户认证、查询路由、SQL生成和答案生成模块,能够从动态表中快速检索和回答信息。ERATTA结合非LLM幻觉检测指标并采用序列化任务分解策略,有效处理复杂的多表查询,适合大规模企业数据分析应用。
6.1.2 数据集
在我们的实验中,我们使用了DA-Dataset,这是专门为评估DAgent在基于关系数据库驱动的分析报告生成中的性能而构建的。DA-Dataset专注于多视角分析推理、跨表数据检索和综合报告的生成。它分为两个子集:DA-CCKS和DA-BIRD。DA-CCKS源自恒生金融文本到SQL数据集,强调金融分析任务,问题和数据结构针对真实的金融场景,如资产评估和风险管理。另一方面,DA-BIRD从BIRD数据集构建,涵盖更广泛的分析任务,具有分层和多视角的问题,跨越多个领域。平均而言,每个问题需要从4.5张表和10.8列中检索信息,反映了数据集中分析任务的复杂性和多面性。
6.1.3 评估指标
为了全面评估DAgent,我们采用了两类指标:检索性能指标和报告生成质量指标。这些指标旨在评估系统从关系数据库中检索相关信息和生成逻辑连贯分析报告的能力。
对于检索性能,评估衡量系统覆盖生成报告所需必要数据的有效性。这是通过量化召回率来实现的,召回率表示成功检索到的所有相关表和列的比例,以及精确度,反映检索过程的准确性,即正确检索项占所有检索项的比例。除了这些结构性指标外,我们还评估内容相关性,以评价检索列中内容的质量和一致性,遵循RAGAS方法用于评估检索内容的质量。
对于报告生成质量,使用两个指标:准确性和报告相关性。准确性评估生成的报告是否正确解决了查询并反映了预期的语义意义。对于报告相关性,我们参考RAGAS方法,它评估生成的报告是否直接与查询相关并避免冗余或不完整信息。在此方法中,基于提供的报告生成多个问题。然后计算这些生成问题与原始查询的相似度。生成问题相对于原始查询的平均相似度得分用于评估生成报告的相关性。
这些指标通过提供给大型语言模型的提示进行评估。在我们的实验中,我们使用DeepSeek-V2.5作为评估模型。DeepSeek-V2.5被提示在0到10的范围内评估每个指标。对于每个评估指标,相关提示在图 2 中设计。

评估提示模板:检索与报告质量指标

6.1.4 实现细节

6.1.5 整体性能
实验结果如表 [tab:t1] 、表 [tab:t2] 和表 [tab:t3] 所示,全面展示了DAgent在检索和报告生成任务中的性能。DAgent在检索指标和报告质量方面显著优于基准方法,展现了其处理复杂分析报告生成任务的效率。具体而言,DAgent不仅在检索准确性(召回率、精确率和上下文相关性)方面领先,而且在生成语义准确和相关的分析报告方面表现出色。
检索性能分析 在检索性能分析中,我们重点关注评估DAgent的表检索、列检索和上下文相关性表现。如表 [tab:t1] 和表 [tab:t2] 所示,实验结果表明DAgent在所有这些方面均优于现有基准方法,尤其是在处理复杂检索任务时,如DA-CCKS。
DAgent在平衡召回率和精确率方面表现出显著优势。在DA-CCKS数据集中,DAgent实现了36.96的召回率、56.35的精确率和43.10的F1分数,明显优于所有基准方法。同样,在DA-BIRD数据集中,DAgent实现了81.23的精确率、88.82的召回率和82.23的F1分数,远远超过最佳基准方法TableRAG的72.77 F1分数。实验结果确认DAgent有效减少了无关表和列的检索,同时确保了全面的召回。得益于多步推理和多种检索策略的协同作用,DAgent能够从数据库中的多个相关表中高效定位关键信息。在检索上下文质量方面,DAgent同样表现出色。在统一评估模板下,DAgent在DA-CCKS数据集上取得了6.87的上下文相关性得分,在DA-BIRD数据集上取得了7.15的得分。这表明DAgent不仅在表和列匹配中表现准确,还检索到了高度相关的内容。
生成质量分析
生成质量分析主要关注报告的准确性和相关性。通过在表 [tab:t3] 中比较DAgent与其他方法在生成质量方面的表现,我们展示了其在复杂分析报告生成任务中的优越性。
在生成分析报告时,DAgent通过多步推理过程整合和处理检索到的数据,生成全面且逻辑清晰的报告。在DA-BIRD数据集中,DAgent的报告准确得分达到了6.43,明显优于LLM-SQL(4.16)和C3(4.76)等方法。这表明DAgent不仅准确检索相关数据,还能有效地将这些数据转化为可行的分析结论。DAgent生成的报告与查询高度相关,确保报告中的信息完整且紧密贴合用户需求。在DA-CCKS和DA-BIRD数据集中,DAgent的报告相关性得分均高于其他方法,分别达到了6.96和7.01。实验表明,DAgent避免了生成报告中的冗余和无关信息,确保了语义精度和完整性。
6.1.6 规划策略的效率
在本节中,我们通过消融实验探讨了查询分解规划、数据检索规划和SQL重写规划对整体系统效率的影响。实验通过比较使用和不使用每种规划策略的性能差异,验证了查询准确性的改进。
查询分解规划 查询分解规划的目标是将复杂的用户查询分解为多个子查询,从而提高系统的检索准确性。在实验中,我们比较了使用和不使用查询分解工具的性能差异。如图 [fig:ab] (a)和图 [fig:ab] (d)所示,使用查询分解工具的系统在DA-dataset上的检索性能显著提高。特别是在处理涉及多个知识点的复杂查询时,查询分解规划帮助系统全面检索多个表中的相关信息,显著提高了查询的准确性。
数据检索规划 在数据检索规划方面,我们比较了使用固定单一检索策略(如Text-to-SQL和直接编码与检索)与使用两者的组合策略的性能。实验结果表明,使用混合检索策略的系统在检索性能上表现最佳。如图 [fig:ab] (b)和 [fig:ab] (e)所示,当Text-to-SQL和直接编码与检索策略结合使用时,系统的精确率和召回率均显著提高,超出单一检索策略几个百分点。这表明灵活选择和组合不同的数据检索策略可以显著提高检索准确性和数据覆盖率。
SQL重写规划 SQL重写规划的主要目标是优化生成的SQL查询并减少大规模数据检索。图 [fig:ab] (c)和 [fig:ab] (f)的实验结果显示,通过比较优化前后SQL查询的执行结果,优化后的SQL查询检索性能没有显著下降。这是因为SQL重写主要通过引入聚合操作等方式优化查询,而不是直接检索部分或全部数据,从而提高了查询效率。
7 结论
在本文中,我们介绍了DAgent,这是一种基于LLM的代理系统,专门设计用于基于关系数据库驱动的数据分析报告生成。通过关键模块如任务分解、数据检索规划和SQL优化,DAgent显著提高了在复杂查询场景中的检索准确性和报告生成质量。实验结果表明,DAgent在多个评估指标上优于现有基准方法。DAgent的创新之处在于其模块化设计,使系统能够高效分解复杂任务、灵活检索相关数据并生成满足用户需求的报告。特别是在金融分析和医疗等领域,DAgent展现出强大的实用潜力,有效处理大规模数据分析任务并生成准确、完整和简洁的分析报告。未来的研究将专注于进一步优化DAgent内的模块并扩展其能力,以应对更复杂的分析任务,目标是推进智能查询分解和SQL优化策略在更广泛行业中的应用。
更多推荐

所有评论(0)