CN118114627A - 计算语句处理方法、装置、计算机设备和存储介质 - Google Patents
计算语句处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN118114627A CN118114627A CN202211520531.4A CN202211520531A CN118114627A CN 118114627 A CN118114627 A CN 118114627A CN 202211520531 A CN202211520531 A CN 202211520531A CN 118114627 A CN118114627 A CN 118114627A
- Authority
- CN
- China
- Prior art keywords
- target
- calculation
- engine
- sample
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 599
- 238000012545 processing Methods 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 239000013598 vector Substances 0.000 claims abstract description 362
- 238000012549 training Methods 0.000 claims description 72
- 239000011159 matrix material Substances 0.000 claims description 69
- 238000003066 decision tree Methods 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 32
- 238000007477 logistic regression Methods 0.000 claims description 19
- 230000009467 reduction Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 16
- 238000012216 screening Methods 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000003672 processing method Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 239000002131 composite material Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 238000011946 reduction process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 241000405147 Hermes Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
本申请涉及一种计算语句处理方法、装置、计算机设备和存储介质。所述方法包括:对待进行预测的目标计算语句进行划分,得到目标计算语句所包括的多个目标字符组;分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到目标计算语句的目标特征向量;通过至少一个预测子模型对目标特征向量进行处理,输出至少一个候选处理结果;候选处理结果表征各候选计算引擎分别被选中的概率;确定针对于目标计算语句,各候选计算引擎分别对应的引擎权重;根据引擎权重和至少一个候选处理结果,确定目标计算引擎,并将目标计算语句路由至目标计算引擎。采用本方法能够实现自适应计算引擎选择,提高计算语句执行成功率。
Description
技术领域
本申请涉及大数据技术领域,特别是涉及一种计算语句处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着大数据技术的逐渐发展,对于越来越多的各种使用场景,多种不同的计算引擎被提出并应用在大数据平台中,用于执行不同的计算任务。不同的计算引擎具有各自的特点,所支持的数据类型也可能存在差异。
传统技术中,大数据平台通常通过查询当前的计算任务是否存在执行历史来确定由何种计算引擎来执行。但该种方式存在如下问题:若当前的计算任务为新的计算任务,不存在历史执行记录,则大数据平台无法确定出具体的计算引擎,进而导致计算任务失败。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高计算引擎预测准确度的计算语句处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
一方面,本申请提供了一种计算语句处理方法。所述方法包括:
对待进行预测的目标计算语句进行划分,得到所述目标计算语句所包括的多个目标字符组;
分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到所述目标计算语句的目标特征向量;
通过至少一个预测子模型对所述目标特征向量进行处理,输出至少一个候选处理结果;所述候选处理结果表征各候选计算引擎分别被选中的概率;
确定针对于所述目标计算语句,各候选计算引擎分别对应的引擎权重;
根据所述引擎权重和所述至少一个候选处理结果,确定目标计算引擎,并将所述目标计算语句路由至所述目标计算引擎。
另一方面,本申请还提供了一种计算语句处理装置。所述装置包括:
划分模块,用于对待进行预测的目标计算语句进行划分,得到所述目标计算语句所包括的多个目标字符组;
特征模块,用于分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到所述目标计算语句的目标特征向量;
预测模块,用于通过至少一个预测子模型对所述目标特征向量进行处理,输出至少一个候选处理结果;所述候选处理结果表征各候选计算引擎分别被选中的概率;
确定模块,用于确定针对于所述目标计算语句,各候选计算引擎分别对应的引擎权重;
路由模块,用于根据所述引擎权重和所述至少一个候选处理结果,确定目标计算引擎,并将所述目标计算语句路由至所述目标计算引擎。
另一方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述计算语句处理方法的步骤。
另一方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述计算语句处理方法的步骤。
另一方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述计算语句处理方法的步骤。
上述计算语句处理方法、装置、计算机设备、存储介质和计算机程序产品,通过对待进行预测的目标计算语句进行划分,得到目标计算语句所包括的多个目标字符组,然后分别确定每个目标字符组的编码向量,再根据各目标字符组的编码向量得到目标计算语句的目标特征向量,由此将目标计算语句从文本形式转化为特征向量形式,反映目标计算语句在特征空间中的特征,以供后续模型进行学习和预测;通过至少一个预测子模型对目标特征向量进行处理,输出至少一个候选处理结果,由此能够利用机器学习模型来学习并建模计算语句与其执行结果之间的关系,对于从未执行过的计算语句也能够预测得到计算结果,提高了计算语句的执行成功率,再根据各候选计算引擎分别对应的引擎权重确定目标计算引擎,,综合不同预测子模型的结果得到最终的目标计算引擎,提高了计算引擎选择的准确性,最终将目标计算语句路由至目标选择结果所指示的目标计算引擎以执行,实现了自适应的计算引擎选择和自动计算,效率更高。
另一方面,本申请提供了一种计算引擎预测模型的训练方法。所述方法包括:
获取样本计算语句,以及与所述样本计算语句对应的样本执行结果;所述样本执行结果表示用于执行相应样本计算语句的计算引擎;
对所述样本计算语句进行划分,得到所述样本计算语句所包括的多个样本字符组;
分别确定每个样本字符组的编码向量,并根据各样本字符组的编码向量得到所述样本计算语句的样本特征向量;
通过至少一个待训练的预测子模型对所述样本特征向量进行处理,输出至少一个候选预测结果;所述候选预测结果表征各候选计算引擎分别被选中的概率;
确定针对于所述样本计算语句,各候选计算引擎分别对应的引擎权重;
根据所述引擎权重和所述至少一个候选预测结果,确定预测计算引擎;
基于所述预测计算引擎与所述样本执行结果间的差异,对所述至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型。
在一些实施例中,所述分别确定每个样本字符组的编码向量,包括:
获取从历史计算语句集合中提取的历史字符组构建而成的特征词典;
对于每个样本字符组,在所述特征词典中确定与所述样本字符组相匹配的历史字符组;
基于所述相匹配的历史字符组在所述历史计算语句集合中的频次信息,确定所述样本字符组对应的频次信息;
根据各样本字符组对应的频次值,确定各样本字符组的编码向量。
在一些实施例中,所述基于所述相匹配的历史字符组在所述历史计算语句集合中的频次信息,确定所述样本字符组对应的频次信息,包括:
基于所述历史计算语句集合,确定与所述样本字符组相匹配的历史字符组的第一频次信息;
确定所述样本字符组在所述样本计算语句中的第二频次信息;
基于所述第一频次信息和所述第二频次信息,确定所述样本字符组对应的频次信息。
在一些实施例中,所述根据各样本字符组的编码向量得到所述样本计算语句的样本特征向量,包括:
根据与各样本字符组相匹配的历史字符组在所述特征词典中的索引,确定各样本字符组分别对应的向量位置;
根据各样本字符组分别对应的向量位置和编码向量,确定所述样本计算语句的初始特征向量;
基于每个样本字符组各自对应的重要度,对所述初始特征向量进行降维处理,得到所述样本计算语句的样本特征向量。
在一些实施例中,所述基于每个样本字符组各自对应的重要度,对所述初始特征向量进行降维处理,得到所述样本计算语句的样本特征向量,包括:
确定每个样本字符组各自相匹配的历史字符组,并根据各所述历史字符组对应的重要度,确定各所述样本字符组对应的重要度;
按照每个样本字符组对应的重要度排序,在各样本字符组分别对应的编码向量中,筛选预设数量的编码向量;
基于所述预设数量的编码向量,确定所述样本计算语句的样本特征向量。
在一些实施例中,所述根据各所述历史字符组对应的重要度,确定各所述样本字符组对应的重要度之前,所述方法还包括:
基于各历史字符组所属的历史计算语句对应的执行标签,建立逻辑回归模型;所述执行标签表示用于执行相应的历史计算语句的计算引擎;
根据所建立的逻辑回归模型,确定各历史字符组的回归系数;
基于各历史字符组的回归系数,确定各历史字符组对应的重要度。
在一些实施例中,所述根据各所述历史字符组对应的重要度,确定各所述样本字符组对应的重要度之前,所述方法还包括:
从多个历史字符组中选择第一预设数量的历史字符组构建第三决策树,通过所构建的第三决策树输出第三预测结果;
基于所述第三预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第三误差;
分别对各历史字符组添加噪声,并从中选择第四预设数量的添加有噪声的历史字符组构建第四决策树,通过所构建的第四决策树输出第四预测结果;
基于所述第四预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第四误差;
对于每个历史字符组,基于相应的所述第三误差与第四误差的差异,确定各历史字符组分别对应的重要度;其中,所述差异越大表征历史字符组对应的重要度越高。
在一些实施例中,所述分别确定每个样本字符组的编码向量,并根据各样本字符组的编码向量得到所述样本计算语句的样本特征向量,包括:
分别获取各样本字符组在所述样本计算语句中的共现信息;
基于各样本字符组各自对应的共现信息和权重系数,确定各样本字符组的编码向量;
基于各样本字符组的编码向量,得到所述样本计算语句的样本特征向量。
在一些实施例中,不同的预测子模型具有相互差别的模型结构;所述根据所述引擎权重和所述至少一个候选预测结果,确定预测计算引擎,包括:
确定各预测子模型分别对应的模型权重;
根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及所述至少一个候选预测结果,从各候选计算引擎中确定目标计算引擎。
在一些实施例中,所述根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及所述至少一个候选处理结果,从各候选计算引擎中确定预测计算引擎,包括:
基于各预测子模型各自输出的候选预测结果,构建初始预测矩阵,所述初始预测矩阵中各元素表征一个预测子模型预测选中一个候选计算引擎的概率值;
根据各候选计算引擎分别对应的引擎权重和各预测子模型分别对应的模型权重,对所述初始预测矩阵中各元素对应的概率值进行更新,得到目标预测矩阵;
基于所述目标预测矩阵确定每个候选计算引擎分别对应的综合概率值,并根据所述综合概率值从所述候选计算引擎中确定出预测计算引擎。
在一些实施例中,所述基于所述目标预测结果与所述样本执行结果间的差异,对所述至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型,包括:
基于所述目标预测结果与所述样本执行结果间的差异,构建损失函数;
基于所述损失函数对所述至少一个预测子模型进行训练,并调节所述至少一个预测子模型各自对应的模型参数,直至达到训练终止条件时结束;其中,每个预测子模型的模型参数包括有分别对应于多个计算引擎的权重参数;
基于各训练完成的预测子模型,确定计算引擎预测模型,所述计算引擎预测模型用于获取待进行预测的目标计算语句,并对所述目标计算语句进行处理,以生成目标计算结果。
另一方面,本申请还提供了一种计算引擎预测模型的训练装置。所述装置包括:
获取模块,用于获取样本计算语句,以及与所述样本计算语句对应的样本执行结果;所述样本执行结果表示用于执行相应样本计算语句的计算引擎;
划分模块,用于对所述样本计算语句进行划分,得到所述样本计算语句所包括的多个样本字符组;
特征模块,分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到所述目标计算语句的目标特征向量;
预测模块,用于通过至少一个待训练的预测子模型对所述样本特征向量进行处理,输出至少一个候选预测结果;所述候选预测结果表征各候选计算引擎分别被选中的概率;
确定模块,用于确定针对于所述样本计算语句,各候选计算引擎分别对应的引擎权重;
所述确定模块,还用于根据所述引擎权重和所述至少一个候选预测结果,确定预测计算引擎;
训练模块,用于基于所述预测计算引擎与所述样本执行结果间的差异,对所述至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型。
在一些实施例中,特征模块还用于获取从历史计算语句集合中提取的历史字符组构建而成的特征词典;对于每个样本字符组,在所述特征词典中确定与所述样本字符组相匹配的历史字符组;基于所述相匹配的历史字符组在所述历史计算语句集合中的频次信息,确定所述样本字符组对应的频次信息;根据各样本字符组对应的频次值,确定各样本字符组的编码向量。
在一些实施例中,特征模块还用于基于所述历史计算语句集合,确定与所述样本字符组相匹配的历史字符组的第一频次信息;确定所述样本字符组在所述样本计算语句中的第二频次信息;基于所述第一频次信息和所述第二频次信息,确定所述样本字符组对应的频次信息。
在一些实施例中,特征模块还用于根据与各样本字符组相匹配的历史字符组在所述特征词典中的索引,确定各样本字符组分别对应的向量位置;根据各样本字符组分别对应的向量位置和编码向量,确定所述样本计算语句的初始特征向量;基于每个样本字符组各自对应的重要度,对所述初始特征向量进行降维处理,得到所述样本计算语句的样本特征向量。
在一些实施例中,特征模块还用于确定每个样本字符组各自相匹配的历史字符组,并根据各所述历史字符组对应的重要度,确定各所述样本字符组对应的重要度;按照每个样本字符组对应的重要度排序,在各样本字符组分别对应的编码向量中,筛选预设数量的编码向量;基于所述预设数量的编码向量,确定所述样本计算语句的样本特征向量。
在一些实施例中,上述装置还包括第三分析模块,与特征模块相连,用于基于各历史字符组所属的历史计算语句对应的执行标签,建立逻辑回归模型;所述执行标签表示用于执行相应的历史计算语句的计算引擎;根据所建立的逻辑回归模型,确定各历史字符组的回归系数;基于各历史字符组的回归系数,确定各历史字符组对应的重要度。
在一些实施例中,上述装置还包括第四分析模块,与特征模块相连,用于从多个历史字符组中选择第一预设数量的历史字符组构建第三决策树,通过所构建的第三决策树输出第三预测结果;基于所述第三预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第三误差;分别对各历史字符组添加噪声,并从中选择第四预设数量的添加有噪声的历史字符组构建第四决策树,通过所构建的第四决策树输出第四预测结果;基于所述第四预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第四误差;对于每个历史字符组,基于相应的所述第三误差与第四误差的差异,确定各历史字符组分别对应的重要度;其中,所述差异越大表征历史字符组对应的重要度越高。
在一些实施例中,特征模块还用于分别获取各样本字符组在所述样本计算语句中的共现信息;基于各样本字符组各自对应的共现信息和权重系数,确定各样本字符组的编码向量;基于各样本字符组的编码向量,得到所述样本计算语句的样本特征向量。
在一些实施例中,不同的预测子模型具有相互差别的模型结构;所述确定模块还用于确定各预测子模型分别对应的模型权重;根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及所述至少一个候选预测结果,从各候选计算引擎中确定预测计算引擎。
在一些实施例中,所述确定模块还用于基于各预测子模型各自输出的候选预测结果,构建初始预测矩阵,所述初始预测矩阵中各元素表征一个预测子模型预测选中一个候选计算引擎的概率值;根据各候选计算引擎分别对应的引擎权重和各预测子模型分别对应的模型权重,对所述初始预测矩阵中各元素对应的概率值进行更新,得到目标预测矩阵;基于所述目标预测矩阵确定每个候选计算引擎分别对应的综合概率值,并根据所述综合概率值从所述候选计算引擎中确定出预测计算引擎。
在一些实施例中,训练模块还用于基于所述预测计算引擎与所述样本执行结果间的差异,构建损失函数;基于所述损失函数对所述至少一个预测子模型进行训练,并调节所述至少一个预测子模型各自对应的模型参数,直至达到训练终止条件时结束;其中,每个预测子模型的模型参数包括有分别对应于多个计算引擎的权重参数;基于各训练完成的预测子模型,确定计算引擎预测模型,所述计算引擎预测模型用于获取待进行预测的目标计算语句,并对所述目标计算语句进行处理,以生成目标计算结果。
另一方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述计算引擎预测模型的训练方法的步骤。
另一方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述计算引擎预测模型的训练方法的步骤。
另一方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述计算引擎预测模型的训练方法的步骤。
上述计算引擎预测模型的训练方法、装置、计算机设备、存储介质和计算机程序产品,通过获取样本计算语句,以及与样本计算语句对应的样本执行结果,以此作为样本来对计算引擎预测模型进行训练。在训练阶段,首先对样本计算语句进行划分,得到样本计算语句所包括的多个样本字符组,然后分别确定每个样本字符组的编码向量,并根据各样本字符组的编码向量得到样本计算语句的样本特征向量,从而将样本计算语句从文本形式转化为特征向量形式,反映样本计算语句在特征空间中的特征,以供后续计算引擎预测模型进行学习和预测;在模型处理阶段,通过至少一个待训练的预测子模型对样本特征向量进行处理,输出至少一个候选预测结果,由此能够利用机器学习模型来学习并建模计算语句与其执行结果之间的关系,对于从未执行过的计算语句也能够决策出最终的计算引擎,提高了计算语句的执行成功率,同时基于至少一个候选预测结果和各预测子模型分别对应的模型权重来确定预测计算引擎,,综合不同预测子模型的结果得到最终的目标预测结果,提高了计算引擎选择的准确性。基于预测计算引擎与样本执行结果间的差异,对至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型。由此,通过机器学习的方式来对计算语句进行学习,能够实现自适应地计算引擎预测。
附图说明
图1为一个实施例中计算语句处理方法的应用环境图;
图2A为一个实施例中应用程序的界面示意图;
图2B为另一个实施例中应用程序的界面示意图;
图2C为又一个实施例中应用程序的界面示意图;
图3为一个实施例中计算语句处理方法的流程示意图;
图4为一个实施例中应用场景的原理示意图;
图5为一个实施例中对目标计算语句进行处理的原理示意图;
图6为一个实施例中计算引擎预测模型的训练方法的流程示意图;
图7为一个实施例中计算语句处理装置的结构框图;
图8为一个实施例中计算引擎预测模型的训练装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的计算语句处理方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104连接以进行通信。终端102和服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。数据存储***可以存储服务器104需要处理的数据。数据存储***可以集成在服务器104上,也可以放在云上或其他服务器上。
在一些实施例中,终端102可以将待进行预测的目标计算语句发送至服务器104,服务器104接收到目标计算语句后,对待进行预测的目标计算语句进行划分,得到目标计算语句所包括的多个目标字符组,分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到目标计算语句的目标特征向量。由此,服务器104通过至少一个预测子模型对目标特征向量进行处理,输出至少一个候选处理结果,并基于至少一个候选处理结果和各个候选计算引擎各自对应的引擎权重,确定目标计算引擎。服务器104将目标计算语句路由至目标选择结果所指示的目标计算引擎。服务器104可以指示该目标计算引擎执行该目标计算语句,从而得到该目标计算语句的计算结果。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备、或者便携式可穿戴设备等中的一种或多种,物联网设备可为智能音箱、智能电视、智能空调、或者智能车载设备等中的一种或多种。便携式可穿戴设备可为智能手表、智能手环、或者头戴设备等中的一种或多种。
其中,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件***、分布式数据库、云计算平台、互联网和可扩展的存储***。
云计算(Cloud Computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用***能够根据需要获取计算力、存储空间和信息服务。
云计算是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(NetworkStorage Technologies)、虚拟化(Virtualization)、或者负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
在一些实施例中,终端上可装载有APP(Application)应用程序,包括传统需要单独安装的应用程序、以及不需要下载安装即可使用的小程序应用,例如浏览器客户端、网页客户端、或者大数据平台客户端等中的一种或多种。终端可以通过应用程序获取用户输入的计算语句,并将所获取的计算语句传输至服务器,由服务器执行上述计算语句处理方法以自适应地选择最佳的计算引擎。
在一些实施例中,终端响应于基于输入界面触发的检测事件,获取在输入界面的编辑区域中输入的待进行预测的目标计算语句。如图2A所示,终端通过应用程序20提供输入界面202,终端通过用户在输入界面202的编辑区域204中输入的计算语句,获取待进行预测的目标计算语句。
在一些实施例中,应用程序20通过输入界面202提供选项卡,用户可以通过该选项卡选择特定的计算引擎,例如计算引擎A、计算引擎B等,或者选择自适应选项。在用户选择自适应选项后,终端通过应用程序20获取待进行预测的目标计算语句,本地执行或发送至服务器以令服务器执行上述计算语句处理方法。
示例性地,终端通过大数据平台客户端向用户提供输入界面,用户在该输入界面中输入计算语句,终端通过该大数据平台客户端获取所输入的计算语句,并发送至服务器以选择最佳的计算引擎,并由服务器指示该最佳的计算引擎执行计算语句,得到计算结果,服务器再将该计算结果返回至终端,终端通过该大数据平台客户端的显示界面将该计算结果进行可视化展示。例如图2B所示,显示界面即是应用程序20的输入界面202,用户输入计算语句点击执行后,输入界面202的最下方显示计算结果。或者,又如图2C所示,显示界面为应用程序20提供的一个新的界面,该界面覆盖在输入界面202上方以显示计算结果。
或者,在硬件条件足够的情况下,终端在通过应用程序获取用户输入的计算语句,也可以本地执行上述计算语句处理方法以自适应地选择最佳的计算引擎,并指示该最佳的计算引擎执行计算语句得到计算结果。例如,终端可以将计算语句和所确定的计算引擎的标识一并发送至服务器,服务器根据计算引擎的标识来确定用于执行计算语句为具体哪一计算引擎,并通过该计算引擎执行计算语句得到计算结果,并将该计算结果返回至终端,由终端通过应用程序对该计算结果进行可视化展示。
本申请实施例提供了一种计算语句处理方法,该方法可以应用于终端或服务器,也可以由终端和服务器协同执行。下面以该方法应用于计算机设备为例进行说明,该计算机设备可以是终端或服务器。如图3所示,该方法包括以下步骤:
步骤S302,对待进行预测的目标计算语句进行划分,得到目标计算语句所包括的多个目标字符组。
具体地,计算机设备获取待进行预测的计算语句,称为目标计算语句。计算机设备按照预设单元长度对目标计算语句进行划分,以使目标计算语句中每预设单元长度的语句字符构成一个目标字符组,从而得到多个目标字符组。
需要说明的是,预设单元长度并非一个固定的长度,而是根据目标计算语句中的语句字符而定。示例性地,计算机设备将目标计算语句按字符进行分割,相邻的1-5个字符构成一个目标字符组。在一些实施例中,划分而成的目标字符组中若干个字符为一个字符串,也可以为一个单词。
例如,计算机设备对目标计算语句“select from table1”进行划分,则划分而成的多个目标字符组为:{{select},{from},{table},{1}}。
在一些实施例中,计算机设备在对目标计算语句进行划分时可以剔除无意义的字符,以减少数据量,提高处理效率。
步骤S304,分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到目标计算语句的目标特征向量。
具体地,计算机设备对于划分得到的各个目标字符组,分别确定每个目标字符组的编码向量,将目标字符组从文本形式转化为数值特征形式,以供后续输入至模型中进行预测。
在一些实施例中,计算机设备对于划分得到的各个目标字符组,分别确定每个目标字符组的编码向量,包括:计算机设备通过自然语言处理算法,将目标字符组的文本形式转化为向量形式,从而得到各个目标字符组各自对应的编码向量。其中,自然语言处理算法例如为n-gram(汉语语言模型)算法等。
在另一些实施例中,计算机设备对于划分得到的各个目标字符组,分别确定每个目标字符组的编码向量,包括:计算机设备通过神经网络对目标字符组进行特征提取,从而得到目标字符组的编码向量。
在另一些实施例中,计算机设备对于划分得到的各个目标字符组,分别确定每个目标字符组的编码向量,包括:计算机设备基于预先构建的字典,根据目标字符组与字典中所包括的字符组的映射关系,将目标字符组转化为独热编码向量(One-Hot编码向量)。
在得到各个目标字符组的编码向量之后,计算机设备再根据目标计算语句所包括的各个目标字符组的编码向量,确定该目标计算语句的目标特征向量。
在一些实施例中,计算机设备根据目标计算语句所包括的各个目标字符组的编码向量,确定该目标计算语句的目标特征向量,包括:对各个目标字符组的编码向量进行平均或加权处理,得到目标计算语句的目标特征向量。
在各个目标字符组的编码向量维度较大的情况下,在一些实施例中,计算机设备还可以基于各个目标字符组的编码向量进行降维处理,以将维度保持在预设范围内,以提高预测速度与准确度。例如,计算机设备可以对基于各个目标字符组的编码向量得到的目标计算语句的初始维度的特征向量进行降维处理,得到目标维度的目标特征向量。
步骤S306,通过至少一个预测子模型对目标特征向量进行处理,输出至少一个候选处理结果,候选处理结果表征各候选计算引擎分别被选中的概率。
具体地,计算机设备将目标计算语句的目标特征向量输入至一或多个预测子模型中,并通过一或多个预测子模型对目标特征向量进行处理,输出一或多个候选处理结果。
在一些实施例中,计算机设备将目标计算语句的目标特征向量输入至一个预先训练好的预测子模型中,通过该预测子模型输出目标选择结果。示例性地,计算机设备将目标计算语句的目标特征向量输入至预先训练好的XGBoost(Extreme Gradient Boosting,极致梯度提升)模型中,由该预测子模型输出候选处理结果。
在另一些实施例中,计算机设备将目标计算语句的目标特征向量分别输入至多个预先训练好的预测子模型中,并由每个预测子模型分别输出各自对应的候选处理结果。
其中,候选处理结果表征各候选计算引擎分别被选中的概率,例如可以是概率序列的形式。比如,预测子模型1输出的候选处理结果为概率序列[0.8,0.06,0.14],该概率序列中依次为预测子模型1所输出的分别对应于候选计算引擎A、候选计算引擎B、和候选计算引擎C的概率。
步骤S308,确定针对于目标计算语句,各候选计算引擎分别对应的引擎权重。
具体地,每个候选计算引擎分别对应于各自的引擎权重。引擎权重用于表示相应的计算引擎在预测过程中的重要程度。
在一些实施例中,计算机设备确定目标计算语句对应的计算任务或计算场景,并获取在相应的计算任务或计算场景下、预先为各个候选计算引擎所设置的引擎权重。引擎权重越高,说明在当前的计算任务或者计算场景下相应计算引擎的重要程度更高。其中,当前的计算任务或者计算场景下计算引擎的重要程度,可以是当前的计算任务或者计算场景下常用程度或者使用频繁程度。
比如,在ETL(Extract-Transform-Load,数据仓库)、报表统计等计算场景下,通常会使用Spark计算引擎来进行计算,说明该Spark计算引擎相较于其他计算引擎而言重要程度更高,则计算机设备可以预先将Spark计算引擎对应的引擎权重调高。或者,在日志检索等计算场景下,通常会使用Hermes计算引擎来进行计算,则计算机设备可以预先提高该Hermes计算引擎的引擎权重,等等。由此,在特定的计算任务或者计算场景下,将指定的计算引擎对应的引擎权重调高,能够使得最终确定的目标计算引擎更加符合计算需求,准确性提高。
在另一些实施例中,计算机设备获取与目标计算语句相匹配的一或多条历史计算语句,并确定与所相匹配的一或多条历史计算语句分别对应的历史执行结果;根据各相匹配的历史计算语句分别对应的历史执行结果所指示的计算引擎,确定针对于目标计算语句各候选计算引擎分别对应的引擎权重。
具体地,计算机设备在历史计算语句集合中,搜索与当前的目标计算语句相同或相似的一或多条历史计算语句,作为与目标计算语句相匹配的一或多条历史计算语句。每条历史计算语句均对应有各自的历史执行结果,该历史执行结果指示相应的历史计算语句由哪一计算引擎执行。
其中,历史计算语句与当前的目标计算语句相似,指的是历史计算语句与当前的目标计算语句之间的相似度大于阈值。
在一些实施例中,计算机设备通过计算历史计算语句与目标计算语句之间的文本相似度值来确定历史计算语句与目标计算语句是否相似。例如,计算机设备分别提取历史计算语句与目标计算语句各自对应的文本特征向量,并基于文本特征向量之间的相似度来确定历史计算语句与目标计算语句是否相似。当文本特征向量之间的相似度大于阈值时,则计算机设备确定历史计算语句与目标计算语句相似。
在另一些实施例中,计算机设备通过分类模型来判断历史计算语句与目标计算语句是否相似。示例性地,计算机设备通过神经网络模型来计算历史计算语句与目标计算语句之间的文本相似度值,例如,计算机设备将历史计算语句与目标计算语句进行拼接,并将拼接后的语句文本输入至神经网络模型中,由神经网络模型输出二者属于一类或者二者不属于一类的结果。当神经网络模型输出二者属于一类的结果时,则计算机设备确定历史计算语句与目标计算语句相似。
由此,计算机设备根据各历史计算语句分别对应的历史执行结果,对各个历史执行结果所指示的计算引擎进行统计,并根据统计结果确定针对于目标计算语句各候选计算引擎分别对应的引擎权重。
在一些实施例中,计算机设备根据各历史计算语句对应的历史执行结果进行统计,各历史执行结果分别指示的计算引擎构成了分布结果,计算机设备可以根据该分布结果确定各个候选计算引擎对应的占比,并根据占比来分别调节各个候选计算引擎的引擎权重。其中,各个候选计算引擎对应的占比,为各个候选计算引擎的执行次数与全部计算引擎的执行次数的比值。全部计算引擎的执行次数也即历史计算语句的条数。在另一些实施例中,计算机设备根据各历史计算语句对应的历史执行结果进行统计,并将执行次数最多的候选计算引擎的引擎权重调高或调整至预设值。
步骤S308,根据引擎权重和至少一个候选处理结果,确定目标计算引擎,并将目标计算语句路由至目标计算引擎。
其中,目标计算引擎为预设的多个计算引擎中的其中一个。计算引擎包括但不限于Spark、Presto、Storm、或者Flink等。
具体地,计算机设备根据引擎权重和至少一个候选处理结果,确定目标计算引擎。在确定用于执行目标计算语句的目标计算引擎之后,,计算机设备将目标计算语句路由至该目标计算引擎,以由该目标计算引擎执行目标计算语句。
在输出一个候选处理结果的情况下,计算机设备基于候选处理结果与各个候选计算引擎分别对应有各自的引擎权重,确定目标计算引擎。比如,预测子模型1输出的候选处理结果为概率序列[0.8,0.06,0.14],该概率序列中依次为预测子模型1所输出的分别对应于候选计算引擎A、候选计算引擎B、和候选计算引擎C的概率。而候选计算引擎A、候选计算引擎B、和候选计算引擎C各自对应的引擎权重分别为αA、αB、αC,则计算机设备基于候选处理结果与各个候选计算引擎分别对应有各自的引擎权重,得到[0.8*αA,0.06*αB,0.14*αC]。最终,计算机设备根据概率序列中的最大概率值,将最大概率值对应的候选计算引擎作为目标计算引擎。
在输出多个候选处理结果的情况下,每一个预测子模型均对应有一个概率序列,由此可以构成一个概率序列矩阵。计算机设备基于各个候选计算引擎分别对应的引擎权重,对该概率序列矩阵进行更新,并基于更新后的概率序列矩阵得到每个候选计算引擎分别对应的综合概率值,进而从中选择目标计算引擎。
在一些实施例中,计算机设备还可以基于各个子模型各自所选择的计算引擎进行投票,从而确定最终的目标计算引擎。例如,根据更新后的概率序列矩阵,计算机设备确定每个预测子模型输出的所选择的计算引擎,比如预测子模型1选择候选计算引擎A,预测子模型2选择候选计算引擎B,预测子模型3选择候选计算引擎A,则经过投票确定候选计算引擎A的票数最高,因此确定目标计算引擎为候选计算引擎A。
在一些实施例中,将目标计算语句路由至目标选择结果所指示的计算引擎之后,方法还包括:通过目标选择结果所指示的目标计算引擎执行目标计算语句,以生成对应于目标计算语句的目标计算结果;通过显示界面对目标计算结果进行展示。
具体地,计算机设备将目标计算语句路由至该目标计算引擎,以由该目标计算引擎执行目标计算语句,生成对应于目标计算语句的目标计算结果。
计算机设备在得到目标计算结果之后,通过显示界面对目标计算结果进行展示。例如,服务器在得到目标计算结果之后,将目标计算结果发送至终端,终端通过应用程序的显示界面进行展示。由此,通过上述方式无需人工选择计算引擎,能够实现自适应地选择最合适的计算引擎并自动生成计算结果,效率更高,提高了用户体验。
上述计算语句处理方法中,通过对待进行预测的目标计算语句进行划分,得到目标计算语句所包括的多个目标字符组,然后分别确定每个目标字符组的编码向量,再根据各目标字符组的编码向量得到目标计算语句的目标特征向量,由此将目标计算语句从文本形式转化为特征向量形式,反映目标计算语句在特征空间中的特征,以供后续模型进行学习和预测;通过至少一个预测子模型对目标特征向量进行处理,输出至少一个候选处理结果,由此能够利用机器学习模型来学习并建模计算语句与其执行结果之间的关系,对于从未执行过的计算语句也能够预测得到计算结果,提高了计算引擎选择的准确性,并提高了计算成功率,再基于至少一个候选处理结果和各候选计算引擎分别对应的引擎权重确定目标计算引擎,最终将目标计算语句路由至目标计算引擎以执行,实现了自适应的计算引擎选择和自动计算,效率更高。
在选择计算引擎时,计算机设备首先将计算语句划分成字符组,并以字符组的向量表示来表示各个字符组对于决策计算引擎的贡献程度。为此,在一些实施例中,分别确定每个目标字符组的编码向量,包括:获取从历史计算语句集合中提取的历史字符组构建而成的特征词典;对于每个目标字符组,在特征词典中确定与目标字符组相匹配的历史字符组;基于相匹配的历史字符组在历史计算语句集合中的频次信息,确定目标字符组对应的频次信息;根据各目标字符组对应的频次信息,确定各目标字符组的编码向量。
具体地,计算机设备预先构建特征词典,以根据该特征词典确定各目标字符组的编码向量。其中,特征词典是基于历史计算语句构成的。历史计算语句为历史已经执行过的计算语句,历史计算语句中包括的字符组称为历史字符组。多条历史计算语句所构成的集合为历史计算语句集合。
对于每个目标字符组,计算机设备在特征词典中确定与目标字符组相匹配的历史字符组。特征词典中与目标字符组相匹配的历史字符组,指的是与目标字符组中语句字符一致的历史字符组。例如,目标计算语句中目标字符组为“select”,则计算机设备在特征词典中查找是否记录有“select”,特征词典中记录的“select”为与目标字符组相匹配的历史字符组。
对于每个目标字符组,计算机设备基于与之相匹配的历史字符组在历史计算语句集合中的频次信息,确定相应目标字符组对应的频次信息。其中,历史字符组在历史计算语句集合中的频次信息,可以是历史字符组在历史计算语句集合中出现的次数。历史字符组在历史计算语句集合中出现的次数,也就等同于与之相匹配的目标字符组在历史计算语句集合中出现的次数。
在一些实施例中,计算机设备基于相匹配的历史字符组在历史计算语句集合中的频次信息,确定目标字符组对应的频次信息,可以是基于历史字符组在历史计算语句集合中的频次信息,将该频次信息对应的频次值作为目标字符组对应的频次值;也可以是基于该频次信息对应的频次值进行数值运算,得到目标字符组对应的频次值。
由此,计算机设备根据各目标字符组对应的频次信息,确定各目标字符组的编码向量。例如,计算机设备将各目标字符组的频次值,作为相应目标字符组的编码向量的向量值。
上述实施例中,基于历史计算语句集合和预先构建的特征词典来确定每个目标字符组对应的频次信息,用以区分最重要或者最有意义的字符组,由此能够建立字符组与计算引擎之间的联系,准确率更高。
在一些实施例中,基于相匹配的历史字符组在历史计算语句集合中的频次信息,确定目标字符组对应的频次信息,包括:基于历史计算语句集合,确定与目标字符组相匹配的历史字符组的第一频次信息;确定目标字符组在目标计算语句中的第二频次信息;基于第一频次信息和第二频次信息,确定目标字符组对应的频次信息。
具体地,计算机设备基于历史计算语句集合,确定与目标字符组相匹配的历史字符组的第一频次信息。其中,第一频次信息指的是历史字符组在历史计算语句集合中的出现次数。示例性地,计算机设备基于包含历史字符组的历史计算语句在历史计算语句集合中的出现次数与历史计算语句集合中所记录的全部历史计算语句的数量的比值,得到第一频次信息。
计算机设备再确定目标字符组在目标计算语句中的第二频次信息。其中,第二频次信息表征目标字符组在目标计算语句中的出现次数。示例性地,计算机设备基于目标字符组在目标计算语句中的出现次数与目标计算语句中所包括的全部目标字符组的数量,得到第二频次信息。
由此,计算机设备基于第一频次信息和第二频次信息,综合得到目标字符组对应的频次信息。示例性地,计算机设备基于第一频次信息和第二频次信息的乘积,确定目标字符组对应的频次值,并将该频次值作为目标字符组的频次信息。
示例性地,计算机设备根据TF-IDF(词频-逆文档词频)方法,基于历史计算语句集合,确定与目标字符组相匹配的历史字符组的第一频次信息,即IDF(逆文档词频)值。同时,计算机设备计算目标字符组在目标计算语句中的第二频次信息,即TF(词频)值。由此,计算机设备基于TF值与IDF值的乘积,得到目标字符组对应的频次信息,即目标字符组对应的TF-IDF值。
上述实施例中,通过根据历史字符组在历史计算语句集合中的频次信息,等同于目标字符组在历史计算语句集合中的频次信息,来表示目标字符组在历史执行的情况中的重要性,同时根据目标字符组在目标计算语句中的频次信息,来表示目标字符组在当前执行的情况中的重要程度,由此得到各个目标字符组对应的频次信息,能够对各个目标字符组对计算引擎预测与选择的重要程度,能够提高准确度。
需要说明的是,上述术语第一和第二等在本申请中用来描述频次信息,但是这些频次信息不应当被这些术语限制。这些术语仅用来将一个频次信息与另一个频次信息进行区分。例如,第一频次信息可以被称作第二频次信息,并且类似地,第二频次信息可以被称作第一频次信息,而不脱离各种所描述的实施例的范围,但是除非上下文以其他方式明确指出,否则它们不是同一个频次信息。相似的情况还包括第一决策树和第二决策树等。
在得到每个目标字符组的编码向量之后,计算机设备将各个目标字符组的编码向量进行组合得到目标计算语句的目标特征向量。在一些实施例中,根据各目标字符组的编码向量得到目标计算语句的目标特征向量,包括:根据与各目标字符组相匹配的历史字符组在特征词典中的索引,确定各目标字符组分别对应的向量位置;根据各目标字符组分别对应的向量位置和编码向量,确定目标计算语句的初始特征向量;基于每个目标字符组各自对应的重要度,对初始特征向量进行降维处理,得到目标计算语句的目标特征向量。
其中,预先构建的特征词典为有序词典,换言之,特征词典中记录的每一个历史字符组均对应有相应的索引。
具体地,对于每一个目标字符组,计算机设备在特征词典中确定与之匹配的历史字符组时,也确定该匹配的历史字符组在特征词典中的索引,从而确定在目标计算语句的目标特征向量中该目标字符组的向量位置。例如,特征词典中索引为1对应于向量位置为第2位,即目标特征向量中第二位向量为与索引为1的历史字符组相匹配的目标字符组的编码向量。
由此,计算机设备根据每个目标字符组的编码向量,以及每个目标字符组各自对应的向量位置,得到目标计算语句的初始特征向量。由于特征词典的维度通常会非常巨大,可以达到50万的级别,因此,计算机设备在得到初始特征向量后,基于每个目标字符组各自对应的重要度,对初始特征向量进行降维处理,得到目标计算语句的目标特征向量。
例如,计算机设备计算每个目标字符组各自对应的重要度,筛选出最重要的预设数量(例如3千、1万等)的目标字符组,将其他的目标字符组对应的编码向量剔除,从而得到目标计算语句的目标特征向量。
上述实施例中,基于特征词典中的索引信息来确定每个目标字符组对应的向量位置,从而能够按照各自的位置组合得到目标计算语句的目标特征向量。而由于基于特征词典的方式会得到特征维度非常高的特征向量,因此还通过重要度评估来进行降维处理,能够极大地提高处理速度,并进一步提高准确度。
在一些实施例中,基于每个目标字符组各自对应的重要度,对初始特征向量进行降维处理,得到目标计算语句的目标特征向量,包括:确定每个目标字符组各自相匹配的历史字符组,并根据各历史字符组对应的重要度,确定各目标字符组对应的重要度;按照每个目标字符组对应的重要度排序,在各目标字符组分别对应的编码向量中,筛选预设数量的编码向量;基于预设数量的编码向量,确定目标计算语句的目标特征向量。
具体地,计算机设备在特征词典中确定每个目标字符组各自相匹配的历史字符组,并计算历史字符组对应的重要度。其中,计算重要度的方式可以是基于历史字符组对应的权重系数、通过神经网络训练的方式得到历史字符组对应的重要度、或者通过建模拟合得到历史字符组对应的重要度等中的一种或多种。
计算机设备根据各历史字符组对应的重要度,确定各目标字符组对应的重要度。例如,计算机设备将各历史字符组对应的重要度,作为与之相匹配的各目标字符组对应的重要度。
计算机设备在得到各个目标字符组对应的重要度之后,按照每个目标字符组对应的重要度,对各个目标字符组进行排序,从而得到各个目标字符组对应的重要度排序。计算机设备在各目标字符组分别对应的编码向量中,筛选预设数量的编码向量。例如,按照重要度排序高低,从重要度最高的开始直到第3千个,筛选出3千个编码向量。
由此,计算机设备基于目标数量的编码向量,按照上述方式进行组合,例如按照索引的方式将各个目标字符组的编码向量放在相应的向量位置处,进而组合得到目标计算语句的目标特征向量。
上述实施例中,根据目标字符组的重要度来进行特征选择,能够保留最重要的目标字符组,这些最重要的目标字符组与选择结果之间的关联性最强,能够极大地提高处理速度并提高准确度。
计算机设备进行特征选择来进行降维处理的方式可以有多种,例如,在一些实施例中,根据各历史字符组对应的重要度,确定各目标字符组对应的重要度之前,方法还包括:基于各历史字符组所属的历史计算语句对应的执行标签,建立逻辑回归模型;执行标签表示用于执行相应的历史计算语句的计算引擎;根据所建立的逻辑回归模型,确定各历史字符组的回归系数;基于各历史字符组的回归系数,确定各历史字符组对应的重要度。
具体地,计算机设备基于各历史字符组所属的历史计算语句对应的执行标签,建立逻辑回归(Logistic Regression,LR)模型来进行拟合,并根据所建立的逻辑回归模型,得到各个历史字符组在所拟合的回归方程中的回归系数。其中,执行标签表示执行该历史字符组所属的历史计算语句的计算引擎。例如,对于历史字符组x1,其属于历史计算语句x,而历史计算语句x的执行标签1表示执行该历史计算语句x的计算引擎为A。
由此,计算机设备基于各个历史字符组的回归系数,即可评估各个历史字符组对应的重要度。例如,计算机设备根据各个历史字符组的回归系数的绝对值,绝对值越大,表示相应历史字符组对应的重要度越高。
上述实施例中,利用逻辑回归模型基于历史字符数据进行训练,逻辑回归模型中各个历史字符组对应的回归系数即表示重要程度,由此即可进一步对各个目标字符组的重要程度给出重要性分析,能够极大地提高处理速度并提高准确度。
在另一些实施例中,根据各历史字符组对应的重要度,确定各目标字符组对应的重要度之前,方法还包括:从多个历史字符组中选择第一预设数量的历史字符组构建第一决策树,通过所构建的第一决策树输出第一预测结果;基于第一预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第一误差;分别对各历史字符组添加噪声,并从中选择第二预设数量的添加有噪声的历史字符组构建第二决策树,通过所构建的第二决策树输出第二预测结果;基于第二预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第二误差;对于每个历史字符组,基于相应的第一误差与第二误差的差异,确定各历史字符组分别对应的重要度;其中,差异越大表征历史字符组对应的重要度越高。
具体地,计算机设备从多个历史字符组中,选择第一预设数量的历史字符组,构建第一决策树,并通过所构建的第一决策树进行处理,从而输出第一预测结果。其中,构建的第一决策树可以有一棵树或多棵树。例如,计算机设备为从多个历史字符组中随机选择第一预设数量的历史字符组构建第一决策树。
由于每个历史字符组所属的历史计算语句对应有执行标签,则计算机设备即可根据第一预测结果与执行标签所表示的执行结果之间的差异,来确定历史字符组的第一误差。
计算机设备再分别对各历史字符组添加噪声,从而改变各个历史字符组对应的编码向量的向量值。计算机设备从多个添加有噪声的历史字符组中,选择第二预设数量的历史字符组,构建第二决策树,并通过所构建的第二决策树进行处理,从而输出第二预测结果。例如,计算机设备为从多个历史字符组中随机选择第二预设数量的历史字符组构建第二决策树。需要说明的是,第一预设数量与第二预设数量可以相同或不同。计算机设备即可根据第二预测结果与执行标签所表示的执行结果之间的差异,来确定历史字符组的第二误差。
由此,对于每个历史字符组,计算机设备基于相应的第一误差与第二误差的差异,来确定各历史字符组分别对应的重要度。其中,差异越大表征历史字符组对应的重要度越高。换言之,如果一个历史字符组在添加噪声之后,误差变得更大,说明该历史字符组对计算引擎的预测结果非常重要。例如,计算机设备基于相应的第一误差与第二误差的差值,差值越大说明重要度越高。
示例性地,对于历史字符组x,计算机设备根据第一预测结果与执行标签所表示的执行结果之间的差异,来确定历史字符组x的第一误差Error1。在构建有多棵第一决策树的情况下,历史字符组x的第一误差为ΣError1。同样地,计算机设备根据第二预测结果与执行标签所表示的执行结果之间的差异,来确定历史字符组x的第二误差Error2。在构建有多棵第一决策树的情况下,历史字符组x的第二误差为ΣError2。由此,计算机设备计算第一误差与第二误差的差值,并结合历史字符组的数量N,来得到第一误差与第二误差的差异:Σ(Error1-Error2)/N。由此,该差异越大,表征历史字符组x的重要度越高。
上述实施例中,通过决策树在历史执行过的计算语句与其执行结果的基础上进行重要度分析,准确地评估各个历史字符组对应的重要度,能够最大程度上建立历史字符组与执行结果之间的关联,准确度更高。
在另一些实施例中,计算机设备无需预先建立特征词典,而是通过神经网络的方式直接对目标字符组进行特征提取,从而得到各个目标字符组的编码向量,例如embedding(嵌入)向量,进而得到目标计算语句的目标特征向量。例如,目标计算语句为“select from(table1)”,计算机设备通过将各个目标字符组映射到向量空间中的某个位置,得到各个目标字符组的embedding向量,例如,目标字符组“select”对应的向量为(a1,a2,a3),目标字符组“from”对应的向量为(b1,b2,b3),目标字符组“table”对应的向量为(c1,c2,c3)。由此,目标计算语句的目标特征向量可以表示为{(a1,a2,a3),(b1,b2,b3),(c1,c2,c3)}。
当然上述向量仅为举例,在具体的应用场景中可根据实际情况作适当调整;本领域技术人员应当清楚,对上述特征提取所做出的合理变形和适当调整均在本申请的保护范围之内。
在该种情况下,分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到目标计算语句的目标特征向量,包括:分别获取各目标字符组在目标计算语句中的共现信息;基于各目标字符组各自对应的共现信息和权重系数,确定各目标字符组的编码向量;基于各目标字符组的编码向量,得到目标计算语句的目标特征向量。
具体地,对于每个目标字符组,计算机设备获取该目标字符组在目标计算语句中的共现信息。其中,目标字符组在目标计算语句中的共现信息,指的是结合有目标字符组在目标计算语句中的上下文信息(周围词)所得到的共现信息。例如,对于一个计算语句中所包括的一个字符组,其共现信息指的是在该计算语句以该字符组为中心的左右10个字符组的共现信息。
共现信息通常由矩阵的形式表示,也被称为共现矩阵。共现矩阵表示对共现次数的统计情况。共现矩阵的生成步骤例如为:计算机设备首先构建一个空矩阵,大小为V*V,即词表*词表,值全为0。矩阵中的元素坐标记为(i,j)。计算机设备确定一个滑动窗口的大小,并从历史计算语句集合中第一条历史计算语句的第一个历史字符组开始,以1的步长滑动该滑动窗口。对于第i个历史字符组,其上下文信息是指在滑动窗口中并在该历史字符组两边的历史字符组。计算机设备在滑动窗口内统计上下文信息,例如统计该历史字符组出现的次数,并将该值累计到矩阵中(i,j)处。由此,不断滑动该滑动窗口并进行统计,即可得到共现矩阵。
例如,共现信息可以表示为维度为N*V的周围词向量矩阵,其中V为周围词数量,N为所要构建的特征向量的维度;周围词向量矩阵中每一列表示一个词的周围词向量。例如,目标计算语句为“select from(table1)”,则对于目标字符组“from”而言,其周围词包括“select”和“table”。则共现信息可以是基于“select”和“table”的向量所构建的周围词向量矩阵。
计算机设备基于各目标字符组各自对应的共现信息和权重系数,确定各目标字符组的编码向量。比如,计算机设备根据周围词向量矩阵与权重系数的乘积,得到各目标字符组的编码向量。在一些实施例中,各目标字符组各自对应的权重系数,可以是各个目标字组对应的独热编码(One-Hot)向量,例如为[0,1,1,1,0,0,1]等。在另一些实施例中,各目标字符组各自对应的权重系数也可以是基于预先设置的权重函数来确定,该权重函数用于控制不同大小的共现次数对结果的影响,例如共现次数越多,权重越大。
由此,计算机设备根据各个目标字符组对应的编码向量,得到预设维度的目标计算语句的目标特征向量。在根据各个目标字符对应的编码向量得到的初始特征向量小于预设维度的情况下,在一些实施例中,计算机设备可以通过补0的方式将初始特征向量的维度扩展至预设维度,从而得到目标特征向量。在根据各个目标字符对应的编码向量得到的初始特征向量大于预设维度的情况下,在一些实施例中,计算机设备可以通过剔除超出部分的方式将初始特征向量的维度减少至预设维度,从而得到目标特征向量。或者,计算机设备也可以再次通过重要度分析的方式进行特征选择,从而实现特征降维,等等。
上述实施例中,通过共现信息来确定各目标字符组的编码向量,能够充分考虑到目标字符组在目标计算语句中的不同位置所带来的影响,同时也充分地利用了历史执行情况得到的统计信息,能够保留最重要的维度从而提高准确度。
在一些实施例中,不同的预测子模型具有相互差别的模型结构;根据引擎权重和至少一个候选处理结果,确定目标计算引擎,包括:确定各预测子模型分别对应的模型权重;根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及至少一个候选处理结果,从各候选计算引擎中确定目标计算引擎。
具体地,计算机设备将目标计算语句对应的目标特征向量,分别输入至多个预测子模型中,其中,不同的预测子模型具有相互差别的模型结构。例如,一个预测子模型可以为预先训练好的XGBoost模型,一个预测子模型可以为预先训练好的LightGBM(LightGradient Boosting Machine,轻度梯度提升机)模型,另一个预测子模型可以为预先训练好的Catboost模型(基于对称决策树的模型),等等。
计算机设备再确定各预测子模型分别对应的模型权重,该模型权重可以是预先设置,也可以是基于在训练过程中不断进行迭代调整后得到。模型权重用于表示相应的预测子模型所输出的结果所占的比重。当一个预测子模型的准确率越高,则该预测子模型相应的模型权重可以越高。由此,计算机设备根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及至少一个候选处理结果,从各候选计算引擎中确定目标计算引擎。
在一些实施例中,计算机设备根据各候选计算引擎分别对应的引擎权重,对各个预测子模型各自输出的候选处理结果继续更新,再基于更新后的结果,结合各个预测子模型分别对应的模型权重,得到各个预测子模型所输出的分别对应于各个候选计算引擎的综合概率值。最终,计算机设备基于综合概率值来确定目标计算引擎。
上述实施例中,通过模型结构不同的预测子模型分别进行预测输出,并综合多个预测子模型所输出的预测结果进一步确定最终的目标计算引擎,能够提高模型的准确率。
在一些实施例中,根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及至少一个候选处理结果,从各候选计算引擎中确定目标计算引擎,包括:基于各预测子模型各自输出的候选处理结果,构建初始预测矩阵,初始预测矩阵中各元素表征一个预测子模型预测选中一个候选计算引擎的概率值;根据各候选计算引擎分别对应的引擎权重和各预测子模型分别对应的模型权重,对初始预测矩阵中各元素对应的概率值进行更新,得到目标预测矩阵;基于目标预测矩阵确定每个候选计算引擎分别对应的综合概率值,并根据综合概率值从候选计算引擎中确定出目标计算引擎。
具体地,每个预测子模型所输出的候选处理结果表征了该预测子模型所预测的对应于各个候选计算引擎的概率,可以由概率序列的形式表示。则计算机设备基于各预测子模型各自输出的候选处理结果,可以构建初始预测矩阵。例如:
其中,该初始预测矩阵具有m行n列,每一行对应于一个预测子模型a1、a2、a3……am,共有m个预测子模型。每一列对应于一个候选计算引擎a1、b1、c1……n1,共有n个候选计算引擎。初始预测矩阵中各元素表征一个预测子模型预测选中一个候选计算引擎的概率值。
计算机设备根据各候选计算引擎分别对应的引擎权重,对初始预测矩阵进行更新。例如,计算机设备根据各候选计算引擎分别对应的引擎权重,将各候选计算引擎分别对应的引擎权重与初始预测矩阵中每个候选计算引擎对应的初始的概率值(每一列)相乘,从而实现对初始预测矩阵的更新。
然后,计算机设备根据各预测子模型分别对应的模型权重,对初始预测矩阵中各元素对应的概率值再次进行更新,得到目标预测矩阵。例如,计算机设备根据各预测子模型分别对应的模型权重,在基于引擎权重更新后的初始预测矩阵中,对每个预测子模型对应的元素值(每一行)进行相乘,从而实现对初始预测矩阵的再次更新,得到目标预测矩阵。
计算机设备即可基于目标预测矩阵,确定每个候选计算引擎分别对应的综合概率值。例如,对于每个预测子模型,各自输出的对应于各个候选计算引擎的综合概率值,为目标预测矩阵中每一行对应的元素值。又如,对于每个候选计算引擎,各自对应的综合概率值为目标预测矩阵中每一列对应的元素值之和。
由此,计算机设备根据综合概率值从候选计算引擎中确定出目标计算引擎。例如,计算机设备根据综合概率值中的最大值,将最大值对应的候选计算引擎确定为目标计算引擎。
上述实施例中,通过基于模型权重和引擎权重分别对各个预测子模型各自输出的结果进行多重更新,并结合了各个模型的输出准确率,以及各个计算引擎各自所占的比重,使得最终选择的结果更加准确。
本申请还提供一种应用场景,该应用场景应用上述的计算语句处理方法。具体地,该计算语句处理方法在该应用场景的应用例如如下:终端响应于基于输入界面触发的检测事件,获取在输入界面的编辑区域中输入的待进行预测的目标计算语句。终端将待进行预测的目标计算语句发送至服务器。服务器接收到目标计算语句后,对待进行预测的目标计算语句进行划分,得到目标计算语句所包括的多个目标字符组,分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到目标计算语句的目标特征向量。由此,服务器通过至少一个预测子模型对目标特征向量进行处理,输出至少一个候选处理结果,并基于各候选计算引擎分别对应的引擎权重和至少一个候选处理结果确定目标计算引擎。服务器将目标计算语句路由至目标选择结果所指示的目标计算引擎。服务器可以指示该目标计算引擎执行该目标计算语句,从而得到该目标计算语句的计算结果。服务器再将计算结果返回至终端,由终端进行可视化展示。
下面结合应用场景以一个示例进行说明。如图4所示,用户通过终端提供的应用程序输入SQL(Structured Query Language,结构化查询语言)计算语句,即目标计算语句。终端通过应用程序将用户所输入的SQL计算语句提交到大数据云平台。大数据云平台首先调用已经训练好且已部署的计算引擎预测服务,把SQL计算语句传给预测服务,预测服务基于所部属的计算引擎预测模型进行预测,选择最适合的计算引擎,输出预测结果,该预测结果即目标计算引擎。例如,在计算引擎A、计算引擎B、……计算引擎N中,选择计算引擎B为目标计算引擎。
大数据云平台根据预测服务传递的预测结果,确定由目标计算引擎进行计算。则大数据云平台将SQL计算语句路由至该目标计算引擎并进行计算,最终得到计算结果。
SQL计算语句中包括多个目标字符组,每个目标字符组为一个query(查询)。则大数据云平台调用预测服务进行预测的步骤如下:获取基于历史计算语句构建的有序词表,即特征词典,并利用该有序词表生成每个query对应的编码向量。通过线性模型进行特征选择,从而实现特征降维。然后由XGBoost模型输出所预测的目标计算引擎。
在一些实施例中,大数据云平台预先构建一个50w维度的有序词表。对于一个SQL计算语句,假设划分成的各个目标字符组为x1,x2,x3,x4,x5,x6,x7,如图5所示,则大数据云平台计算每个目标字符组对应的TD-IDF值。例如,对于目标字符组x1,大数据云平台按照该目标字符组x1在该有序词表中的索引,获知x1在计算语句对应的目标特征向量中的向量位置,并将该向量位置处的值设置为该目标字符组x1对应的TF-IDF值a1。依此类推,假设目标字符组x1对应的索引为2,目标字符组x2对应的索引为3,目标字符组x3对应的索引为5,目标字符组x4对应的索引为7,则为:(…,0,0,a1,a2,…,a3,a4,0,…,0,a5,a6,…,a7,…)。大数据云平台可以利用TD-IDF加权平均法,计算该SQL语句对应的初始特征向量为:(…,0,0,α1*a1,α2*a2,…,α3*a3,α4*a4,0,…,0,α5*a5,α6*a6,…,α7*a7,…),其中,α1、α2、α3、α4、α5、α6、α7分别为各个目标字符组对应的权重系数。大数据云平台对该初始特征向量进行降维处理,从而得到预设维度的目标特征向量。
由此,能够利用机器学习模型来学习并建模SQL语句与其执行结果之间的关系,实现对于从未执行过的SQL语句也能够预测得到计算结果,从而实现了自适应的计算引擎选择。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种计算引擎预测模型的训练方法。具体流程和步骤可参照前述实施例。该方法可以应用于终端或服务器,也可以由终端和服务器协同执行。下面以该方法应用于计算机设备为例进行说明,该计算机设备可以是终端或服务器。如图6所示,该方法包括以下步骤:
步骤S602,获取样本计算语句,以及与样本计算语句对应的样本执行结果;样本执行结果表示用于执行相应样本计算语句的计算引擎。
具体地,计算机设备获取样本计算语句,样本计算语句为历史的、已执行过的计算语句,因此每个样本计算语句对应有样本执行结果,该样本执行结果表示用于执行相应样本计算语句的计算引擎。
步骤S604,对样本计算语句进行划分,得到样本计算语句所包括的多个样本字符组。
具体地,计算机设备获取样本计算语句,并按照预设单元长度对样本计算语句进行划分,以使样本计算语句中每预设单元长度的语句字符构成一个样本字符组,从而得到多个样本字符组。示例性地,计算机设备将样本计算语句按字符进行分割,相邻的1-6个字符构成一个样本字符组。在一些实施例中,划分而成的样本字符组中若干个字符为一个字符串,也可以为一个单词。
在一些实施例中,计算机设备在对样本计算语句进行划分时可以剔除无意义的字符,以减少数据量,提高处理效率。
步骤S606,分别确定每个样本字符组的编码向量,并根据各样本字符组的编码向量得到样本计算语句的样本特征向量。
具体地,计算机设备对于划分得到的各个样本字符组,分别确定每个样本字符组的编码向量,将样本字符组从文本形式转化为数值特征形式,以供后续输入至模型中进行预测。
在一些实施例中,计算机设备对于划分得到的各个样本字符组,分别确定每个样本字符组的编码向量,包括:计算机设备通过自然语言处理算法,将样本字符组的文本形式转化为向量形式,从而得到各个样本字符组各自对应的编码向量。其中,自然语言处理算法例如为n-gram算法等。
在另一些实施例中,计算机设备对于划分得到的各个样本字符组,分别确定每个样本字符组的编码向量,包括:计算机设备通过神经网络对样本字符组进行特征提取,从而得到样本字符组的编码向量。
在另一些实施例中,计算机设备对于划分得到的各个样本字符组,分别确定每个样本字符组的编码向量,包括:计算机设备基于预先构建的字典,根据样本字符组与字典中所包括的字符组的映射关系,将样本字符组转化为独热编码向量(One-Hot编码向量)。
在得到各个样本字符组的编码向量之后,计算机设备再根据样本计算语句所包括的各个样本字符组的编码向量,确定该样本计算语句的样本特征向量。
在一些实施例中,计算机设备根据样本计算语句所包括的各个样本字符组的编码向量,确定该样本计算语句的样本特征向量,包括:对各个样本字符组的编码向量进行平均或加权处理,得到样本计算语句的样本特征向量。
在各个样本字符组的编码向量维度较大的情况下,在一些实施例中,计算机设备还可以基于各个样本字符组的编码向量进行降维处理,以将维度保持在预设范围内,以提高预测速度与准确度。例如,计算机设备可以对基于各个样本字符组的编码向量得到的样本计算语句的初始维度的特征向量进行降维处理,得到样本维度的样本特征向量。
步骤S608,通过至少一个待训练的预测子模型对样本特征向量进行处理,输出至少一个候选预测结果;候选预测结果表征各候选计算引擎分别被选中的概率。
具体地,计算机设备将样本计算语句的样本特征向量输入至一或多个预测子模型中,并通过一或多个预测子模型对样本特征向量进行处理,输出一或多个候选预测结果,候选预测结果表征各候选计算引擎分别被选中的概率。在一些实施例中,计算机设备将样本计算语句的样本特征向量输入至一个待训练的预测子模型中,通过该预测子模型输出候选预测结果。示例性地,计算机设备将样本计算语句的样本特征向量输入至待训练的XGBoost模型中,由该预测子模型输出候选预测结果。在另一些实施例中,计算机设备将样本计算语句的样本特征向量分别输入至多个待训练的预测子模型中,并由每个预测子模型分别输出各自对应的候选预测结果。具体流程和步骤请参照前述实施例,此处不再赘述。
步骤S610,确定针对于样本计算语句,各候选计算引擎分别对应的引擎权重。
具体地,每个候选计算引擎分别对应于各自的引擎权重。引擎权重用于表示相应的计算引擎在预测过程中所占的比重。在一些实施例中,引擎权重可以基于不同的计算任务或不同的计算场景而设定,由此,在特定的计算任务或者计算场景下,将指定的计算引擎对应的引擎权重调高,能够使得最终确定的目标计算引擎更加符合计算需求,准确性提高。在另一些实施例中,引擎权重可以基于历史执行过的历史计算语句及相应的历史执行结果而自动设定。例如,计算机设备在历史计算语句集合中,搜索与当前的目标计算语句相同或相似度大于一定阈值的一或多条历史计算语句,并确定该一或多条历史计算语句各自对应的历史执行结果,由此来对各个候选计算引擎的引擎权重进行调整。比如计算机设备通过搜索查找到历史曾经执行过与目标计算语句相同的历史计算语句,则计算机设备根据该历史计算语句对应的历史执行结果,将该历史执行结果所指示的计算引擎所对应的引擎权重调高。
步骤S612,根据引擎权重和至少一个候选预测结果,确定预测计算引擎。
具体地,计算机设备根据引擎权重和至少一个候选预测结果,确定预测计算引擎。在确定用于执行目标计算语句的预测计算引擎之后,,计算机设备将目标计算语句路由至该预测计算引擎,以由该预测计算引擎执行目标计算语句。
在输出一个候选预测结果的情况下,计算机设备基于候选预测结果与各个候选计算引擎分别对应有各自的引擎权重,确定预测计算引擎。比如,预测子模型1输出的候选预测结果为概率序列[0.8,0.06,0.14],该概率序列中依次为预测子模型1所输出的分别对应于候选计算引擎A、候选计算引擎B、和候选计算引擎C的概率。而候选计算引擎A、候选计算引擎B、和候选计算引擎C各自对应的引擎权重分别为αA、αB、αC,则计算机设备基于候选预测结果与各个候选计算引擎分别对应有各自的引擎权重,得到[0.8*αA,0.06*αB,0.14*αC]。最终,计算机设备根据概率序列中的最大概率值,将最大概率值对应的候选计算引擎作为预测计算引擎。
在输出多个候选预测结果的情况下,每一个预测子模型均对应有一个概率序列,由此可以构成一个概率序列矩阵。计算机设备基于各个候选计算引擎分别对应的引擎权重,对该概率序列矩阵进行更新,并基于更新后的概率序列矩阵得到每个候选计算引擎分别对应的综合概率值,进而从中选择预测计算引擎。
在一些实施例中,计算机设备还可以基于各个子模型各自所选择的计算引擎进行投票,从而确定最终的预测计算引擎。例如,根据更新后的概率序列矩阵,计算机设备确定每个预测子模型输出的所选择的计算引擎,比如预测子模型1选择候选计算引擎A,预测子模型2选择候选计算引擎B,预测子模型3选择候选计算引擎A,则经过投票确定候选计算引擎A的票数最高,因此确定预测计算引擎为候选计算引擎A。
步骤S614,基于预测计算引擎与样本执行结果间的差异,对至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型。
具体地,计算机设备基于预测计算引擎与样本执行结果间的差异,来对至少一个预测子模型进行多次迭代训练,并不断调整模型参数,直至达到训练终止条件时结束,得到计算引擎预测模型。其中,训练终止条件包括但不限于训练时长达到阈值、训练次数达到阈值、或者损失最小等中的一种或多种。
在一些实施例中,基于预测计算引擎与样本执行结果间的差异,对至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型,包括:基于预测计算引擎与样本执行结果间的差异,构建损失函数;基于损失函数对至少一个预测子模型进行训练,并调节至少一个预测子模型各自对应的模型参数,直至达到训练终止条件时结束;其中,每个预测子模型的模型参数包括有分别对应于多个计算引擎的权重参数;基于各训练完成的预测子模型,确定计算引擎预测模型,计算引擎预测模型用于获取待进行预测的目标计算语句,并对目标计算语句进行处理,以生成目标计算结果。
具体地,计算机设备基于预测计算引擎与样本执行结果间的差异,构建损失函数。例如基于平方差、均方差等来构建损失函数。
计算机设备基于损失函数,对至少一个预测子模型进行多次迭代训练。在每次迭代训练中,计算机设备调节至少一个预测子模型各自对应的模型参数,直至达到训练终止条件时结束。
其中,每个预测子模型的模型参数包括有分别对应于多个计算引擎的权重参数。例如,计算引擎A对应的权重参数为α1。举例而言,预测子模型为决策树模型,则决策树中叶子结点对应的权重参数,即为相应的计算引擎对应的权重参数。或者,预测子模型为分类模型,则在全连接层对于每个分类设置有一个权重参数,每个分类对应于一个计算引擎。
由此,计算机设备基于各训练完成的预测子模型,确定计算引擎预测模型。其中,计算机设备将各个训练完成的预测子模型作为最终的计算引擎预测模型。后续计算机设备即可通过该计算引擎预测模型,获取待进行预测的目标计算语句,并通过该计算引擎预测模型所预测的计算引擎对目标计算语句进行处理,以生成目标计算结果。上述实施例中,通过调节每个预测子模型的模型参数来对计算引擎预测模型进行训练,提高了训练的准确度。
上述计算引擎预测模型的训练方法,通过获取样本计算语句,以及与样本计算语句对应的样本执行结果,以此作为样本来对计算引擎预测模型进行训练。在训练阶段,首先对样本计算语句进行划分,得到样本计算语句所包括的多个样本字符组,然后分别确定每个样本字符组的编码向量,并根据各样本字符组的编码向量得到样本计算语句的样本特征向量,从而将样本计算语句从文本形式转化为特征向量形式,反映样本计算语句在特征空间中的特征,以供后续计算引擎预测模型进行学习和预测;在模型处理阶段,通过至少一个待训练的预测子模型对样本特征向量进行处理,输出至少一个候选预测结果,由此能够利用机器学习模型来学习并建模计算语句与其执行结果之间的关系,对于从未执行过的计算语句也能够决策出最终的计算引擎,提高了计算语句的执行成功率,同时基于至少一个候选预测结果和各预测子模型分别对应的模型权重来确定预测计算引擎,,综合不同预测子模型的结果得到最终的目标预测结果,提高了计算引擎选择的准确性。基于预测计算引擎与样本执行结果间的差异,对至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型。由此,通过机器学习的方式来对计算语句进行学习,能够实现自适应地计算引擎预测。
在一些实施例中,分别确定每个样本字符组的编码向量,包括:获取从历史计算语句集合中提取的历史字符组构建而成的特征词典;对于每个样本字符组,在特征词典中确定与样本字符组相匹配的历史字符组;基于相匹配的历史字符组在历史计算语句集合中的频次信息,确定样本字符组对应的频次信息;根据各样本字符组对应的频次值,确定各样本字符组的编码向量。
具体地,计算机设备预先构建特征词典,以根据该特征词典确定各样本字符组的编码向量。对于每个样本字符组,计算机设备在特征词典中确定与样本字符组相匹配的历史字符组。特征词典中与样本字符组相匹配的历史字符组,指的是与样本字符组中语句字符一致的历史字符组。例如,样本计算语句中样本字符组为“select”,则计算机设备在特征词典中查找是否记录有“select”,特征词典中记录的“select”为与样本字符组相匹配的历史字符组。
对于每个样本字符组,计算机设备基于与之相匹配的历史字符组在历史计算语句集合中的频次信息,确定相应样本字符组对应的频次信息。其中,历史字符组在历史计算语句集合中的频次信息,可以是历史字符组在历史计算语句集合中出现的次数。历史字符组在历史计算语句集合中出现的次数,也就等同于与之相匹配的样本字符组在历史计算语句集合中出现的次数。
在一些实施例中,计算机设备基于相匹配的历史字符组在历史计算语句集合中的频次信息,确定样本字符组对应的频次信息,可以是基于历史字符组在历史计算语句集合中的频次信息,将该频次信息对应的频次值作为样本字符组对应的频次值;也可以是基于该频次信息对应的频次值进行数值运算,得到样本字符组对应的频次值。
由此,计算机设备根据各样本字符组对应的频次信息,确定各样本字符组的编码向量。例如,计算机设备将各样本字符组的频次值,作为相应样本字符组的编码向量的向量值。
上述实施例中,基于历史计算语句集合和预先构建的特征词典来确定每个样本字符组对应的频次信息,用以区分最重要或者最有意义的字符组,由此能够建立字符组与计算引擎之间的联系,准确率更高。
在一些实施例中,基于相匹配的历史字符组在历史计算语句集合中的频次信息,确定样本字符组对应的频次信息,包括:基于特征词典,确定与样本字符组相匹配的历史字符组的第一频次信息;确定样本字符组在样本计算语句中的第二频次信息;基于第一频次信息和第二频次信息,确定样本字符组对应的频次信息。
在一些实施例中,根据各样本字符组的编码向量得到样本计算语句的样本特征向量,包括:根据与各样本字符组相匹配的历史字符组在特征词典中的索引,确定各样本字符组分别对应的向量位置;根据各样本字符组分别对应的向量位置和编码向量,确定样本计算语句的初始特征向量;基于每个样本字符组各自对应的重要度,对初始特征向量进行降维处理,得到样本计算语句的样本特征向量。
具体地,对于每一个样本字符组,计算机设备在特征词典中确定与之匹配的历史字符组时,也确定该匹配的历史字符组在特征词典中的索引,从而确定在样本计算语句的样本特征向量中该样本字符组的向量位置。例如,特征词典中索引为1对应于向量位置为第2位,即样本特征向量中第二位向量为与索引为1的历史字符组相匹配的样本字符组的编码向量。
由此,计算机设备根据每个样本字符组的编码向量,以及每个样本字符组各自对应的向量位置,得到样本计算语句的初始特征向量。由于特征词典的维度通常会非常巨大,可以达到50万的级别,因此,计算机设备在得到初始特征向量后,基于每个样本字符组各自对应的重要度,对初始特征向量进行降维处理,得到样本计算语句的样本特征向量。
例如,计算机设备计算每个样本字符组各自对应的重要度,筛选出最重要的预设数量(例如3千、1万等)的样本字符组,将其他的样本字符组对应的编码向量剔除,从而得到样本计算语句的样本特征向量。
上述实施例中,基于特征词典中的索引信息来确定每个样本字符组对应的向量位置,从而能够按照各自的位置组合得到样本计算语句的样本特征向量。而由于基于特征词典的方式会得到特征维度非常高的特征向量,因此还通过重要度评估来进行降维处理,能够极大地提高处理速度,并进一步提高准确度。
在一些实施例中,基于每个样本字符组各自对应的重要度,对初始特征向量进行降维处理,得到样本计算语句的样本特征向量,包括:确定每个样本字符组各自相匹配的历史字符组,并根据各历史字符组对应的重要度,确定各样本字符组对应的重要度;按照每个样本字符组对应的重要度排序,在各样本字符组分别对应的编码向量中,筛选预设数量的编码向量;基于预设数量的编码向量,确定样本计算语句的样本特征向量。
在一些实施例中,根据各历史字符组对应的重要度,确定各样本字符组对应的重要度之前,方法还包括:基于各历史字符组所属的历史计算语句对应的执行标签,建立逻辑回归模型;执行标签表示用于执行相应的历史计算语句的计算引擎;根据所建立的逻辑回归模型,确定各历史字符组的回归系数;基于各历史字符组的回归系数,确定各历史字符组对应的重要度。
在一些实施例中,根据各历史字符组对应的重要度,确定各样本字符组对应的重要度之前,方法还包括:从多个历史字符组中选择第一预设数量的历史字符组构建第三决策树,通过所构建的第三决策树输出第三预测结果;基于第三预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第三误差;分别对各历史字符组添加噪声,并从中选择第四预设数量的添加有噪声的历史字符组构建第四决策树,通过所构建的第四决策树输出第四预测结果;基于第四预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第四误差;对于每个历史字符组,基于相应的第三误差与第四误差的差异,确定各历史字符组分别对应的重要度;其中,差异越大表征历史字符组对应的重要度越高。
在一些实施例中,分别确定每个样本字符组的编码向量,并根据各样本字符组的编码向量得到样本计算语句的样本特征向量,包括:分别获取各样本字符组在样本计算语句中的共现信息;基于各样本字符组各自对应的共现信息和权重系数,确定各样本字符组的编码向量;基于各样本字符组的编码向量,得到样本计算语句的样本特征向量。
在一些实施例中,不同的预测子模型具有相互差别的模型结构;根据引擎权重和至少一个候选处理结果,确定目标计算引擎,包括:确定各预测子模型分别对应的模型权重;根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及至少一个候选处理结果,从各候选计算引擎中确定目标计算引擎。
具体地,计算机设备将样本计算语句对应的样本特征向量,分别输入多个待训练的预测子模型中,其中,不同的预测子模型具有相互差别的模型结构。例如,一个待训练的预测子模型为待训练的XGBoost模型,一个预测子模型可以为待训练的LightGBM模型,另一个预测子模型可以为待训练的Catboost模型,等等。
计算机设备通过每个预测子模型输出各自对应的候选预测结果,并基于多个候选预测结果确定预测计算引擎。例如,计算机设备对多个候选预测结果进行投票,并将投票结果作为预测计算引擎。例如,预测子模型1输出的候选预测结果指示计算引擎A,预测子模型2输出的候选预测结果指示计算引擎B,预测子模型3输出的候选预测结果指示计算引擎A,则经过投票得到预测计算引擎指示计算引擎A。
上述实施例中,通过模型结构不同的预测子模型分别进行预测输出,并综合多个预测子模型所输出的预测结果进一步确定最终的样本计算引擎,能够提高模型的准确率。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的计算语句处理方法的计算语句处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个计算语句处理装置实施例中的具体限定可以参见上文中对于计算语句处理方法的限定,在此不再赘述。
在一些实施例中,如图7所示,提供了一种计算语句处理装置700,包括:划分模块701、特征模块702、预测模块703、确定模块704和路由模块705,其中:
划分模块701,用于对待进行预测的目标计算语句进行划分,得到目标计算语句所包括的多个目标字符组。
特征模块702,用于分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到目标计算语句的目标特征向量。
预测模块703,用于通过至少一个预测子模型对目标特征向量进行处理,输出至少一个候选处理结果;候选处理结果表征各候选计算引擎分别被选中的概率。
确定模块704,用于确定针对于目标计算语句,各候选计算引擎分别对应的引擎权重。
路由模块705,用于根据引擎权重和至少一个候选处理结果,确定目标计算引擎,并将目标计算语句路由至目标计算引擎。
在一些实施例中,特征模块702还用于获取从历史计算语句集合中提取的历史字符组构建而成的特征词典;对于每个目标字符组,在特征词典中确定与目标字符组相匹配的历史字符组;基于相匹配的历史字符组在历史计算语句集合中的频次信息,确定目标字符组对应的频次信息;根据各目标字符组对应的频次值,确定各目标字符组的编码向量。
在一些实施例中,特征模块702还用于基于历史计算语句集合,确定与目标字符组相匹配的历史字符组的第一频次信息;确定目标字符组在目标计算语句中的第二频次信息;基于第一频次信息和第二频次信息,确定目标字符组对应的频次信息。
在一些实施例中,特征模块702还用于根据与各目标字符组相匹配的历史字符组在特征词典中的索引,确定各目标字符组分别对应的向量位置;根据各目标字符组分别对应的向量位置和编码向量,确定目标计算语句的初始特征向量;基于每个目标字符组各自对应的重要度,对初始特征向量进行降维处理,得到目标计算语句的目标特征向量。
在一些实施例中,特征模块702还用于确定每个目标字符组各自相匹配的历史字符组,并根据各历史字符组对应的重要度,确定各目标字符组对应的重要度;按照每个目标字符组对应的重要度排序,在各目标字符组分别对应的编码向量中,筛选预设数量的编码向量;基于预设数量的编码向量,确定目标计算语句的目标特征向量。
在一些实施例中,上述装置还包括第一分析模块,与特征模块702相连,用于基于各历史字符组所属的历史计算语句对应的执行标签,建立逻辑回归模型;执行标签表示用于执行相应的历史计算语句的计算引擎;根据所建立的逻辑回归模型,确定各历史字符组的回归系数;基于各历史字符组的回归系数,确定各历史字符组对应的重要度。
在一些实施例中,上述装置还包括第二分析模块,与特征模块702相连,用于从多个历史字符组中选择第一预设数量的历史字符组构建第一决策树,通过所构建的第一决策树输出第一预测结果;基于第一预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第一误差;分别对各历史字符组添加噪声,并从中选择第二预设数量的添加有噪声的历史字符组构建第二决策树,通过所构建的第二决策树输出第二预测结果;基于第二预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第二误差;对于每个历史字符组,基于相应的第一误差与第二误差的差异,确定各历史字符组分别对应的重要度;其中,差异越大表征历史字符组对应的重要度越高。
在一些实施例中,特征模块702还用于分别获取各目标字符组在目标计算语句中的共现信息;基于各目标字符组各自对应的共现信息和权重系数,确定各目标字符组的编码向量;基于各目标字符组的编码向量,得到目标计算语句的目标特征向量。
在一些实施例中,路由模块705还用于确定各预测子模型分别对应的模型权重;根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及至少一个候选处理结果,从各候选计算引擎中确定目标计算引擎。
在一些实施例中,路由模块705还用于基于各预测子模型各自输出的候选处理结果,构建初始预测矩阵,初始预测矩阵中各元素表征一个预测子模型预测选中一个候选计算引擎的概率值;根据各候选计算引擎分别对应的引擎权重和各预测子模型分别对应的模型权重,对初始预测矩阵中各元素对应的概率值进行更新,得到目标预测矩阵;基于目标预测矩阵确定每个候选计算引擎分别对应的综合概率值,并根据综合概率值从候选计算引擎中确定出目标计算引擎。
在一些实施例中,上述装置还包括展示模块,用于通过目标选择结果所指示的目标计算引擎执行目标计算语句,以生成对应于目标计算语句的目标计算结果;通过显示界面对目标计算结果进行展示。
上述计算语句处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的计算引擎预测模型的训练方法的计算引擎预测模型的训练装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个计算引擎预测模型的训练装置实施例中的具体限定可以参见上文中对于计算引擎预测模型的训练方法的限定,在此不再赘述。
在一些实施例中,如图8所示,提供了一种计算引擎预测模型的训练装置800,包括:获取模块801、划分模块802、特征模块803、预测模块804、确定模块805以及训练模块806,其中:
获取模块801,用于获取样本计算语句,以及与样本计算语句对应的样本执行结果;样本执行结果表示用于执行相应样本计算语句的计算引擎。
划分模块802,用于对样本计算语句进行划分,得到样本计算语句所包括的多个样本字符组。
特征模块803,用于分别确定每个样本字符组的编码向量,并根据各样本字符组的编码向量得到样本计算语句的样本特征向量。
预测模块804,用于通过至少一个预测子模型对目标特征向量进行处理,输出至少一个候选处理结果;候选处理结果表征各候选计算引擎分别被选中的概率。
确定模块805,用于确定针对于样本计算语句,各候选计算引擎分别对应的引擎权重。
确定模块805,还用于根据引擎权重和至少一个候选预测结果,确定预测计算引擎。
训练模块806,用于基于预测计算引擎与样本执行结果间的差异,对至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型。
在一些实施例中,特征模块803还用于获取从历史计算语句集合中提取的历史字符组构建而成的特征词典;对于每个样本字符组,在特征词典中确定与样本字符组相匹配的历史字符组;基于相匹配的历史字符组在历史计算语句集合中的频次信息,确定样本字符组对应的频次信息;根据各样本字符组对应的频次值,确定各样本字符组的编码向量。
在一些实施例中,特征模块803还用于基于历史计算语句,确定与样本字符组相匹配的历史字符组的第一频次信息;确定样本字符组在样本计算语句中的第二频次信息;基于第一频次信息和第二频次信息,确定样本字符组对应的频次信息。
在一些实施例中,特征模块803还用于根据与各样本字符组相匹配的历史字符组在特征词典中的索引,确定各样本字符组分别对应的向量位置;根据各样本字符组分别对应的向量位置和编码向量,确定样本计算语句的初始特征向量;基于每个样本字符组各自对应的重要度,对初始特征向量进行降维处理,得到样本计算语句的样本特征向量。
在一些实施例中,特征模块803还用于确定每个样本字符组各自相匹配的历史字符组,并根据各历史字符组对应的重要度,确定各样本字符组对应的重要度;按照每个样本字符组对应的重要度排序,在各样本字符组分别对应的编码向量中,筛选预设数量的编码向量;基于预设数量的编码向量,确定样本计算语句的样本特征向量。
在一些实施例中,上述装置还包括第三分析模块,与特征模块803相连,用于基于各历史字符组所属的历史计算语句对应的执行标签,建立逻辑回归模型;执行标签表示用于执行相应的历史计算语句的计算引擎;根据所建立的逻辑回归模型,确定各历史字符组的回归系数;基于各历史字符组的回归系数,确定各历史字符组对应的重要度。
在一些实施例中,上述装置还包括第四分析模块,与特征模块803相连,用于从多个历史字符组中选择第一预设数量的历史字符组构建第三决策树,通过所构建的第三决策树输出第三预测结果;基于第三预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第三误差;分别对各历史字符组添加噪声,并从中选择第四预设数量的添加有噪声的历史字符组构建第四决策树,通过所构建的第四决策树输出第四预测结果;基于第四预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第四误差;对于每个历史字符组,基于相应的第三误差与第四误差的差异,确定各历史字符组分别对应的重要度;其中,差异越大表征历史字符组对应的重要度越高。
在一些实施例中,特征模块803还用于分别获取各样本字符组在样本计算语句中的共现信息;基于各样本字符组各自对应的共现信息和权重系数,确定各样本字符组的编码向量;基于各样本字符组的编码向量,得到样本计算语句的样本特征向量。
在一些实施例中,确定模块805还用于确定各预测子模型分别对应的模型权重;根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及至少一个候选预测结果,从各候选计算引擎中确定预测计算引擎。
在一些实施例中,确定模块805还用于基于各预测子模型各自输出的候选预测结果,构建初始预测矩阵,初始预测矩阵中各元素表征一个预测子模型预测选中一个候选计算引擎的概率值;根据各候选计算引擎分别对应的引擎权重和各预测子模型分别对应的模型权重,对初始预测矩阵中各元素对应的概率值进行更新,得到目标预测矩阵;基于目标预测矩阵确定每个候选计算引擎分别对应的综合概率值,并根据综合概率值从候选计算引擎中确定出预测计算引擎。
在一些实施例中,训练模块805还用于基于预测计算引擎与样本执行结果间的差异,构建损失函数;基于损失函数对至少一个预测子模型进行训练,并调节至少一个预测子模型各自对应的模型参数,直至达到训练终止条件时结束;其中,每个预测子模型的模型参数包括有分别对应于多个计算引擎的权重参数;基于各训练完成的预测子模型,确定计算引擎预测模型,计算引擎预测模型用于获取待进行预测的目标计算语句,并对目标计算语句进行处理,以生成目标计算结果。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储计算语句相关数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种计算语句处理方法或者计算引擎预测模型的训练方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (20)
1.一种计算语句处理方法,其特征在于,所述方法包括:
对待进行预测的目标计算语句进行划分,得到所述目标计算语句所包括的多个目标字符组;
分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到所述目标计算语句的目标特征向量;
通过至少一个预测子模型对所述目标特征向量进行处理,输出至少一个候选处理结果;所述候选处理结果表征各候选计算引擎分别被选中的概率;
确定针对于所述目标计算语句,各候选计算引擎分别对应的引擎权重;
根据所述引擎权重和所述至少一个候选处理结果,确定目标计算引擎,并将所述目标计算语句路由至所述目标计算引擎。
2.根据权利要求1所述的方法,其特征在于,所述分别确定每个目标字符组的编码向量,包括:
获取从历史计算语句集合中提取的历史字符组构建而成的特征词典;
对于每个目标字符组,在所述特征词典中确定与所述目标字符组相匹配的历史字符组;
基于所述相匹配的历史字符组在所述历史计算语句集合中的频次信息,确定所述目标字符组对应的频次信息;
根据各目标字符组对应的频次值,确定各目标字符组的编码向量。
3.根据权利要求2所述的方法,其特征在于,所述基于所述相匹配的历史字符组在所述历史计算语句集合中的频次信息,确定所述目标字符组对应的频次信息,包括:
基于所述历史计算语句集合,确定与所述目标字符组相匹配的历史字符组的第一频次信息;
确定所述目标字符组在所述目标计算语句中的第二频次信息;
基于所述第一频次信息和所述第二频次信息,确定所述目标字符组对应的频次信息。
4.根据权利要求2所述的方法,其特征在于,所述根据各目标字符组的编码向量得到所述目标计算语句的目标特征向量,包括:
根据与各目标字符组相匹配的历史字符组在所述特征词典中的索引,确定各目标字符组分别对应的向量位置;
根据各目标字符组分别对应的向量位置和编码向量,确定所述目标计算语句的初始特征向量;
基于每个目标字符组各自对应的重要度,对所述初始特征向量进行降维处理,得到所述目标计算语句的目标特征向量。
5.根据权利要求4所述的方法,其特征在于,所述基于每个目标字符组各自对应的重要度,对所述初始特征向量进行降维处理,得到所述目标计算语句的目标特征向量,包括:
确定每个目标字符组各自相匹配的历史字符组,并根据各所述历史字符组对应的重要度,确定各所述目标字符组对应的重要度;
按照每个目标字符组对应的重要度排序,在各目标字符组分别对应的编码向量中,筛选预设数量的编码向量;
基于所述预设数量的编码向量,确定所述目标计算语句的目标特征向量。
6.根据权利要求5所述的方法,其特征在于,所述根据各所述历史字符组对应的重要度,确定各所述目标字符组对应的重要度之前,所述方法还包括:
基于各历史字符组所属的历史计算语句对应的执行标签,建立逻辑回归模型;所述执行标签表示用于执行相应的历史计算语句的计算引擎;
根据所建立的逻辑回归模型,确定各历史字符组的回归系数;
基于各历史字符组的回归系数,确定各历史字符组对应的重要度。
7.根据权利要求5所述的方法,其特征在于,所述根据各所述历史字符组对应的重要度,确定各所述目标字符组对应的重要度之前,所述方法还包括:
从多个历史字符组中选择第一预设数量的历史字符组构建第一决策树,通过所构建的第一决策树输出第一预测结果;
基于所述第一预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第一误差;
分别对各历史字符组添加噪声,并从中选择第二预设数量的添加有噪声的历史字符组构建第二决策树,通过所构建的第二决策树输出第二预测结果;
基于所述第二预测结果与相应历史字符组所属的历史计算语句对应的执行标签之间的差异,确定各历史字符组的第二误差;
对于每个历史字符组,基于相应的所述第一误差与第二误差的差异,确定各历史字符组分别对应的重要度;其中,所述差异越大表征历史字符组对应的重要度越高。
8.根据权利要求1所述的方法,其特征在于,所述分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到所述目标计算语句的目标特征向量,包括:
分别获取各目标字符组在所述目标计算语句中的共现信息;
基于各目标字符组各自对应的共现信息和权重系数,确定各目标字符组的编码向量;
基于各目标字符组的编码向量,得到所述目标计算语句的目标特征向量。
9.根据权利要求1所述的方法,其特征在于,不同的预测子模型具有相互差别的模型结构;所述根据所述引擎权重和所述至少一个候选处理结果,确定目标计算引擎,包括:
确定各预测子模型分别对应的模型权重;
根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及所述至少一个候选处理结果,从各候选计算引擎中确定目标计算引擎。
10.根据权利要求9所述的方法,其特征在于,所述根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及所述至少一个候选处理结果,从各候选计算引擎中确定目标计算引擎,包括:
基于各预测子模型各自输出的候选处理结果,构建初始预测矩阵,所述初始预测矩阵中各元素表征一个预测子模型预测选中一个候选计算引擎的概率值;
根据各候选计算引擎分别对应的引擎权重和各预测子模型分别对应的模型权重,对所述初始预测矩阵中各元素对应的概率值进行更新,得到目标预测矩阵;
基于所述目标预测矩阵确定每个候选计算引擎分别对应的综合概率值,并根据所述综合概率值从所述候选计算引擎中确定出目标计算引擎。
11.一种计算引擎预测模型的训练方法,其特征在于,所述方法包括:
获取样本计算语句,以及与所述样本计算语句对应的样本执行结果;所述样本执行结果表示用于执行相应样本计算语句的计算引擎;
对所述样本计算语句进行划分,得到所述样本计算语句所包括的多个样本字符组;
分别确定每个样本字符组的编码向量,并根据各样本字符组的编码向量得到所述样本计算语句的样本特征向量;
通过至少一个待训练的预测子模型对所述样本特征向量进行处理,输出至少一个候选预测结果;所述候选预测结果表征各候选计算引擎分别被选中的概率;
确定针对于所述样本计算语句,各候选计算引擎分别对应的引擎权重;
根据所述引擎权重和所述至少一个候选预测结果,确定预测计算引擎;
基于所述预测计算引擎与所述样本执行结果间的差异,对所述至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型。
12.根据权利要求11所述的方法,其特征在于,所述分别确定每个样本字符组的编码向量,包括:
获取从历史计算语句集合中提取的历史字符组构建而成的特征词典;
对于每个样本字符组,在所述特征词典中确定与所述样本字符组相匹配的历史字符组;
基于所述相匹配的历史字符组在所述历史计算语句集合中的频次信息,确定所述样本字符组对应的频次信息;
根据各样本字符组对应的频次值,确定各样本字符组的编码向量。
13.根据权利要求11所述的方法,其特征在于,不同的预测子模型具有相互差别的模型结构;所述根据所述引擎权重和所述至少一个候选预测结果,确定预测计算引擎,包括:
确定各预测子模型分别对应的模型权重;
根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及所述至少一个候选预测结果,从各候选计算引擎中确定目标计算引擎。
14.根据权利要求13所述的方法,其特征在于,所述根据各候选计算引擎分别对应的引擎权重、各预测子模型分别对应的模型权重、以及所述至少一个候选处理结果,从各候选计算引擎中确定预测计算引擎,包括:
基于各预测子模型各自输出的候选预测结果,构建初始预测矩阵,所述初始预测矩阵中各元素表征一个预测子模型预测选中一个候选计算引擎的概率值;
根据各候选计算引擎分别对应的引擎权重和各预测子模型分别对应的模型权重,对所述初始预测矩阵中各元素对应的概率值进行更新,得到目标预测矩阵;
基于所述目标预测矩阵确定每个候选计算引擎分别对应的综合概率值,并根据所述综合概率值从所述候选计算引擎中确定出预测计算引擎。
15.根据权利要求11至14中任一项所述的方法,其特征在于,所述基于所述目标预测结果与所述样本执行结果间的差异,对所述至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型,包括:
基于所述目标预测结果与所述样本执行结果间的差异,构建损失函数;
基于所述损失函数对所述至少一个预测子模型进行训练,并调节所述至少一个预测子模型各自对应的模型参数,直至达到训练终止条件时结束;其中,每个预测子模型的模型参数包括有分别对应于多个计算引擎的权重参数;
基于各训练完成的预测子模型,确定计算引擎预测模型,所述计算引擎预测模型用于获取待进行预测的目标计算语句,并对所述目标计算语句进行处理,以生成目标计算结果。
16.一种计算语句处理装置,其特征在于,所述装置包括:
划分模块,用于对待进行预测的目标计算语句进行划分,得到所述目标计算语句所包括的多个目标字符组;
特征模块,用于分别确定每个目标字符组的编码向量,并根据各目标字符组的编码向量得到所述目标计算语句的目标特征向量;
预测模块,用于通过至少一个预测子模型对所述目标特征向量进行处理,输出至少一个候选处理结果;所述候选处理结果表征各候选计算引擎分别被选中的概率;
确定模块,用于确定针对于所述目标计算语句,各候选计算引擎分别对应的引擎权重;
路由模块,用于根据所述引擎权重和所述至少一个候选处理结果,确定目标计算引擎,并将所述目标计算语句路由至所述目标计算引擎。
17.一种计算引擎预测模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取样本计算语句,以及与所述样本计算语句对应的样本执行结果;所述样本执行结果表示用于执行相应样本计算语句的计算引擎;
划分模块,用于对所述样本计算语句进行划分,得到所述样本计算语句所包括的多个样本字符组;
特征模块,用于分别确定每个样本字符组的编码向量,并根据各样本字符组的编码向量得到所述样本计算语句的样本特征向量;
预测模块,用于通过至少一个待训练的预测子模型对所述样本特征向量进行处理,输出至少一个候选预测结果;所述候选预测结果表征各候选计算引擎分别被选中的概率;
确定模块,用于确定针对于所述样本计算语句,各候选计算引擎分别对应的引擎权重;
所述确定模块,还用于根据所述引擎权重和所述至少一个候选预测结果,确定预测计算引擎;
训练模块,用于基于所述预测计算引擎与所述样本执行结果间的差异,对所述至少一个预测子模型进行训练,直至达到训练终止条件时结束,得到计算引擎预测模型。
18.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至15中任一项所述的方法的步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至15中任一项所述的方法的步骤。
20.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至15中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211520531.4A CN118114627A (zh) | 2022-11-30 | 2022-11-30 | 计算语句处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211520531.4A CN118114627A (zh) | 2022-11-30 | 2022-11-30 | 计算语句处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118114627A true CN118114627A (zh) | 2024-05-31 |
Family
ID=91214334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211520531.4A Pending CN118114627A (zh) | 2022-11-30 | 2022-11-30 | 计算语句处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118114627A (zh) |
-
2022
- 2022-11-30 CN CN202211520531.4A patent/CN118114627A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299396B (zh) | 融合注意力模型的卷积神经网络协同过滤推荐方法及*** | |
CN110598206B (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
US9852177B1 (en) | System and method for generating automated response to an input query received from a user in a human-machine interaction environment | |
CN111611488B (zh) | 基于人工智能的信息推荐方法、装置、电子设备 | |
CN113326377A (zh) | 一种基于企业关联关系的人名消歧方法及*** | |
CN113822315A (zh) | 属性图的处理方法、装置、电子设备及可读存储介质 | |
US20190228297A1 (en) | Artificial Intelligence Modelling Engine | |
CN109710842B9 (zh) | 业务信息的推送方法、装置及可读存储介质 | |
CN112131261B (zh) | 基于社区网络的社区查询方法、装置和计算机设备 | |
CN112785005A (zh) | 多目标任务的辅助决策方法、装置、计算机设备及介质 | |
CN111597401B (zh) | 基于图关系网络的数据处理方法、装置、设备及介质 | |
CN114357151A (zh) | 文本类目识别模型的处理方法、装置、设备及存储介质 | |
CN113641797A (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
CN114329029A (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN114691828A (zh) | 数据处理方法、装置、设备以及介质 | |
CN111310462A (zh) | 用户属性的确定方法、装置、设备及存储介质 | |
CN116484105B (zh) | 业务处理方法、装置及计算机设备、存储介质、程序产品 | |
CN116244484B (zh) | 一种面向不平衡数据的联邦跨模态检索方法及*** | |
CN111581386A (zh) | 多输出文本分类模型的构建方法、装置、设备及介质 | |
CN116541166A (zh) | 一种超算算力调度服务器及资源管理方法 | |
CN116541592A (zh) | 向量生成方法、信息推荐方法、装置、设备及介质 | |
CN118114627A (zh) | 计算语句处理方法、装置、计算机设备和存储介质 | |
CN115129863A (zh) | 意图识别方法、装置、设备、存储介质和计算机程序产品 | |
CN113157892A (zh) | 用户意图处理方法、装置、计算机设备及存储介质 | |
CN113792163B (zh) | 多媒体推荐方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |