CN117591547A - 数据库的查询方法、装置、终端设备以及存储介质 - Google Patents
数据库的查询方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN117591547A CN117591547A CN202410075405.5A CN202410075405A CN117591547A CN 117591547 A CN117591547 A CN 117591547A CN 202410075405 A CN202410075405 A CN 202410075405A CN 117591547 A CN117591547 A CN 117591547A
- Authority
- CN
- China
- Prior art keywords
- target
- query
- training data
- database
- model
- 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 100
- 238000004458 analytical method Methods 0.000 claims abstract description 71
- 238000000605 extraction Methods 0.000 claims abstract description 65
- 238000012549 training Methods 0.000 claims description 191
- 238000001514 detection method Methods 0.000 claims description 22
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005856 abnormality Effects 0.000 claims description 5
- 230000001502 supplementing effect Effects 0.000 claims description 4
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 22
- 230000003993 interaction Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据库的查询方法、装置、终端设备以及存储介质,属于数据库技术领域。该方法包括:获得目标查询文本,并根据目标命名识别模型对目标查询文本进行实体识别获得目标实体;根据目标语义分析模型对目标查询文本进行语义识别获得目标语义;根据目标关系抽取模型对目标查询文本进行关系抽取获得目标关系;根据目标实体、目标语义以及目标关系利用目标语句生成模型确定目标查询文本对应的目标查询语句;根据目标查询语句在数据库进行数据查询,获得目标查询文本对应的目标查询结果。该方法通过多个模型实现从查询文本到查询语句的自动化转换,提高数据库查询效率,降低数据库的使用难度。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据库的查询方法、装置、终端设备以及存储介质。
背景技术
随着数据量的迅猛增长,由于数据库具备高效的数据处理能力,可以迅速地存储、分析和挖掘海量数据,因此,将数据存储至数据库中成为大家的不二选择。
用户在进行数据库查询中,需要了解待查询的数据库对应的结构化查询语言(Structured Query Language,SQL)以及该数据库的结构和模式,这对于非专业用户来说可能是一个较大的障碍,因此,相关技术中提出基于规则的方法将用户查询语言映射成数据库查询语言。但是基于规则的方法依赖于手动编写复杂的语法规则和查询模板,增加了工作量严重影响了工作效率。而且,这种方法难以覆盖所有可能的查询情况,特别是在涉及复杂查询结构和领域特定语境的情况下,规则的设计和维护变得繁琐。
发明内容
本申请实施例的主要目的在于提供一种数据库的查询方法、装置、终端设备以及存储介质,旨在通过多个模型实现从查询文本到查询语句的自动化转换,提高数据库查询效率,降低数据库的使用难度。
第一方面,本申请实施例提供一种数据库的查询方法,包括:
获得目标查询文本,并根据目标命名识别模型对所述目标查询文本进行实体识别获得目标实体;
根据目标语义分析模型对所述目标查询文本进行语义识别获得目标语义;
根据目标关系抽取模型对所述目标查询文本进行关系抽取获得目标关系;
根据所述目标实体、所述目标语义以及所述目标关系利用目标语句生成模型确定所述目标查询文本对应的目标查询语句;
根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
第二方面,本申请实施例提供一种数据库的查询装置,包括:
实体获取模块,用于获得目标查询文本,并根据目标命名识别模型对所述目标查询文本进行实体识别获得目标实体;
语义获取模块,用于根据目标语义分析模型对所述目标查询文本进行语义识别获得目标语义;
关系获取模块,用于根据目标关系抽取模型对所述目标查询文本进行关系抽取获得目标关系;
语句获取模块,用于根据所述目标实体、所述目标语义以及所述目标关系利用目标语句生成模型确定所述目标查询文本对应的目标查询语句;
结果获取模块,用于根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
第三方面,本申请实施例还提供一种终端设备,所述终端设备包括处理器、存储器、存储在所述存储器上并可被所述处理器执行的计算机程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中所述计算机程序被所述处理器执行时,实现如本申请说明书提供的任一项数据库的查询方法的步骤。
第四方面,本申请实施例还提供一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本申请说明书提供的任一项数据库的查询方法的步骤。
本申请实施例提供一种数据库的查询方法、装置、终端设备以及存储介质,其中,该方法包括获得目标查询文本,并根据目标命名识别模型对目标查询文本进行实体识别获得目标实体;根据目标语义分析模型对目标查询文本进行语义识别获得目标语义;根据目标关系抽取模型对目标查询文本进行关系抽取获得目标关系;进而根据目标实体、目标语义以及目标关系利用目标语句生成模型确定目标查询文本对应的目标查询语句;最后根据目标查询语句在数据库进行数据查询,获得目标查询文本对应的目标查询结果。本申请实施例通过目标命名识别模型自动识别出所需查询的目标实体,通过目标语义分析模型自动识别出查询文本的目标语义,并通过目标关系抽取模型抽取查询文本的目标关系,从而将目标查询文本自动化转换为数据库中的目标查询语句,以便根据目标查询语句获得对应的目标查询结果,实现了目标查询语句的自动生成,提高了数据库的查询效率。
相较于相关技术,本申请通过多个模型的联合应用,能够从结构更为复杂、包含更多复杂语法的目标查询文本中,识别出需要转换的信息(如目标实体、目标语义、目标关系),从而将目标查询文本自动转换为数据库的目标查询语句,大大提升了本申请实施例的适应性,使得本申请实施例能够应对数据库的复杂查询,进一步提升了数据库查询的自动化程度,提升了复杂查询的处理效率,降低数据库的使用难度。本申请实施例解决了相关技术中用户在使用数据库时需要了解数据的相关信息的问题,降低了用户使用数据库的时间成本,提高了查询效率,以及解决了相关技术中基于规则的方法进行数据库查询时维护工作较为繁琐且维护成本较高的问题,提高了数据库查询效率,尤其是提升了复杂查询的处理效率,降低数据库的使用难度。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据库的查询方法的流程示意图;
图2为本申请实施例提供的一种数据库查询方式的原理示意图;
图3为本申请实施例提供的一种数据库的查询装置的模块结构示意图;
图4为本申请实施例提供的一种终端设备的结构示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
本申请实施例提供一种数据库的查询方法、装置、终端设备以及存储介质。其中,该数据库的查询方法可应用于终端设备中,该终端设备可以平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。该终端设备可以为服务器,也可以为服务器集群。
随着数据量的迅猛增长,由于数据库具备高效的数据处理能力,可以迅速的存储、分析和挖掘海量数据,因此,将数据存储至数据库中成为大家的不二选择。为保证非专业人士也可以正常进行数据库查询,相关技术中可以采用基于规则的方法将用户查询文本转换至数据库查询语句,但是该方法需要大量手动编写语法规则和查询模板,难以应对复杂查询。因此,亟需一种数据库的查询方法。
下面结合附图,对本申请的一些实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请实施例提供的一种数据库的查询方法的流程示意图。
如图1所示,该数据库的查询方法包括步骤S101至步骤S105。
步骤S101、获得目标查询文本,并根据目标命名识别模型对所述目标查询文本进行实体识别获得目标实体。
示例性地,当用户需要对数据库进行查询时,设置目标查询文本,进而利用目标命名识别模型对目标查询文本进行实体识别获得目标查询文本中对应的目标实体。其中,目标命名识别模型中包含的实体类型为数据库名、表名、列名、关键词等。
例如,目标查询文本为“获得ceshi库test表中shuxue列下对应的成绩大于130分的数据量的总数”,则需要利用目标命名识别模型识别出该语句中ceshi为数据库名、test为表名,shuxue为列名,其他关键词可以包括大于、130分、总数等等。
示例性地,假设目标命名识别模型的模型结构由BI-LSTM和CRF组合而成,考虑到,在该领域中标注数据的数据量较小,可能因缺乏足够数据而导致目标命名识别模型的性能下降。在获得目标命名识别模型时可通过预训练模型和迁移学习,将通用命名识别结果与本领域特定数据相结合,从而提高目标命名识别模型在数据稀缺情况下的性能。
此外,本申请在获得目标命名识别模型的同时,在模型使用初期可以先利用基于规则的方法或者基于统计的方法,辅助目标命名识别模型对目标查询文本进行实体识别获得目标实体,从而保证目标命名识别模型对目标查询文本进行实体识别的准确性。
步骤S102、根据目标语义分析模型对所述目标查询文本进行语义识别获得目标语义。
示例性地,利用目标语义分析模型对目标查询文本进行用户意图分析,获得目标查询文本对应的目标语义。从而根据目标语义分析模型对目标查询文本进行查询意图分类,进而更准确地识别出目标查询文本对应的查询意图,进而根据查询意图中的关键信息并将目标查询文本分解为多个子任务,进而提高了目标查询文本生成准确数据库查询命名的能力。
例如,目标查询文本为“获得ceshi库test表中shuxue列下对应的成绩大于130分的数据量的总数”,则利用目标语义分析模型对该目标查询文本进行用户意图分类可知,该目标查询文本对应的目标语义是数据量的总数计算,因此可以将该目标查询文本拆解为2个子任务,任务1为获得ceshi库test表中shuxue列下对应的成绩大于130分的数据量,任务2为获得任务1对应结果的总数。
可选地,目标语义分析模型的模型结构可以为神经网络模型,也可以是机器学习模型,本申请不做具体限制,用户可根据实际需求自行设置。
步骤S103、根据目标关系抽取模型对所述目标查询文本进行关系抽取获得目标关系。
示例性地,利用目标关系抽取模型对目标查询文本进行关系抽取,从而获得目标查询文本中目标实体之间的目标关系。从而使得目标查询文本中目标实体之间的关联关系更加清晰。
例如,目标查询文本为“获得ceshi库test表中shuxue列下对应的成绩大于130分的数据量的总数”,目标实体为ceshi为数据库名、test为表名,shuxue为列名,其他关键词可以包括大于、130分、数据量、总数等等,则可获得目标实体ceshi与目标实体test之间的关联关系为依赖关系,目标实体test与目标实体shuxue之间的关联关系为依赖关系,目标实体数据量与目标实体总数之间的关联关系为限制关系等等。
可选地,目标关系抽取模型的模型结构可以为神经网络模型,也可以是机器学习模型,本申请不做具体限制,用户可根据实际需求自行设置。
步骤S104、根据所述目标实体、所述目标语义以及所述目标关系利用目标语句生成模型确定所述目标查询文本对应的目标查询语句。
示例性地,获得目标查询文本对应地目标实体、目标语义以及目标关系后,将目标实体、目标语义以及目标关系输入至目标语句生成模型从而获得目标查询文本对应地目标查询语句。
例如,目标语句生成模型可以采用生成式模型结构,进而将目标实体、目标语义以及目标关系转换至对应数据库的目标查询语句。
在一些实施方式中,所述获得目标查询文本之前,还包括:获得目标训练数据,并根据所述目标训练数据调整初始命名识别模型获得目标命名识别模型,根据所述目标训练数据调整初始语义分析模型获得目标语义分析模型,以及根据所述目标训练数据调整初始关系抽取模型获得目标关系抽取模型;根据所述目标命名识别模型对所述目标训练数据进行实体识别获得实体识别结果,根据所述目标语义分析模型对所述目标训练数据进行语义识别获得语义识别结果,根据所述目标关系抽取模型对所述目标训练数据进行关系识别获得关系识别结果;根据所述实体识别结果、所述语义识别结果以及所述关系识别结果调整初始语句生成模型获得目标语句生成模型。
这样,利用局部模型参数对模型进行微调,能够大大降低下游任务可训练参数量,进一步提升训练效果。
示例性地,在获得目标查询文本之前,需要先获得目标命名识别模型、目标语义分析模型、目标关系抽取模型以及目标语句生成模型。
示例性地,获得目标训练数据,目标训练数据包括用户查询文本以及该用户查询文本对应的数据库查询语句,用户查询文本中的实体名称、实体类型以及该实体名称在用户查询文本中的位置信息,实体名称之间的关联关系、用户查询文本对应的语义类型等等。
示例性地,获得初始命名识别模型,该初始命名识别模型对应的模型参数为现有开源数据下进行模型训练得到的,则利用目标训练数据对初始命名识别模型对应的模型参数进行调整,从而获得适合数据库查询领域的目标命名识别模型,进而提高目标命名识别模型的识别准确性。
例如,初始命名识别模型可以为基于自然语言处理的命名实体识别模型,进而将目标训练数据中的关键词(如表名、列名、数据库名等)并将该关键词标记为特定的标识,从而利用目标训练数据对初始命名识别模型的模型参数进行调整,从而提高目标命名识别模型在数据库查询领域中实体识别的准确性。
实际应用中,初始命名识别模型包括但不限于基于规则的命名实体识别模型、基于统计的命名实体识别模型、基于深度学习的命名实体识别模型。
作为一个可选示例,假设初始命名识别模型为基于规则的命名实体识别模型。具体来说,初始命名实体识别模型可以用于在文本中查找命名实体的关键词或特征。假设通过该模型来识别和标记表名、列名、数据库名等特定的实体。以下是一种初始命名实体识别模型的实现方式为:
首先,构建一个包含表名、列名、数据库名等关键词的词典。这些关键词将作为命名实体的特征。采用中文分词模块,对目标训练数据中待识别文本进行分词,将文本分割为单个的词或字。例如,中文分词模块可以是jieba分词。
进而,对分词之后的文本,采用初始命名识别模型依次将关键词词典中的每个关键词进行匹配。如果在匹配过程中找到了词典中的关键词,则可以将其标记为相应的命名实体类型,如表名、列名、数据库名等。最终,将标记好的命名实体进行输出,以供后续的处理或分析。可以以特定的标识符来表示命名实体,如用<表名>、<列名>、<数据库名>等的形式进行标记。
其中,初始命名识别模型执行关键词匹配的步骤,比如是:第一步,对每个关键词进行初始化,即:对于每个关键词,获取其长度并标记为keyword_len;创建一个辅助数组next,用于存储关键词中每个字符前缀和后缀相同的最大长度;对于关键词中的每个位置i(1<= i<keyword_len),计算next[i]的值,即关键词的前缀和后缀相同的最大长度。可选地,这一步可以通过递归或循环来实现。第二步,在分词后的文本进行匹配,即:对于文本中的每个词或字,将其与关键词词典中的每个关键词进行匹配;对于每个关键词,使用预设算法进行匹配。预设算法匹配过程中,初始化关键词的匹配位置为0;从文本中的当前位置开始,依次比较文本和关键词的字符;如果匹配成功,则继续比较下一个字符,同时更新关键词的匹配位置;如果匹配失败,则根据next数组的值,更新关键词的匹配位置,以尽量减少比较次数。进一步可选地,还可以采用已匹配的部分关键词来调整未匹配字符串的位置。注意的是,当关键词的匹配位置达到关键词的长度时,表示在文本中找到了一个匹配的关键词。通过以上步骤,可以利用预设算法来快速找到关键词在文本中的匹配位置,并标记相应的命名实体。
上述步骤中,预设算法的基本原理可以是,基于模式串的前缀和后缀的匹配信息进行字符跳过,以提高匹配的效率。算法的关键在于构建一个预处理数组(也称为部分匹配表),来存储模式串中每个位置之前的最长相同前缀后缀的长度。
另一些示例中,还可以采用其他算法实现上述步骤中的关键词匹配过程。例如,预设算法还可以是通过预处理信息来实现在模式串和文本串中进行跳跃的匹配。与前文介绍的预设算法不同的是,这一种预设算法主要依赖于模式串中最后一个字符的出现位置、坏字符规则以及后缀规则。实际应用中,预设算法还可以是,abin-Karp算法、Aho-Corasick算法等,此处暂不展开。
这里,初始命名识别模型的优势在于可以有效地在待识别文本中寻找关键词,有效避免相关技术识别过程中因算法冗余产生的不必要的比较,大大提高匹配效率。
示例性地,获得初始语义分析模型,该初始语义分析模型对应的模型参数为现有开源数据下进行模型训练得到的,则利用目标训练数据对初始语义分析模型对应的模型参数进行调整,从而获得适合数据库查询领域的目标语义分析模型,进而提高目标语义分析模型的识别准确性。
例如,初始语义分析模型可以为基于预训练的大型语言模型,进而将目标训练数据中用于解析描述中的谓词(如大于、小于等)实现对目标训练数据的语义划分,从而利用目标训练数据对初始语义分析模型的模型参数进行调整,从而提高目标语义分析模型在数据库查询领域中语义识别的准确性。
作为一个可选示例,首先,从目标训练数据中描述文本和谓词,并对描述文本和谓词进行预处理,包括但不限于文本清洗、分词、编码等。例如,对描述文本和谓词进行分词和编码,将目标训练数据中的谓词从文本形式转化为模型可以处理的数字形式。进而,将预处理后的描述文本和对应的谓词进行组合,例如可以使用特殊标记如[SEP]将描述文本和谓词分隔开,形成输入序列。例如,对于一条描述为"这个商品的价格大于100元",可以将其转化为输入序列"[CLS]这个商品的价格[SEP] 大于 [SEP]100元 [SEP]"。最终,将预处理后的描述文本和谓词构建为初始语义分析模型的输入序列,通过初始语义分析模型的前向传播得到输出结果,可以是对谓词的分类结果或其他形式的语义理解结果。根据初始语义分析模型的输出结果,对目标训练数据进行语义划分。根据谓词的分类结果或其他语义理解结果,可以将目标训练数据分为不同的语义类别,如"大于100元"、"小于100元"等。
进一步可选地,由于训练初始语义分析模型需要大量的计算资源和数据,可以对预训练的初始语义分析模型进行微调(fine-tuning),以节省训练成本和时间。例如,采用动态掩码微调(Dynamic Masking Fine-tuning)优化初始语义分析模型。具体地,在微调过程中,对预训练阶段中的掩码策略进行调整,以更好地适应目标任务。例如,对于需要关注上下文的任务,可以采用较长的掩码长度;对于需要关注局部语义的任务,可以采用较短的掩码长度。动态调整掩码策略有助于充分利用预训练模型的信息,提高模型的语义分析能力。或者,也可以采用预训练领域适应微调(Pretraining Domain Adaptation Fine-tuning)优化初始语义分析模型。当目标领域与预训练领域有较大差异时,可以采用预训练领域适应微调的方式。在微调过程中,使用一些目标领域的特定数据或标签来对模型进行进一步训练,以适应目标领域的特征和语义。这有助于提高模型在目标领域下的性能和泛化能力。
示例性地,获得初始关系抽取模型,该初始关系抽取模型对应的模型参数为现有开源数据下进行模型训练得到的,则利用目标训练数据对初始关系抽取模型对应的模型参数进行调整,从而获得适合数据库查询领域的目标关系抽取模型,进而提高目标关系抽取模型的识别准确性。
例如,初始关系抽取模型可以为基于规则训练得到的模型、统计模型、机器学习模型等等,进而将目标训练数据中用于识别目标查询语句中的实体(如表、列等)以及它们之间的关系(如一对一、一对多等)实现对目标训练数据的关系划分,从而利用目标训练数据对初始关系抽取模型的模型参数进行调整,从而提高目标关系抽取模型在数据库查询领域中关系抽取的准确性。
举例来说,可以采用领域交互模型来构建初始关系抽取模型,以便通过跨领域匹配来完成关系抽取任务。具体地,假设有两个领域的数据库查询语句,分别是医疗领域和金融保险领域。这两个领域的查询语句中可能会出现一些相同或相似的实体和关系,例如“病人”、“医生”、“治疗”、“费用”、“银行”、“余额”、“赔偿”等。因此,可以将两个领域的数据和标注同时用于训练关系抽取模型,来提高模型识别跨领域实体和关系的准确性。
首先,需要将两个领域的数据分别进行预处理和特征提取,例如使用文本嵌入技术将每条查询语句映射为一个固定长度的向量表达。接下来,可以将每个领域的特征向量送入不同的特征提取模型中,例如,分别使用两种不同类型的特征提取模型来学习上述两个领域的关系抽取任务。然后,将两个领域模型的特征数据进行交互,以促进跨领域特征的学习。比如,对于每个实体对,可以使用一个实体对交互网络(Entity Pair InteractionNetwork,EPIN)来计算两个领域中特征向量之间的交互。将两个实体的特征向量作为EPIN网络的输入,在多个层次上利用交互信息来生成实体对之间的交互特征。这些交互特征既包括实体之间的局部交互,也包括它们之间的全局交互。然后,可以将实体对交互特征进行分类,从而实现关系抽取任务。通过这种领域交互模型,可以将不同领域的知识和数据进行整合,从而训练出更加全面和鲁棒的关系抽取模型,提高模型在跨领域任务中的表现。需要注意的是,实现领域交互模型需要考虑不同领域的特点和相互影响,从而进行模型的设计和调整。
示例性地,在获得目标语句生成模型之前,目标语句生成模型进行训练的输入依赖于目标命名识别模型、目标语义分析模型以及目标关系抽取模型分别对应的实体识别结果、语义识别结果以及关系识别结果。进而利用目标命名识别模型对目标训练数据进行实体识别获得实体识别结果,利用目标语义分析模型对目标训练数据进行语义识别获得语义识别结果,以及利用目标关系抽取模型对目标训练数据进行关系识别获得关系识别结果。
示例性地,获得初始语句生成模型,该初始语句生成模型对应的模型参数为现有开源数据下进行模型训练得到的,则利用目标训练数据对应的实体识别结果、语义识别结果以及关系识别结果对初始语句生成模型对应的模型参数进行调整,从而获得适合数据库查询领域的目标语句生成模型,进而提高目标语句生成模型的语句生成的准确性。
例如,初始语句生成模型可以基于数据库查询语句生成规则算法、行列值匹配算法等中的至少一个构建得到,进而利用目标训练数据对应的实体识别结果、语义识别结果以及关系识别结果对初始语句生成模型进行模型参数调整,从而获得适合数据库查询领域的目标语句生成模型,进而提高目标语句生成模型的语句生成的准确性。
作为一个可选示例,假设初始语句生成模型可以基于数据库查询语句生成规则算法以及行列值匹配算法构建得到。假设有一个电影信息数据库,其中包括以下信息:电影名称、上映时间、导演、演员。如果用户将查询需求描述为“查询2018年以后上映的由张某执导的电影”,则可以使用行列值匹配算法来生成对应的初始查询语句。基于上述假设,首先,需要将用户的查询需求映射为相关的数据库列。在这个示例中,用户需要查询的信息包括“电影名称”、“上映时间”和“导演”。然后,可以根据这些查询信息构造一个初始的查询语句模板,例如“查询*上映时间大于2018年的*电影,导演为张某”。接着,使用关键词匹配的方法来确定每个查询信息所代表的值。这可以通过基于已有的电影信息表来进行行列值匹配得到。例如,在上述查询语句中,查询信息可能表示电影的名称和演员信息,因为这些查询信息在电影信息表的列中已经存在。因此,可以使用行列值匹配算法来找到和用户查询需求相符合的电影名称和演员信息,然后将其填入查询语句模板中。最后,可以使用目标训练数据对应的实体识别结果、语义识别结果以及关系识别结果对初始语句生成模型进行模型参数调整,从而获得适合数据库查询领域的目标语句生成模型,并进一步优化生成的查询语句的准确性。综上,通过这种基于数据库查询语句生成规则算法以及行列值匹配算法构建的初始语句生成模型,用户可以更加方便地生成符合查询需求的查询语句,提高数据库查询的效率和准确性。
具体地,通过获得目标命名识别模型、目标语义分析模型、目标关系抽取模型以及目标语句生成模型可以深度对用户输入的目标查询语句进行语义理解和语义关系建模,上述模型能够更精确地捕捉用户查询的意图和结构,从而生成更准确的数据库查询语句。从而使得使用数据库产品的用户可以获得更精确、满足需求的查询结果,提高了数据库的实用性。
在一些实施方式中,所述获得目标训练数据,包括:获得第一训练数据,并对所述第一训练数据进行数据预处理获得第二训练数据;对所述第二训练数据进行数据增强,获得目标训练数据。
示例性地,在实现数据库查询语句的任务中,数据收集是一个关键步骤,它涉及收集用于训练和评估数据库查询任务相关模型所需的数据,如包括用户查询语言和相应的数据库查询语句对应的数据查询对。这种数据通常需要包括自然语言问题、对应的数据库架构和表格数据,以及与问题对应的数据库查询语句等等。
示例性地,获得特定领域的数据库,例如餐厅、学术论文、医疗记录等,并设置需要收集的自然语言问题。该自然语言问题应该反映用户可能会提出的查询,同时涵盖目标数据库的各种方面,并将自然语言问题转换成数据库查询语言,进而将自然语言问题以及该自然语言问题对应的数据库查询语句作为第一训练数据。
示例性地,第一训练数据包括自然语言问题以及该自然语言问题对应的数据库查询语句,但是在获得目标命名识别模型、目标语义分析模型以及目标语义分析模型时,需要获得自然语言问题中对应的实体名称、实体之间的关系以及语义信息,则需要对第一训练数据进行预处理获得对应的第二训练数据。
例如,利用正则匹配的方法对第一训练数据中自然语言问题的实体名称、实体之间的关系以及语义信息进行识别,从而获得自然语言问题对应的实体名称、实体之间的关系以及语义信息,从而将自然语言问题、自然语言问题对应的实体名称、实体之间的关系以及语义信息和该自然语言问题对应的数据库查询语句作为第二训练数据。
示例性地,在获得第二训练数据后,第二训练数据对应的数据量可能无法满足实际训练需求,则可利用生成模型生成新的句子,或者将已有的句子进行重组组合,生成新的句子,以实现第二训练数据增强的目的,从而获得目标训练数据。
在一些实施方式中,所述第一训练数据包括初始查询文本,获得第一训练数据,并对所述第一训练数据进行数据预处理获得第二训练数据,包括:对所述初始查询文本进行关键词识别,获得所述初始查询文本对应的关键词,并将所述关键词转换为对应的数据库指令;对所述初始查询文本进行数据库信息识别,获得所述初始查询文本对应的数据库实体信息;对所述初始查询文本进行语义分析,获得所述初始查询文本对应的查询目的;根据所述数据库指令、所述数据库实体信息以及所述查询目的确定所述初始查询文本对应的数据库查询命令;根据所述初始查询文本和所述数据库查询命令确定所述第二训练数据。
示例性地,第一训练数据包括初始查询文本,初始查询文本也即为自然语言问题,换言之为用户进行数据库查询时对应的查询文本。
示例性地,利用正则匹配的方式对初始查询文本进行关键词识别,进而获得初始查询文本对应的关键词。再将关键词进行转换使之与数据库中的数据库指令进行对应。
例如,利用正则匹配的方式识别初始查询文本中的关键词,如“select”,“from”,“where”,“group by”等。这些关键词可以用于理解初始查询文本的结构和意图。进而进行指令构造将识别出的关键词转换为相应的数据库指令。例如,“select”关键词可以转换为“SELECT”指令,而“from”关键词可以转换为“FROM”指令。
示例性地,对初始查询文本进行数据库信息识别需识别出初始查询文本中涉及的表名、列名和数据库名等,可以通过词性标注、命名实体识别等技术获得初始查询文本对应的数据库实体信息。此外,为保证数据库实体信息的统一性还可将识别出的实体与相应的数据库表和列进行映射。
示例性地,利用正则匹配方法获得初始查询文本对应的动词或谓词,进而对动词或谓词进行映射得到初始查询文本对应的查询目的。
例如,识别出初始查询文本中的谓词(如大于、小于等),并将其转换为相应的查询目的,如比较大小;识别出初始查询文本中的聚合操作(如求和、计数等),并将其转换为相应的查询目的,如数据聚合;识别出初始查询文本中的分组和排序要求,并将其转换为相应的查询目的,如数据排序。例如,“按照年龄分组”可以转换为“GROUP BY 年龄”,“按照年龄升序排列”可以转换为“ORDER BY 年龄 ASC”。
此外,如果识别出初始查询文本中涉及数据类型与数据库中的数据类型不匹配,需要进行相应的数据类型转换,则也可将相应的查询目的设置为数据类型转化。例如,将初始查询文本中的字符串转换为数据库中的 VARCHAR 类型。进而通过对初始查询文本进行语义信息,可以更好的获得初始查询文本的目的。
示例性,在获得数据库指令、数据库实体信息以及查询目的后,将数据库指令、数据库实体信息以及查询目的根据设置的规则,转换为对应的数据库查询命令;进而获得初始查询文本对应的数据库查询命令。最后根据初始查询文本对应的数据库实体信息、查询目的以及初始查询文本对应的数据库查询命令获得第二训练数据。
在一些实施方式中,所述对所述第二训练数据进行数据增强,获得目标训练数据,包括:获得所述第二训练数据中关键词对应的同义词;将所述第二训练数据中的所述关键词替换成对应的所述同义词,获得第三训练数据;确定目标词汇,并将所述目标词汇在所述第三训练数据中进行删除或插入,获得第四训练数据;对所述第四训练数据进行上下文关系分析,获得所述第四训练数据对应的缺失信息,进而根据所述缺失信息对所述第四训练数据进行补充获得所述目标训练数据。
示例性地,为保证目标命名识别模型、目标语义分析模型、目标关系抽取模型以及目标语句生成模型的泛化能力和鲁棒性,使得目标查询文本与目标查询语句之间更好的转换,由于第二训练数据数量有限,若直接使用第二训练数据进行训练往往效果不佳。进而可通过增加数据的多样性为后续提高上述各个模型的泛化能力和鲁棒性,可以对第二训练数据进行数据增强从而获得数量多且丰富的目标训练数据。
示例性地,借助于已有的同义词词典或词向量来获取第二训练数据中关键词对应的同义词,进而通过同义词替换的方式生成新的查询语句,进而获得第三训练数据,第三训练数据中包含第二训练数据以及对第二训练数据进行同义词替换后的数据,进而增加了第二训练数据中查询语句的多样性,为后续提高各个模型的泛化能力提供支撑。
示例性地,确定目标词汇,目标词汇包括冠词、介词等不影响语义的词汇,进而在第三训练数据中的查询语句中随机插入或删除对应的目标词汇,从而获得第四训练数据,进而增加第四训练数据的随机性,为后续提高各个模型的鲁棒性提供支撑。
示例性地,通过对第四训练数据进行上下文关系分析,进而获得第四训练数据对应的缺失信息,从而将该缺失信息增加至第四训练数据对应的缺失位置,如前文、后文等,进而达到丰富第四训练数据信息的目的,从而获得目标训练数据。进而增加目标训练数据的多样性,为后续提高各个模型的泛化能力提供支撑。
步骤S105、根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
示例性地,将目标查询语句在数据库中运行实现数据查询,从而获得目标查询文本对应的目标查询结果。
可选地,目标查询语句在数据库进行数据查询的方法可以借助java命令或者python命令进行执行等等,也可以直接在数据库中执行,本申请不做具体限制,用户可根据实际需求自行设置。
在一些实施方式中,所述根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果,参照图2,步骤S105包括:子步骤S1051至子步骤S1053。
子步骤S1051、根据规则对所述目标查询语句进行语句检测,获得检测结果。
示例性地,根据数据库的查询规则对目标查询语句进行语句检测,当目标查询语句满足规则时,则检测结果为语句正常;当目标查询语句不满足规则时,则检测结果为语句异常。
示例性地,在检测目标查询语句是否满足规则时,可采用正则匹配的方式进行查询,从而获得目标查询语句对应的检测结果。根据规则对目标查询语句进行语句检测目的是确保生成的目标查询语句是有效且符合数据库的语法和语义规则。
子步骤S1052、当所述检测结果为语句异常时,则对所述目标查询语句进行修正,并更新所述目标查询语句。
示例性地,当检测结果为语句异常时,则表明目标查询语句不满足数据库的查询规则,则根据查询规则获得目标查询语句中不符合查询规则的部分,进而根据查询规则调整该部分,从而实现对目标查询语句的修正,获得修正后的结果,进而将修正后的结果更新至目标查询语句。
示例性地,建立数据库生成模板与语法生成模板用于检测和修复生成的 目标查询语句中的错误,进而提高目标查询语句的准确度。
子步骤S1053、根据更新后的所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
示例性地,将更新后的目标查询语句在数据库中运行实现数据查询,从而获得目标查询文本对应的目标查询结果。
可选地,更新后的目标查询语句在数据库进行数据查询的方法可以借助java命令或者python命令进行执行等等,也可以直接在数据库中执行,本申请不做具体限制,用户可根据实际需求自行设置。
在一些实施方式中,当所述检测结果为语句异常时,还包括:将所述目标查询文本和更新后的所述目标查询语句存储至目标数据库中,并累积计算所述目标查询文本和更新后的所述目标查询语句对应的存储数量;当所述存储数量大于或者等于预设数量时,更新所述目标命名识别模型、所述目标语义分析模型、所述目标关系抽取模型以及所述目标语句生成模型对应的模型参数。
示例性地,将目标查询文本和更新后的目标查询语句存储至目标数据库中,进而当目标数据库中存储数据对应的存储数量大于或者等于预设数量时,则根据目标数据库中存储的更新后的目标查询语句对目标命名识别模型、目标语义分析模型、目标关系抽取模型以及目标语句生成模型对应的模型参数进行更新,从而提高各个模型的识别准确性。进而实现根据用户反馈对数据库查询方法进行调整和优化的目的。进而进一步提高输出目标查询语句的准确度。
此外,将调整后的目标命名识别模型、目标语义分析模型、目标关系抽取模型以及目标语句生成模型分别保存为对应的可用于推理的模型文件。模型文件通常包括但不限于:模型架构、权重参数、必要的辅助函数,并选择适当的部署环境,可以是本地服务器、云服务提供商(如AWS、Azure、Google Cloud等)的虚拟机实例,或者容器化镜像(如Docker);在部署环境中设置所需的依赖项,包括模型库、框架、Python环境和其他必要的库;在部署环境中加载保存的目标命名识别模型、目标语义分析模型、目标关系抽取模型以及目标语句生成模型对应的模型文件,以便进行推理。由于各个模型通常涉及使用深度学习框架(如TensorFlow、PyTorch)来加载模型权重;使用加载的模型进行推理,将目标查询文本传递给模型,以获得对应的目标查询语句。其中,在进行目标查询文本转换为目标查询语句的过程中可根据模型的设计,可以是对目标查询文本进行批处理也可以时对单个目标查询文本进行处理的形式。
本申请通过获得目标查询文本,并根据目标命名识别模型对目标查询文本进行实体识别获得目标实体;根据目标语义分析模型对目标查询文本进行语义识别获得目标语义;根据目标关系抽取模型对目标查询文本进行关系抽取获得目标关系;进而根据目标实体、目标语义以及目标关系利用目标语句生成模型确定目标查询文本对应的目标查询语句;最后根据目标查询语句在数据库进行数据查询,获得目标查询文本对应的目标查询结果。本申请中通过目标语义分析模型,能够更精确地捕捉用户查询的意图和结构,从而生成更准确的目标查询语句,用户可以获得更精确、满足需求的查询结果,提高了数据库查询方法的实用性。
此外,在获得各个模型时可利用迁移学习和预训练模型的方法从而使得数据库查询方法能够在不同领域中表现出色。使得数据库查询方法可以覆盖多个领域,满足不同行业和用户的查询需求,拓展了数据库的应用范围。数据库查询方法中将目标语义分析模型引入,以及对语句异常进行检测实现用户反馈循环进而不断更新数据库查询方法中各个模型的参数,可以提高数据库查询的准确性,进而让用户更轻松地与数据库进行交互,修改和调整各个模型的参数可以逐步提升数据库查询方法的性能,进而提高用户满意度,促使用户更愿意使用产品。
最后,由于数据库查询方法中查询准确度的提升,使得用户不需要深入了解数据库语法,就可以轻松进行数据库查询,降低了数据库的使用门槛,并且降低了用户的学习成本,使更多的非技术用户能够充分利用该方法进行数据库查询和分析。此外,由于数据库查询方法中查询准确度的提升,用户还可以更快速地获取所需信息,提高工作效率和决策效力,从而增强了该方法的商业价值。
请参阅图3,图3为本申请实施例提供的一种数据库的查询装置200,该数据库的查询装置200包括实体获取模块201、语义获取模块202、关系获取模块203、语句获取模块204以及结果获取模块205,其中,实体获取模块201,用于获得目标查询文本,并根据目标命名识别模型对所述目标查询文本进行实体识别获得目标实体;语义获取模块202,用于根据目标语义分析模型对所述目标查询文本进行语义识别获得目标语义;关系获取模块203,用于根据目标关系抽取模型对所述目标查询文本进行关系抽取获得目标关系;语句获取模块204,用于根据所述目标实体、所述目标语义以及所述目标关系利用目标语句生成模型确定所述目标查询文本对应的目标查询语句;结果获取模块205,用于根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
在一些实施方式中,数据库的查询装置200在所述获得目标查询文本之前过程中,还执行:
获得目标训练数据,并根据所述目标训练数据调整初始命名识别模型获得目标命名识别模型,根据所述目标训练数据调整初始语义分析模型获得目标语义分析模型,以及根据所述目标训练数据调整初始关系抽取模型获得目标关系抽取模型;
根据所述目标命名识别模型对所述目标训练数据进行实体识别获得实体识别结果,根据所述目标语义分析模型对所述目标训练数据进行语义识别获得语义识别结果,根据所述目标关系抽取模型对所述目标训练数据进行关系识别获得关系识别结果;
根据所述实体识别结果、所述语义识别结果以及所述关系识别结果调整初始语句生成模型获得目标语句生成模型。
在一些实施方式中,数据库的查询装置200在获得目标训练数据过程中,执行:
获得第一训练数据,并对所述第一训练数据进行数据预处理获得第二训练数据;
对所述第二训练数据进行数据增强,获得目标训练数据。
在一些实施方式中,第一训练数据包括初始查询文本,数据库的查询装置200在获得第一训练数据,并对所述第一训练数据进行数据预处理获得第二训练数据过程中,执行:
对所述初始查询文本进行关键词识别,获得所述初始查询文本对应的关键词,并将所述关键词转换为对应的数据库指令;
对所述初始查询文本进行数据库信息识别,获得所述初始查询文本对应的数据库实体信息;
对所述初始查询文本进行语义分析,获得所述初始查询文本对应的查询目的;
根据所述数据库指令、所述数据库实体信息以及所述查询目的确定所述初始查询文本对应的数据库查询命令;
根据所述初始查询文本和所述数据库查询命令确定所述第二训练数据。
在一些实施方式中,数据库的查询装置200在对所述第二训练数据进行数据增强,获得目标训练数据过程中,执行:
获得所述第二训练数据中关键词对应的同义词;
将所述第二训练数据中的所述关键词替换成对应的所述同义词,获得第三训练数据;
确定目标词汇,并将所述目标词汇在所述第三训练数据中进行删除或插入,获得第四训练数据;
对所述第四训练数据进行上下文关系分析,获得所述第四训练数据对应的缺失信息,进而根据所述缺失信息对所述第四训练数据进行补充获得所述目标训练数据。
在一些实施方式中,结果获取模块205在根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果过程中,执行:
根据规则对所述目标查询语句进行语句检测,获得检测结果;
当所述检测结果为语句异常时,则对所述目标查询语句进行修正,并更新所述目标查询语句;
根据更新后的所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
在一些实施方式中,结果获取模块205在当所述检测结果为语句异常时的过程中,还执行:
将所述目标查询文本和更新后的所述目标查询语句存储至目标数据库中,并累积计算所述目标查询文本和更新后的所述目标查询语句对应的存储数量;
当所述存储数量大于或者等于预设数量时,更新所述目标命名识别模型、所述目标语义分析模型、所述目标关系抽取模型以及所述目标语句生成模型对应的模型参数。
在一些实施方式中,数据库的查询装置200可应用于终端设备。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的数据库的查询装置200的具体工作过程,可以参考前述数据库的查询方法实施例中的对应过程,在此不再赘述。
请参阅图4,图4为本申请实施例提供的一种终端设备的结构示意性框图。
如图4所示,终端设备300包括处理器301和存储器302,处理器301和存储器302通过总线303连接,该总线比如为I2C(Inter-integrated Circuit)总线。
具体地,处理器301用于提供计算和控制能力,支撑整个终端设备的运行。处理器301可以是中央处理单元 (Central Processing Unit,CPU),该处理器301还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
具体地,存储器302可以是Flash芯片、只读存储器 (ROM,Read-Only Memory)磁盘、光盘、U盘或移动硬盘等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请实施例方案相关的部分结构的框图,并不构成对本申请实施例方案所应用于其上的终端设备的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器用于运行存储在存储器中的计算机程序,并在执行所述计算机程序时实现本申请实施例提供的任意一种所述的数据库的查询方法。
在一实施例中,所述处理器用于运行存储在存储器中的计算机程序,并在执行所述计算机程序时实现如下步骤:
获得目标查询文本,并根据目标命名识别模型对所述目标查询文本进行实体识别获得目标实体;
根据目标语义分析模型对所述目标查询文本进行语义识别获得目标语义;
根据目标关系抽取模型对所述目标查询文本进行关系抽取获得目标关系;
根据所述目标实体、所述目标语义以及所述目标关系利用目标语句生成模型确定所述目标查询文本对应的目标查询语句;
根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
在一些实施方式中,处理器301在所述获得目标查询文本之前过程中,还执行:
获得目标训练数据,并根据所述目标训练数据调整初始命名识别模型获得目标命名识别模型,根据所述目标训练数据调整初始语义分析模型获得目标语义分析模型,以及根据所述目标训练数据调整初始关系抽取模型获得目标关系抽取模型;
根据所述目标命名识别模型对所述目标训练数据进行实体识别获得实体识别结果,根据所述目标语义分析模型对所述目标训练数据进行语义识别获得语义识别结果,根据所述目标关系抽取模型对所述目标训练数据进行关系识别获得关系识别结果;
根据所述实体识别结果、所述语义识别结果以及所述关系识别结果调整初始语句生成模型获得目标语句生成模型。
在一些实施方式中,处理器301在获得目标训练数据过程中,执行:
获得第一训练数据,并对所述第一训练数据进行数据预处理获得第二训练数据;
对所述第二训练数据进行数据增强,获得目标训练数据。
在一些实施方式中,第一训练数据包括初始查询文本,处理器301在获得第一训练数据,并对所述第一训练数据进行数据预处理获得第二训练数据过程中,执行:
对所述初始查询文本进行关键词识别,获得所述初始查询文本对应的关键词,并将所述关键词转换为对应的数据库指令;
对所述初始查询文本进行数据库信息识别,获得所述初始查询文本对应的数据库实体信息;
对所述初始查询文本进行语义分析,获得所述初始查询文本对应的查询目的;
根据所述数据库指令、所述数据库实体信息以及所述查询目的确定所述初始查询文本对应的数据库查询命令;
根据所述初始查询文本和所述数据库查询命令确定所述第二训练数据。
在一些实施方式中,处理器301在对所述第二训练数据进行数据增强,获得目标训练数据过程中,执行:
获得所述第二训练数据中关键词对应的同义词;
将所述第二训练数据中的所述关键词替换成对应的所述同义词,获得第三训练数据;
确定目标词汇,并将所述目标词汇在所述第三训练数据中进行删除或插入,获得第四训练数据;
对所述第四训练数据进行上下文关系分析,获得所述第四训练数据对应的缺失信息,进而根据所述缺失信息对所述第四训练数据进行补充获得所述目标训练数据。
在一些实施方式中,处理器301在根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果过程中,执行:
根据规则对所述目标查询语句进行语句检测,获得检测结果;
当所述检测结果为语句异常时,则对所述目标查询语句进行修正,并更新所述目标查询语句;
根据更新后的所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
在一些实施方式中,处理器301在当所述检测结果为语句异常时的过程中,还执行:
将所述目标查询文本和更新后的所述目标查询语句存储至目标数据库中,并累积计算所述目标查询文本和更新后的所述目标查询语句对应的存储数量;
当所述存储数量大于或者等于预设数量时,更新所述目标命名识别模型、所述目标语义分析模型、所述目标关系抽取模型以及所述目标语句生成模型对应的模型参数。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端设备的具体工作过程,可以参考前述数据库的查询方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本申请实施例说明书提供的任一项数据库的查询方法的步骤。
其中,所述存储介质可以是前述实施例所述的终端设备的内部存储单元,例如所述终端设备的硬盘或内存。所述存储介质也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施例中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
应当理解,在本申请说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施例,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据库的查询方法,其特征在于,所述方法包括:
获得目标查询文本,并根据目标命名识别模型对所述目标查询文本进行实体识别获得目标实体;
根据目标语义分析模型对所述目标查询文本进行语义识别获得目标语义;
根据目标关系抽取模型对所述目标查询文本进行关系抽取获得目标关系;
根据所述目标实体、所述目标语义以及所述目标关系利用目标语句生成模型确定所述目标查询文本对应的目标查询语句;
根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
2.根据权利要求1所述的方法,其特征在于,所述获得目标查询文本之前,所述方法还包括:
获得目标训练数据,并根据所述目标训练数据调整初始命名识别模型获得目标命名识别模型,根据所述目标训练数据调整初始语义分析模型获得目标语义分析模型,以及根据所述目标训练数据调整初始关系抽取模型获得目标关系抽取模型;
根据所述目标命名识别模型对所述目标训练数据进行实体识别获得实体识别结果,根据所述目标语义分析模型对所述目标训练数据进行语义识别获得语义识别结果,根据所述目标关系抽取模型对所述目标训练数据进行关系识别获得关系识别结果;
根据所述实体识别结果、所述语义识别结果以及所述关系识别结果调整初始语句生成模型获得目标语句生成模型。
3.根据权利要求2所述的方法,其特征在于,所述获得目标训练数据,包括:
获得第一训练数据,并对所述第一训练数据进行数据预处理获得第二训练数据;
对所述第二训练数据进行数据增强,获得目标训练数据。
4.根据权利要求3所述的方法,其特征在于,所述第一训练数据包括初始查询文本,获得第一训练数据,并对所述第一训练数据进行数据预处理获得第二训练数据,包括:
对所述初始查询文本进行关键词识别,获得所述初始查询文本对应的关键词,并将所述关键词转换为对应的数据库指令;
对所述初始查询文本进行数据库信息识别,获得所述初始查询文本对应的数据库实体信息;
对所述初始查询文本进行语义分析,获得所述初始查询文本对应的查询目的;
根据所述数据库指令、所述数据库实体信息以及所述查询目的确定所述初始查询文本对应的数据库查询命令;
根据所述初始查询文本和所述数据库查询命令确定所述第二训练数据。
5.根据权利要求3所述的方法,其特征在于,所述对所述第二训练数据进行数据增强,获得目标训练数据,包括:
获得所述第二训练数据中关键词对应的同义词;
将所述第二训练数据中的所述关键词替换成对应的所述同义词,获得第三训练数据;
确定目标词汇,并将所述目标词汇在所述第三训练数据中进行删除或插入,获得第四训练数据;
对所述第四训练数据进行上下文关系分析,获得所述第四训练数据对应的缺失信息,进而根据所述缺失信息对所述第四训练数据进行补充获得所述目标训练数据。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果,包括:
根据规则对所述目标查询语句进行语句检测,获得检测结果;
当所述检测结果为语句异常时,则对所述目标查询语句进行修正,并更新所述目标查询语句;
根据更新后的所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
7.根据权利要求6中所述的方法,其特征在于,当所述检测结果为语句异常时,所述方法还包括:
将所述目标查询文本和更新后的所述目标查询语句存储至目标数据库中,并累积计算所述目标查询文本和更新后的所述目标查询语句对应的存储数量;
当所述存储数量大于或者等于预设数量时,更新所述目标命名识别模型、所述目标语义分析模型、所述目标关系抽取模型以及所述目标语句生成模型对应的模型参数。
8.一种数据库的查询装置,其特征在于,包括:
实体获取模块,用于获得目标查询文本,并根据目标命名识别模型对所述目标查询文本进行实体识别获得目标实体;
语义获取模块,用于根据目标语义分析模型对所述目标查询文本进行语义识别获得目标语义;
关系获取模块,用于根据目标关系抽取模型对所述目标查询文本进行关系抽取获得目标关系;
语句获取模块,用于根据所述目标实体、所述目标语义以及所述目标关系利用目标语句生成模型确定所述目标查询文本对应的目标查询语句;
结果获取模块,用于根据所述目标查询语句在所述数据库进行数据查询,获得所述目标查询文本对应的目标查询结果。
9.一种终端设备,其特征在于,所述终端设备包括处理器、存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的数据库的查询方法。
10.一种计算机存储介质,用于计算机存储,其特征在于,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至7中任一项所述的数据库的查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410075405.5A CN117591547B (zh) | 2024-01-18 | 2024-01-18 | 数据库的查询方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410075405.5A CN117591547B (zh) | 2024-01-18 | 2024-01-18 | 数据库的查询方法、装置、终端设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117591547A true CN117591547A (zh) | 2024-02-23 |
CN117591547B CN117591547B (zh) | 2024-09-27 |
Family
ID=89922356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410075405.5A Active CN117591547B (zh) | 2024-01-18 | 2024-01-18 | 数据库的查询方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117591547B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931858A (zh) * | 2024-03-21 | 2024-04-26 | 金蝶软件(中国)有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190220464A1 (en) * | 2018-01-16 | 2019-07-18 | Oracle International Corporation | Dimension context propagation techniques for optimizing sql query plans |
CN112286958A (zh) * | 2020-11-16 | 2021-01-29 | 广州速威智能系统科技有限公司 | 数据库查询表达式的处理方法和系统 |
CN112380343A (zh) * | 2020-11-19 | 2021-02-19 | 平安科技(深圳)有限公司 | 问题解析方法、装置、电子设备及存储介质 |
CN112559687A (zh) * | 2020-12-15 | 2021-03-26 | 中国平安人寿保险股份有限公司 | 问题识别及查询方法、装置、电子设备及存储介质 |
WO2021061231A1 (en) * | 2019-09-29 | 2021-04-01 | Microsoft Technology Licensing, Llc | Semantic parsing of natural language query |
CN113609846A (zh) * | 2021-08-06 | 2021-11-05 | 首都师范大学 | 一种语句中实体关系的抽取方法及装置 |
CN114637831A (zh) * | 2022-03-15 | 2022-06-17 | 平安国际智慧城市科技股份有限公司 | 基于语义分析的数据查询方法及其相关设备 |
CN114722069A (zh) * | 2022-04-07 | 2022-07-08 | 平安科技(深圳)有限公司 | 语言转换方法和装置、电子设备及存储介质 |
CN115497477A (zh) * | 2022-09-09 | 2022-12-20 | 平安科技(深圳)有限公司 | 语音交互方法、语音交互装置、电子设备、存储介质 |
CN116127143A (zh) * | 2023-02-03 | 2023-05-16 | 杭州海康威视系统技术有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
WO2023236252A1 (zh) * | 2022-06-07 | 2023-12-14 | 来也科技(北京)有限公司 | 答案生成方法、装置、电子设备及存储介质 |
CN117271558A (zh) * | 2023-09-26 | 2023-12-22 | 中国银行股份有限公司 | 语言查询模型构建方法、查询语言获取方法及相关装置 |
-
2024
- 2024-01-18 CN CN202410075405.5A patent/CN117591547B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190220464A1 (en) * | 2018-01-16 | 2019-07-18 | Oracle International Corporation | Dimension context propagation techniques for optimizing sql query plans |
WO2021061231A1 (en) * | 2019-09-29 | 2021-04-01 | Microsoft Technology Licensing, Llc | Semantic parsing of natural language query |
CN112286958A (zh) * | 2020-11-16 | 2021-01-29 | 广州速威智能系统科技有限公司 | 数据库查询表达式的处理方法和系统 |
CN112380343A (zh) * | 2020-11-19 | 2021-02-19 | 平安科技(深圳)有限公司 | 问题解析方法、装置、电子设备及存储介质 |
WO2021208703A1 (zh) * | 2020-11-19 | 2021-10-21 | 平安科技(深圳)有限公司 | 问题解析方法、装置、电子设备及存储介质 |
CN112559687A (zh) * | 2020-12-15 | 2021-03-26 | 中国平安人寿保险股份有限公司 | 问题识别及查询方法、装置、电子设备及存储介质 |
CN113609846A (zh) * | 2021-08-06 | 2021-11-05 | 首都师范大学 | 一种语句中实体关系的抽取方法及装置 |
CN114637831A (zh) * | 2022-03-15 | 2022-06-17 | 平安国际智慧城市科技股份有限公司 | 基于语义分析的数据查询方法及其相关设备 |
CN114722069A (zh) * | 2022-04-07 | 2022-07-08 | 平安科技(深圳)有限公司 | 语言转换方法和装置、电子设备及存储介质 |
WO2023236252A1 (zh) * | 2022-06-07 | 2023-12-14 | 来也科技(北京)有限公司 | 答案生成方法、装置、电子设备及存储介质 |
CN115497477A (zh) * | 2022-09-09 | 2022-12-20 | 平安科技(深圳)有限公司 | 语音交互方法、语音交互装置、电子设备、存储介质 |
CN116127143A (zh) * | 2023-02-03 | 2023-05-16 | 杭州海康威视系统技术有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
CN117271558A (zh) * | 2023-09-26 | 2023-12-22 | 中国银行股份有限公司 | 语言查询模型构建方法、查询语言获取方法及相关装置 |
Non-Patent Citations (3)
Title |
---|
张金;涂俊翔;陈卓宁;严晓光;: "基于自然语言语义的数据库目标检索研究", 计算机系统应用, no. 02, 15 February 2009 (2009-02-15) * |
王凤林;余正涛;毛存礼;郭剑毅;: "利用问句语义结构构建旅游领域数据库查询", 广西师范大学学报(自然科学版), no. 01, 15 March 2009 (2009-03-15) * |
许龙飞, 杨晓昀, 唐世渭: "基于受限汉语的数据库自然语言接口技术研究", 软件学报, no. 04, 23 April 2002 (2002-04-23) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931858A (zh) * | 2024-03-21 | 2024-04-26 | 金蝶软件(中国)有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
CN117931858B (zh) * | 2024-03-21 | 2024-07-16 | 金蝶软件(中国)有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117591547B (zh) | 2024-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11900064B2 (en) | Neural network-based semantic information retrieval | |
US11544474B2 (en) | Generation of text from structured data | |
WO2020082560A1 (zh) | 文本关键词提取方法、装置、设备及计算机可读存储介质 | |
CN106874441B (zh) | 智能问答方法和装置 | |
US9773053B2 (en) | Method and apparatus for processing electronic data | |
US11468342B2 (en) | Systems and methods for generating and using knowledge graphs | |
US20170220540A1 (en) | Methods, systems, and articles of manufacture for automatic fill or completion for application software and software services | |
CN110619050B (zh) | 意图识别方法及设备 | |
US20220188517A1 (en) | Hierarchical machine learning architecture including master engine supported by distributed light-weight real-time edge engines | |
CN117591547B (zh) | 数据库的查询方法、装置、终端设备以及存储介质 | |
WO2022174496A1 (zh) | 基于生成模型的数据标注方法、装置、设备及存储介质 | |
CN112115232A (zh) | 一种数据纠错方法、装置及服务器 | |
US20210110111A1 (en) | Methods and systems for providing universal portability in machine learning | |
US20220245353A1 (en) | System and method for entity labeling in a natural language understanding (nlu) framework | |
CN113590811B (zh) | 文本摘要生成方法、装置、电子设备及存储介质 | |
US20220245361A1 (en) | System and method for managing and optimizing lookup source templates in a natural language understanding (nlu) framework | |
CN111274822A (zh) | 语义匹配方法、装置、设备及存储介质 | |
CN111967253A (zh) | 一种实体消歧方法、装置、计算机设备及存储介质 | |
US20220237383A1 (en) | Concept system for a natural language understanding (nlu) framework | |
CN117290478A (zh) | 一种知识图谱问答方法、装置、设备和存储介质 | |
US20220245352A1 (en) | Ensemble scoring system for a natural language understanding (nlu) framework | |
US20220229987A1 (en) | System and method for repository-aware natural language understanding (nlu) using a lookup source framework | |
US20220229990A1 (en) | System and method for lookup source segmentation scoring in a natural language understanding (nlu) framework | |
US9195940B2 (en) | Jabba-type override for correcting or improving output of a model | |
US20220164598A1 (en) | Determining a denoised named entity recognition model and a denoised relation extraction model |
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 |