CN116991875A - 一种基于大模型的sql语句生成、别名映射方法及设备 - Google Patents
一种基于大模型的sql语句生成、别名映射方法及设备 Download PDFInfo
- Publication number
- CN116991875A CN116991875A CN202311248944.6A CN202311248944A CN116991875A CN 116991875 A CN116991875 A CN 116991875A CN 202311248944 A CN202311248944 A CN 202311248944A CN 116991875 A CN116991875 A CN 116991875A
- Authority
- CN
- China
- Prior art keywords
- name
- standard
- mapped
- target
- determining
- 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 93
- 238000013507 mapping Methods 0.000 title claims abstract description 35
- 239000013598 vector Substances 0.000 claims description 110
- 238000000605 extraction Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 34
- 239000011159 matrix material Substances 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 25
- 238000010606 normalization Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 230000015654 memory Effects 0.000 claims description 13
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000011176 pooling Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 235000008247 Echinochloa frumentacea Nutrition 0.000 description 2
- 240000004072 Panicum sumatrense Species 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 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/242—Query formulation
- G06F16/2433—Query languages
-
- 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/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能技术领域,尤其涉及一种基于大模型的SQL语句生成、别名映射方法及设备。生成SQL语句时对待转换文本进行实体识别,得到待映射名称,将待转换文本输入到大模型中,得到第一SQL语句,基于预先保存的标准名称,确定待映射名称对应的目标标准名称,使用目标标准名称对第一SQL语句中的待映射名称进行更新,得到目标SQL语句,由于生成的目标SQL语句中包括的是目标标准名称,该目标标准名称是规范的,基于包含该规范的目标标准名称即可在数据库中准确查找到相应的数据,提高了生成SQL语句及数据查询的准确率。本申请所保护的技术方案具有鲁棒性、可解释性、可泛化性特点,符合可信赖特性。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于大模型的SQL语句生成、别名映射方法及设备。
背景技术
随着大模型技术的发展,大模型被应用于各行各业,例如,使用聊天生成式预训练转换器(Chat Generative Pre-trained Transformer,ChatGPT)等大模型中的Text2SQL功能,将用户输入的文本自动生成结构化查询语言(Structured Query Language,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为本申请实施例提供的一种基于大模型的SQL语句生成过程的示意图;
图2为本申请实施例提供的一种SQL语句生成过程示意图;
图3为本申请实施例提供的一种目标标准名称确定过程示意图;
图4为本申请实施例提供的目标标准名称的确定过程示意图;
图5为本申请实施例提供的样本集示意图;
图6为本申请实施例提供的一种实体识别模型的输入数据示意图;
图7为本申请实施例提供的实体识别模型的架构示意图;
图8为本申请实施例提供的一种SQL语句生成的流程示意图;
图9为本申请实施例提供的一种别名映射过程的流程示意图;
图10为本申请实施例提供的基于大模型的SQL语句生成装置的结构示意图;
图11为本申请实施例提供的别名映射装置的结构示意图;
图12为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图,对本申请的实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种基于大模型的SQL语句生成方法及设备,该方法中对待转换文本进行实体识别,得到待映射名称,将待转换文本输入到大模型中,得到第一SQL语句,该第一SQL语句中包括待映射名称;基于预先保存的标准名称,确定待映射名称对应的目标标准名称;使用目标标准名称对第一SQL语句中的待映射名称进行更新,得到目标SQL语句。
图1为本申请实施例提供的一种基于大模型的SQL语句生成过程的示意图,如图1所示,该过程包括以下步骤:
S101:对待转换文本进行实体识别,得到待映射名称。
本申请实施例提供的基于大模型的SQL语句生成方法应用于电子设备,该电子设备可以是服务器、PC、智能终端等。
在基于大模型生成SQL语句时,在本申请实施例中,可以对待转换文本进行实体识别,得到待映射名称。其中,待转换文本可以是电子设备的使用者输入的,电子设备的使用者可以对电子设备输入待转换文本的语音,电子设备在采集到该语音之后,基于语音识别技术对该语音进行处理即可得到待转换文本,当然,电子设备的使用者也可以直接通过外接设备,例如键盘,对电子设备输入待转换文本;在本申请实施例中,待转换文本也可以是其他电子设备发送给电子设备的;该待转换文本也可以是基于图像识别技术对图像进行识别得到的。在本申请实施例中,该待转换文本可以是中文的也可以是英文的,本申请实施例对此不进行限制。
在对待转换文本进行实体识别时,可以基于已有的实体识别算法对待转换文本进行实体识别,从而得到待转换文本中的待映射名称,该待映射名称即为用户所输入的某一专属名称,其中,专属名称可以理解为是关于公司的名称、关于公园的名称、关于道路的名称等,该待映射名称可能是某一专属名称的简称,也可能是某一专属名称的标准名称,其中,标准名称可以理解为是公司在注册时的名称、公园或者道路在批准建设时申报审核的名称等。示例性地,待转换文本为“AA公司的经营地在哪里”,那么,对该待转换文本进行实体识别,即可得到“AA公司”,该“AA公司”即为待映射名称。
S102:将所述待转换文本输入到所述大模型中,得到第一SQL语句,所述第一SQL语句中包括所述待映射名称。
在生成待转换文本对应的SQL语句时,可以将待转换文本输入到大模型中,使大模型根据待转换文本输出第一SQL语句。其中,“大模型”可以理解为是基于转换器(transformer)架构的模型;该“大模型”也可以理解为是具有庞大的参数规模和复杂程度的机器学习模型,例如,具有数百万到数十亿参数或者上百亿参数的神经网络模型;该“大模型”也可以理解为是通过半(弱)监督、全监督、自监督或者无监督等技术,在大规模训练数据上训练得到的一种深度学习模型。在本申请实施例中,“大模型”可以处理多种不同任务,在训练“大模型”时一般是基于某个目标任务领域的训练数据进行训练的,训练得到的“大模型”一般情况下可以被迁移到与目标任务领域相近的其他任务领域中进行使用。在本申请实施例中,该大模型可以是ChatGPT模型,本申请实施例对大模型的类型不进行限制,本领域的技术人员可以根据需要配置使用哪种大模型进行SQL语句的生成。
由于用户输入的待转换文本中包括待映射名称,因此,基于大模型得到的第一SQL语句中,也会包括待映射名称。示例性地,待转换文本为“AA公司的经营地在哪”,那么基于该待转换文本生成的第一SQL语句则为:SELECT street FROM table1 WHERE entnamelike “%AA公司%”。
由于得到的第一SQL语句中可能包括的待映射名称不是某一个专属名称对应的标准名称,因此,在得到了第一SQL语句之后,可以继续确定待映射名称对应的目标标准名称,以提高生成的SQL语句的准确率。
S103:基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称。
由于道路名称、公司名称、小区名称等这些专属名称都是需要注册、审批的,因此,在本申请实施例中,可以获取已存在的标准名称,并保存在电子设备中。在本申请实施例中,可以定时对保存的标准名称进行更新,以保证保存的标准名称的实时性。
在得到了第一SQL语句之后,可以基于预先保存的标准名称,确定待映射名称对应的目标标准名称。为了确定待映射名称对应的目标标准名称,在本申请实施例中,可以预先验穷举每个标准名称可能出现的简称,并保存标准名称与简称之间的对应关系。在确定待映射名称对应的目标标准名称时,可以在保存的对应关系中查找待映射名称对应的目标标准名称。
具体的,假设预先保存标准名称A对应的简称可能为a和b,标准名称B对应的简称可能为1和2,识别出来的待映射名称为b。那么,在上述对应关系中即可查找到,待映射名称b对应的目标标准名称为标准名称A。
在确定待映射名称对应的目标标准名称时,在本申请实施例中,也可以基于预设的正则表达式,在预先保存的标准名称中查找待映射名称对应的目标标准名称。例如,可以对待映射名称进行模糊查询,以在预先保存的标准名称中查找到与待映射名称相似的目标标准名称。
S104:使用所述目标标准名称对所述第一SQL语句中的所述待映射名称进行更新,得到目标SQL语句。
在确定了目标标准名称之后,可以使用目标标准名称对第一SQL语句中的待映射名称进行更新,从而得到目标SQL语句,得到的目标SQL语句中所包括的专属名称即可认为是标准名称,基于该目标SQL语句进行查询即可进行准确的查询。
由于在本申请实施例中,在基于大模型生成SQL语句时,对待转换文本进行实体识别,得到待映射名称,并将待转换文本输入到大模型中,得到第一SQL语句,该第一SQL语句中包括待映射名称,并基于预先保存的标准名称,确定待映射名称对应的目标标准名称,确定了目标标准名称之后,使用目标标准名称对第一SQL语句中的待映射名称进行更新,得到目标SQL语句,由于生成的目标SQL语句中包括的是目标标准名称,该目标标准名称是规范的,基于包含该规范的目标标准名称即可在数据库中准确查找到相应的数据,提高了生成SQL语句及数据查询的准确率。
为了进一步提高SQL语句生成的准确率,在上述实施例的基础上,在本申请实施例中,所述得到待映射名称之后,所述将所述待转换文本输入到所述大模型中之前,所述方法还包括:
使用预先保存的规范名称对所述待转换文本中的所述待映射名称进行更新,其中,所述规范名称为所述大模型能够准确识别的名称。
通过研究发现,大模型对于一些特殊的名称识别准确率较低,例如对于“以好公司”这一名称来说,大模型在进行SQL语句转换时,容易把“以”识别为动词,从而确定的公司名称为“好公司”,从而导致SQL语句的转换错误。由于大模型一般是基于通用的知识训练得到的,且大模型中的参数极大,如果对大模型进行重新训练或者微调训练将消耗大量的资源,因此,在本申请实施例中,不对大模型重新进行训练,而是在对待转换文本进行实体识别之后,在将待转换文本输入到大模型中之前,使用预先保存的规范名称对待转换文本中的待映射名称进行更新,其中,规范名称为大模型能够准确识别的名称。也就是说,使用大模型不会识别出错的文本对待转换文本中的待映射名称进行替换,以保证SQL语句生成的准确性。
具体的,假设大模型能够准确识别的名称为BB,待转换文本为“以好公司的经营地在哪里”,那么,在将待转换文本输入到大模型中之前,可以使用“BB”对待转换文本中的“以好公司”进行替换,以保证SQL语句生成的准确性。
下面结合一个具体的实施例对SQL语句生成过程进行说明,图2为本申请实施例提供的一种SQL语句生成过程示意图,如图2所示,该过程包括以下步骤:
S201:对待转换文本进行实体识别,得到待映射名称。
S202:使用预先保存的规范名称对待转换文本中的所述待映射名称进行更新。
S203:将更新后的待转换文本输入到大模型中,得到第一SQL语句。
S204:基于预先保存的标准名称,确定待映射名称对应的目标标准名称;使用目标标准名称对第一SQL语句中的待映射名称进行更新,得到目标SQL语句。
为了提高SQL语句生成的效率,在上述各实施例的基础上,在本申请实施例中,所述得到第一SQL语句之后,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称之前,所述方法还包括:
获取预先保存的标准名称;
统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
当目前保存的标准名称过多时,基于该高数量级的标准名称,确定待映射名称对应的目标标准名称时,将会产生大量的时间消耗。为了提高SQL语句生成的效率,在本申请实施例中,在得到第一SQL语句之后,确定第一特征向量与预先保存的标准名称的第二特征向量之间相似度之前,可以获取预先保存的标准名称,并对预先保存的标准名称进行粗略的筛选。
在对预先保存的标准名称进行筛选时,在本申请实施例中,可以统计待映射名称中的字符在每个标准名称中分别出现的次数。
具体的,可以将预先保存的标准名称读取至数组companyList中,然后遍历该数组,并计算待映射名称中每个字符在数组中每个标准名称中出现的次数。假设待映射名称为“AA”,任一标准名称为“AA集团控股股份有限公司”,那么,则可以确定待映射名称AA中的字符,在该标准名称“AA集团控股股份有限公司”中出现的次数为2。
为了便于理解,在统计待映射名称中的字符在预先保存的标准名称中分别出现的次数时,可以表示为:
其中,TFi表示待映射名称中的字符在第i个标准名称中出现的次数;A(Alias)表示待映射名称;FNi(FullName)表示第i个标准名称;N表示获取到的预先保存的标准名称的数量。
在统计得到了待映射名称中的字符在每个标准名称中出现的次数之后,可以基于得到的次数,对每个标准名称进行降序排序,并选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称。也就是说,将待映射名称中的字符出现次数最高的预设数量的标准名称作为第一标准名称,所确定的标准名称将用于后续确定相似度的步骤。其中预设数量可以是任意正整数,例如,5,100,1000,5000等,本申请实施例对此不进行限制,本领域的技术人员可以根据需要进行配置。
为了进一步提高SQL语句生成的准确率,在上述各实施例的基础上,在本申请实施例中,所述确定所述待映射名称中的字符在任一所述标准名称中出现的次数包括:
确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;
确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
为了进一步提高SQL语句生成的准确率,在本申请实施例中,在确定待映射名称中的字符在任一标准名称中出现的次数时,可以确定该待映射名称中是否有存在通用字符,其中,该通用字符可以理解为是在标准名称中频繁出现的字符,例如,对于关于公司的标准名称中通常会出现“有”,“限”,“公”,“司”等字符,那么,“有”,“限”,“公”,“司”等字符即可作为通用字符。
如果确定待映射名称中存在通用字符,为了避免干扰词的影响,在本申请实施例中,可以将待映射名称中的通用字符删除,得到第二目标名称,并确定该第二目标名称中的字符在每一个标准名称中出现的次数。
具体的,假设通用字符为“有”,“限”,“公”,“司”,待映射名称为“AA公司”,那么,在确定待映射名称中的字符在任一标准名称中出现的次数时,可以将待映射名称“AA公司”中的“公司”删除,删除后得到的“AA”即为第二目标名称。后续则可以确定该第二目标名称中的每个字符在每个标准名称中出现的次数。
为了进一步提高SQL语句生成的准确率,在上述各实施例的基础上,在本申请实施例中,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称包括:
确定所述待映射名称的第一特征向量,及所述第一特征向量与预先保存的标准名称的第二特征向量之间的相似度;
基于所述相似度,确定所述待映射名称对应的目标标准名称。
如果所保存的标准名称与简称之间的对应关系中,不存在待映射名称,那么则无法确定待映射名称对应的目标标准名称,也就是说,在保存标准名称与简称之间的对应关系时对工作人员的经验要求较高。在本申请实施例中为了避免对人为经验过度依赖的问题,在基于预先保存的标准名称,确定待映射名称对应的目标标准名称时,在本申请实施例中,可以确定待映射名称的第一特征向量,后续将基于该第一特征向量确定待映射名称对应的目标标准名称。在确定待映射名称的第一特征向量时,可以采用长短期记忆网络(long short-term memory,LSTM)或者BERT(Bidirectional Encoder Representationfrom Transformers)模型或者其他的模型进行特征提取,需要说明的是,如何确定一个文本对应的特征向量为现有技术,本申请实施例确定待映射名称的第一特征向量的过程不进行限定。
在确定了待映射名称的第一特征向量之后,可以确定待映射名称与每个标准名称之间的相似度。在确定了待映射名称与每个标准名称之间的相似度之后,则可以基于每个标准名称对应的相似度,确定待映射名称对应的目标标准名称,例如将相似度中的最大值对应的标准名称确定为目标标准名称。
具体的,在确定待映射名称与每个标准名称之间的相似度时,可以基于特征提取模型对每个标准名称进行特征提取,从而得到每个标准名称的第二特征向量,在进行第二特征提取时,同样可以采用LSTM、BERT模型或者其他的模型进行特征提取。在确定了每个标准名称的第二特征向量之后,即可确定待映射名称的第一特征向量与每个标准名称的第二特征向量之间的相似度,第一特征向量与第二特征向量之间的相似度,即可代表待映射名称与标准名称之间的相似度。
为了进一步提高SQL语句生成的准确率,在上述各实施例的基础上,在本申请实施例中,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
虽然第一特征向量和第二特征向量中可以包括绝大多数的语义特征,但是在标准名称和待映射名称仅相差一个字或两个字的实际应用中效果不好。例如,待映射名称为海信股份有限公司,标准名称为海尔股份有限公司、海信集团有限公司、青岛海信网络科技股份有限公司、海信集团控股股份有限公司,由于上述标准名称之间很相似,那么所确定的每个标准名称的第二特征向量之间的相似度也将很高,那么,基于高相似度的第二特征向量确定每个第二特征向量与第一特征向量之间的相似度,得到的该相似度之间的差距也是很相近的。通过实验发现,假设待映射名称为“海信股份有限公司”,在确定第一特征向量与第二特征向量之间的相似度时,相似度最高的标准名称反而是海尔股份有限公司。
为了解决上述问题,在本申请实施例中,基于相似度确定待映射名称对应的目标标准名称时,可以确定得到的相似度中的最大值与次大值之间的差值,若该差值大于预设偏差阈值,则说明最大值对应的标准名称与次大值对应的标准名称之间的不是很相似,则可以将该最大值对应的标准名称确定为目标标准名称。其中预设偏差阈值可以是任意小数,例如,该预设偏差阈值可以是5%。
为了进一步提高SQL语句生成的准确率,在上述各实施例的基础上,在本申请实施例中,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;
对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;
确定任一所述标准名称对应的归一化次数与对应的相似度的积值;
将最大积值对应的标准名称确定为所述目标标准名称。
基于相似度确定待映射名称对应的目标标准名称时,如果相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则说明最大值对应的标准名称与次大值对应的标准名称之间很相似,可以统计待映射名称中的字符在预先保存的标准名称中分别出现的次数。如何统计的待映射名称中的字符在预先保存的标准名称中分别出现的次数,上述各实施例中已经进行了详细的说明,在本申请实施例中不再赘述。
在得到了统计的次数之后,对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数,在本申请实施例中,可以基于如下公式进行归一化处理:
其中,αi表示第i个标准名称对应的归一化次数;TFi表示待映射名称中的字符在第i个标准名称中出现的次数;N表示预先保存的标准名称的数量。
在本申请实施例中,在计算归一化次数时使用e次幂是为了扩大只相差一个字或相差两个字的标准名称的差距。
在得到了预先保存的标准名称分别对应的归一化次数之后,可以针对每个标准名称,确定该标准名称对应的归一化次数与对应的相似度的积值。在得到了每个标准名称对应的积值之后,可以确定得到的所有积值中的最大积值,将最大积值对应的标准名称确定为目标标准名称。为了便于理解,可以基于如下公式确定最大积值:
其中,out表示最大积值;αi表示第i个标准名称对应的归一化次数;Predi表示第i个标准名称对应的相似度;ArgMax(αi* Predi)则表示在αi与Predi的积值中选取最大积值;N表示标准名称的数量。
具体的,假设经过筛选得到Top-K个标准名称分别为:海尔股份有限公司、海信集团有限公司、青岛海信网络科技股份有限公司、海信集团控股股份有限公司,待转换文本中的待映射名称为:海信股份有限公司,其中,Top-K即为预设数量。其中海信股份有限公司与海尔股份有限公司的相似度为0.94,海信股份有限公司与海信集团有限公司的相似度为0.92,海信股份有限公司与青岛海信网络科技股份有限公司的相似度为0.91,海信股份有限公司与海信集团控股股份有限公司的相似度为0.91。其中,将待映射名称中的通用字符删除,可以得到第二目标名称“海信”,那么则可以确定第二目标名称海信中的字符在海尔股份有限公司中出现的次数为1;第二目标名称海信中的字符在海信集团有限公司中出现的次数为2;第二目标名称海信中的字符在青岛海信网络科技股份有限公司中出现的次数为2;第二目标名称海信中的字符在海信集团控股股份有限公司中出现的次数为2。
对统计得到的次数进行归一化处理,则可以得到。其中,/>表示海信集团有限公司这一标准名称对应的归一化次数;αi中的第一个/>表示青岛海信网络科技股份有限公司这一标准名称对应的归一化次数;αi中的第二个/>表示青岛海信网络科技股份有限公司这一标准名称对应的归一化次数;αi中的第三个/>表示海信集团控股股份有限公司这一标准名称对应的归一化次数。
在得到了每个标准名称分别对应的归一化次数之后,可以确定归一化次数与对应的相似度之间的最大积值:,最大积值对应的标准名称即为目标标准名称。不难看出,经过融合计算,将会使得海信集团有限公司、青岛海信网络科技股份有限公司、海信集团控股股份有限公司的预测结果高于海尔股份有限公司,最终输出海信集团有限公司为目标标准名称。
下面结合一个具体的实施例对目标标准名称的确定过程进行说明,图3为本申请实施例提供的一种目标标准名称确定过程示意图,如图3所示,包括以下步骤:
S301:确定待映射名称的第一特征向量与每个标准名称的第二特征向量之间的相似度。
S302:判断最大相似度与次大相似度之间的差值是否大于预设偏差阈值,若是,则执行S303,否则执行S304。
S303:最大相似度对应标准名称确定为目标标准名称。
S304:统计待映射名称中的字符在每个标准名称中分别出现的次数,对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数,确定任一标准名称对应的归一化次数与对应的相似度的积值,将最大积值对应的标准名称确定为目标标准名称。
下面结合一个具体的实施例对目标标准名称的确定过程进行说明,图4为本申请实施例提供的目标标准名称的确定过程示意图。获取待转换文本中的别名,即待转换文本中的待映射名称。对该别名进行规则匹配,在规则匹配时,获取预先保存的标准名称,统计别名中的字符在任一标准名称中出现的次数,基于所统计的次数对标准名称进行降序排序,选取排序后的标准名称中排序前Top K的标准名称作为第一标准名称,其中,Top K为预设数量。示例性地,该第一标准名称可以包括名称1、名称2…、名称K。
在本申请实施例中,使用双塔架构对待映射名称和标准名称的特征进行提取。在确定了待映射名称和第一标准名称之后,将待映射名称输入到模型1中,即将待映射名称输入到图4中的左侧(图示中的左右)的模型中;将每个第一标准名称输入到模型2中,即将每个第一标准名称输入到图4中的右侧(图示中的左右)的模型中。在本申请实施例中,模型1和模型2采用相同的神经网络模型结构,模型1 和模型2的设计可采用双向LSTM加注意力机制或BERT或一些其它神经网络模型。如图4所示,模型1对接收到的别名使用SentenceA进行表示,并对SentenceA进行编码转换(Embedding),将编码转换后的编码输入到神经网络(Neural Networks)中,Neural Networks对接收到的编码进行特征提取,得到对应的特征向量,将得到的特征向量输入到池化层进行池化处理(Pooling),将池化后的特征向量输出,即可得到第一特征向量u。同样的,模型2对接收到的第一标准名称,即名称1、名称2…名称K使用SentenceB进行表示,并对SentenceB进行编码转换(Embedding),将编码转换后的编码输入到神经网络(Neural Networks)中,Neural Networks对接收到的编码进行特征提取,得到对应的特征向量,将得到的特征向量输入到池化层进行池化处理(Pooling),将池化后的特征向量输出,即可得到当前所处理的第一标准名称的第二特征向量v。
在得到了第一特征向量和每个第一标准名称对应的第二特征向量之后,确定第一特征向量与每个第一标准名称的第二特征向量之间的相似度,可以使用Cosine_Sim(u,v)表示计算第一特征向量与第二特征向量之间的相似度。
对待映射名称中的字符在第一标准名称中分别出现的次数进行归一化处理,得到归一化次数Ai。并计算每个第一标准名称对应的归一化次数Ai与对应的相似度Pred之间的积值,可以表示为Pred*Ai,将最大积值对应的第一标准名称确定为目标标准名称,目标标准名称可以表示为Argmax(Result)。
另外,在本申请实施例中,在对模型1和模型2在进行训练时,可以将图4中所示的架构看做为一个模型M,该模型中包括第一子模型即模型1,还包括第二子模型即模型2。在对该模型M进行训练时,所使用的样本集中可以包括简称、该简称对应的标准名称即正样本,以及负样本,该负样本即为与简称不相关的其他标准名称。样本集中的简称、正样本以及负样本的顺序是随机打乱的。图5为本申请实施例提供的样本集示意图,如图5所示,样本集中包括简称“以撒”,以及该简称对应的正样本“以萨技术有限公司”,以及3个该简称对应的负样本“A数字科技有限公司”、“B国际有限公司”以及“C科技有限公司”。
为了进一步提高SQL语句生成的准确率,在上述各实施例的基础上,在本申请实施例中,所述对待转换文本进行实体识别,得到待映射名称包括:
将所述待转换文本输入到实体识别模型,得到所述实体识别模型输出的待映射名称。
为了进一步提高SQL语句生成的准确率,在对待转换文本进行实体识别时,可以将待转换文本输入到实体识别模型,得到实体识别模型输出的待映射名称,其中实体识别模型可以是本领域当前已公开的实体识别模型。
由于本申请实施例中是为了提取待转换文本中的专属名称,而目前已公开的实体识别模型都是基于通用知识训练得到的,因此,现有的实体识别模型在本申请实施例中提取待映射名称的效果较差。那么,在本申请实施例中,为了提高实体识别的准确率,在上述各实施例的基础上,在本申请实施例中,原始识别模型包括第一子特征提取模型、第二子特征提取模型和条件随机场子模型,所述实体识别模型的训练过程包括:
获取样本集,所述样本集中包括多个样本文本,所述样本文本对应有标签,所述标签用于标识所述样本文本中每个字符所归属的预设类别,所述预设类别包括第三目标名称起始字符、第三目标名称延续字符和非第三目标名称字符中的至少一项;
将所述样本文本及对应的标签输入到所述第一子特征提取模型,得到第一特征矩阵;将所述第一特征矩阵输入到所述第二子特征提取模型,得到第二特征矩阵;
将所述第二特征矩阵输入到所述条件随机场子模型中,得到所述样本文本中的字符对应的识别概率,所述识别概率用于标识对应的字符在所述预设类别中分别对应的概率;
根据所述样本文本中的字符在所述预设类别分别对应的识别概率,确定所述字符对应目标类别,根据所述目标类别确定所述样本文本对应的识别名称;
根据所述识别名称中包括的字符,以及所述识别名称中包括的字符在所述样本文本对应的标签中被标识的预设类别,确定损失值,根据所述损失值对原始识别模型进行训练,得到所述实体识别模型。
为了获得准确率更高的实体识别模型,在本申请实施例中,可以对原始识别模型进行训练,得到实体识别模型。
为了对原始识别模型进行训练,在本申请实施例中,预先配置有样本集。为了便于后续对该原始识别模型进行训练,样本集中除了包括样本文本以外,还包括各个样本文本对应的标签,其中,该标签用于标识对应的样本文本中每个字符所归属的预设类别,其中预设类别包括第三目标名称起始字符、第三目标名称延续字符和非第三目标名称字符中的至少一项。也就是说,每个样本文本对应的标签用于标识哪个字符是第三目标名称中的字符,并且对于归属于第三目标名称中的字符着重标识哪一个字符为第三目标名称中的起始字符,以及哪一个或者哪几个字符为第三目标名称中的延续字符。也就是说,本申请实施例所训练的实体识别模型可以作为序列标注任务,该序列标注任务可以标注B、I、O,其中B表示第三目标名称起始字符、I表示第三目标名称延续字符、O表示非第三目标名称字符。
为了对原始识别模型进行训练,在本申请实施例中,在获得样本集后,将该样本中的每个样本文本及其对应的标签,依次输入到原始识别模型的第一子特征提取模型中,其中第一子特征提取模型可以是任意特征提取模型,例如,BERT模型。第一子特征提取模型在得到样本文本之后,将对样本文本进行特征提取,得到第一特征矩阵。
在得到第一特征矩阵之后,将第一特征矩阵输入到原始特征提取模型中的第二子特征提取模型,得到第二特征矩阵。该第二子特征提取模型将对第一特征矩阵进行更深层次的特征提取,在本申请实施例中,该第二子特征提取模型可以是Bi-LSTM模型。
在得到了第二特征矩阵之后,可以将第二特征矩阵输入到条件随机场(conditional random field,CRF)模型中,CRF模型将确定每个字在预设类别中分别对应的识别概率。由于在本申请实施例中,预设类别包括第三目标名称起始字符、第三目标名称延续字符和非第三目标名称字符中的至少一项,因此,CRF将针对样本文本中的每个字符,输出该字符属于第三目标名称起始字符的识别概率、该字符属于第三目标名称延续字符的识别概率,以及该字符属于非第三目标名称字符的识别概率。
在得到了样本文本中的字符对应的识别概率之后,可以根据样本文本中的字符在预设类别分别对应的识别概率,确定样本文本中的每个字符分别对应的目标类别。具体的,在本申请实施例中,可以将最大识别概率对应的预设类别确定为目标类型。
确定了样本文本中每个字符对应的目标类别之后,也就可以确定样本文本中的哪个字符是属于目标名称中的,也就可以确定样本文本中的目标名称是什么,为了便于描述,可以将识别到的样本文本中的目标名称成为识别名称。
为了完成对原始识别模型的训练,在得到了样本文本对应的识别名称之后,可以根据识别名称中包括的字符,以及识别名称中包括的字符在样本文本对应的标签中被标识的预设类别,确定损失值。也就是说,针对识别名称中的每个字符,由于原始识别模型识别出来该字符为样本文本中的识别名称中的字符,因此,可以确定标签中标识的该字符是否也为第三目标名称中的字符,如果两者针对同一字符的预设类别一致,则说明原始识别模型对该字符的识别无误,如果两者针对同一字符的预设类别不一致,则说明原始识别模型对该字符的识别存在偏差。
在确定了损失值之后,可以根据该损失值对原始识别模型进行训练,从而得到实体识别模型。
为了进一步提高实体识别模型的准确率,在上述各实施例的基础上,在本申请实施例中,所述根据所述识别名称中包括的字符,以及所述识别名称中包括的字符在所述样本文本对应的标签中被标识的预设类别,确定损失值包括:
针对所述识别名称中的任一字符,根据该字符在所述样本文本中的位置,以及预先划分的位置区间与位置权重之间的关系,确定该字符对应的目标位置权重;根据该字符是否为名词词性,确定该字符对应的目标词性权重,其中,名词词性对应的词性权重大于非名词词性对应的词性权重;确定该字符在所述样本文本的标签中被标识为的预设类别,获取该字符在所述预设类别对应的目标识别概率;
根据所述识别名称中的字符对应的目标位置权重、目标词性权重和目标识别概率,确定所述损失值。
在本申请实施例中,在训练实体识别模型时,充分考虑了用户的使用习惯,将用户的说话习惯融入到了实体识别模型的训练过程中。例如,当一个用户在询问XX公司的某些情况时,往往会说“XX公司的注册地在哪”,或者“注册地在哪,XX公司”。根据用户说话习惯可知,希望查询的名称出现在句首和句末的可能性更大,因此在实体识别模型的训练过程中更加关注位于句首和句末的字符。此外,本申请实施例中所提取的名称通常为名词,所以在实体识别模型的训练过程中更加倾向于名词的提取。因此,为了进一步提高实体识别模型的准确率,本申请实施例在损失函数上设计了位置权重和词性权重,本申请实施例对一个文本中名词的惩罚力度进行了提高,同时提高了字符位于句首和句尾的惩罚力度。首先是位置系数的设计,根据不同位置设计不同的权重系数,当识别名称聚集在句首或者句尾的时候,其权重占比会比其它位置的权重占比高很多。
在本申请实施例中,预先划分有多个位置区间,且每个位置区间均对应有位置权重。示例性地,可以将样本文本的前20%的字符形成的区间作为一个位置区间1,将样本文本的20%-80%的字符形成的区间作为一个位置区间2,将样本文本的后20%的字符行程的区间作为一个位置区间3。并针对每个位置区间均设置有对应的位置权重,例如,将位置区间1和位置区间2对应的位置权重均设置为40%,将位置区间2对应的位置权重设置为20%。
在本申请实施例中,在根据识别名称中包括的字符,以及识别名称中包括的字符在样本文本对应的标签中被标识的预设类别,确定损失值时,可以针对识别名称中的每个字符,依次确定该字符在所述样本文本中的位置,以及预先划分的位置区间与位置权重之间的关系,确定该字符对应的目标位置权重
具体的,可以基于如下公式确定每个字符对应的目标位置权重:
其中,pi表示第i个字符对应的目标位置权重;xi表示第i个字符在样本文本中的位置,即该第i个字符是样本文本中的第2个字符还是样本文本中的第3个字符;N表示样本文本的长度,即样本文本的字数总数量。
若将N前面的系数调小,即将0.2或者0.8调小,则会缩小原始识别模型对首尾的字符的关注长度,若N前面的系数调大则可以增加对首尾字符的关注长度。对于简单句来说,即字数相对于较少的文本适当降低系数,可以关注到的公司名称更短,对于复杂句来说,适当增加系数,可以关注到的待映射名称更长。
由于专属名称一般为名词,因此,在本申请实施例中,将一个文本中的字符分为名词和其它两种类型,相对而言,名词的词性权重更高,形容词、动词等词性的权重相对较低,因此可以将形容词、动词等词性划分为其它类别。在本申请实施例中,可以根据该字符是否为名词词性,确定该字符对应的目标词性权重。
具体的,可以基于如下公式确定字符对应的目标词性权重:
其中,ci表示字符i对应的目标词性权重;α表示预设阈值系数,其中,α的取值范围为0≤α≤1。
根据上述公式可知,当第i个字符的词性为名词时,该字符对应的目标词性权重则为1+α;当第i个字符的词性不为名词时,该字符对应的目标权重则为1。
在确定目标词性权重之后,确定该字符在样本文本的标签中被标识为的预设类别,获取该字符在所述预设类别对应的目标识别概率。
在得到了每个字符对应的目标位置权重、目标词性权重和目标识别概率之后,可以基于如下公式确定损失值:
其中,L表示损失值;pi表示第i个字符对应的目标位置权重;ci表示第i个字符对应的目标词性权重;yi表示第i个字符对应的目标识别概率;n表示识别名称的起始字符在样本文本中的排序位置;n表示识别名称的结束字符在样本文本中的排序位置。
下面结合一个具体的实施例对实体识别模型的训练过程进行说明,在本申请实施例中,实体识别模型可以同时接收多句话,例如问答对话,也就是说,在对原始识别模型进行训练时,可以输入多个样本文本到原始识别模型中,原始识别模型在接收到多个样本文本之后,将针对每个样本文本逐一进行处理。那么,为了便于原始识别模型区分不同的文本,在本申请实施例中,可以将每个样本文本对应的文本标识与样本文本输入到原始识别模型中。图6为本申请实施例提供的一种实体识别模型的输入数据示意图。如图6所示,样本文本为“海信注册地在哪”,为了使原始识别模型知道哪里是样本文本的开始,哪里是样本文本的结束,在本申请实施例中,使用cls标识样本文本的开始,使用ESP标识样本文本的结束,由于电子设备无法直接识别汉字,因此在本申请实施例中输入数据中的汉字为每个字符对应的字编码。输入数据中还包括文本标识,该文本标识用于标识当前的样本文本是问答对话中的上句还是下句,例如,用0,1进行标识,用于区分两个文本,例如在对话场景、问答场景等场景中,B是A的下文,对于该文本对,第一个文本即文本A的文本标识为0,第二个文本即文本B的文本标识为1。由于输入到原始识别模型中的是每个字符对应的编码,因此,为了便于原始识别模型明确每个字符在样本文本中的位置顺序,在本申请实施例中,输入数据还包括位置编码,第一个字为0,第二个字为1,……,以此类推。在本申请实施例中,输入数据中还包括每个字符的词性标识,当某一个字符为名词词性时,该字符对应的标识则为1,否则为0。
图7为本申请实施例提供的实体识别模型的架构示意图,如图7所示,将输入数据输入到第一子特征提取模型BERT模型中,其中,输入数据是由样本文本中每个字符对应的编码组成的编码矩阵,图7中的E0表示对应的字符的词性为非名词词性,E1表示对应的字符的词性为名词词性;E[cls]表示开始标识对应的编码、E[sep]表示结束标识对应的编码,E海表示“海”这个字符对应的字编码,以此类推;Ea用于区分样本文本是一句话还是两句话;E0表示第一个字符在样本文本中的位置编码,E1表示第二个字符在样本文本中的位置编码,以此类推。
BERT模型在收到输入数据之后,BERT模型会对每个字符进行特征提取,每个字符均对应生成由768维的特征向量,每个字符的特征向量组合即可得到BERT模型输出的第一特征矩阵;
得到了第一特征矩阵之后,将该第一特征矩阵输入到第二子特征提取模型Bi-LSTM中进行特征的深层提取,Bi-LSTM将会输出第二特征矩阵,最后将第二特征矩阵输入到CRF模型中,CRF将会输出样本文本中的每个字符对应的识别概率,该识别概率用于标识对应的字符在预设类别中分别对应的概率,其中预设类别为第三目标名称起始字符(B-别名)、第三目标名称延续字符(I-别名)和非第三目标名称字符(O)。
下面结合另一个具体的实施例对SQL语句的生成过程进行说明,图8为本申请实施例提供的一种SQL语句生成的流程示意图,如图8所示,用户输入待转换文本为“以萨的经营地在哪”,对该待转换文本进行实体识别可以得到待映射名称“以萨”,使用规范名称“海信”对待转换文本中的待映射名称进行更新,得到更新后的待转换文本“海信的经营地在哪”,将更新后的待转换文本输入到Text2SQL功能中,即可得到第一SQL语句“SELECT streetFROM table1 WHERE entname LIKE “%海信%””。在使用规范名称对待转换文本中的待映射名称进行替换的同时,还可以基于上述各实施例所提供的方法进行别名映射,即确定待映射名称对应的目标标准名称,在本申请实施例中,待映射名称对应的目标标准名称为“以萨技术股份有限公司”。使用目标标准名称对第一SQL语句中的待映射名称进行替换,即可得到目标SQL语句“SELECT street FROM table1 WHERE entname LIKE “%以萨技术股份有限公司%””。基于该目标SQL语句即可在数据库中查找到正确的经营地,例如,青岛市黄岛区。
本申请实施例所提方法与传统的方法相比,在别名映射过程中采用嵌入深度学习的方法,可以避免人工选择特征的繁琐,提高分类的准确率,具有强大的拟合能力,在chatgpt的text2SQL任务上提供一种全新的,开创性的有效方法。在查询结果上可以带来5%准确率的提升。
在上述各实施例的基础上,在本申请实施例中还提供了一种别名映射方法,图9为本申请实施例提供的一种别名映射过程的流程示意图,如图9所示,该过程包括以下步骤:
S901:获取待映射名称,并确定所述待映射名称的第三特征向量。
本申请实施例提供的别名映射方法应用于电子设备,该电子设备可以是服务器、PC、智能终端等。
在本申请实施例中,别名映射可以理解为,确定某一个非标准名称对应的标准名称。示例性地,由于人们说话习惯的不同,在称呼某一个学校名称时一般会称呼为简称,例如,将“第八高级中学”简称为“八中”,由于在数据库中保存数据时,一般会针对标准名称保存相应的数据,如果基于简称“八中”在数据库中查找相应的数据,将无法查找到准确的数据,因此,在本申请实施例中,需要对简称“八中”进行别名映射,确定“八中”对应的目标标准名称。
在本申请实施例中,在进行别名映射时,可以获取待映射名称,该待映射名称可以是电子设备的使用者直接输入的,也可以是对接收到的文本进行实体识别处理后得到的,本申请实施例对获取待映射名称的方式不进行限制。
在获取到待映射名称之后,可以确定待映射名称的第三特征向量,后续将基于该第三特征向量确定待映射名称对应的目标标准名称。在确定待映射名称的第三特征向量时,可以采用LSTM、BERT模型或者其他的模型进行特征提取,需要说明的是,如何确定一个文本对应的特征向量为现有技术,本申请实施例确定待映射名称的第三特征向量的过程不进行限定。另外,本申请实施例中确定第三特征向量的方式与上述各实施例中确定第一特征向量的方式可以相同也可以不同,本申请实施例对此不进行限制。虽然本申请实施例中的第三特征向量与上述各实施例中的第一特征向量均是待映射名称对应的特征向量,但是由于在进行别名映射时的待映射名称,与对待转换文本进行识别得到的待映射名称可能不一致,因此,在本申请实施例中使用第三特征向量与上述各实施例中的第一特征向量进行区分。
S902:基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称;所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称包括:确定所述第三特征向量与预先保存的标准名称的第四特征向量之间的相似度;基于所述相似度,确定所述待映射名称对应的目标标准名称。
在获取到待映射名称之后,可以基于预先保存的标准名称,确定该待映射名称对应的目标标准名称。在本申请实施例中,也可以基于预设的正则表达式,在预先保存的标准名称中查找待映射名称对应的目标标准名称。例如,可以对待映射名称进行模糊查询,以在预先保存的标准名称中查找到与待映射名称相似的目标标准名称。
在一种可能的实施方式中,在确定了第三特征向量之后,可以确定待映射名称与每个标准名称之间的相似度。在确定了待映射名称与每个标准名称之间的相似度之后,则可以基于每个标准名称对应的相似度,确定待映射名称对应的目标标准名称,例如将相似度中的最大值对应的标准名称确定为目标标准名称。
具体的,在确定待映射名称与每个标准名称之间的相似度时,可以基于特征提取模型对每个标准名称进行特征提取,从而得到每个标准名称的第四特征向量,在进行第四特征向量提取时,同样可以采用LSTM、BERT模型或者其他的模型进行特征提取。在确定了每个标准名称的第四特征向量之后,即可确定待映射名称的第三特征向量与每个标准名称的第四特征向量之间的相似度,第三特征向量与第四特征向量之间的相似度,即可代表待映射名称与标准名称之间的相似度。另外,本申请实施例中确定第四特征向量的方式与上述各实施例中确定第二特征向量的方式可以相同也可以不同,本申请实施例对此不进行限制。虽然本申请实施例中的第四特征向量与上述各实施例中的第二特征向量均是标准名称对应的特征向量,但是由于在进行别名映射时使用的标准名称,与基于大模型生成SQL语句时使用的标准名称可能不同,因此,在本申请实施例中使用第四特征向量与上述各实施例中的第二特征向量进行区分。
由于在本申请实施例中,在进行别名映射时,先获取待映射名称并确定待映射名称的第三特征向量,再确定第三特征向量与预先保存的标准名称的第四特征向量之间的相似度,基于所确定的每个标准名称对应的相似度,确定待映射名称对应的目标标准名称,即使没有预先保存简称与标准名称之间的对应关系,也可以通过相似度确定出来待映射名称所对应的目标标准名称。
在一种可能的实施方式中,所述获取待映射名称之后,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称之前,所述方法还包括:
获取预先保存的标准名称;
统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
在一种可能的实施方式中,所述确定所述待映射名称中的字符在任一所述标准名称中出现的次数包括:
确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;
确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
在一种可能的实施方式中,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;
对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;
确定任一所述标准名称对应的归一化次数与对应的相似度的积值;
将最大积值对应的标准名称确定为所述目标标准名称。
由于上述别名映射的过程与基于大模型的SQL语句生成方法中确定目标标准名称的过程一致,且上述各实施例中已经对确定目标标准名称的过程进行详细的说明,对于别名映射的过程可参照上述各实施例,在本申请实施例中不再赘述。
需要说明的是,本申请实施例所提供的基于大模型的SQL语句生成方法及别名映射方法可以用于公司名称、小区名称、公交站名称、景区名称等简称与标准名称的模糊匹配场景中。
本申请所保护的技术方案具有鲁棒性、可解释性、可泛化性特点,符合可信赖特性。
图10为本申请实施例提供的基于大模型的SQL语句生成装置的结构示意图,如图10所示,该装置包括:
识别模块1001,用于对待转换文本进行实体识别,得到待映射名称;
生成模块1002,用于将所述待转换文本输入到所述大模型中,得到第一SQL语句,所述第一SQL语句中包括所述待映射名称;
确定模块1003,用于基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称;
更新模块1004,用于使用所述目标标准名称对所述第一SQL语句中的所述待映射名称进行更新,得到目标SQL语句。
在一种可能的实施方式中,所述更新模块1004,还用于使用预先保存的规范名称对所述待转换文本中的所述待映射名称进行更新,其中,所述规范名称为所述大模型能够准确识别的名称。
在一种可能的实施方式中,所述装置还包括:
获取模块1005,用于获取预先保存的标准名称;
统计模块1006,用于统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
所述更新模块1004,还用于基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
在一种可能的实施方式中,所述确定模块1003,具体用于确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
在一种可能的实施方式中,所述确定模块1003,具体用于确定所述待映射名称的第一特征向量,及所述第一特征向量与预先保存的标准名称的第二特征向量之间的相似度;基于所述相似度,确定所述待映射名称对应的目标标准名称。
在一种可能的实施方式中,所述确定模块1003,具体用于若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述确定模块1003,具体用于若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;确定任一所述标准名称对应的归一化次数与对应的相似度的积值;将最大积值对应的标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述识别模块1001,具体用于将所述待转换文本输入到实体识别模型,得到所述实体识别模型输出的待映射名称。
在一种可能的实施方式中,所述装置还包括:
训练模块1007,用于获取样本集,所述样本集中包括多个样本文本,所述样本文本对应有标签,所述标签用于标识所述样本文本中每个字符所归属的预设类别,所述预设类别包括第三目标名称起始字符、第三目标名称延续字符和非第三目标名称字符中的至少一项;将所述样本文本及对应的标签输入到所述第一子特征提取模型,得到第一特征矩阵;将所述第一特征矩阵输入到所述第二子特征提取模型,得到第二特征矩阵;将所述第二特征矩阵输入到所述条件随机场子模型中,得到所述样本文本中的字符对应的识别概率,所述识别概率用于标识对应的字符在所述预设类别中分别对应的概率;根据所述样本文本中的字符在所述预设类别分别对应的识别概率,确定所述字符对应的目标类别,根据所述目标类别确定所述样本文本对应的识别名称;根据所述识别名称中包括的字符,以及所述识别名称中包括的字符在所述样本文本对应的标签中被标识的预设类别,确定损失值,根据所述损失值对原始识别模型进行训练,得到所述实体识别模型。
在一种可能的实施方式中,所述训练模块1007,具体用于针对所述识别名称中的任一字符,根据该字符在所述样本文本中的位置,以及预先划分的位置区间与位置权重之间的关系,确定该字符对应的目标位置权重;根据该字符是否为名词词性,确定该字符对应的目标词性权重,其中,名词词性对应的词性权重大于非名词词性对应的词性权重;确定该字符在所述样本文本的标签中被标识为的预设类别,获取该字符在所述预设类别对应的目标识别概率;根据所述识别名称中的字符对应的目标位置权重、目标词性权重和目标识别概率,确定所述损失值。
图11为本申请实施例提供的别名映射装置的结构示意图,如图11所示,该装置包括:
获取模块1101,用于获取待映射名称;
确定模块1102,用于确定所述待映射名称的第三特征向量;
映射模块1103,用于基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称;
所述映射模块1103,具体用于确定所述第三特征向量与预先保存的标准名称的第四特征向量之间的相似度;基于所述相似度,确定所述待映射名称对应的目标标准名称。
在一种可能的实施方式中,所述获取模块1101,还用于获取预先保存的标准名称;
统计模块1104,用于统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
更新模块1105,用于基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
在一种可能的实施方式中,所述统计模块1104,具体用于确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
在一种可能的实施方式中,所述映射模块1103,具体用于若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述映射模块1103,具体用于若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;确定任一所述标准名称对应的归一化次数与对应的相似度的积值;将最大积值对应的标准名称确定为所述目标标准名称。
图12为本申请实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本申请还提供了一种电子设备,如图12所示,包括:处理器1201、通信接口1202、存储器1203和通信总线1204,其中,处理器1201,通信接口1202,存储器1203通过通信总线1204完成相互间的通信;
所述存储器1203中存储有计算机程序,当所述程序被所述处理器1201执行时,使得所述处理器1201执行如下步骤:
对待转换文本进行实体识别,得到待映射名称;
将所述待转换文本输入到所述大模型中,得到第一SQL语句,所述第一SQL语句中包括所述待映射名称;
基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称;
使用所述目标标准名称对所述第一SQL语句中的所述待映射名称进行更新,得到目标SQL语句。
在一种可能的实施方式中,所述处理器1201,使用预先保存的规范名称对所述待转换文本中的所述待映射名称进行更新,其中,所述规范名称为所述大模型能够准确识别的名称。
在一种可能的实施方式中,所述处理器1201,获取预先保存的标准名称;
统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
在一种可能的实施方式中,所述处理器1201,确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;
确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
在一种可能的实施方式中,所述处理器1201,确定所述待映射名称的第一特征向量,及所述第一特征向量与预先保存的标准名称的第二特征向量之间的相似度;
基于所述相似度,确定所述待映射名称对应的目标标准名称。
在一种可能的实施方式中,所述处理器1201,若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述处理器1201,若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;
对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;
确定任一所述标准名称对应的归一化次数与对应的相似度的积值;
将最大积值对应的标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述处理器1201,将所述待转换文本输入到实体识别模型,得到所述实体识别模型输出的待映射名称。
在一种可能的实施方式中,所述处理器1201,获取样本集,所述样本集中包括多个样本文本,所述样本文本对应有标签,所述标签用于标识所述样本文本中每个字符所归属的预设类别,所述预设类别包括第三目标名称起始字符、第三目标名称延续字符和非第三目标名称字符中的至少一项;
将所述样本文本及对应的标签输入到所述第一子特征提取模型,得到第一特征矩阵;将所述第一特征矩阵输入到所述第二子特征提取模型,得到第二特征矩阵;
将所述第二特征矩阵输入到所述条件随机场子模型中,得到所述样本文本中的字符对应的识别概率,所述识别概率用于标识对应的字符在所述预设类别中分别对应的概率;
根据所述样本文本中的字符在所述预设类别分别对应的识别概率,确定所述字符对应的目标类别,根据所述目标类别确定所述样本文本对应的识别名称;
根据所述识别名称中包括的字符,以及所述识别名称中包括的字符在所述样本文本对应的标签中被标识的预设类别,确定损失值,根据所述损失值对原始识别模型进行训练,得到所述实体识别模型。
在一种可能的实施方式中,所述处理器1201,针对所述识别名称中的任一字符,根据该字符在所述样本文本中的位置,以及预先划分的位置区间与位置权重之间的关系,确定该字符对应的目标位置权重;根据该字符是否为名词词性,确定该字符对应的目标词性权重,其中,名词词性对应的词性权重大于非名词词性对应的词性权重;确定该字符在所述样本文本的标签中被标识为的预设类别,获取该字符在所述预设类别对应的目标识别概率;
根据所述识别名称中的字符对应的目标位置权重、目标词性权重和目标识别概率,确定所述损失值。
所述处理器1201执行如下步骤:
获取待映射名称,并确定所述待映射名称的第三特征向量;
基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称;
其中,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称包括:
确定所述第三特征向量与预先保存的标准名称的第四特征向量之间的相似度;
基于所述相似度,确定所述待映射名称对应的目标标准名称。
在一种可能的实施方式中,所述处理器1201,获取预先保存的标准名称;
统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
在一种可能的实施方式中,所述处理器1201,确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;
确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
在一种可能的实施方式中,所述处理器1201,若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述处理器1201,若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;
对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;
确定任一所述标准名称对应的归一化次数与对应的相似度的积值;
将最大积值对应的标准名称确定为所述目标标准名称。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口1202用于上述电子设备与其他设备之间的通信。存储器可以包括随机存取存储器(RandomAccess Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。上述处理器可以是通用处理器,包括中央处理器、网络处理器(Network Processor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在上述各实施例的基础上,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
对待转换文本进行实体识别,得到待映射名称;
将所述待转换文本输入到所述大模型中,得到第一SQL语句,所述第一SQL语句中包括所述待映射名称;
基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称;
使用所述目标标准名称对所述第一SQL语句中的所述待映射名称进行更新,得到目标SQL语句。
在一种可能的实施方式中,所述得到待映射名称之后,所述将所述待转换文本输入到所述大模型中之前,所述方法还包括:
使用预先保存的规范名称对所述待转换文本中的所述待映射名称进行更新,其中,所述规范名称为所述大模型能够准确识别的名称。
在一种可能的实施方式中,所述得到第一SQL语句之后,所述确定所述第一特征向量与预先保存的标准名称的第二特征向量之间相似度之前,所述方法还包括:
获取预先保存的标准名称;
统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
在一种可能的实施方式中,所述确定所述待映射名称中的字符在任一所述标准名称中出现的次数包括:
确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;
确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
在一种可能的实施方式中,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称包括:
确定所述待映射名称的第一特征向量,及所述第一特征向量与预先保存的标准名称的第二特征向量之间的相似度;
基于所述相似度,确定所述待映射名称对应的目标标准名称。
在一种可能的实施方式中,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;
对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;
确定任一所述标准名称对应的归一化次数与对应的相似度的积值;
将最大积值对应的标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述对待转换文本进行实体识别,得到待映射名称包括:
将所述待转换文本输入到实体识别模型,得到所述实体识别模型输出的待映射名称。
在一种可能的实施方式中,原始识别模型包括第一子特征提取模型、第二子特征提取模型和条件随机场子模型,所述实体识别模型的训练过程包括:
获取样本集,所述样本集中包括多个样本文本,所述样本文本对应有标签,所述标签用于标识所述样本文本中每个字符所归属的预设类别,所述预设类别包括第三目标名称起始字符、第三目标名称延续字符和非第三目标名称字符中的至少一项;
将所述样本文本及对应的标签输入到所述第一子特征提取模型,得到第一特征矩阵;将所述第一特征矩阵输入到所述第二子特征提取模型,得到第二特征矩阵;
将所述第二特征矩阵输入到所述条件随机场子模型中,得到所述样本文本中的字符对应的识别概率,所述识别概率用于标识对应的字符在所述预设类别中分别对应的概率;
根据所述样本文本中的字符在所述预设类别分别对应的识别概率,确定所述字符对应的目标类别,根据所述目标类别确定所述样本文本对应的识别名称;
根据所述识别名称中包括的字符,以及所述识别名称中包括的字符在所述样本文本对应的标签中被标识的预设类别,确定损失值,根据所述损失值对原始识别模型进行训练,得到所述实体识别模型。
在一种可能的实施方式中,所述根据所述识别名称中包括的字符,以及所述识别名称中包括的字符在所述样本文本对应的标签中被标识的预设类别,确定损失值包括:
针对所述识别名称中的任一字符,根据该字符在所述样本文本中的位置,以及预先划分的位置区间与位置权重之间的关系,确定该字符对应的目标位置权重;根据该字符是否为名词词性,确定该字符对应的目标词性权重,其中,名词词性对应的词性权重大于非名词词性对应的词性权重;确定该字符在所述样本文本的标签中被标识为的预设类别,获取该字符在所述预设类别对应的目标识别概率;
根据所述识别名称中的字符对应的目标位置权重、目标词性权重和目标识别概率,确定所述损失值。
所述处理器还可以执行时实现如下步骤:
获取待映射名称,并确定所述待映射名称的第三特征向量;
基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称;
其中,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称包括:
确定所述第三特征向量与预先保存的标准名称的第四特征向量之间的相似度;
基于所述相似度,确定所述待映射名称对应的目标标准名称。
在一种可能的实施方式中,所述获取待映射名称之后,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称之前,所述方法还包括:
获取预先保存的标准名称;
统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
在一种可能的实施方式中,所述统计所述待映射名称中的字符在任一所述标准名称中出现的次数包括:
确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;
确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
在一种可能的实施方式中,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
在一种可能的实施方式中,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;
对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;
确定任一所述标准名称对应的归一化次数与对应的相似度的积值;
将最大积值对应的标准名称确定为所述目标标准名称。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种基于大模型的SQL语句生成方法,其特征在于,所述方法包括:
对待转换文本进行实体识别,得到待映射名称;
将所述待转换文本输入到所述大模型中,得到第一SQL语句,所述第一SQL语句中包括所述待映射名称;
基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称;
使用所述目标标准名称对所述第一SQL语句中的所述待映射名称进行更新,得到目标SQL语句。
2.根据权利要求1所述的方法,其特征在于,所述得到待映射名称之后,所述将所述待转换文本输入到所述大模型中之前,所述方法还包括:
使用预先保存的规范名称对所述待转换文本中的所述待映射名称进行更新,其中,所述规范名称为所述大模型能够准确识别的名称。
3.根据权利要求1所述的方法,其特征在于,所述得到第一SQL语句之后,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称之前,所述方法还包括:
获取预先保存的标准名称;
统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
4.根据权利要求3所述的方法,其特征在于,所述统计所述待映射名称中的字符在任一所述标准名称中出现的次数包括:
确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;
确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
5.根据权利要求1所述的方法,其特征在于,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称包括:
确定所述待映射名称的第一特征向量,及所述第一特征向量与预先保存的标准名称的第二特征向量之间的相似度;
基于所述相似度,确定所述待映射名称对应的目标标准名称。
6.根据权利要求5所述的方法,其特征在于,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
7.根据权利要求5所述的方法,其特征在于,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;
对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;
确定任一所述标准名称对应的归一化次数与对应的相似度的积值;
将最大积值对应的标准名称确定为所述目标标准名称。
8.根据权利要求1所述的方法,其特征在于,所述对待转换文本进行实体识别,得到待映射名称包括:
将所述待转换文本输入到实体识别模型,得到所述实体识别模型输出的待映射名称。
9.根据权利要求8所述的方法,其特征在于,原始识别模型包括第一子特征提取模型、第二子特征提取模型和条件随机场子模型,所述实体识别模型的训练过程包括:
获取样本集,所述样本集中包括多个样本文本,所述样本文本对应有标签,所述标签用于标识所述样本文本中每个字符所归属的预设类别,所述预设类别包括第三目标名称起始字符、第三目标名称延续字符和非第三目标名称字符中的至少一项;
将所述样本文本及对应的标签输入到所述第一子特征提取模型,得到第一特征矩阵;将所述第一特征矩阵输入到所述第二子特征提取模型,得到第二特征矩阵;
将所述第二特征矩阵输入到所述条件随机场子模型中,得到所述样本文本中的字符对应的识别概率,所述识别概率用于标识对应的字符在所述预设类别中分别对应的概率;
根据所述样本文本中的字符在所述预设类别分别对应的识别概率,确定所述字符对应的目标类别,根据所述目标类别确定所述样本文本对应的识别名称;
根据所述识别名称中包括的字符,以及所述识别名称中包括的字符在所述样本文本对应的标签中被标识的预设类别,确定损失值,根据所述损失值对原始识别模型进行训练,得到所述实体识别模型。
10.根据权利要求9所述的方法,其特征在于,所述根据所述识别名称中包括的字符,以及所述识别名称中包括的字符在所述样本文本对应的标签中被标识的预设类别,确定损失值包括:
针对所述识别名称中的任一字符,根据该字符在所述样本文本中的位置,以及预先划分的位置区间与位置权重之间的关系,确定该字符对应的目标位置权重;根据该字符是否为名词词性,确定该字符对应的目标词性权重,其中,名词词性对应的词性权重大于非名词词性对应的词性权重;确定该字符在所述样本文本的标签中被标识为的预设类别,获取该字符在所述预设类别对应的目标识别概率;
根据所述识别名称中的字符对应的目标位置权重、目标词性权重和目标识别概率,确定所述损失值。
11.一种别名映射方法,其特征在于,所述方法包括:
获取待映射名称,并确定所述待映射名称的第三特征向量;
基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称;
其中,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称包括:
确定所述第三特征向量与预先保存的标准名称的第四特征向量之间的相似度;
基于所述相似度,确定所述待映射名称对应的目标标准名称。
12.根据权利要求11所述的方法,其特征在于,所述获取待映射名称之后,所述基于预先保存的标准名称,确定所述待映射名称对应的目标标准名称之前,所述方法还包括:
获取预先保存的标准名称;
统计所述待映射名称中的字符在任一所述标准名称中出现的次数;
基于所述次数对所述标准名称进行降序排序,选取排序后的标准名称中排序前预设数量的标准名称作为第一标准名称,并使用所述第一标准名称对获取到的预先保存的标准名称进行更新。
13.根据权利要求12所述的方法,其特征在于,所述统计所述待映射名称中的字符在任一所述标准名称中出现的次数包括:
确定所述待映射名称中是否存在通用字符,若存在,将所述待映射名称中的所述通用字符删除,得到第二目标名称;
确定所述第二目标名称中的字符在任一所述标准名称中出现的次数。
14.根据权利要求11所述的方法,其特征在于,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值大于预设偏差阈值,则将所述最大值对应标准名称确定为所述目标标准名称。
15.根据权利要求14所述的方法,其特征在于,所述基于所述相似度,确定所述待映射名称对应的目标标准名称包括:
若所述相似度中的最大值与次大值之间的差值不大于预设偏差阈值,则统计所述待映射名称中的字符在预先保存的标准名称中分别出现的次数;
对统计得到的次数进行归一化处理,得到预先保存的标准名称分别对应的归一化次数;
确定任一所述标准名称对应的归一化次数与对应的相似度的积值;
将最大积值对应的标准名称确定为所述目标标准名称。
16.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述权利要求1-10任一项所述的基于大模型的SQL语句生成方法的步骤,或,如上述权利要求11-15任一项所述的别名映射方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311248944.6A CN116991875B (zh) | 2023-09-26 | 2023-09-26 | 一种基于大模型的sql语句生成、别名映射方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311248944.6A CN116991875B (zh) | 2023-09-26 | 2023-09-26 | 一种基于大模型的sql语句生成、别名映射方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116991875A true CN116991875A (zh) | 2023-11-03 |
CN116991875B CN116991875B (zh) | 2024-03-08 |
Family
ID=88532513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311248944.6A Active CN116991875B (zh) | 2023-09-26 | 2023-09-26 | 一种基于大模型的sql语句生成、别名映射方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991875B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271561A (zh) * | 2023-11-20 | 2023-12-22 | 海信集团控股股份有限公司 | 一种基于大语言模型的sql语句生成方法、装置及设备 |
CN118133816A (zh) * | 2024-05-07 | 2024-06-04 | 浙江华东工程数字技术有限公司 | 一种基于大模型的bim推导规则自动结构化方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160140123A1 (en) * | 2014-11-13 | 2016-05-19 | Adobe Systems Incorporated | Generating a query statement based on unstructured input |
CN113392194A (zh) * | 2020-11-30 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种问句扩展方法、装置、设备及计算机存储介质 |
CN114281957A (zh) * | 2021-09-30 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 自然语言数据查询方法、装置、电子设备及存储介质 |
WO2022088671A1 (zh) * | 2020-10-29 | 2022-05-05 | 平安科技(深圳)有限公司 | 自动问答方法、装置、设备及存储介质 |
CN114625748A (zh) * | 2021-04-23 | 2022-06-14 | 亚信科技(南京)有限公司 | Sql查询语句的生成方法、装置、电子设备及可读存储介质 |
CN116150382A (zh) * | 2023-04-19 | 2023-05-23 | 北京亚信数据有限公司 | 一种确定标准化医疗专业名词的方法及装置 |
CN116630465A (zh) * | 2023-07-24 | 2023-08-22 | 海信集团控股股份有限公司 | 一种模型训练、图像生成方法及设备 |
-
2023
- 2023-09-26 CN CN202311248944.6A patent/CN116991875B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160140123A1 (en) * | 2014-11-13 | 2016-05-19 | Adobe Systems Incorporated | Generating a query statement based on unstructured input |
WO2022088671A1 (zh) * | 2020-10-29 | 2022-05-05 | 平安科技(深圳)有限公司 | 自动问答方法、装置、设备及存储介质 |
CN113392194A (zh) * | 2020-11-30 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种问句扩展方法、装置、设备及计算机存储介质 |
CN114625748A (zh) * | 2021-04-23 | 2022-06-14 | 亚信科技(南京)有限公司 | Sql查询语句的生成方法、装置、电子设备及可读存储介质 |
CN114281957A (zh) * | 2021-09-30 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 自然语言数据查询方法、装置、电子设备及存储介质 |
CN116150382A (zh) * | 2023-04-19 | 2023-05-23 | 北京亚信数据有限公司 | 一种确定标准化医疗专业名词的方法及装置 |
CN116630465A (zh) * | 2023-07-24 | 2023-08-22 | 海信集团控股股份有限公司 | 一种模型训练、图像生成方法及设备 |
Non-Patent Citations (2)
Title |
---|
NATALIA ARZAMASOVA 等: "Scalable and data-aware SQL query recommendations", 《INFORMATION SYSTEMS》, pages 1 - 15 * |
吴炎;王儒敬;: "基于BERT的语义匹配算法在问答系统中的应用", 仪表技术, no. 06, pages 23 - 26 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271561A (zh) * | 2023-11-20 | 2023-12-22 | 海信集团控股股份有限公司 | 一种基于大语言模型的sql语句生成方法、装置及设备 |
CN117271561B (zh) * | 2023-11-20 | 2024-03-01 | 海信集团控股股份有限公司 | 一种基于大语言模型的sql语句生成方法、装置及设备 |
CN118133816A (zh) * | 2024-05-07 | 2024-06-04 | 浙江华东工程数字技术有限公司 | 一种基于大模型的bim推导规则自动结构化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116991875B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727779A (zh) | 基于多模型融合的问答方法及系统 | |
CN108416058B (zh) | 一种基于Bi-LSTM输入信息增强的关系抽取方法 | |
CN108304372B (zh) | 实体提取方法和装置、计算机设备和存储介质 | |
CN116991875B (zh) | 一种基于大模型的sql语句生成、别名映射方法及设备 | |
CN111222305B (zh) | 一种信息结构化方法和装置 | |
CN111985239B (zh) | 实体识别方法、装置、电子设备及存储介质 | |
CN110457689B (zh) | 语义处理方法及相关装置 | |
CN107797987B (zh) | 一种基于Bi-LSTM-CNN的混合语料命名实体识别方法 | |
WO2022048194A1 (zh) | 事件主体识别模型优化方法、装置、设备及可读存储介质 | |
CN111460149A (zh) | 文本分类方法、相关设备及可读存储介质 | |
CN114757176A (zh) | 一种获取目标意图识别模型的方法以及意图识别方法 | |
CN113821605A (zh) | 一种事件抽取方法 | |
CN112257417A (zh) | 一种多任务命名实体识别训练方法、介质及终端 | |
CN115310443A (zh) | 模型训练方法、信息分类方法、装置、设备及存储介质 | |
CN114416979A (zh) | 一种文本查询方法、设备和存储介质 | |
CN115827819A (zh) | 一种智能问答处理方法、装置、电子设备及存储介质 | |
CN110705217B (zh) | 一种错别字检测方法、装置及计算机存储介质、电子设备 | |
CN115098673A (zh) | 基于变体注意力及层次结构的业务文书信息抽取方法 | |
CN114492396A (zh) | 用于汽车专有名词的文本错误纠正方法及可读存储介质 | |
CN113342935A (zh) | 语义识别方法、装置、电子设备及可读存储介质 | |
CN110705274B (zh) | 基于实时学习的融合型词义嵌入方法 | |
CN112434133B (zh) | 一种意图分类方法、装置、智能终端及存储介质 | |
CN115203206A (zh) | 数据内容搜索方法、装置、计算机设备及可读存储介质 | |
CN115062126A (zh) | 一种语句分析方法、装置、电子设备及可读存储介质 | |
CN115600580B (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 |