CN118467682A - 一种数据库查询语句的生成方法、系统、设备及介质 - Google Patents
一种数据库查询语句的生成方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN118467682A CN118467682A CN202410926042.1A CN202410926042A CN118467682A CN 118467682 A CN118467682 A CN 118467682A CN 202410926042 A CN202410926042 A CN 202410926042A CN 118467682 A CN118467682 A CN 118467682A
- Authority
- CN
- China
- Prior art keywords
- financial
- fields
- database
- database query
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000011218 segmentation Effects 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000004458 analytical method Methods 0.000 claims description 20
- 238000002372 labelling Methods 0.000 claims description 14
- 241000533950 Leucojum Species 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims description 7
- 238000009825 accumulation Methods 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 238000007405 data analysis Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 238000013499 data model Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
本发明涉及数据分析技术领域,公开了一种数据库查询语句的生成方法、系统、设备及介质。包括:根据各维度表和各事实表间的关联关系构建若干星型模型;对每个星型模型中所有字段添加包含财务指标的标注以构建财务领域词库;基于大语言模型对用户输入的自然语言文本生成初始数据库查询语句,基于财务领域词库对自然语言文本进行分词处理;响应于分词处理后的自然语言文本中存在与财务领域词库中至少一个数据库字段匹配的目标分词,用预设符号对所有目标分词进行限定并在预设符号限定范围内添加其所匹配的数据库字段的标注以生成中间语句,以中间语句修正初始数据库查询语句得到目标数据库查询语句。本发明提高了财务领域数据库查询语句的准确性。
Description
技术领域
本发明涉及数据分析技术领域,尤其涉及一种数据库查询语句的生成方法、系统、设备及介质。
背景技术
数据分析从最初的手动编写SQL(Structured Query Language,结构化查询语言),到基于数据模型可视化的拖拽分析,现在已经发展到可以基于大语言模型技术,理解自然语言输入来分析。相关技术中的自然语言处理框架多是基于语言本身的含义进行处理,并没有充分的结合专业领域数据模型的特点进行优化,例如财务分析领域,这就会导致基于相关技术中的自然语言处理框架实现的对话式分析技术在财务分析领域进行使用会造成分析结果出现逻辑错误,分析不准确的问题。
因此,亟需提出一种数据库查询语句的生成方法来解决上述缺陷。
发明内容
有鉴于此,本发明提出了一种数据库查询语句的生成方法、系统、计算机设备及计算机可读介质,解决自然语言处理过程中对财务领域的指标分析不准确导致生成错误数据库查询语句的问题,修正人工智能的幻觉问题,提高数据库查询语句的准确性。
基于上述目的,本发明实施例的一方面提供了一种数据库查询语句的生成方法,具体包括如下步骤:
根据各维度表和各事实表之间的关联关系构建若干星型模型;
对每个所述星型模型中的所有字段添加包含财务指标的标注,并基于所有添加标注后的所述字段构建财务领域词库;
响应于接收到用户输入的自然语言文本,基于大语言模型生成初始数据库查询语句,并基于所述财务领域词库对所述自然语言文本进行分词处理;
检测所述分词处理后的自然语言文本中是否存在与所述财务领域词库中至少一个数据库字段匹配的目标分词;
响应于存在与所述财务领域词库中至少一个数据库字段匹配的目标分词,用预设符号对所有所述目标分词进行限定并在所述预设符号限定范围内添加各所述目标分词所匹配的数据库字段的标注以生成中间语句,并基于所述中间语句修正所述初始数据库查询语句以生成目标数据库查询语句。
在一些实施方式中,所述对每个所述星型模型中的所有字段添加包含财务指标的标注的步骤,包括:
将来自于各所述维度表和/或各所述事实表中维度列的字段标注为维度类,将各所述事实表中数值型的字段标注为量度类;
基于财务分析模型标注所有所述量度类的字段分别对应的财务指标,所述财务指标包括时点型、时期型、百分比类型和累积型。
在一些实施方式中,所述基于所有添加标注后的所述字段构建财务领域词库的步骤,包括:
构建包含所有添加标注后的所述字段及其分别对应的所述星型模型的关联关系表;
以每个添加标注后的所述字段所标注的名称为字段名创建若干数据库字段以构建财务词库表,并分别记录每个所述数据库字段的维度类信息和所属的星型模型信息;
基于所述关联关系表获取每个所述数据库字段对应的维度表中的数据值,将具有共有属性的不同数据库字段的若干所述数据值作为一组数据组存储于所述财务词库表,并分别记录每个所述数据值的维度类信息和所属的星型模型信息以构建得到所述财务领域词库。
在一些实施方式中,所述根据各维度表和各事实表之间的关联关系构建若干星型模型的步骤,包括:
分别获取数据库中的所有维度表和所有事实表的关联字段,根据所述关联字段确定各维度表和各事实表之间和/或各维度表之间的关联关系;
判断各所述关联关系是否满足雪花模型的结构关系;
若所述关联关系满足雪花模型的结构关系,将所述关联关系转换为满足所述星型模型的结构关系,并基于转换后的所述关联关系构建若干星型模型.
若所述关联关系不满足雪花模型的结构关系,针对每个所述维度表,构建包含所述维度表及与其存在所述关联关系的若干所述事实表的星型模型。
在一些实施方式中,所述基于所述中间语句修正所述初始数据库查询语句以生成目标数据库查询语句的步骤,包括:
根据预置规则识别所述中间语句以生成若干查询子句,根据所有所述查询子句修正所述初始数据库查询语句中伪代码子句以得到可执行的目标数据库查询语句。
在一些实施方式中,所述的数据库查询语句的生成方法还包括:
执行所述目标数据库查询语句,基于执行结果和预设图表推荐规则引擎生成并显示满足所述自然语言文本对应需求的可视化图表。
在一些实施方式中,所述的数据库查询语句的生成方法还包括:
按照用户输入自然语言文本时所使用的语言类型标注所有所述字段的名称。
本发明实施例的另一方面,还提供了一种数据库查询语句的生成系统,包括:
构建模型单元,用于根据各维度表和各事实表之间的关联关系构建若干星型模型;
构建词库单元,用于对每个所述星型模型中的所有字段添加包含财务指标的标注,并基于所有添加标注后的所述字段构建财务领域词库;
处理单元,用于响应于接收到用户输入的自然语言文本,基于大语言模型生成初始数据库查询语句,并基于所述财务领域词库对所述自然语言文本进行分词处理;
检测单元,用于检测所述分词处理后的自然语言文本中是否存在与所述财务领域词库中至少一个数据库字段匹配的目标分词;
生成单元,用于响应于存在与所述财务领域词库中至少一个数据库字段匹配的目标分词,用预设符号对所有所述目标分词进行限定并在所述预设符号限定范围内添加各所述目标分词所匹配的数据库字段的标注以生成中间语句,并基于所述中间语句修正所述初始数据库查询语句以生成目标数据库查询语句。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述计算机程序由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明至少具有以下有益技术效果:对星型模型中所有字段标注对应的财务指标等信息,以构建得到具备详细财务指标标记的财务领域词库,基于该财务领域词库对用户所使用的自然语言文本中的分词进行匹配,并针对存在成功匹配分词的自然语言文本生成中间语言,根据中间语言生成若干查询子句以修正基于大语言模型生成的伪代码形式的初始数据库查询语句,得到最终可准确执行且符合财务领域中业务逻辑的目标数据库查询语句,本发明通过中间语言的表示方法,以具有财务指标的业务内涵的标注替换原始自然语言的描述,并通过规则引擎准确识别出正确的查询子句进行修正输出最终结果,修正了人工智能的幻觉问题,有效提高了财务领域中对话式分析的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的数据库查询语句的生成方法的一实施例的框图;
图2为本发明提供的数据库查询语句的生成过程的一实施例的流程示意图;
图3为本发明提供的数据库查询语句的生成系统的一实施例的示意图;
图4为本发明提供的计算机设备的一实施例的结构示意图;
图5为本发明提供的计算机可读存储介质的一实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
相关技术中,对自然语言的处理只考虑了词的位置关系、停用词、语法树或关键词等语言特征的信息,也就是只结合了语言的上下文信息,能做到正确的分词,正确的理解语义,但并不能更进一步的理解财务领域中各个业务指标的内涵及逻辑。例如,对相关技术中的AI(Artificial Intelligence,人工智能)提问“假设我有一个数据库表是按月保存的资产负债表数据,现在我想要看每年的资产情况,应该如何写SQL”,此时,该AI根据大语言模型会生成的SQL语句为“SELECT year,SUM(profit) AS total_profit_per_year FROMmonthly_profit_table GROUP BY year ORDER BY year;”,其中,monthly_profit_table为数据库表名,profit为资产总额,可以看到生成的SQL语句的逻辑是将每个月的资产总额按年进行了求和,将求和结果作为该年的资产情况。而实际上在财务领域的资产负债表记录的是一种时点型的资产状态,将资产总额按月相加显然是不正确的,正确的SQL语句逻辑应该是查询每年12月的资产总额作为该年的资产情况。
为了解决如上述中对话式分析方法对财务领域的指标分析不准确的问题,本发明基于财务分析模型,将财务领域知识与自然语言处理相结合,修正人工智能的幻觉问题,提高财务分析领域中对话式分析结果的准确性。
基于上述目的,本发明实施例的第一个方面,提出了一种数据库查询语句的生成方法的实施例。如图1所示,其包括如下步骤:
步骤S100,根据各维度表和各事实表之间的关联关系构建若干星型模型;
步骤S200,对每个星型模型中的所有字段添加包含财务指标的标注,并基于所有添加标注后的字段构建财务领域词库;
步骤S300,响应于接收到用户输入的自然语言文本,基于大语言模型生成初始数据库查询语句,并基于财务领域词库对自然语言文本进行分词处理;
步骤S400,检测分词处理后的自然语言文本中是否存在与财务领域词库中至少一个数据库字段匹配的目标分词;
步骤S500,响应于存在与财务领域词库中至少一个数据库字段匹配的目标分词,用预设符号对所有目标分词进行限定并在预设符号限定范围内添加各目标分词所匹配的数据库字段的标注以生成中间语句,并基于中间语句修正初始数据库查询语句以生成目标数据库查询语句。
在一些实施例中,星型模型是一种非规范化的数据模型,广泛应用于开发数据仓库和维度数据集市。它由事实表(Fact Table)和一组维表(Dimension Table)组成,其中事实表包含数值或其他可以进行计算的数据,而维表则包含描述性信息,用于对事实进行分类和分析。在星型模型中,每个字段都有其特定的元数据。元数据是关于数据的数据,它提供了关于数据的描述性信息,包括数据的来源、格式、含义、用途等。在星型模型中,字段的元数据对于理解和使用数据至关重要。图2为本发明提供的数据库查询语句的生成过程的一实施例的流程示意图。本发明首先会将核算单位的信息、地区和行业等需要分析的维度表与财务报表数据的事实表,通过BI(Business Intelligence,商业智能)系统的建模工具编写SQL进行关联以得到对应的雪花模型,并将雪花模型转换为1个或多个星型模型,并形成记录了星型模型中的每个字段的元数据,如果关联上述关联后得到的直接是星型模型,则只需要记录星型模型中的每个字段即可。进一步的,结合财务分析模型将具有业务内涵的标注用以替换原始自然语言的描述得到中间语言,并通过规则引擎准确识别出正确的SQL片段,基于识别得到的SQL片段修正整体SQL语句,输出并执行最终生成的SQL语句,通过上述方法能够提高财务分析领域中对话式自然语言处理和分析的准确性。
一实例中,对生成中间语言的过程进行说明:当用户输入的自然语言文本中出现了财务领域词库中的分词时使用 “[ ]”(即预设符号)括起来,并根据该分词在财务领域词库中对应的字段标注在“[ ]”内添加对应分词的标注信息。比如自然语言文本为“查询成立时间小于5年,软件公司每年的资产情况”,其中,“成立时间”、“软件公司”和“资产”为财务领域词库中存储的分词,则生成的中间语言为“查询[成立时间:字段.维度] 小于5年,[软件公司:字段值.维度]每年的[资产:字段.量度.时点型]情况”,其中,“字段”、“维度”、“字段值”和“时点型”为字段标注信息。
继续上述举例,对识别中间语句以生成若干查询子句的过程进行说明:中间语句为“查询[成立时间:字段.维度]小于5年,[软件公司:字段值.维度]每年的[资产:字段.量度.时点型]情况”时,可以根据配置的规则识别到中间语句中的时点型字段,且中间语句中含有关键字“每年”,则形成的查询子句包括一个where条件片段、一个select片段和COL([资产:字段.量度.时点型])=’12’片段,该COL函数中所读取的数据列的列名取决于财务领域词库中与提取到的“资产”一词对应的数据库字段的实际列名,COL函数片段明确资产对应的数据库字段按年统计应该取每年12月的值而不是按月累计总额。其它如时期型或时点型业务性质的分词也通过预设规则进行对应的转换。
继续上述举例,对修正初始数据库查询语句的过程进行说明:对大语言模型针对用户输入的自然语言文本生成的初始SQL语句,使用上述识别出的查询子句对其进行修正,比如,初始SQL语句为“select 企业名称,年度,sum(资产) from 财务星型模型 where (当前时间-成立时间)<5 and 企业类别=’软件公司’ group by 企业名称,年度 order by 年度”,将会根据查询子句修正为“select 企业名称,年度,资产 from 财务星型模型 where(当前时间-成立时间)<5 and 企业类别=’软件公司’and 会计期间=’12’ order by 年度”,并将修正后的语句中所需读取的数据表及数据列根据财务领域词库中存储的实际表名和实际列名进行替换后得到可执行的SQL语句,例如财务领域词库中对应“企业名称”的数据库字段的实际列名为“CompanyName,”,则对“select 企业名称”片段进行相应替换后该部分SQL语句为“select CompanyName,”。
在一些实施方式中,对每个星型模型中的所有字段添加包含财务指标的标注的步骤,包括:将来自于各维度表和/或各事实表中维度列的字段标注为维度类,将各事实表中数值型的字段标注为量度类;基于财务分析模型标注所有量度类的字段分别对应的财务指标,财务指标包括时点型、时期型、百分比类型和累积型。在一些实施方式中,这进一步包括:按照用户输入自然语言文本时所使用的语言类型标注所有所述字段的名称。
在一些实施例中,财务分析模型通常会对财务指标进行详细标记,比如财务指标是时期型还是时点型,是金额类型还是数值类型,是百分比类型还是普通数值类型等。对星型模型中字段进行标注包括:
(1)按照用户提问时所使用的语言,对星型模型的每个字段依据其元数据中记录的信息进行字段名称的标注,比如对话采用中文,则要对字段命名中文名;
(2)依据星型模型的元数据,将来自于维度表和/或事实表中维度列的字段标注为维度,用于计量的数值型的字段则标注为量度;
(3)按照财务领域的业务逻辑或会计准则,对标注为量度的字段进行进一步标注,如在财务月报中披露期末数的字段的财务指标标注为时点型,在财务月报中披露本期发生数的字段的财务指标标注为时期型,在财务月报中披露百分比的字段的财务指标标注为百分比类型,在财务月报中披露本月累计的字段的财务指标标注为累计型。
在一些实施方式中,基于所有添加标注后的字段构建财务领域词库的步骤,包括:构建包含所有添加标注后的字段及其分别对应的星型模型的关联关系表;以每个添加标注后的字段所标注的名称为字段名创建若干数据库字段以构建财务词库表,并分别记录每个数据库字段的维度类信息和所属的星型模型信息;基于关联关系表获取每个数据库字段对应的维度表中的数据值,将具有共有属性的不同数据库字段的若干数据值作为一组数据组存储于财务词库表,并分别记录每个数据值的维度类信息和所属的星型模型信息以构建得到财务领域词库。
在一些实施例中,将财务领域词库中存储的分词,在分词模型中的权重提高1倍后对用户输入的自然语言文本进行分词处理。财务领域词库的构建包括:
(1)建立一张分词和所属星型模型的关联关系表,该表中记录了具体的分词和星型模型详细信息;
(2)将星型模型上所有字段标注的名称加入财务词库表以作为数据库字段的字段名(即存储的分词),并同时记录名称对应的维度和其所属星型模型信息;
(3)将星型模型中维度表中出现的数据值加入财务词库表的相应数据库字段,并同时记录该数据值的维度和其所属星型模型信息。
在一些实施方式中,根据各维度表和各事实表之间的关联关系构建若干星型模型的步骤,包括:分别获取数据库中的所有维度表和所有事实表的关联字段,根据关联字段确定各维度表和各事实表之间和/或各维度表之间的关联关系;判断各关联关系是否满足雪花模型的结构关系;若关联关系满足雪花模型的结构关系,将关联关系转换为满足星型模型的结构关系,并基于转换后的关联关系构建若干星型模型;若关联关系不满足雪花模型的结构关系,针对每个维度表,构建包含维度表及与其存在关联关系的若干事实表的星型模型。
在一些实施方式中,基于中间语句修正初始数据库查询语句以生成目标数据库查询语句的步骤,包括:根据预置规则识别中间语句以生成若干查询子句,根据所有查询子句修正初始数据库查询语句中伪代码子句以得到可执行的目标数据库查询语句。
在一些实施方式中,本发明的数据库查询语句的生成方法还包括:执行目标数据库查询语句,基于执行结果和预设图表推荐规则引擎生成并显示满足自然语言文本对应需求的可视化图表。
在一些实施方式中,执行修正后的SQL语句得到查询结果,结合图表推荐规则引擎,自动形成可视化图表对查询结果进行可视化。
在一些实施方式中,将所有字段分类为维度类和量度类的步骤,包括:将来自于各维度表和/或各事实表中维度列的字段标注为维度类,将各事实表中数值型的字段标注为量度类。
本发明的数据库查询语句的生成方法,通过结合财务分析模型对星型模型中所有字段标注对应的财务指标等信息,以构建得到具备详细财务指标标记的财务领域词库,基于该财务领域词库对用户所使用的自然语言文本中的分词进行匹配,并针对存在成功匹配分词的自然语言文本生成中间语言,根据中间语言生成若干查询子句以修正基于大语言模型生成的伪代码形式的初始数据库查询语句,得到最终可准确执行且符合财务领域中业务逻辑的目标数据库查询语句,本发明通过中间语言的表示方法,以具有财务指标的业务内涵的标注替换原始自然语言的描述,并通过规则引擎准确识别出正确的查询子句进行修正输出最终结果,修正了人工智能的幻觉问题,有效提高了财务领域中对话式分析的准确性。
基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种数据库查询语句的生成系统。该数据库查询语句的生成系统具体包括:
构建模型单元110,用于根据各维度表和各事实表之间的关联关系构建若干星型模型;
构建词库单元120,用于对每个星型模型中的所有字段添加包含财务指标的标注,并基于所有添加标注后的字段构建财务领域词库;
处理单元130,用于响应于接收到用户输入的自然语言文本,基于大语言模型生成初始数据库查询语句,并基于财务领域词库对自然语言文本进行分词处理;
检测单元140,用于检测分词处理后的自然语言文本中是否存在与财务领域词库中至少一个数据库字段匹配的目标分词;
生成单元150,用于响应于存在与财务领域词库中至少一个数据库字段匹配的目标分词,用预设符号对所有目标分词进行限定并在预设符号限定范围内添加各目标分词所匹配的数据库字段的标注以生成中间语句,并基于中间语句修正初始数据库查询语句以生成目标数据库查询语句。
本发明的数据库查询语句的生成系统,通过结合财务分析模型对星型模型中所有字段标注对应的财务指标等信息,以构建得到具备详细财务指标标记的财务领域词库,基于该财务领域词库对用户所使用的自然语言文本中的分词进行匹配,并针对存在成功匹配分词的自然语言文本生成中间语言,根据中间语言生成若干查询子句以修正基于大语言模型生成的伪代码形式的初始数据库查询语句,得到最终可准确执行且符合财务领域中业务逻辑的目标数据库查询语句,本发明通过中间语言的表示方法,以具有财务指标的业务内涵的标注替换原始自然语言的描述,并通过规则引擎准确识别出正确的查询子句进行修正输出最终结果,修正了人工智能的幻觉问题,有效提高了财务领域中对话式分析的准确性。
基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机设备30,在该计算机设备30中包括处理器310以及存储器320,存储器320存储有可在处理器上运行的计算机程序321,处理器310执行程序时执行如上的方法的步骤。
基于同一发明构思,根据本发明的另一个方面,如图5所示,本发明的实施例还提供了一种计算机可读存储介质40,计算机可读存储介质40存储有被处理器执行时执行如上方法的计算机程序410。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种数据库查询语句的生成方法,其特征在于,包括:
根据各维度表和各事实表之间的关联关系构建若干星型模型;
对每个所述星型模型中的所有字段添加包含财务指标的标注,并基于所有添加标注后的所述字段构建财务领域词库;
响应于接收到用户输入的自然语言文本,基于大语言模型生成初始数据库查询语句,并基于所述财务领域词库对所述自然语言文本进行分词处理;
检测所述分词处理后的自然语言文本中是否存在与所述财务领域词库中至少一个数据库字段匹配的目标分词;
响应于存在与所述财务领域词库中至少一个数据库字段匹配的目标分词,用预设符号对所有所述目标分词进行限定并在所述预设符号限定范围内添加各所述目标分词所匹配的数据库字段的标注以生成中间语句,并基于所述中间语句修正所述初始数据库查询语句以生成目标数据库查询语句。
2.根据权利要求1所述的数据库查询语句的生成方法,其特征在于,所述对每个所述星型模型中的所有字段添加包含财务指标的标注的步骤,包括:
将来自于各所述维度表和/或各所述事实表中维度列的字段标注为维度类,将各所述事实表中数值型的字段标注为量度类;
基于财务分析模型标注所有所述量度类的字段分别对应的财务指标,所述财务指标包括时点型、时期型、百分比类型和累积型。
3.根据权利要求1所述的数据库查询语句的生成方法,其特征在于,所述基于所有添加标注后的所述字段构建财务领域词库的步骤,包括:
构建包含所有添加标注后的所述字段及其分别对应的所述星型模型的关联关系表;
以每个添加标注后的所述字段所标注的名称为字段名创建若干数据库字段以构建财务词库表,并分别记录每个所述数据库字段的维度类信息和所属的星型模型信息;
基于所述关联关系表获取每个所述数据库字段对应的维度表中的数据值,将具有共有属性的不同数据库字段的若干所述数据值作为一组数据组存储于所述财务词库表,并分别记录每个所述数据值的维度类信息和所属的星型模型信息以构建得到所述财务领域词库。
4.根据权利要求1所述的数据库查询语句的生成方法,其特征在于,所述根据各维度表和各事实表之间的关联关系构建若干星型模型的步骤,包括:
分别获取数据库中的所有维度表和所有事实表的关联字段,根据所述关联字段确定各维度表和各事实表之间和/或各维度表之间的关联关系;
判断各所述关联关系是否满足雪花模型的结构关系;
若所述关联关系满足雪花模型的结构关系,将所述关联关系转换为满足所述星型模型的结构关系,并基于转换后的所述关联关系构建若干星型模型.
若所述关联关系不满足雪花模型的结构关系,针对每个所述维度表,构建包含所述维度表及与其存在所述关联关系的若干所述事实表的星型模型。
5.根据权利要求1所述的数据库查询语句的生成方法,其特征在于,所述基于所述中间语句修正所述初始数据库查询语句以生成目标数据库查询语句的步骤,包括:
根据预置规则识别所述中间语句以生成若干查询子句,根据所有所述查询子句修正所述初始数据库查询语句中伪代码子句以得到可执行的目标数据库查询语句。
6.根据权利要求1所述的数据库查询语句的生成方法,其特征在于,还包括:
执行所述目标数据库查询语句,基于执行结果和预设图表推荐规则引擎生成并显示满足所述自然语言文本对应需求的可视化图表。
7.根据权利要求2所述的数据库查询语句的生成方法,其特征在于,还包括:
按照用户输入自然语言文本时所使用的语言类型标注所有所述字段的名称。
8.一种数据库查询语句的生成系统,其特征在于,包括:
构建模型单元,用于根据各维度表和各事实表之间的关联关系构建若干星型模型;
构建词库单元,用于对每个所述星型模型中的所有字段添加包含财务指标的标注,并基于所有添加标注后的所述字段构建财务领域词库;
处理单元,用于响应于接收到用户输入的自然语言文本,基于大语言模型生成初始数据库查询语句,并基于所述财务领域词库对所述自然语言文本进行分词处理;
检测单元,用于检测所述分词处理后的自然语言文本中是否存在与所述财务领域词库中至少一个数据库字段匹配的目标分词;
生成单元,用于响应于存在与所述财务领域词库中至少一个数据库字段匹配的目标分词,用预设符号对所有所述目标分词进行限定并在所述预设符号限定范围内添加各所述目标分词所匹配的数据库字段的标注以生成中间语句,并基于所述中间语句修正所述初始数据库查询语句以生成目标数据库查询语句。
9.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1至7任意一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1至7任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410926042.1A CN118467682B (zh) | 2024-07-11 | 2024-07-11 | 一种数据库查询语句的生成方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410926042.1A CN118467682B (zh) | 2024-07-11 | 2024-07-11 | 一种数据库查询语句的生成方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118467682A true CN118467682A (zh) | 2024-08-09 |
CN118467682B CN118467682B (zh) | 2024-09-24 |
Family
ID=92151815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410926042.1A Active CN118467682B (zh) | 2024-07-11 | 2024-07-11 | 一种数据库查询语句的生成方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118467682B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254247A (zh) * | 2011-06-24 | 2011-11-23 | 上海宝钢浦东国际贸易有限公司 | 数据平台信息交互模型架构及方法 |
CN102376029A (zh) * | 2010-08-27 | 2012-03-14 | 上海宝信软件股份有限公司 | 一种供决策分析用的信息对象模型架构装置及方法 |
CN103793422A (zh) * | 2012-10-31 | 2014-05-14 | 国际商业机器公司 | 基于增强星型模型的立方体元数据及查询语句生成 |
CN105653830A (zh) * | 2014-10-21 | 2016-06-08 | 北京京航计算通讯研究所 | 一种基于模型驱动的数据分析方法 |
CN112100200A (zh) * | 2020-09-27 | 2020-12-18 | 四川长虹电器股份有限公司 | 一种基于维度模型自动化生成sql语句的方法 |
CN114138817A (zh) * | 2021-12-03 | 2022-03-04 | 中国建设银行股份有限公司 | 基于关系型数据库的数据查询方法、设备、介质及产品 |
CN114625748A (zh) * | 2021-04-23 | 2022-06-14 | 亚信科技(南京)有限公司 | Sql查询语句的生成方法、装置、电子设备及可读存储介质 |
CN115617841A (zh) * | 2022-11-10 | 2023-01-17 | 北京商银微芯科技有限公司 | 一种数据查询语句的生成方法、系统、设备及存储介质 |
US20230222124A1 (en) * | 2022-01-07 | 2023-07-13 | International Business Machines Corporation | Enhancing database query processing |
CN116991869A (zh) * | 2023-07-24 | 2023-11-03 | 北京泰策科技有限公司 | 一种基于nlp语言模型自动生成数据库查询语句的方法 |
CN117743371A (zh) * | 2023-12-20 | 2024-03-22 | 北京百度网讯科技有限公司 | 基于大语言模型的sql语句生成方法、装置、设备及介质 |
CN118297718A (zh) * | 2024-03-28 | 2024-07-05 | 浪潮通用软件有限公司 | 一种基于多维度模型的预算计算方法、设备及存储介质 |
-
2024
- 2024-07-11 CN CN202410926042.1A patent/CN118467682B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102376029A (zh) * | 2010-08-27 | 2012-03-14 | 上海宝信软件股份有限公司 | 一种供决策分析用的信息对象模型架构装置及方法 |
CN102254247A (zh) * | 2011-06-24 | 2011-11-23 | 上海宝钢浦东国际贸易有限公司 | 数据平台信息交互模型架构及方法 |
CN103793422A (zh) * | 2012-10-31 | 2014-05-14 | 国际商业机器公司 | 基于增强星型模型的立方体元数据及查询语句生成 |
CN105653830A (zh) * | 2014-10-21 | 2016-06-08 | 北京京航计算通讯研究所 | 一种基于模型驱动的数据分析方法 |
CN112100200A (zh) * | 2020-09-27 | 2020-12-18 | 四川长虹电器股份有限公司 | 一种基于维度模型自动化生成sql语句的方法 |
CN114625748A (zh) * | 2021-04-23 | 2022-06-14 | 亚信科技(南京)有限公司 | Sql查询语句的生成方法、装置、电子设备及可读存储介质 |
CN114138817A (zh) * | 2021-12-03 | 2022-03-04 | 中国建设银行股份有限公司 | 基于关系型数据库的数据查询方法、设备、介质及产品 |
US20230222124A1 (en) * | 2022-01-07 | 2023-07-13 | International Business Machines Corporation | Enhancing database query processing |
CN115617841A (zh) * | 2022-11-10 | 2023-01-17 | 北京商银微芯科技有限公司 | 一种数据查询语句的生成方法、系统、设备及存储介质 |
CN116991869A (zh) * | 2023-07-24 | 2023-11-03 | 北京泰策科技有限公司 | 一种基于nlp语言模型自动生成数据库查询语句的方法 |
CN117743371A (zh) * | 2023-12-20 | 2024-03-22 | 北京百度网讯科技有限公司 | 基于大语言模型的sql语句生成方法、装置、设备及介质 |
CN118297718A (zh) * | 2024-03-28 | 2024-07-05 | 浪潮通用软件有限公司 | 一种基于多维度模型的预算计算方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118467682B (zh) | 2024-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106664B2 (en) | Systems and methods for generating a contextually and conversationally correct response to a query | |
US20210319180A1 (en) | Systems and methods for deviation detection, information extraction and obligation deviation detection | |
KR102432104B1 (ko) | 데이터 요소 간의 관계를 결정하기 위한 시스템 및 방법 | |
US20100205076A1 (en) | Methods and Apparatus for Analysing and/or Pre-Processing Financial Accounting Data | |
US20080168341A1 (en) | Digital spreadsheet formula automation | |
WO2021073195A1 (zh) | 生成电子表格公式的计算机实现的方法、设备和存储介质 | |
US10089343B2 (en) | Automated analysis of data reports to determine data structure and to perform automated data processing | |
Ureña-Cámara et al. | A method for checking the quality of geographic metadata based on ISO 19157 | |
CN115344712A (zh) | 一种基于融合文本的碳标准知识图谱构建方法 | |
US20220366346A1 (en) | Method and apparatus for document evaluation | |
CN112926299A (zh) | 一种文本比对方法、合同审阅方法、审核系统 | |
CN112733517B (zh) | 需求模板符合性检查的方法、电子设备及存储介质 | |
CN118467682B (zh) | 一种数据库查询语句的生成方法、系统、设备及介质 | |
CN117114595A (zh) | 一种基于关键信息提取的采购合同审核方法及系统 | |
JP6155409B1 (ja) | 決算分析システムおよび決算分析プログラム | |
Li et al. | An Accounting Classification System Using Constituency Analysis and Semantic Web Technologies | |
CN114610791B (zh) | 数据血缘关系的分析方法、装置、计算机设备及存储介质 | |
CN117951038B (zh) | 基于代码大模型的Rust语言文档测试自动生成方法及装置 | |
CN116595192B (zh) | 科技前沿信息获取方法、装置、电子设备和可读存储介质 | |
Varadarajan et al. | Text-mining: Application development challenges | |
Nijanthan | Improving the clarity of requirements by generating RCI value using Machine Learning | |
WO2019162676A2 (en) | Automated requirements analysis | |
Xu | Financial Statement Text Information Mining and Key Information Extraction Model Construction | |
Li | Data Modelling and Visualisation of UK Government Open Data Based on the State of Business in the Post-COVID-19 Era | |
CN118780251A (zh) | 一种合同修编方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |