CN114253990A - 数据库查询方法、装置、计算机设备和存储介质 - Google Patents

数据库查询方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114253990A
CN114253990A CN202111314103.1A CN202111314103A CN114253990A CN 114253990 A CN114253990 A CN 114253990A CN 202111314103 A CN202111314103 A CN 202111314103A CN 114253990 A CN114253990 A CN 114253990A
Authority
CN
China
Prior art keywords
text data
data
text
sql
database
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.)
Pending
Application number
CN202111314103.1A
Other languages
English (en)
Inventor
李成森
王广林
魏东
田丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GRG Banking IT Co Ltd
Original Assignee
GRG Banking Equipment Co Ltd
GRG Banking IT Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GRG Banking Equipment Co Ltd, GRG Banking IT Co Ltd filed Critical GRG Banking Equipment Co Ltd
Priority to CN202111314103.1A priority Critical patent/CN114253990A/zh
Publication of CN114253990A publication Critical patent/CN114253990A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据库查询方法、装置、计算机设备和存储介质。所述方法包括:在接收到输入的用于查询数据库的第一文本数据时,对第一文本数据进行文本意图识别,并根据识别的文本意图匹配预设的SQL模板语句;对所述第一文本数据进行关键词提取,并根据所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句;基于所述完整的SQL语句查询所述数据库得到对应的数据查询结果。本申请通过将用户输入的自然语言文本数据自动转换成用户想要查询数据的SQL语句,实现了基于自然语言文本在数据库中查询数据,使得用户在不需要懂计算机技术的情况下,从数据库中快速查到想要的数据。

Description

