一种基于大语言模型交互式推理的探索性数据分析方法及系统
本发明属于人工智能,涉及一种基于大语言模型交互式推理的探索性数据分析方法及系统。
背景技术:
1、在科学研究中,研究者普遍强调因果解释或理论的重要性。通过这些理论解释,我们能够理解现实世界中的事件,并基于这种理解进行预测与控制。虽然良好的理论至关重要,但理论的起点可以说在于首先识别出需要解释的现象。这种科学活动--现象发现,是科学进步的基础。在逻辑上,它先于理论的发展、完善与检验,其重要性也体现在这样一个事实中:诺贝尔奖更多是因现象的发现而非解释性理论的构建而授予的。
2、长期以来,大多数科学研究强烈倾向于采用假说-演绎的验证性研究方法,或称为验证性数据分析(confirmatory data analysis, cda)。在这种模式下,整个理论框架通常在研究开始前就已被明确设定,留给探索和发现的空间非常有限。这种研究取向很可能导致现象发现这一科学基础活动的发展受到了抑制。探索性数据分析(exploratory dataanalysis, eda)正是在这种背景下,作为cda的自然补充被提出的。
3、eda主要源于著名统计学家约翰·图基(john tukey)及其同事的开创性工作,最具代表性的著作是其经典作品《exploratory data analysis》。尽管在图基之前已有部分eda 技术的雏形,但该著作首次系统性地整合了eda的核心理念与技术框架。在一系列讲座中,图基曾归纳出构成 eda 的多种原则,包括:愿意发现既意料之外又具有规律性的现象、保持思维的灵活性、依赖简单数学运算、重视“看到”结果(即可视化)、采用稳健统计方法、将数据视为“拟合 + 残差”的组合、重视模型构建等等。这些理念共同构成了探索性数据分析的本质:一种开放、灵活、以现象发现为导向的科学分析方式。
4、概括而言,eda和cda的主要区别在于:前者的重点在于自行发现可供验证的假设(现象),而后者则侧重对预先确定的假设(现象)进行验证。也就是说,在分析者并不预先具有明确的分析意图和分析方向的前提下,eda致力于通过结合对数据本身的观察和分析者的先期认识,从数据中挖掘出有价值的模式和规律。而cda则建立在分析者预先具有明确分析意图的基础之上(这种意图可能来源于分析者所具有的知识,或者其特定兴趣所在),致力于通过特定的数据分析工具来验证其分析意图。
5、在深度学习兴起以前,专为探索性数据分析(eda)设计的模式推荐系统是自动化eda的主要工具。这类系统通常位于数据集与用户界面之间,能够在无需用户提供特定输入或参数的前提下,推荐高效的数据分析操作(如可视化、下钻分析、sql查询以及其他通用的分析建议)。事实上,迄今为止,这类系统仍是在实际生产环境中应用最为广泛、发展最为成熟的自动化eda解决方案。
6、推荐系统可以大致分为数据驱动型与日志驱动型。数据驱动型的推荐系统完全依赖当前可用的数据来生成推荐。它们使用预定义的趣味性(interestingness)度量来评估特定数据操作(如sql查询、数据可视化、数据摘要等)的效用,或直接评估某些数据子集的趣味性。日志驱动型的推荐系统以当前用户正在进行的数据分析会话的状态作为输入,基于相同或其他用户以往的探索会话,为接下来的操作生成具有潜力的推荐。这些系统利用一个包含过往探索会话的日志库,并基于如下假设进行推荐:如果两个会话的前缀相似,则它们的后续操作也可能相似。
7、在探索性数据分析(eda)过程中,衡量各种数据分析操作的趣味性(interestingness)是推动eda流程自动化的关键难点。因此,研究人员提出训练专用的深度学习模型来捕捉eda中复杂的趣味性度量。此类方法可以分为两类:价值建模和策略建模。价值建模方法训练一个评分模型对数据分析操作进行评分。此类方法可以集成到数据驱动型模式推荐系统中,通过重新排序候选操作来改进推荐的质量。策略建模方法则不显式建模数据分析操作的价值,而是直接训练一个策略模型,预测符合用户兴趣的下一步操作。
8、大语言模型(llms)在大规模训练数据集和庞大参数量的支持下获得了广泛的知识,并且具备指令遵循能力、上下文学习能力等,展现出接近人类智能的潜力,因而特别适用于自动化探索性数据分析(eda)。现有少量工作对llms在自动化数据分析相关任务中的应用进行了探索。但这些工作在术语上并不统一,彼此之间缺乏关联,尚未形成完善的研究体系。
9、部分工作利用llms构建自动化数据故事讲述(data storytelling)系统,致力于将原始数据转化为有逻辑、有组织的数据故事(包括文本描述与可视化结果等多种模态)。这一任务设置与eda比较相似。但这些系统通常采用一种线性的工作流,即所有步骤顺序进行,不包括任何循环。因此,从数据中获取的洞见不会用于指导llms生成进一步的分析,而是直接作为最终结果输出。
10、此外,有些系统将llms与模式推荐系统相结合,通过大模型代理(llm agent)对模式推荐系统进行操作,以完成数据分析。这种做法较好地结合了自底向上的模式发现(归纳)和自顶向下的推理分析(演绎)。然而,这些系统完全依赖推荐系统来提供洞见,且只能执行几种预定义的分析动作,因此显著限制了大模型代理在eda任务中的行动空间。
11、探索性数据分析(eda)强调对模式的发现和对数据的理解,是推动后续深入分析的首要步骤之一。目前,通过eda获得的见解在各个领域的决策中变得日益重要。然而,开展探索性数据分析仍然面临着以下三方面挑战,而这正是上述背景技术所不能完全解决的难点。
12、挑战一:观察和判读特定领域的数据需要研究者具备该领域的专业知识。即使对于中等规模的数据库(表)而言,其中也蕴含着大量潜在的数据模式,对所有可能的模式进行枚举是不切实际的。例如,对于具有k个列(字段)的二维数据表,仅字段间的二元相关关系就有k(k-1)/2种,而多元相关关系的数量则呈指数级增长。这些潜在的数据模式中,有很大部分是根据人类知识显而易见的,或者与当前分析任务缺乏关联,或者并不呈现出任何有意义的特征。为了识别或者预先判断出哪些数据模式最有可能贡献有价值的发现,研究者必须对数据本身的语义和特点有充分的了解,并且具备相关领域的专业知识。
13、挑战二:进行数据分析要求研究者具备足够的统计学知识和技能。研究者基于自身知识和对数据的观察,可以发现一些(大概率)具有价值的数据模式。然而,这些只是直觉性的认识,还需要严格的统计分析加以证实,才能用于指导进一步分析或支持决策制定。执行统计分析不仅需要研究者具备统计学知识、了解统计学方法(例如卡方检验用于分析变量独立性等),还需要研究者熟练运用常见的数据分析工具,例如sql、python、matlab等。此外,由于数据本身的结构和语义以及用户的分析需求是灵活多变的,数据分析方法的选择也很难被定义为某种特定的模型或一组固定的程序。
14、挑战三:研究者在eda过程中面临探索和利用的权衡。为了从数据中发现有意义的模式,研究者可以采取两种基本策略:其一,根据自身已有的知识提出高概率成立的假设,并通过统计分析加以验证;其二,直接从数据出发,观察和证实较为显著的模式。前者是对研究者已有知识的利用,我们称之为演绎分析或自顶向下分析;后者是对数据中隐藏知识的探索,我们称之为归纳分析或自底向上分析。eda的基本目标决定了这两种分析模式需要协同作用,缺一不可。eda常常是多轮迭代的分析过程,人类在进行研究的过程中,通常遵循一种演绎和归纳相交替的思维模式:首先根据自身知识大致圈定分析价值较高的数据子集(演绎),然后通过观察数据获得洞见并更新自身知识(归纳),从而指导下一步分析目标(演绎)。
15、模式推荐系统面临的主要困难在于挑战一和挑战二。此类系统由于不具备智能性质,难以根据用户的分析需求和兴趣灵活调整其分析计划,通常只能开展预先定义的一组分析操作,或者需要用户进行大量复杂、繁琐的交互;此外,模式推荐系统难以根据数据本身的性质和用户的分析意图来判断哪些模式有价值、哪些模式无价值,因此其返回的数据分析结果往往信息密度低、质量参差不齐。
16、近年来,大语言模型(llms)在推理、规划、上下文学习和工具调用等方面取得重大进展,基于大语言模型的智能代理(llm-based agents)在理解用户意图和生成行动以实现用户目标方面展现出显著潜力。因此,基于大语言模型构建的多智能体系统(multi-agentsystem)被认为有望解决上述挑战。然而,现有的多智能体系统仍然难以解决挑战三,具体原因如下。
17、1. 依赖于用户提供详细的分析意图,也即验证性数据分析所谓“假设”。此类系统可根据用户提供的分析意图生成分析计划、执行分析操作、收集分析结果,但不能自行提出有价值的分析问题,因此需要用户持续交互(human-in-the-loop)。当用户提供的分析意图不清晰时,此类系统难以有效开展数据分析,或者需要通过反问等方式要求用户进一步提出清晰的分析意图。这就与探索性数据分析的基本目标相违背。
18、2. 通常执行一过性的单轮分析流程,而非基于分析结果自行开展进一步的多轮分析。此类系统通常将分析结果返回给用户,并等待用户提出进一步的分析需求,而不能利用已有的分析结果来指导进一步分析方向。相比之下,探索性数据分析是一个归纳和演绎相结合的闭环过程,需要分析者根据现有的分析结果自行提出进一步的分析目标和分析计划。
19、不能有效结合自底向上的分析范式和自顶向下的分析范式。此类系统通常基于用户提出的分析需求来制定分析计划,而不是基于对数据本身的观察自行提出分析方向,因此其返回的分析结果不会超出用户的预期范围,而无法自主发现数据中有价值的潜在线索。这实际上是一种自顶向下的分析范式,对数据利用率较低,探索性不足。
技术实现思路
1、针对现有技术,本发明的目的在于提供一种基于大语言模型交互式推理的探索性数据分析方法及系统。本发明提出了一个基于大语言模型(llms)的多代理系统,该系统主要基于大模型代理的交互式推理,能够实现自动化且高质量的探索性数据分析。用户仅需以自然语言形式与系统进行交互,提出分析意图,无需掌握任何数据分析技能或相关领域知识。
2、本发明的技术方案为:
3、一种基于大语言模型交互式推理的探索性数据分析方法,其特征在于,将用户提出的初始问题作为分析树的根问题节点,从所述根问题节点开始执行下述步骤:
4、从分析树上选择一个问题节点;根据当前所选问题节点从记忆代理中检索相关的已有分析结果;假设生成代理对当前所选问题节点进行演绎推理,提出新的假设作为当前所选问题节点的假设节点;
5、针对从分析树中选取的一假设节点,规划代理和执行代理交互执行内循环,生成并执行验证计划;
6、检查代理对验证计划执行结果进行总结并存入记忆代理;
7、检查代理检测内循环中验证所述假设所生成的数据子集是否适合自底向上分析;若适合则调用检查代理;否则检测当前分析树是否已达最大深度,若已达最大深度则结束分析,否则调用问题提议代理;
8、检查代理对所述数据子集进行自底向上的洞见挖掘,将挖掘结果存入记忆代理;
9、问题提议代理根据当前假设节点的分析结果并结合从记忆代理中检索到的相关记忆提出一个或多个新的问题作为当前所选假设节点的问题节点;
10、重复上述步骤,当达到预设条件时循环终止;记忆代理将迭代分析过程中提出的问题、假设、验证结论和观察发现总结成一份分析报告,作为所述初始问题的回复返回给用户。
11、优选的,所述内循环的步骤包括:
12、规划代理生成自然语言形式的数据查询需求并将其转化为sql语句;执行代理执行sql查询在所选数据库中进行查询并返回数据子集;
13、规划代理生成数据分析所需的python代码;执行python代码并收集输出信息;若执行未出错,则规划代理对python代码执行结果进行分析和反思,检查python代码中是否存在潜在错误;如发现潜在错误,则修改python代码中的潜在错误并重新执行;否则调用检查代理对python代码执行结果进行总结并存入记忆代理;否则根据报错信息,规划代理对python代码进行修正后重新执行。
14、优选的,所述检查代理对所述数据子集进行总结。
15、优选的,所述预设条件包括达到预设的最大计算预算限制或者没有新的问题和假设生成。
16、优选的,所述分析树由问题节点和假设节点构成,每个问题节点包括多个假设节点作为其子节点,从根问题节点到叶子节点的每一条路径为由问题和假设交替形成的一条思维链。
17、优选的,将问题提议代理,假设生成代理,规划代理视为一个整体作为演绎端,将检查代理作为归纳端;所述演绎端用于确定对原始数据中的哪些部分进行分析,从而提高数据探查的效率;归纳端用于收集数据中的信息,从而提高数据的利用率。
18、优选的,演绎端调用执行代理,归纳端检查执行代理的执行结果并注入记忆代理,演绎端以记忆代理中积累的知识作为指导。
19、一种基于大语言模型交互式推理的探索性数据分析系统,其特征在于,包括问题提议代理,假设生成代理,规划代理,执行代理,检查代理,记忆代理;
20、所述问题提议代理与所述假设生成代理用于主导探索性数据分析过程中智能体对数据空间的探索路径;其中,所述问题提议代理用于根据从分析树上选择的问题节点从记忆代理中检索相关的已有分析结果;假设生成代理对当前所选问题节点进行演绎推理,提出新的假设作为当前所选问题节点的假设节点;问题提议代理根据当前假设节点的分析结果并结合从记忆代理中检索到的相关记忆提出一个或多个新的问题作为当前所选假设节点的问题节点;
21、所述规划代理与所述执行代理协作完成对假设的验证;其中,所述规划代理负责生成验证计划,所述执行代理负责调用外部工具执行验证计划并收集反馈;针对从分析树中选取的一假设节点,规划代理和执行代理交互执行内循环,生成并执行验证计划;
22、所述检查代理,负责对验证计划执行结果进行总结并存入记忆代理;以及检测内循环中验证所述假设所生成的数据子集是否适合自底向上分析;若适合则调用检查代理;否则检测当前分析树是否已达最大深度,若已达最大深度则结束分析,否则调用问题提议代理;对所述数据子集进行自底向上的洞见挖掘,将挖掘结果存入记忆代理;
23、所述记忆代理,用于记录问题提议代理提出的问题、假设生成代理提出的假设及对应的验证结果、检查代理的处理结果。
24、一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法的指令。
25、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法。
26、本专利作为一种用于自动化开展探索性数据分析的、基于大语言模型的多智能体系统,其特点在于:
27、1. 无需用户提出清晰明确的分析意图,可通过对数据的探查和分析自主发现有价值的数据模式,智能化程度高;
28、2. 可基于已有的数据分析结果开展多轮、闭环的数据分析流程,无需用户介入,可迭代探索数据,直至将数据中隐含的知识发掘完毕,自动化程度高;
29、3. 结合自顶向下(演绎)和自底向上(归纳)的数据分析范式,在利用先验知识和探索数据内的隐含知识之间取得合理权衡,数据利用率高。
30、本发明的有益效果如下:
31、针对挑战1,本系统采用基于大语言模型(llms)的多代理系统,由大模型代理自主提出有价值的研究问题和假设,以指导探索性数据分析过程。这一过程等价于隐含地引入了与人类高度契合的趣味性度量,避免了无意义、无价值、流于浅表的数据分析操作。llms具有广泛的世界知识,并且能够理解以自然语言形式表达的用户意图、数据结构与语义以及其他指导信息,因此有助于实现具体研究情境相关的价值判断。对于特定领域的分析任务,则可以利用垂域大模型所具备的领域知识,或者通过检索增强生成(retrivalaugmented generation,rag)为通用领域大模型注入所需的知识。传统的非大模型解决方案则难以学习高度复杂的趣味性度量。
32、针对挑战2,本系统以功能强大且灵活的sql和python作为开展数据分析的主要工具。这些工具能够实现绝大部分统计分析操作,因而能够满足探索性数据分析的要求。然而,如何根据复杂多变的用户意图生成对应的代码是一个难点。与传统解决方案不同,本系统利用大模型代理来生成并迭代改进代码。llms在代码生成和工具调用方面显示出强大能力,因此有助于提高统计分析的灵活性和自动化程度。通过生成并执行代码的方式,llms可以自行决定并执行一组足够广泛的数据分析操作,而不止局限于预先定义的分析操作集合。此外,如有需要,也可以设计针对具体的分析任务的特殊的分析工具,利用llms的上下文学习能力和指令遵循能力加以调用。
33、针对挑战3,本系统利用不同的大模型代理来分别完成自顶向下的推理分析和自底向上的模式挖掘。具体而言,问题提议代理和假设生成代理从用户意图出发,结合模型内外部的领域知识,推理得出与当前任务相关且有价值的分析目标(即研究问题和假设);另一方面,规划代理、执行代理对数据进行分析和探查,检查代理通过观察分析结果来发现有趣的模式。这些发现都将作为下一轮循环的知识源,允许代理对数据展开多轮迭代探索。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com