数据库查询方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据库查询技术领域,特别是涉及一种数据查询方法、装置、计算机设备和存储介质。
背景技术
随着数据库技术的发展,人们通常通过数据库存储海量数据,而在海量的数据中人们往往需要对所需要的数据进行查询。然而,在传统的数据库查询方式中,数据分析人员通常需要掌握复杂的SQL语法,通过SQL查询语句才能从数据库中检索到自己想要的数据,需要用户懂计算机技术才能够在数据库中快速查到数据。
目前的数据库查询方法,对于不懂得计算机技术的人员来说,无法从数据库中快速查询到想要的数据。
发明内容
基于此,有必要针对上述技术问题,提供一种能够使得用户在不需要懂计算机技术的情况下,从数据库中快速查询到数据的数据查询方法、装置、计算机设备和存储介质。
一种数据库查询方法,所述方法包括:
接收在操作界面输入的用于查询数据库的第一文本数据;
对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句;
对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句;
基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果。
在其中一个实施例中,所述对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句包括:
从所述数据库中确定与所述第一文本数据匹配的目标参考文本,获取所述目标参考文本对应的目标SQL模板语句,作为所述第一文本数据对应的目标SQL模板语句;所述数据库中预设有多组参考文本与SQL模板语句的对应关系。
在其中一个实施例中,从所述数据库中确定与所述第一文本数据匹配的目标参考文本包括:
利用训练好的语义识别模型对所述第一文本数据进行文本意图识别,基于识别得到的文本意图与所述数据库中预设的多个参考文本进行匹配,得到与所述文本数据匹配的目标参考文本;其中,所述语义识别模型基于所述数据库中存储的历史SQL语句转换得到的训练文本数据训练得到。
在其中一个实施例中,对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句包括:
利用规则匹配提取所述第一文本数据中的关键词;所述关键词包括用于获取数据表的第一关键词、用于表征查询时间的第二关键词、用于表征查询字段的第三关键词以及用于表征查询条件的第四关键词;
将所述第一关键词与所述数据库中数据表的字段进行匹配,得到所述数据表中与所述第一关键词相匹配的第一字段,基于所述第一字段确定所述第一文本数据对应的数据表;
在所述第一文本数据对应的数据表中获取与所述第二关键词对应的第二字段,并将所述第一字段与对应的第三关键词、以及第四关键词进行组合,将所述第二字段与对应的第二关键词、以及第四关键词进行组合,得到组合查询条件;
以所述第一文本数据对应的数据表以及得到的所述组合查询条件,对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句。
在其中一个实施例中,在基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果之后,所述方法还包括:
在接收到用户输入的对所述数据查询结果不满意的第一触发指令之后,接收在操作界面输入的第二文本数据;
对所述第二文本数据和所述第一文本数据进行整合形成第三文本数据;
将所述第三文本数据作为新的第一文本数据,返回执行对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句的步骤。
在其中一个实施例中,所述方法还包括:
若接收到用户输入的对所述数据查询结果满意的第二触发指令,对所述第一文本数据对应的完整的SQL语句进行记录;
将当前记录的完整的SQL语句作为与所述第一文本数据匹配的SQL语句,并保存所述对应关系,以更新所述数据库中保存历史SQL语句与对应的训练文本数据的知识库。
在其中一个实施例中,所述接收在操作界面输入的用于查询数据库的第一文本数据之前,所述方法还包括:
在所述操作界面上显示至少一个数据表类别,接收用户基于所述操作界面选定的目标数据表类别;所述至少一个数据表类别为对数据库中的多个数据表进行分类得到;其中,所述任一数据表类别下对应设置有多个SQL模板语句;
对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句包括:
对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配所述目标数据表类别下的多个SQL模板语句,得到所述第一文本数据对应的SQL模板语句。
一种数据库查询装置,所述装置包括:
接收模块,用于接收在操作界面输入的用于查询数据库的第一文本数据;
文本意图识别模块,用于对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句;
SQL语句生成模块,用于对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句;
数据查询模块,用于基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
上述数据库查询方法、装置、计算机设备和存储介质,在接收到用户在操作界面输入的用于查询数据库的第一文本数据时,对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句;对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句;基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果。通过将用户输入的基于自然语言理解的文本数据自动转换成用户想要查询数据的SQL语句,进而利用转换得到的SQL语句在数据库中查询得到用户想要的结果,进而实现了基于用户所输入的自然语言文本在数据库中查询到数据,使得用户能够在不需要懂计算机技术的情况下,从数据库中快速查到想要的数据。
附图说明
图1为一个实施例中数据库查询方法的流程示意图;
图2为其中一个实施例中数据库查询方法的流程示意图;
图3为其中一个实施例中数据库查询方法的流程示意图;
图4为其中一个实施例中数据库查询方法的流程示意图;
图5为一个实施例中数据库查询方法的操作界面示意图;
图6为其中一个实施例中数据库查询方法的操作界面示意图;
图7为其中一个实施例中数据库查询方法的操作界面示意图;
图8为一个实施例中数据库查询装置的模块示意图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种数据库查询方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例中,所述数据库查询方法包括以下步骤:
步骤102,接收在操作界面输入的用于查询数据库的第一文本数据。
具体地,在终端或服务器中提供了一种数据查询系统,在数据库查询系统的操作界面上设置有文本输入框,用户可以在操作界面的文本输入框中输入用户查询数据库的第一文本数据,并响应于用户在输入第一文本数据后的触发操作时,接收用户在操作界面上所输入的第一文本数据。其中,可以理解地,该第一文本数据可以是基于自然语言理解的文本数据,触发操作可以是点击按钮操作、滑动操作、回车操作等。
步骤104,对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句。
具体地,在数据库中预设有多组参考文本与SQL模板语句的对应关系。在一个实施方式中,在接收到用户输入的第一文本数据时,利用自然语言语义识别处理技术对上述第一文本数据进行文本意图识别,并将识别得到的文本意图,与预设的多个参考文本进行匹配,将匹配的参考文本所对应的SQL模板语句作为所述第一文本数据对应的SQL模板语句。
步骤106,对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句。
具体地,在确定了第一文本数据所对应的SQL模板语句之后,进一步提取第一文本数据中的关键词,并将提取到的关键词进行转换而填充到对应的SQL模板语句后,得到所述第一文本数据所对应的完整的SQL语句。
步骤108,基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果。
具体地,在得到第一文本数据对应的完整的SQL语句之后,基于所得到的完整的SQL语句去查询数据库,进而查询得到用户所需要的数据,并在操作界面上向用户展示对应的数据查询结果。
上述数据库查询方法、装置、计算机设备和存储介质,通过将用户输入的基于自然语言理解的文本数据自动转换成用户想要查询数据的SQL语句,进而利用转换得到的SQL语句在数据库中查询得到用户想要的结果,进而实现了基于用户所输入的自然语言文本在数据库中查询到数据,使得用户能够在不需要懂计算机技术的情况下,从数据库中快速查到想要的数据。
在其中一个实施例中,所述对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句包括:
从所述数据库中确定与所述第一文本数据匹配的目标参考文本,获取所述目标参考文本对应的目标SQL模板语句,作为所述第一文本数据对应的目标SQL模板语句。
其中,在数据库中预设的多组参考文本与SQL模板语句的对应关系中,所述参考文本可以是问题类别语句,则数据库中预设有多组问题类别语句与SQL模板语句的对应关系。在得到所述第一文本数据的文本意图之后,将文本意图与数据库中预设的多组问题类别语句进行匹配,确定与所述第一文本数据匹配的目标问题类别语句。
进一步地,根据文本意图与多组问题类别语句的匹配程度确定所述第一文本数据所对应的目标问题类别语句,若识别得到的文本意图与某一组问题类别语句匹配度大于预先设定的阈值,则将该问题分类语句所对应的SQL模板语句确定为所述第一文本数据所对应的SQL模板语句。
在其中一个实施例中,从所述数据库中确定与所述第一文本数据匹配的目标参考文本包括:
利用训练好的语义识别模型对所述第一文本数据进行文本意图识别,基于识别得到的文本意图与所述数据库中预设的多个参考文本进行匹配,得到与所述文本数据匹配的目标参考文本;其中,所述语义识别模型基于所述数据库中存储的历史SQL语句转换得到的训练文本数据训练得到。
具体地,在本实施例中,可以利用BERT模型先对数据库中的历史SQL语句所转换得到的训练文本数据进行训练得到训练好的BERT模型,进而利用训练好的BERT模型对第一文本数据进行文本意图识别。进一步地,训练文本数据来源于数据分析人员从所述数据库中所存储的文本意图描述,数据分析人员将所述数据库存储的大量历史SQL语句转换成对应的文本意图描述,将转换得到的文本意图描述作为BERT模型的训练文本数据进行训练,进而得到训练好的BERT模型。
在其中一个实施例中,对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句包括:
利用规则匹配提取所述第一文本数据中的关键词;所述关键词包括用于获取数据表的第一关键词、用于表征查询时间的第二关键词、用于表征查询字段的第三关键词以及用于表征查询条件的第四关键词;
将所述第一关键词与所述数据库中数据表的字段进行匹配,得到所述数据表中与所述第一关键词相匹配的第一字段,基于所述第一字段确定所述第一文本数据对应的数据表;
在所述第一文本数据对应的数据表中获取与所述第二关键词对应的第二字段,并将所述第一字段与对应的第三关键词、以及第四关键词进行组合,将所述第二字段与对应的第二关键词、以及第四关键词进行组合,得到组合查询条件;
以所述第一文本数据对应的数据表以及得到的所述组合查询条件,对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句。
具体地,基于通过正则匹配筛选得到的第一关键词来获取第一文本数据所对应的查询结果所在的数据表。进一步地,将第一关键词与数据表中的字段进行匹配,进而得到与第一关键词匹配的第一字段,进而将该第一字段所在的数据表确定该第一文本数据所查询的数据表。例如,若获取到的第一关键词是“投资金额”,则投资金额可以匹配到数据库中招标项目一览表中的第一字段“项目总金额”,由此确定该第一文本数据对应的数据表是“招标项目一览表”,即基于所述第一文本数据在所述确定的招标项目一览表中查询数据。
进一步地,在确定了第一文本数据所查询的数据表之后,将用于表征查询时间的第二关键词与对应的数据表的字段进行匹配得到第二字段。例如,若获取到的用于表征查询时间的第二关键词是2013,则将2013可以匹配到数据库中招标项目一览表中的第二字段“项目年份”。进一步地,若获取到的用于表征查询字段的第三关键词是“十亿”,获取到的用于表征查询条件的第四关键词是“大于”,则将所述第一字段“项目总金额”与对应的第三关键词“十亿”、以及第四关键词“大于”进行组合,将所述第二字段“项目年份”与对应的第二关键词“2013”、以及第四关键词“大于”进行组合,得到组合查询条件。其中,得到的组合查询条件可以是:项目年份>2013and项目总金额>10*100000000。
进一步地,在基于上述关键词得到组合查询条件之后,以所述第一文本数据对应的数据表以及得到的所述组合查询条件,对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句。其中,可以将数据表以及组合查询条件,以槽填充的方式补充到对应的SQL模板语句中,而最终形成完整的SQL语句。在一个实施方式中,若确定的所述第一文本数据所对应的SQL模板语句为:select[槽]from数据表where1=1[槽]...,确定的第一文本数据对应的数据表为招标项目一览表,得到的组合查询条件是项目年份>2013and项目总金额>10*10000000,则将所述数据表以及组合查询条件填充到对应的SQL模板语句形成的完整的SQL语句为:select*from招标项目一览表where 1=1and项目年份>2013and项目总金额>10*10000000。
在其中一个实施例中,如图2所示,在基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果之后,所述方法还包括:
步骤210,在接收到用户输入的对所述数据查询结果不满意的第一触发指令之后,接收在操作界面输入的第二文本数据;
步骤212,对所述第二文本数据和所述第一文本数据进行整合形成第三文本数据,将所述第三文本数据作为新的第一文本数据,返回执行对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句的步骤204。
具体地,系统在根据所述完整的SQL语句查询数据库,并向操作界面展示一次数据查询结果之后,返回的数据查询结果可能并没有100%解决用户的问题,若用户对返回的数据查询结果不满意,则在系统的操作界面上输入不满意的第一触发指令,系统就开始进入状态跟踪处理状态,接收用户在操作界面上输入的第二文本数据,根据已有的知识库进行对话策略优化,尝试在关联上一次用户问题的相关答案的基础上,将第二文本数据与第一文本数据进行整合形成第三文本数据,将所述第三文本数据作为新的第一文本数据,重复执行对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句的步骤,最大限度地查询到匹配用户的数据查询结果。
在其中一个实施例中,如图3所示,所述方法还包括:
步骤310,若接收到用户输入的对所述数据查询结果满意的第二触发指令,对所述第一文本数据对应的完整的SQL语句进行记录;
步骤312,将当前记录的完整的SQL语句作为与所述第一文本数据匹配的SQL语句,并保存所述对应关系,以更新所述数据库中保存历史SQL语句与对应的训练文本数据的知识库。
具体地,在重复执行多轮上述步骤之后,若接收到用户输入的对所述数据查询结果满意的第二触发指令,则说明系统已经匹配查询到了所需要的用户答案,将此时所述第一文本数据所对应的完整的SQL语句确定为与第一文本数据最匹配的SQL语句,并将第一文本数据与最匹配的SQL语句的对应关系进行保存,从而更新数据库中保存历史SQL语句与对应的训练文本数据的知识库,以提高后续回答用户相似的问题的数据查询速度。
在其中一个实施例中,如图4所示,所述接收在操作界面输入的用于查询数据库的第一文本数据之前,所述方法还包括:
步骤400,在所述操作界面上显示至少一个数据表类别,接收用户基于所述操作界面选定的目标数据表类别;所述至少一个数据表类别为对数据库中的多个数据表进行分类得到;其中,所述任一数据表类别下对应设置有多个SQL模板语句;
对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句包括:
步骤404,对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配所述目标数据表类别下的多个SQL模板语句,得到所述第一文本数据对应的SQL模板语句。
具体地,在系统的操作界面上显示有至少一个数据表类别,用户在输入第一文本数据之前,先在操作界面选定所要查询的目标数据表类别,在选定所要查询的目标数据表类别之后,再输入第一文本数据,使得系统能够在所选定的目标数据表类别下进行数据查询。进一步地,例如,数据库中有用户表、角色表、考勤表、建设工程项目表、招标项目一览表、评标候选人结果表等等,而这些表并不是全部属于同一类的,事先可以人为将上述数据表进行分类得到数据表所在的数据表类别,其中,可以将建设工程项目表、招标项目一览表、评标候选人结果表归为招投标分类,用户可以在操作界面上选定招投标类别,则确定用户所要查询的目标数据表在招投标类别下,进而在招投标类别下查询用户所需要的数据。
进一步地,每个数据表类别下对应设置有多个SQL模板语句,在确定了用户查询的目标数据表类别之后,将第一文本数据识别得到的文本意图与目标数据表类别下所对应的多个SQL模板语句去匹配,进而能够缩小所查询的数据范围,进一步提高用户的数据查询效率。
应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本申请实施例加以示例性说明,但应当理解的是,本申请实施例并不限于此。
本实施例中,如图5所示,打开系统的操作界面,可以看到在系统的操作界面上分好的类别,在界面上显示为服务分类。在服务分类下显示有多个数据表类别,其中包括基本建设程序跟踪审计、征地拆迁审计、招投标审计等等,具体地,系统数据库中保存有用户表、角色表、建设工程项目表、招标项目一览表、评标候选人结果等等,系统首先通过人为分来对各个数据表划分到不同的类别下。例如,在招投标审计类下面可以设置建设工程项目表、招标项目一览表、评标候选人结果等多个数据表。
在其中一个实施例中,进一步参考图6所示,假如用户想要查询招投标相关的数据,则可以先点击【招投标审计】,在选中【招投标审计】类别之后,后续则在【招投标审计】类别下的三个数据表中进行数据查询。确定了【招投标审计】类别之后,在输入框501中输入用于查询数据的第一文本数据,例如若输入的第一文本数据可以是:2013年以来,投资金额大于10亿的工程项目有哪些?数据库系统后台在接收到上述问题语句之后,基于训练好的BERT模型对上述问题语句进行文本意图识别,进而基于得到的文本意图与数据库中预存的问题类别语句进行匹配,得到匹配度最高的问题类别语句,进而将该问题类别语句对应的SQL模板语句作为该第一文本语句对应的SQL模板语句。具体地,此时得到的SQL模板语句可以为:select[槽]from t_招标项目一览表where 1=1[槽]...。进一步地,利用正则匹配,筛选提取出上述第一文本数据中的关键词:2013年、投资金额、大于、10亿,10亿可以被转换成10*100000000,结合前述给出的方式,将投资金额以相似度匹配到招标项目一览表中的项目总金额字段,进而将上述关键词组合得到的组合查询条件填充到上述的模板语句中而得到对应的完整SQL语句:select*from招标项目一览表where 1=1 and项目年份>2013and项目总金额>10*10000000。
进一步地,继续参考图6,在得到上述第一文本数据对应的完整的SQL语句之后,进而基于所述完整的SQL语句进行数据查询并在操作界面上展示查询结果,如图6所示,在操作界面已经展示了基于用户输入的第一文本数据“2013年以来,投资金额大于10亿的工程项目有哪些?”的两条数据查询结果。其中,数据查询结果中的字段可以包括招标申请ID、项目年份、项目编号、项目类型、招标人名称、项目区域、项目施工地点、监督单位、招标代理名称的一项或多项。若此次查询已经获得了用户想要的结果,则用户点击“有用”,则查询结束。但往往一次查询无法得到用户想要的结果,若此次查询没有获得用户想要的结果,如图7所示,则用户点击“没用”,则系统会进一步追问并提示可追加条件,其中,可追加条件“这些被投资的工程项目中项目区域A区的有哪些?”,在接收到追加条件后,系统尝试关联上一次用户问题的相关答案,在前述问题的基础上形成新的问题语句,重复执行多轮数据查询过程,直到得到用户满意的数据查询结果,并将用户满意的数据查询结果对应的完整的SQL语句存入数据库中。
在一个实施例中,如图8所示,提供了一种数据库查询装置,所述装置包括:
接收模块810,用于接收在操作界面输入的用于查询数据库的第一文本数据;
文本意图识别模块820,用于对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句;
SQL语句生成模块830,用于对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句;
数据查询模块840,用于基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果。
关于数据库查询装置的具体限定可以参见上文中对于数据库查询方法的限定,在此不再赘述。上述数据库查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据查询方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据库查询方法,其特征在于,所述方法包括:
接收在操作界面输入的用于查询数据库的第一文本数据;
对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句;
对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句;
基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句包括:
从所述数据库中确定与所述第一文本数据匹配的目标参考文本,获取所述目标参考文本对应的目标SQL模板语句,作为所述第一文本数据对应的目标SQL模板语句;所述数据库中预设有多组参考文本与SQL模板语句的对应关系。
3.根据权利要求2所述的方法,其特征在于,从所述数据库中确定与所述第一文本数据匹配的目标参考文本包括:
利用训练好的语义识别模型对所述第一文本数据进行文本意图识别,基于识别得到的文本意图与所述数据库中预设的多个参考文本进行匹配,得到与所述文本数据匹配的目标参考文本;其中,所述语义识别模型基于所述数据库中存储的历史SQL语句转换得到的训练文本数据训练得到。
4.根据权利要求1所述的方法,其特征在于,对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句包括:
利用规则匹配提取所述第一文本数据中的关键词;所述关键词包括用于获取数据表的第一关键词、用于表征查询时间的第二关键词、用于表征查询字段的第三关键词以及用于表征查询条件的第四关键词;
将所述第一关键词与所述数据库中数据表的字段进行匹配,得到所述数据表中与所述第一关键词相匹配的第一字段,基于所述第一字段确定所述第一文本数据对应的数据表;
在所述第一文本数据对应的数据表中获取与所述第二关键词对应的第二字段,并将所述第一字段与对应的第三关键词、以及第四关键词进行组合,将所述第二字段与对应的第二关键词、以及第四关键词进行组合,得到组合查询条件;
以所述第一文本数据对应的数据表以及得到的所述组合查询条件,对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句。
5.根据权利要求1至4任意一项所述的方法,其特征在于,在基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果之后,所述方法还包括:
在接收到用户输入的对所述数据查询结果不满意的第一触发指令之后,接收在操作界面输入的第二文本数据;
对所述第二文本数据和所述第一文本数据进行整合形成第三文本数据;
将所述第三文本数据作为新的第一文本数据,返回执行对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句的步骤。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若接收到用户输入的对所述数据查询结果满意的第二触发指令,对所述第一文本数据对应的完整的SQL语句进行记录;
将当前记录的完整的SQL语句作为与所述第一文本数据匹配的SQL语句,并保存所述对应关系,以更新所述数据库中保存历史SQL语句与对应的训练文本数据的知识库。
7.根据权利要求1-4任一项所述的方法,其特征在于,
所述接收在操作界面输入的用于查询数据库的第一文本数据之前,所述方法还包括:
在所述操作界面上显示至少一个数据表类别,接收用户基于所述操作界面选定的目标数据表类别;所述至少一个数据表类别为对数据库中的多个数据表进行分类得到;其中,所述任一数据表类别下对应设置有多个SQL模板语句;
对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句包括:
对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配所述目标数据表类别下的多个SQL模板语句,得到所述第一文本数据对应的SQL模板语句。
8.一种数据库查询装置,其特征在于,所述装置包括:
接收模块,用于接收在操作界面输入的用于查询数据库的第一文本数据;
文本意图识别模块,用于对所述第一文本数据进行文本意图识别,并根据识别得到的文本意图匹配预设的SQL模板语句得到所述第一文本数据对应的SQL模板语句;
SQL语句生成模块,用于对所述第一文本数据进行关键词提取,并根据提取到的所述关键词对所述第一文本数据对应的SQL模板语句进行补齐,得到所述第一文本数据对应的完整的SQL语句;
数据查询模块,用于基于所述完整的SQL语句查询所述数据库,并在所述操作界面展示对应的数据查询结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
CN202111314103.1A 2021-11-08 2021-11-08 数据库查询方法、装置、计算机设备和存储介质 Pending CN114253990A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111314103.1A CN114253990A (zh) 2021-11-08 2021-11-08 数据库查询方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111314103.1A CN114253990A (zh) 2021-11-08 2021-11-08 数据库查询方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN114253990A true CN114253990A (zh) 2022-03-29

Family

ID=80790533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111314103.1A Pending CN114253990A (zh) 2021-11-08 2021-11-08 数据库查询方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114253990A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936271A (zh) * 2022-06-27 2022-08-23 阿里云计算有限公司 自然语言转换数据库查询语句的方法、设备及介质
CN117149985A (zh) * 2023-10-31 2023-12-01 海信集团控股股份有限公司 一种基于大模型的问答方法、装置、设备及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150374A1 (en) * 2007-12-07 2009-06-11 International Business Machines Corporation System, method and program product for detecting sql queries injected into data fields of requests made to applications
WO2015036817A1 (en) * 2013-09-15 2015-03-19 Yogesh Chunilal Rathod Structured updated status, requests, user data & programming based presenting & accessing of connections
CN109299129A (zh) * 2018-09-05 2019-02-01 深圳壹账通智能科技有限公司 自然语言的数据查询方法、装置、计算机设备及存储介质
CN109408526A (zh) * 2018-10-12 2019-03-01 平安科技(深圳)有限公司 Sql语句生成方法、装置、计算机设备及存储介质
CN110362798A (zh) * 2019-06-17 2019-10-22 平安科技(深圳)有限公司 裁决信息检索分析方法、装置、计算机设备和存储介质
CN111008309A (zh) * 2019-12-06 2020-04-14 北京百度网讯科技有限公司 查询方法及装置
CN111177180A (zh) * 2019-12-11 2020-05-19 北京百分点信息科技有限公司 一种数据查询方法、装置以及电子设备
CN112380240A (zh) * 2020-11-17 2021-02-19 深圳壹账通智能科技有限公司 基于语义识别的数据查询方法、装置、设备及存储介质
CN112800201A (zh) * 2021-01-28 2021-05-14 杭州汇数智通科技有限公司 自然语言的处理方法、装置及电子设备
CN113495900A (zh) * 2021-08-12 2021-10-12 国家电网有限公司大数据中心 基于自然语言的结构化查询语言语句获取方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150374A1 (en) * 2007-12-07 2009-06-11 International Business Machines Corporation System, method and program product for detecting sql queries injected into data fields of requests made to applications
WO2015036817A1 (en) * 2013-09-15 2015-03-19 Yogesh Chunilal Rathod Structured updated status, requests, user data & programming based presenting & accessing of connections
CN109299129A (zh) * 2018-09-05 2019-02-01 深圳壹账通智能科技有限公司 自然语言的数据查询方法、装置、计算机设备及存储介质
CN109408526A (zh) * 2018-10-12 2019-03-01 平安科技(深圳)有限公司 Sql语句生成方法、装置、计算机设备及存储介质
CN110362798A (zh) * 2019-06-17 2019-10-22 平安科技(深圳)有限公司 裁决信息检索分析方法、装置、计算机设备和存储介质
CN111008309A (zh) * 2019-12-06 2020-04-14 北京百度网讯科技有限公司 查询方法及装置
CN111177180A (zh) * 2019-12-11 2020-05-19 北京百分点信息科技有限公司 一种数据查询方法、装置以及电子设备
CN112380240A (zh) * 2020-11-17 2021-02-19 深圳壹账通智能科技有限公司 基于语义识别的数据查询方法、装置、设备及存储介质
CN112800201A (zh) * 2021-01-28 2021-05-14 杭州汇数智通科技有限公司 自然语言的处理方法、装置及电子设备
CN113495900A (zh) * 2021-08-12 2021-10-12 国家电网有限公司大数据中心 基于自然语言的结构化查询语言语句获取方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936271A (zh) * 2022-06-27 2022-08-23 阿里云计算有限公司 自然语言转换数据库查询语句的方法、设备及介质
CN117149985A (zh) * 2023-10-31 2023-12-01 海信集团控股股份有限公司 一种基于大模型的问答方法、装置、设备及介质
CN117149985B (zh) * 2023-10-31 2024-03-19 海信集团控股股份有限公司 一种基于大模型的问答方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN110457431B (zh) 基于知识图谱的问答方法、装置、计算机设备和存储介质
CN110837550B (zh) 基于知识图谱的问答方法、装置、电子设备及存储介质
WO2020077824A1 (zh) 异常问题的定位方法、装置、设备及存储介质
CN111666401B (zh) 基于图结构的公文推荐方法、装置、计算机设备及介质
CN107590224B (zh) 基于大数据的用户偏好分析方法与装置
CN111105209B (zh) 适用于人岗匹配推荐系统的职位简历匹配方法及装置
CN111144723A (zh) 人岗匹配推荐方法及系统、存储介质
JP2020521210A (ja) 情報処理方法及び端末、コンピュータ記憶媒体
CN110737756B (zh) 确定针对用户输入数据的应答的方法、装置、设备和介质
CN111191105B (zh) 政务信息的搜索方法、装置、系统、设备及存储介质
CN114253990A (zh) 数据库查询方法、装置、计算机设备和存储介质
CN110362798B (zh) 裁决信息检索分析方法、装置、计算机设备和存储介质
US12008047B2 (en) Providing an object-based response to a natural language query
CN111159987A (zh) 数据图表绘制方法、装置、设备和计算机可读存储介质
CN112685475A (zh) 报表查询方法、装置、计算机设备及存储介质
CN113343108A (zh) 推荐信息处理方法、装置、设备及存储介质
CN111400340A (zh) 一种自然语言处理方法、装置、计算机设备和存储介质
CN110597951A (zh) 文本解析方法、装置、计算机设备和存储介质
CN117112595A (zh) 一种信息查询方法、装置、电子设备及存储介质
CN111737607A (zh) 数据处理方法、装置、电子设备以及存储介质
CN110688559A (zh) 一种检索方法及装置
CN116414961A (zh) 基于军事领域知识图谱的问答方法和系统
CN112541091A (zh) 图像搜索方法、装置、服务器和存储介质
CN115858742A (zh) 问题文本扩充方法、装置、设备及存储介质
JP2016038667A (ja) 情報提供装置、情報提供方法、および情報提供プログラム

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
CB02 Change of applicant information

Country or region after: China

Address after: 510700 room 701, No. 11, Kelin Road, Science City, Huangpu District, Guangzhou City, Guangdong Province

Applicant after: GRG BANKING IT Co.,Ltd.

Applicant after: Guangdian Yuntong Group Co.,Ltd.

Address before: 510700 room 701, No. 11, Kelin Road, Science City, Huangpu District, Guangzhou City, Guangdong Province

Applicant before: GRG BANKING IT Co.,Ltd.

Country or region before: China

Applicant before: GRG BANKING EQUIPMENT Co.,Ltd.

TA01 Transfer of patent application right

Effective date of registration: 20240619

Address after: Room 701, No. 11, Kelin Road, Science City, Huangpu District, Guangzhou City, Guangdong Province, 510663

Applicant after: GRG BANKING IT Co.,Ltd.

Country or region after: China

Address before: 510700 room 701, No. 11, Kelin Road, Science City, Huangpu District, Guangzhou City, Guangdong Province

Applicant before: GRG BANKING IT Co.,Ltd.

Country or region before: China

Applicant before: Guangdian Yuntong Group Co.,Ltd.