CN117009374A - 计算引擎确定方法、装置、存储介质及计算机设备 - Google Patents
计算引擎确定方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN117009374A CN117009374A CN202211485780.4A CN202211485780A CN117009374A CN 117009374 A CN117009374 A CN 117009374A CN 202211485780 A CN202211485780 A CN 202211485780A CN 117009374 A CN117009374 A CN 117009374A
- Authority
- CN
- China
- Prior art keywords
- engine
- query
- representation
- sample
- statement
- 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 76
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012549 training Methods 0.000 claims abstract description 138
- 238000012512 characterization method Methods 0.000 claims abstract description 74
- 239000013598 vector Substances 0.000 claims description 79
- 238000011176 pooling Methods 0.000 claims description 53
- 239000011159 matrix material Substances 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 33
- 238000006243 chemical reaction Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 27
- 238000005516 engineering process Methods 0.000 abstract description 17
- 238000013473 artificial intelligence Methods 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 20
- 238000005070 sampling Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 230000006403 short-term memory Effects 0.000 description 10
- 238000000605 extraction Methods 0.000 description 9
- 230000007787 long-term memory Effects 0.000 description 9
- 230000009466 transformation Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000013145 classification model Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种计算引擎确定方法,包括:对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征;基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,目标模型为基于样本语句经嵌入表示后的样本语句表征和相应的引擎标签训练得到;目标模型包括至少两个引擎预测器,引擎预测器由多层感知机构成;根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。本申请应用人工智能技术通过对查询语句进行嵌入表示时,捕获查询语句的词语间的上下文关系,使得查询语句表征包含了整个查询语句的语义信息,并基于查询语句表征进行计算引擎的确定,有效提升查询语句确定计算引擎的准确性。
Description
技术领域
本申请涉及大数据处理技术领域,更具体地,涉及一种计算引擎确定方法、装置、存储介质及计算机设备。
背景技术
大数据平台是一种通过内容共享、资源共用、渠道共建和数据共通等形式来进行服务的网络平台。大数据平台中专门用于数据计算的软件框架称为计算引擎。由于不同的计算引擎具有不同的语法特点,因而每个类型的计算引擎所支持的结构化查询语言(Structured Query Language,SQL)语句是有差别的。
为此,大数据平台需要为不同类型的SQL语句选择适配的计算引擎以执行SQL语句。相关技术提出将SQL语句直接转换为数值特征,并基于该数值特征进行机器学习,得到为SQL语句确定计算引擎的分类模型。然而,这种方式对SQL语句的特征提取不够准确,从而导致计算引擎预测的准确性较低。
发明内容
本申请实施例提供一种计算引擎确定方法、装置、存储介质以及计算机设备。旨在提升为查询语句确定计算引擎的准确性。
一方面,本申请实施例提供一种计算引擎确定方法,该方法包括:对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征;基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,目标模型为基于样本语句经嵌入表示后的样本语句表征和相应的引擎标签训练得到;其中,目标模型包括至少两个引擎预测器,至少两个引擎预测器由多层感知机构成;根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。
另一方面,本申请实施例还提供一种计算引擎确定装置,该装置包括:表示模块,用于对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征;预测模块,用于基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,目标模型为基于样本语句经嵌入表示后的样本语句表征和相应的引擎标签训练得到;其中,目标模型包括至少两个引擎预测器,至少两个引擎预测器由多层感知机构成;确定模块,用于根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。
另一方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,其中,在该计算机程序被处理器运行时执行上述的计算引擎确定方法。
另一方面,本申请实施例还提供一种计算机设备,该计算机设备包括处理器以及存储器,存储器存储有计算机程序,该计算机程序被处理器调用时执行上述的计算引擎确定方法。
另一方面,本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在存储介质中;计算机设备的处理器从存储介质读取该计算机程序,处理器执行该计算机程序,使得计算机设备执行上述计算引擎确定方法中的步骤。
本申请提供的一种计算引擎确定方法,可以对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征,由此,在对查询语句进行嵌入表示时,可以捕获到该查询语句的词语间的上下文关系,使得查询语句表征包含了整个查询语句的语义信息。进一步地,基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,其中,该目标模型为基于样本语句经嵌入表示后的样本语句表征和相应的引擎标签训练得到,该目标模型包括至少两个引擎预测器,至少两个引擎预测器由多层感知机构成。进一步地,根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。如此,在对整个查询语句进行准确的语义理解基础上对查询语句进行计算引擎的预测,从而,提高为查询语句确定计算引擎的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的一种系统架构示意图。
图2示出了本申请实施例提供的一种计算引擎确定方法的流程示意图。
图3示出了本申请实施例提供的一种目标模型的网络架构图。
图4示出了本申请实施例提供的另一种计算引擎确定方法的流程示意图。
图5示出了本申请实施例提供的一种应用场景示意图。
图6示出了本申请实施例提供的一种预设表示网络的网络架构图。
图7示出了本申请实施例提供的一种长短期记忆网络的网络架构图。
图8示出了本申请实施例提供的一种计算引擎确定方法的流程图。
图9是本申请实施例提供的一种计算引擎确定装置的模块框图。
图10是本申请实施例提供的一种计算机设备的模块框图。
图11是本申请实施例提供的一种计算机可读存储介质的模块框图。
具体实施方式
下面详细描述本申请的实施方式,实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性地,仅用于解释本申请,而不能理解为对本申请的限制。
为了使本技术领域的人员更好地理解本申请的方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请的具体实施方式中,涉及到的查询语句等相关数据,当运用到本申请实施例的具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。为了便于理解,下面先对本申请所涉及到的相关术语及概念进行介绍。
本申请的计算引擎确定方法涉及人工智能(Artificial Intelligence,AI)技术,人工智能技术是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,大数据(Big Data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的冗余的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
在没有大数据处理技术前,大数据量的计算基本依赖于集中式架构的数据库。主要是将所有的数据都集中在一个数据库中,依靠大型高端设备来提供高处理能力和扩展性。这种集中式数据库的架构,使得数据库成为整个系统的瓶颈,越来越不适应海量数据对计算能力的巨大需求。同时传统数据库架构对高端设备的依赖,无疑将直接导致系统成本的大幅度增加。
分布式计算引擎的出现将超大数据集的计算成为可能。部署有不同类型计算引擎的大数据计算平台需要根据用户提供的SQL语句查询数据库中的数据,并执行对应的逻辑计算后输出相应结果。由于不同数据库和计算引擎存在使用不同SQL的语法特点,所以大数据计算平台需要根据SQL的语法特点,实现对应的计算引擎的选择,从而完成执行SQL任务。
有关技术中,提出使用词频-逆文本频率指数(Term Frequency-InverseDocument Frequency,TF-IDF)方法将SQL语句转化为数值特征,供机器学习模型训练,得到为SQL语句确定计算引擎的分类模型。具体地,将SQL语句按字符(或单词)进行分割,并将相邻的几个字符构成单个元组,并选取训练数据中出现频率最高的若干个元组,计算全部训练数据中对应元组的TF-IDF值来将每个SQL语句转化为固定维度的特征向量。进一步地,采用极端梯度提升算法(eXtreme Gradient Boosting,XGBoost),基于得到的特征向量进行模型训练。
然而,使用TF-IDF值对SQL语句进行特征提取,无法关注到整个SQL语句的语义信息,造成SQL语句特征中的词语间的语义丢失,使得SQL语句的特征表达得不够准确,在表示过程中会出现词语的顺序信息丢失,近义词无法体现,假定词为独立的情况。并且梯度提升树将特征之间独自处理,缺乏单词的前后逻辑关系,使得模型无法精准理解整条SQL语句的真正含义。最终导致对计算引擎预测的准确性较低。
为了解决上述问题,发明人经过研究,提出了本申请实施例提供的计算引擎确定方法,下面先对本申请所涉及到的计算引擎确定方法的系统的架构进行介绍。
如图1所示,本申请实施例提供的计算引擎确定方法可以应用在系统300中,数据获取设备310用于获取训练数据。针对本申请实施例的计算引擎确定方法来说,训练数据可以包括用于训练使用的样本语句和样本语句对应的引擎标签,以及查询样本词语和查询样本词语对应的上下文词语标签。数据获取设备310在获取到训练数据之后,可以将该训练数据存入数据库320,训练设备330可以基于数据库320中维护的训练数据训练得到应用模型301。
具体地,训练设备330可以基于训练数据对预设的神经网络进行训练,直至该预设的神经网络满足预设条件,得到应用模型301。其中,预设的神经网络可以由长短期记忆网络(Long Short-Term Memory Networks,LSTM)和多层感知机(Multilayer Perceptron,MLP)构成,也可以由单个隐藏层和输出层构成。预设条件可以为:目标损失函数的损失值小于预设值、目标损失函数的损失值不再变化、或者训练次数达到预设次数等。该应用模型301能够用于实现本申请实施例中目标计算引擎的确定。
需要说明的是,在实际的应用场景中,数据库320中维护的训练数据不一定都来自于数据获取设备310,也可以从其他设备接收得到,例如,客户端设备360也可以作为数据获取端,将获取的数据作为新的训练数据,并存入数据库320。此外,训练设备330也不一定完全基于数据库320维护的训练数据对预设的神经网络进行训练,也有可能基于从云端或其他设备获取的训练数据对预设的神经网络进行训练,上述描述不应该作为对本申请实施例的限定。
上述根据训练设备330训练得到的应用模型301可以应用于不同的系统或设备中,如应用于图1所示的执行设备340,该执行设备340可以是终端,例如,手机终端、平板电脑和笔记本电脑等,还可以是服务器或者云端等,但并不局限于此。
在图1中,执行设备340可以用于与外部设备进行数据交互,例如,用户可以使用客户端设备360通过网络向执行设备340发送输入数据。该输入数据在本申请实施例中可以包括:客户端设备360发送的训练数据或SQL语句(也即,查询语句)。在执行设备340对输入数据进行预处理,或者在执行设备340的执行模块341执行计算等相关的处理过程中,执行设备340可以调用数据存储系统350中的数据、程序等以用于相应的计算处理,并将计算处理得到的处理结果等数据和指令存入数据存储系统350中。
最后,执行设备340可以将处理结果,例如,目标计算引擎的计算结果返回给客户端设备360,从而,用户可以在客户端设备360上查询处理结果。值得说明的是,训练设备330可以针对不同的目标或不同的任务,基于不同的训练数据生成相应的应用模型301,该相应的应用模型301即可以用于实现上述目标或或者完成上述任务,从而为用户提供所需的结果。
示例性地,图1所示的系统300可以为Client-Server(C/S)系统架构,执行设备340可以为服务供应商部署的云服务器,客户端设备360可以为用户使用的笔记本电脑。例如,用户可以利用笔记本电脑中安装的大数据处理软件,通过网络将编辑的查询语句传输至云服务器,云服务器在接受到查询语句时,利用应用模型301进行计算引擎的预测,确定出该查询语句对应的目标计算引擎,进而利用该目标计算引擎执行该查询语句,得到数据计算结果,并将数据计算结果返回至笔记本电脑,进而用户即可在大数据处理软件上获取数据计算结果。
值得注意的是,图1仅是本申请实施例提供的一种系统的架构示意图,本申请实施例描述的系统的架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。例如,图1中的数据存储系统350相对执行设备340是外部存储器,在其它情况下,也可以将数据存储系统350置于执行设备340中。本领域普通技术人员可知,随着系统架构的演变和新的应用场景的出现,本申请实施例提供的技术方案对于解决类似的技术问题,同样适用。
请参阅图2,图2示出了本申请一个实施例提供的计算引擎确定方法的流程示意图。在具体的实施例中,所述计算引擎确定方法应用于如图9所示的计算引擎确定装置500以及配置有计算引擎确定装置500的计算机设备600(图10)。
下面将以计算机设备为例,说明本实施例的具体流程,可以理解的是,本实施例所应用的计算机设备可以为服务器或者终端等,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、区块链以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是平板电脑、笔记本电脑、台式电脑、智能音箱、智能手表等,但并不局限于此。该计算引擎确定方法具体可以包括以下步骤:
步骤S110:对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征。
考虑到现有技术在对查询语句进行特征提取时,无法提取到查询语句中每个词语间的相关性,使得查询语句的特征向量无法包含整个查询语句的语义信息,从而,在基于特征向量进行计算引擎预测的模型训练时,该模型为查询语句选择计算引擎的准确率不高。因此,本申请创造性地提出了对查询语句进行嵌入表示来获取查询语句的查询语句表征。
其中,嵌入表示(Embedding)指的是将一个空间的点映射到另一个空间,通常是从高维抽象的空间映射到低维具象的空间,在低维空间中的表示具有分布式稠密表示的特性。
在本申请中,嵌入表示是利用表示模型的权重矩阵对查询语句进行的转换,表示模型为基于上下文预测训练得到的。由于在进行上下文预测训练过程中,借助了具有相同上下文的词语包含相似语义的原理,所以在对查询语句进行嵌入表示时,会捕获到该查询语句中每个词语间的上下文关系,使得查询语句表征也就包含了整个查询语句的语义信息。从而,提高后续为查询语句预测计算引擎的准确性。
在一些实施例中,该对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征的步骤可以包括:
(1)对获取的查询语句中每个查询词语进行独热编码,得到每个查询词语对应的独热向量。
其中,独热编码即为One-Hot编码,又称一位有效编码。主要使用多个位状态寄存器来对多个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。独热编码可将类别变量转换为一种机器学习算法易于利用的形式,为便于对查询语句进行嵌入表示,需要先得到查询语句中每个查询词语对应的独热向量,也即One-Hot向量。
作为一种实施方式,可以基于查询语句对应的词表(词典)来对每个查询词语进行独热编码。该词表包括了编辑查询语句所用到的全部的查询词语,可以按照查询词语使用的频率作为索引在词表中对查询词语进行排序,并将词表长度作为独热向量的维度,独热向量中的每个维度对应了词表中的每个查询词语。独热向量是二进制向量的表示。要求将所要编码的词语的索引标记为1,其他都标记为0。
例如,假设存在词表{SELECT,FROM,COUNT,SUM},则独热向量的维度为4。在获取查询语句“SELECT COUNT(*)FROM”后,可以根据词表对每个查询词语分别进行独热编码,得到查询词语“SELECT”对应的独热向量[1,0,0,0]、查询词语“COUNT”对应的独热向量[0,0,1,0]和查询词语“FROM”对应的独热向量[0,1,0,0]。
(2)基于转换矩阵对每个查询词语对应的独热向量进行查表操作,得到每个查询词语对应的词语表征。
由于独热向量的表示方式使得每一个查询词语映射到高维空间中都是互相正交的,也就是说独热向量空间中查询词语与查询词语之间没有任何关联关系,这显然与实际情况不符合,因为实际中每个查询语句中的查询词语与查询词语之间是有上下文关系的,这也体现在语义信息的相似性。为此,本申请提出利用基于上下文预测训练得到的表示模型的权重矩阵,也即转换矩阵对查询语句的独热向量进行嵌入表示。
其中,转换矩阵为表示模型基于查询样本词语和查询样本词语对应的上下文词语标签,完成上下文预测训练,得到的权重矩阵。由于转换矩阵跟独热向量具有上下文关系,因此,只需将独热向量和转换矩阵进行点乘即可得到该独热向量对应的查询词语的词语表征或词嵌入(Word Embedding),其中,独热向量和转换矩阵进行点乘的计算过程即为查表操作。
作为一种实施方式,可以将查询语句中每个查询词语对应的独热向量与转换矩阵进行点乘,进而得到每个查询词语对应的词语表征。转换矩阵的行数为词表的长度,转换矩阵的列数为词语表征的维度,词语表征的维度可以根据实验经验设置,例如,词语表征的维度设置为3,则查询词语“FROM”对应的独热向量[0,1,0,0]经过转换矩阵进行查表操作后,可以得到对应的词语表征[6.3,10.75,5.46]。
(3)根据每个词语表征,确定查询语句对应的查询语句表征。
作为一种实施方式,在得到每个词语表征后,可以对每个词语表征进行组合得到查询语句对应的查询语句表征。例如,查询词语“FROM”对应的词语表征[6.3,10.75,5.46]、查询词语“SELECT”对应的词语表征[22.97,15.63,10.80]以及查询词语“COUNT”对应的词语表征[36.85,13.11,4.54],进而可以将三者的词语表征组合在一起,得到查询语句“SELECT COUNT(*)FROM”对应的查询语句表征[[22.97,15.63,10.80],[36.85,13.11,4.54],[6.3,10.75,5.46]]。
步骤S120:基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率。
由于现有技术对查询语句进行特征提取的方式会使得提取的特征向量无法捕获查询词语间的上下文关系,造成特征表达不够准确,所以,当利用极端梯度提升算法再对特征向量之间单独处理时,模型根本关注不到查询词语间的前后逻辑关系,也就无法精准理解整条查询语句的真正含义,从而无法准确地预测出查询语句对应的计算引擎。
为此,本申请利用提出的目标模型对查询语句进行引擎预测,该目标模型为基于样本语句经嵌入表示后的样本语句表征和相应的引擎标签训练得到,目标模型包括至少两个引擎预测器,每个引擎预测器由多层感知机构成。其中,引擎预测器可以预测出自身对应的计算引擎成功执行查询语句的概率,也即执行概率。目标模型还包括长短期记忆网络,可以有效捕获词语间的语义关联的信息,对查询语句的整个句子的语义理解更加精准。
请参阅图3,图3示出了一种目标模型的网络架构图。如图3所示,目标模型包括输入层、长短期记忆网络、池化层以及至少n个引擎预测器。可以将查询语句中的每个查询词语输入至目标模型的输入层,进一步地,通过输入层将每个查询词语输入至长短期记忆网络进行特征提取,得到语句表征序列,并将语句表征序列输入至池化层得到语句池化序列,进一步地,每个引擎预测器基于语句池化序列计算出对应执行概率,该执行概率就可以表示出对应的计算引擎能够成功执行查询语句的概率。
在一些实施例中,该基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率的步骤可以包括:
(1)将查询语句表征输入至目标模型,对查询语句表征进行特征提取,得到语句表征序列。
作为一种实施方式,将查询语句中的每个查询词语通过输入层输入至目标模型的长短期记忆网络时,长短期记忆网络中的每个计算单元,可以对输入的查询词语进行特征提取,得到查询词语对应的词嵌入,进而由所有的词嵌入构成查询语句的语句表征序列。
考虑到长短期记忆网络能够从序列化数据中学习到长距离依赖关系,为此,本申请实施例利用长短期记忆网络,对查询语句的语句表征序列进行特征提取时,可以有效捕获词语间的语义关联信息,对查询语句的整个句子的语义理解地更加准确,从而提升后续计算引擎预测的准确率。
(2)对语句表征序列进行池化操作,得到语句表征序列对应的语句池化序列。
其中,池化操作可以包括最大池化(Maximum Pooling)和平均池化(MeanPooling)。通过对语句表征序列进行池化操作,可以抑制噪声,降低信息冗余,进而降低模型的计算量以及防止过拟合(Overfitting)。
作为一种实施方式,对语句表征序列可以进行最大池化或平均池化,从而得到语句表征序列对应的语句池化序列。例如,从语句表征序列中确定出采样区域,如语句表征序列中每四个序列元素作为采样区域。进一步地,将该提取该采样区域中的序列元素的最大值作为采样区域的池化结果,或者将采样区域中四个序列元素的平均值作为采样区域的池化结果。进一步地,将每个采样区域的池化结果作为语句池化序列。
(3)将语句池化序列分别输入至目标模型中的每个引擎预测器进行引擎预测,计算出每个引擎预测器对应的执行概率。
其中,引擎预测器是由多层感知机构成,该多层感知机包括输入层、隐藏层和输出层,隐藏层带有激活函数可进行非线性计算,输出层之后通过函数计算出执行概率。对应地,引擎预测器包括输入层、输出层以及隐藏层,隐藏层的个数可以由具体的实验经验设置,本申请实施例使用单个隐藏层。目标模型中的每个引擎预测器用于预测出对应的计算引擎能够成功执行查询语句的执行概率。
作为一种实施方式,在获取语句池化序列时,可以将语句池化序列分别输入至目标模型中的每个引擎预测器,进而每个引擎预测器会基于语句池化序列预测出对应的计算引擎能够成功执行查询语句的执行概率。
步骤S130:根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。
由于目标模型中包括了至少两个引擎预测器,每个引擎预测器都会输出其对应代表的计算引擎成功执行查询语句的执行概率,为此,可以将最大的执行概率对应的计算引擎作为执行查询语句的计算引擎,也即目标计算引擎。
作为一种实施方式,在得到每个引擎预测器对应的执行概率时,可以对每个引擎预测器对应的执行概率的大小进行降序排序,得到预测序列,进一步地,获取预测序列中顺序在首的执行概率作为目标执行概率,进一步地,将目标执行概率对应的计算引擎确定为目标计算引擎。
本申请实施例中,可以对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征,从而,在对查询语句进行嵌入表示的过程中,能够捕获到该查询语句中词语间的上下文关系,使得查询语句表征包含了整个查询语句的语义信息。进而基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,进一步地,根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。由此,在对整个查询语句进行准确的语义理解基础上再对查询语句进行计算引擎的预测,从而提高计算引擎预测的准确性。
结合上述实施例所描述的方法,以下将举例作进一步详细说明。
下面将以计算引擎确定装置具体集成在计算机设备中为例进行说明,并将针对图4所示的流程结合图5所示的应用场景进行详细地阐述,该计算机设备可以为服务器或者终端设备等。请参阅图4,图4示出了本申请实施例提供的另一种计算引擎确定方法,在具体的实施例中,该计算引擎确定方法可以运用到如图5所示的云计算场景中。
云计算服务供应商提供服务端,该服务端包括云训练服务器410以及云执行服务器430。云训练服务器410用于训练出对查询语句进行计算引擎确定的目标模型,云执行服务器430用于部署目标模型,该目标模型能够对查询语句进行计算引擎的确定,以及部署进行云计算相关功能的计算机程序。其中,客户端可以为用户(如程序开发人员或数据分析人员等)使用云计算服务时,在电脑420上使用的相关应用软件。
示例性地,在上述云计算场景中,数据分析人员可以在使用数据分析软件进行数据分析时,通过电脑420将数据分析所用的查询语句传输至云计算平台(也即,服务端),进而由云计算平台的云执行服务器430选择对应的计算引擎来执行该查询语句。其中,该云计算平台部署有三种计算引擎:MapReduce、Spark以及Presto。
需要说明的是,图5仅是本申请实施例提供的一种应用场景,本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。例如,本申请实施例为清楚地解释模型的训练阶段和推理阶段,将模型的训练阶段部署在图5中的云训练服务器410以及将模型的推理阶段部署在图5中的云执行服务器430。
在其它情况下,云训练服务器410和云执行服务器430可以是同一服务器。本领域普通技术人员可知,随着系统架构的演变和新的应用场景的出现,本申请实施例提供的技术方案对于解决类似的技术问题,同样适用。计算引擎确定方法具体可以包括以下步骤:
步骤S210:计算机设备获取第一训练数据集。
其中,第一训练数据集用于训练出进行计算引擎预测的目标模型。第一训练数据集包括样本语句和样本语句对应的引擎标签。一条样本语句即为一条查询语句,该条样本语句对应的引擎标签可以为由0(不可执行)或1(可执行)表示的三维标签向量[MapReduce,Spark,Presto],其中,标签向量的维度可以根据计算引擎的类型数量设定。
例如,在利用MapReduce实现基本SQL语句的情况下,一条查询语句rank,isonline,count(*)from city group by rank,isonline;,其对应的引擎标签/>
示例性地,云训练服务器410可以从数据获取设备获取到第一训练数据集其中,n为第一训练数据集中的样本数量,n≥1&n∈N*。
步骤S220:计算机设备对样本语句进行嵌入表示,得到样本语句对应的样本语句表征。
在训练目标模型时,需要对样本语句进行嵌入表示,也即对样本语句中的每个样本词语进行词嵌入,因此,需要利用到可以进行词嵌入的表示模型。该表示模型基于第二训练数据集训练得到。其中,表示模型实际应用于对给定的中心词进行上下文预测。
本申请实施例利用表示模型中的转换矩阵对样本词语进行词嵌入,如此,样本语句在嵌入表示后得到的样本语句表征能够带有上下文信息,也即,包含了整条样本语句的语义信息,从而训练出的目标模型对查询语句的计算引擎的预测准确性得到提高。
在一些实施例中,该计算机设备对样本语句进行嵌入表示,得到样本语句对应的样本语句表征的步骤可以包括:
(1)计算机设备获取第二训练数据集。
其中,第二训练数据集包括查询样本词语和查询样本词语对应的上下文词语标签。查询样本词语为查询语句中被选定作为中心词的词语,在查询语句中,与中心词(也即,查询样本词语)处于相邻位置的其他词语成为上下文词语,基于查询语句的词表可以表示出该上下文词语的标签向量,也即上下文词语标签。该上下文词语标签的维度为词表的长度。
例如,一个查询样本词语其上下文词语可以为:select,from和group by,其对应的上下文词语标签/>其中,上下文词语标签中每个元素对应词表中的一个词语,元素位置对应该词语在词表中的索引,元素为0表示词表中该索引对应的词语不是查询样本词语的上下文词语,元素为1表示词表中该索引对应的词语是查询样本词语的上下文词语。
示例性地,云训练服务器410可以从数据获取设备获取到第二训练数据集其中,m为第二训练数据集中的样本数量,m≥1&m∈N*。
(2)计算机设备对查询样本词语进行独热编码,得到查询样本词语对应的独热向量。
示例性地,云训练服务器410可以基于查询样本词语对应的词表,对每个查询样本词语进行独热编码,进而得到每个查询样本词语对应的独热向量
(3)计算机设备将查询样本词语对应的独热向量输入至预设表示网络,计算得到查询样本词语对应的上下文词语的预测概率。
请参阅图6,图6示出了一种预设表示网络的网络架构图。如图6所示,预设表示网络包括输入层、隐藏层(HiddenLayer)和输出层(分类器)。输入层用于输入查询样本词语,经隐藏层和输出层计算后,可以计算得到查询样本词语对应的上下文词语的预测概率。其中,隐藏层的神经元的个数为查询样本词语词嵌入后得到的词语训练表征的维度。输出层的神经元的个数为词表的长度。
作为一种实施方式,该计算机设备将查询样本词语对应的独热向量输入至预设表示网络,计算得到查询样本词语对应的上下文词语的预测概率的步骤可以包括:
(3.1)计算机设备将查询样本词语对应的独热向量输入至预设表示网络,基于初始转换矩阵对查询样本词语对应的独热向量进行嵌入表示,得到查询样本词语对应的词语训练表征。
其中,初始转换矩阵为预设表示网络中输入层到隐藏层之间的权重矩阵w′,初始转换矩阵w′的行数为词表的长度V,列数为词语训练表征的维度d。
示例性地,云训练服务器410可以将每个查询样本词语对应的独热向量xone输入至预设表示网络,进一步地,通过初始转换矩阵W′与独热向量xone的点乘得到查询样本词语对应的词语训练表征H1,计算公式如下:
H1=W′xone,W′∈R(V×d)
(3.2)计算机设备根据预测矩阵对词语训练表征进行相似度计算,得到查询样本词语与查询样本词语对应的上下文词语的词语相似度。
其中,预测矩阵为预设表示网络中隐藏层到输出层之间的权重矩阵w″,预测矩阵w″的行数为词语训练表征的维度d,列数为词表的长度V。预测矩阵w″可以表示作为中心词的查询样本词语与对应的上下文词语间的对应关系信息。
示例性地,云训练服务器410可以将每个查询样本词语对应的词语训练表征H1与预测矩阵w″通过点乘进行相似度计算,得到查询样本词语与其对应的上下文词语的词语相似度H2,计算公式如下:
H2=W′H1,W″∈R(d×V)
(3.3)计算机设备对词语相似度进行归一化操作,得到上下文词语的预测概率。
其中,预设表示网络的输出层为一个回归分类器,输出层的每个节点可以输出查询样本词语对应的上下文词语的预测概率,也即上下文的概率。每个节点对应的预测概率的大小范围为(0,1),所有节点的预测概率之和为1。
示例性地,云训练服务器410可以通过Softmax函数对词语相似度H2进行归一化操作,得到查询样本词语的上下文词语的预测概率。例如,查询样本词语 输出层的4个节点输出4个预测概率可以为:/>
以P(″select″|″count″)为例,″select″是″count″的上下文词语的预测概率为0.226。
(4)计算机设备基于预测概率和查询词语标签之间的差异,确定预设表示网络的第二目标损失。
示例性地,云训练服务器410可以基于预测概率P和查询词语标签之间的差异,确定预设表示网络的第二目标损失L2:
其中,v表示为查询样本词语,c表示成为上下文词语的概率,/>表示为预设表示网络的网络参数,Q表示为词表中的词语集合,Z表示为上下文词语集合。
(5)计算机设备根据第二目标损失对预设表示网络进行网络训练,直至预设表示网络满足预设条件,得到表示模型。
示例性地,云训练服务器410可以在得到第二目标损失后,根据第二目标损失对预设表示网络进行迭代训练,直至对预设表示网络满足预设条件,其中,预设条件可以为:第二目标损失L2小于预设值、第二目标损失L2不再变化、或者训练次数达到预设次数等。可选的,可以采用优化器(如,梯度下降法)去优化第二目标损失L2,更新预设表示网络的网络参数可以基于实验经验设置学习率(Learning Rate)、训练时的批量大小(Batch Size)以及训练的时期(Epoch)。
(6)计算机设备基于表示模型的转换矩阵对查询样本语句进行嵌入表示,得到样本语句对应的样本语句表征。
示例性地,云训练服务器410可以将查询样本语句中每个词语与转换矩阵进行点乘,计算得到查询样本语句中每个词语对应的词嵌入,进一步地,根据查询样本语句中每个词语对应的词嵌入,合成查询样本语句对应的样本语句表征。
步骤S230:计算机设备将样本语句表征输入至预设目标网络,计算得到预设目标网络中每个引擎预测器的训练概率。
通过表示模型的转换矩阵可以得到查询样本语句对应的样本语句表征,进而可以将样本语句表征输入至预设目标网络,计算出每个引擎预测器的训练概率。预设目标网络的网络架构如上述实施例中目标模型的网络架构相同,可参考上述实施例中的相关内容,在此不做赘述。
在一些实施例中,该计算机设备将样本语句表征输入至预设目标网络,计算得到预设目标网络中每个引擎预测器的训练概率的步骤可以包括:
(1)计算机设备将样本语句表征输入至预设目标网络,对样本语句表征进行特征提取,得到向量序列。
示例性地,云训练服务器410可以将样本语句表征输入至预设目标网络,进一步地,通过预设目标网络的长短期记忆网络对样本语句表征进行特征提取,得到向量序列。请参阅图7,图7示出了一种长短期记忆网络的网络架构图。如图7所示,该长短期记忆网络中设置了多个计算单元,每个计算单元可以对基于线性矩阵的变换对样本语句表征中的每个词语向量αi进行特征提取,得到对应的输出向量βi。其中,计算单元的个数为查询样本语句的长度,也即查询样本语句的词语个数。
(2)计算机设备对向量序列进行池化操作,得到池化序列。
示例性地,云训练服务器410可以通过预设目标网络的池化层对向量序列进行池化操作,得到池化序列。例如,向量序列[(2,4,9,5),(4,5,9,6),(0,5,1,6),(2,4,4,6)],以向量序列中的每个向量为采样区域,对该向量序列进行最大池化可以得到池化序列[9,9,6,6,],对该向量序列进行最大池化可以得到池化序列[5,6,3,4]。
(3)计算机设备将池化序列分别输入至每个引擎预测器,计算出每个引擎预测器的训练概率。
示例性地,云训练服务器410可以将池化序列分别输入至每个引擎预测器,计算出每个引擎预测器的训练概率。例如,针对云计算平台部署有三种计算引擎:MapReduce、Spark以及Presto的应用场景,可以设定三个引擎预测器:MapReduce对应的引擎预测器E1,Spark对应的引擎预测器E2,以及Presto对应的引擎预测器E3。引擎预测器的训练概率的计算公式如下:
其中,K为引擎预测器,也即多层感知机的参数,u为池化序列,b为惩罚项,δ为激活函数,在本申请实施例中,激活函数δ(x)可以为Relu函数:
步骤S240:计算机设备基于每个训练概率和相应的引擎标签之间的差异,确定预设目标网络的第一目标损失。
(1)计算机设备基于每个训练概率和对应的引擎标签之间的差异,确定每个引擎预测器对应的预测损失。
示例性地,云训练服务器410可以获取每个引擎预测器的训练概率,进一步地,基于每个训练概率和对应的引擎标签确定出每个引擎预测器对应的预测损失,该预测损失的计算公式如下:
其中,n为第一训练数据集中的样本数量,n≥1&n∈N*。
(2)计算机设备根据每个引擎预测器对应的预测损失,确定预设目标网络的第一目标损失。
示例性地,云训练服务器410可以根据MapReduce对应的引擎预测器E1,Spark对应的引擎预测器E2,以及Presto对应的引擎预测器E3对应的预测损失:和/>确定预设目标网络的第一目标损失,第一目标损失L1可以表示如下:
步骤S250:计算机设备根据第一目标损失对预设目标网络进行网络训练,直至预设目标网络满足预设条件,得到目标模型。
示例性地,云训练服务器410可以在得到第一目标损失后,根据第一目标损失对预设表示网络进行迭代训练,直至该预设表示网络满足预设条件,其中,预设条件可以为:第一目标损失L1小于预设值、第一目标损失L1不再变化、或者训练次数达到预设次数等。可选的,可以采用优化器(如,梯度下降法)去优化第二目标损失L1,可以基于实验经验设置学习率、训练时的批量大小以及训练的时期。
需要说明的是,本申请实施例中提供的计算引擎确定方法包括对预设目标网络和预测表示网络的训练,值得说明的是,对预设目标网络和预测表示网络的训练可以是根据获取的训练样本数据集合预先进行的,后续在每次需要确定查询语句的计算引擎时,可以利用训练得到的预设目标网络和预测表示网络直接计算,而无需每次需要确定查询语句的计算引擎时,再次进行网络训练。
步骤S260:计算机设备对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征。
在本申请实施例中,嵌入表示是利用基于上下文预测训练得到的表示模型的权重矩阵对查询语句进行嵌入表示。在对查询语句进行嵌入表示时,会捕获到该查询语句间的上下文关系,使得查询语句表征也就包含了整个查询语句的语义信息。从而,提高后续为查询语句预测计算引擎的准确性。
作为一种实施方式,该计算机设备对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征的步骤可以包括:
(1)计算机设备对获取的查询语句中每个查询词语进行独热编码,得到每个查询词语对应的独热向量。
示例性地,云执行服务器430可以基于查询语句对应的词表来对每个查询词语进行独热编码。例如,假设存在词表{select,from,group by,rank},则独热向量的维度为4。在获取查询语句“select rank from”后,可以根据词表对每个查询词语分别进行独热编码,得到查询词语“select”对应的独热向量[1,0,0,0]、查询词语“rank”对应的独热向量[0,0,0,1]和查询词语“from”对应的独热向量[0,1,0,0]。
(2)计算机设备基于转换矩阵对每个查询词语对应的独热向量进行查表操作,得到每个查询词语对应的词语表征。
其中,转换矩阵为表示模型基于样本词语和样本词语对应的词语标签,完成上下文预测训练,得到的权重矩阵。其中,独热向量和转换矩阵进行点乘的计算过程即为查表操作。云训练服务器410可以将训练得到的目标模型和转换矩阵部署在云执行服务器430。
示例性地,云执行服务器430可以将查询语句中每个查询词语对应的独热向量与转换矩阵进行点乘,进而得到每个查询词语对应的词语表征。转换矩阵的行数为词表的长度,转换矩阵的列数为词语表征的维度,词语表征的维度可以根据实验经验设置,例如,词语表征的维度设置为3,则查询词语“from”对应的独热向量[0,1,0,0]经过转换矩阵进行查表操作后,可以得到对应的词语表征[6.3,10.75,5.46]。
(3)计算机设备根据每个词语表征,确定查询语句对应的查询语句表征。
示例性地,云执行服务器430可以在得到每个词语表征,可以对每个词语表征进行组合得到查询语句对应的查询语句表征。例如,查询词语“from”对应的词语表征[6.3,10.75,5.46]、查询词语“select”对应的词语表征[22.97,15.63,10.80]以及查询词语“rank”对应的词语表征[36.85,13.11,4.54],进而可以将三者的词语表征组合在一起,得到查询语句“select rank from”对应的查询语句表征[[22.97,15.63,10.80],[36.85,13.11,4.54],[6.3,10.75,5.46]]。
步骤S270:计算机设备基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率。
其中,目标模型包括至少两个引擎预测器,每个引擎预测器由多层感知机构成。引擎预测器可以预测出自身对应的计算引擎成功执行查询语句的概率。
作为一种实施方式,该计算机设备基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率的步骤可以包括:
(1)计算机设备将查询语句表征输入至目标模型,对查询语句表征进行特征提取,得到语句表征序列。
示例性地,云执行服务器430可以在将查询语句中的每个查询词语通过输入层输入至目标模型的长短期记忆网络时,长短期记忆网络可以基于每个查询词语对查询语句进行特征提取,得到语句表征序列。
(2)计算机设备对语句表征序列进行池化操作,得到语句表征序列对应的语句池化序列。
示例性地,云执行服务器430可以对语句表征序列进行最大池化或平均池化,得到语句表征序列对应的语句池化序列。例如,从语句表征序列中确定出采样区域,如语句表征序列中每四个向量作为采样区域。进一步地,对该提取该采样区域中的向量的第一范数为最大值的向量作为采样区域的池化结果,或者将采样区域中四个向量的的平均值作为采样区域的池化结果。进而将每个采样区域的池化结果作为语句池化序列。
(3)计算机设备将语句池化序列分别输入至目标模型中的每个引擎预测器进行引擎预测,计算出每个引擎预测器对应的执行概率。
示例性地,云执行服务器430可以在获取语句池化序列时,将语句池化序列分别输入至目标模型中的每个引擎预测器,进而每个引擎预测器会基于语句池化序列预测出对应的计算引擎能够成功执行查询语句的执行概率。
步骤S280:计算机设备根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。
示例性地,云执行服务器430可以基于每个引擎预测器对应的执行概率的大小进行降序排序,得到预测序列。例如,预测序列进一步地,云执行服务器430可以获取预测序列中顺序在首的执行概率作为目标执行概率,也即作为目标执行概率,并将目标执行概率对应的计算引擎确定为目标计算引擎,也即将MapReduce作为查询语句的目标计算引擎。进而云执行服务器430可以在云计算平台上利用MapReduce执行查询语句,得到数据计算结果,并将数据计算结果传至电脑420。
请参阅图8,图8示出了一种计算引擎确定方法的流程图。示例性地,获取查询语句集合,查询语句集合中包括m个查询语句SQL,分别对每个查询语句SQL进行嵌入表示,得到每个查询语句SQL对应的查询语句表征,其中,每个查询语句表征为查询语句中各个词语对应的词嵌入ω。
进一步地,利用各个词语对应的词嵌入ω对样本语句进行嵌入表示,得到所述样本语句对应的样本语句表征,将样本语句表征输入至预设目标网络的长短期记忆网络进行特征提取,并对提取的特征输入至池化层进行池化操作,进一步地,将池化操作的结果分别输入至每个引擎预测器进而每个引擎预测器计算训练概率,并基于每个训练概率和相应的引擎标签之间的差异,确定预设目标网络的目标损失,进而对所述预设目标网络进行网络训练,直至所述预设目标网络满足预设条件,得到目标模型。
进一步地,当获取查询语句时,可以利用各个词语对应的词嵌入ω对查询语句进行嵌入表示,得到查询语句对应的查询语句表征,并基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率。进而根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。
本申请实施例中,可以对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征,通过对查询语句进行嵌入表示时,会捕获到该查询语句间的上下文关系,使得查询语句表征包含了整个查询语句的语义信息。进而基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,进一步地,根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。由此,在对整个查询语句进行准确的语义理解基础上对查询语句进行计算引擎的预测,从而提高计算引擎预测的准确性。
请参阅图9,其示出了本申请实施例提供的一种计算引擎确定装置500的结构框图。该计算引擎确定装置500包括:表示模块510,用于对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征;预测模块520,用于基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,目标模型为基于样本语句经嵌入表示后的样本语句表征和相应的引擎标签训练得到;其中,目标模型包括至少两个引擎预测器,至少两个引擎预测器由多层感知机构成;确定模块530,用于根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。
在一些实施例中,计算引擎确定装置500还可以包括:第一数据获取模块,用于获取第一训练数据集,第一训练数据集包括样本语句和样本语句对应的引擎标签;样本语句表示模块,用于对样本语句进行嵌入表示,得到样本语句对应的样本语句表征;训练概率计算模块,用于将样本语句表征输入至预设目标网络,计算得到预设目标网络中每个引擎预测器的训练概率;第一损失确定模块,用于基于每个训练概率和相应的引擎标签之间的差异,确定预设目标网络的第一目标损失;目标模型训练模块,用于根据第一目标损失对预设目标网络进行网络训练,直至预设目标网络满足预设条件,得到目标模型。
在一些实施例中,训练概率计算模块可以具体用于:将样本语句表征输入至预设目标网络,对样本语句表征进行特征提取,得到向量序列;其中,预设目标网络包括至少两个引擎预测器,至少两个引擎预测器由多层感知机构成;对向量序列进行池化操作,得到池化序列;将池化序列分别输入至每个引擎预测器,计算出每个引擎预测器的训练概率。
在一些实施例中,第一损失确定模块可以具体用于:基于每个训练概率和对应的引擎标签之间的差异,确定每个引擎预测器对应的预测损失;根据每个引擎预测器对应的预测损失,确定预设目标网络的第一目标损失。
在一些实施例中,表示模块510可以具体用于:对获取的查询语句中每个查询词语进行独热编码,得到每个查询词语对应的独热向量;基于转换矩阵对每个查询词语对应的独热向量进行查表操作,得到每个查询词语对应的词语表征;其中,转换矩阵为表示模型基于查询样本词语和查询样本词语对应的上下文词语标签,完成上下文预测训练,得到的权重矩阵;根据每个词语表征,确定查询语句对应的查询语句表征。
在一些实施例中,计算引擎确定装置500还可以包括:第二数据获取模块,用于获取第二训练数据集,第二训练数据集包括查询样本词语和查询样本词语对应的上下文词语标签;样本词语编码模块,用于对查询样本词语进行独热编码,得到查询样本词语对应的独热向量;预测概率计算模块,用于将查询样本词语对应的独热向量输入至预设表示网络,计算得到查询样本词语对应的上下文词语的预测概率;第二损失确定模块,用于基于预测概率和查询词语标签之间的差异,确定预设表示网络的第二目标损失;根据第二目标损失对预设表示网络进行网络训练,直至预设表示网络满足预设条件,得到表示模型。
在一些实施例中,预测概率计算模块可以具体用于:将查询样本词语对应的独热向量输入至预设表示网络,基于初始转换矩阵对查询样本词语对应的独热向量进行嵌入表示,得到查询样本词语对应的词语训练表征;根据预测矩阵对词语训练表征进行相似度计算,得到查询样本词语与查询样本词语对应的上下文词语的词语相似度;对词语相似度进行归一化操作,得到上下文词语的预测概率。
在一些实施例中,预测模块520可以具体用于:将查询语句表征输入至目标模型,对查询语句表征进行特征提取,得到语句表征序列;对语句表征序列进行池化操作,得到语句表征序列对应的语句池化序列;将语句池化序列分别输入至目标模型中的每个引擎预测器进行引擎预测,计算出每个引擎预测器对应的执行概率。
在一些实施例中,确定模块530可以具体用于:基于每个引擎预测器对应的执行概率的大小进行降序排序,得到预测序列;获取预测序列中顺序在首的执行概率作为目标执行概率;将目标执行概率对应的计算引擎确定为目标计算引擎。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请提供的方案,可以对获取的查询语句进行嵌入表示,得到查询语句对应的查询语句表征,通过对查询语句进行嵌入表示时,会捕获到该查询语句的上下文信息,使得查询语句表征包含了整个查询语句的语义信息。进而基于目标模型对查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,进一步地,根据每个引擎预测器对应的执行概率的大小关系,确定查询语句对应的目标计算引擎。由此,在对整个查询语句进行准确的语义理解基础上对查询语句进行计算引擎的预测,从而大大提高计算引擎预测的准确性。
如图10所示,本申请实施例还提供一种计算机设备600,该计算机设备600包括处理器610、存储器620、电源630和输入单元640,存储器620存储有计算机程序,计算机程序被处理器610调用时,可实执行上述实施例提供的各种方法步骤。本领域技术人员可以理解,图中示出的计算机设备的结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器610可以包括一个或多个处理核。处理器610利用各种接口和线路连接整个电池管理系统内的各种部分,通过运行或执行存储在存储器620内的指令、程序、指令集或程序集,调用存储在存储器620内的数据,执行电池管理系统的各种功能和处理数据,以及执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体控制。可选地,处理器610可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器610可集成中央处理器610(CentralProcessing Unit,CPU)、图像处理器610(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器610中,单独通过一块通信芯片进行实现。
存储器620可以包括随机存储器620(Random Access Memory,RAM),也可以包括只读存储器620(Read-Only Memory)。存储器620可用于存储指令、程序、指令集或程序集。存储器620可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各种方法实施例的指令等。存储数据区还可以存储计算机设备在使用中所创建的数据(比如电话本和音视频数据)等。相应地,存储器620还可以包括存储器控制器,以提供处理器610对存储器620的访问。
电源630可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源630还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
输入单元640,该输入单元640可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备600还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器610会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器620中,并由处理器610来运行存储在存储器620中的比如电话本和音视频数据,从而实现前述实施例提供的各种方法步骤。
如图11所示,本申请实施例还提供一种计算机可读存储介质700,该计算机可读存储介质700中存储有计算机程序710,计算机程序710可被处理器调用于执行本申请实施例提供的各种方法步骤。
计算机可读存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读存储介质(Non-Transitory Computer-Readable Storage Medium)。计算机可读存储介质700具有执行上述实施例中任何方法步骤的计算机程序的存储空间。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。计算机程序能够以适当形式进行压缩。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述实施例提供的各种方法步骤。
以上,仅是本申请的较佳实施例而已,并非对本申请作任何形式上的限制,虽然本申请已以较佳实施例揭示如上,然而并非用以限定本申请,任何本领域技术人员,在不脱离本申请技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本申请技术方案内容,依据本申请的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本申请技术方案的范围内。
Claims (13)
1.一种计算引擎确定方法,其特征在于,所述方法包括:
对获取的查询语句进行嵌入表示,得到所述查询语句对应的查询语句表征;
基于目标模型对所述查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,所述目标模型为基于样本语句经嵌入表示后的样本语句表征和相应的引擎标签训练得到;
其中,所述目标模型包括至少两个引擎预测器,所述至少两个引擎预测器由多层感知机构成;
根据所述每个引擎预测器对应的执行概率的大小关系,确定所述查询语句对应的目标计算引擎。
2.根据权利要求1所述的方法,其特征在于,所述目标模型通过如下步骤训练得到:
获取第一训练数据集,所述第一训练数据集包括样本语句和所述样本语句对应的引擎标签;
对所述样本语句进行嵌入表示,得到所述样本语句对应的样本语句表征;
将所述样本语句表征输入至预设目标网络,计算得到所述预设目标网络中每个引擎预测器的训练概率;
基于每个所述训练概率和相应的引擎标签之间的差异,确定所述预设目标网络的第一目标损失;
根据所述第一目标损失对所述预设目标网络进行网络训练,直至所述预设目标网络满足预设条件,得到目标模型。
3.根据权利要求2所述的方法,其特征在于,所述将所述样本语句表征输入至预设目标网络,计算得到所述预设目标网络中每个引擎预测器的训练概率,包括:
将所述样本语句表征输入至预设目标网络,对所述样本语句表征进行特征提取,得到向量序列;
其中,所述预设目标网络包括至少两个引擎预测器,所述至少两个引擎预测器由多层感知机构成;
对所述向量序列进行池化操作,得到池化序列;
将所述池化序列分别输入至每个引擎预测器,计算出所述每个引擎预测器的训练概率。
4.根据权利要求2或3所述的方法,其特征在于,所述基于每个所述训练概率和所述引擎标签之间的差异,确定所述预设目标网络的第一目标损失,包括:
基于每个训练概率和对应的引擎标签之间的差异,确定每个引擎预测器对应的预测损失;
根据所述每个引擎预测器对应的预测损失,确定所述预设目标网络的第一目标损失。
5.根据权利要求1所述的方法,其特征在于,所述对获取的查询语句进行嵌入表示,得到所述查询语句对应的查询语句表征,包括:
对获取的查询语句中每个查询词语进行独热编码,得到所述每个查询词语对应的独热向量;
基于转换矩阵对所述每个查询词语对应的独热向量进行查表操作,得到所述每个查询词语对应的词语表征;
其中,所述转换矩阵为表示模型基于查询样本词语和所述查询样本词语对应的上下文词语标签,完成上下文预测训练,得到的权重矩阵;
根据所述每个词语表征,确定所述查询语句对应的查询语句表征。
6.根据权利要求5所述的方法,其特征在于,所述表示模型通过如下步骤训练得到:
获取第二训练数据集,所述第二训练数据集包括查询样本词语和所述查询样本词语对应的上下文词语标签;
对所述查询样本词语进行独热编码,得到所述查询样本词语对应的独热向量;
将所述查询样本词语对应的独热向量输入至预设表示网络,计算得到所述查询样本词语对应的上下文词语的预测概率;
基于所述预测概率和所述查询词语标签之间的差异,确定所述预设表示网络的第二目标损失;
根据所述第二目标损失对所述预设表示网络进行网络训练,直至所述预设表示网络满足预设条件,得到表示模型。
7.根据权利要求6所述的方法,其特征在于,所述将所述查询样本词语对应的独热向量输入至预设表示网络,计算得到所述查询样本词语对应的上下文词语的预测概率,包括:
将所述查询样本词语对应的独热向量输入至预设表示网络,基于初始转换矩阵对所述查询样本词语对应的独热向量进行嵌入表示,得到所述查询样本词语对应的词语训练表征;
根据预测矩阵对所述词语训练表征进行相似度计算,得到所述查询样本词语与所述查询样本词语对应的上下文词语的词语相似度;
对所述词语相似度进行归一化操作,得到所述上下文词语的预测概率。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述基于目标模型对所述查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,包括:
将所述查询语句表征输入至目标模型,对所述查询语句表征进行特征提取,得到语句表征序列;
对所述语句表征序列进行池化操作,得到所述语句表征序列对应的语句池化序列;
将所述语句池化序列分别输入至所述目标模型中的每个引擎预测器进行引擎预测,计算出所述每个引擎预测器对应的执行概率。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述根据所述每个引擎预测器对应的执行概率的大小关系,确定所述查询语句对应的目标计算引擎,包括:
基于所述每个引擎预测器对应的执行概率的大小进行降序排序,得到预测序列;
获取所述预测序列中顺序在首的执行概率作为目标执行概率;
将所述目标执行概率对应的计算引擎确定为目标计算引擎。
10.一种计算引擎确定装置,其特征在于,所述装置包括:
表示模块,用于对获取的查询语句进行嵌入表示,得到所述查询语句对应的查询语句表征;
预测模块,用于基于目标模型对所述查询语句表征进行引擎预测,得到每个引擎预测器对应的执行概率,所述目标模型为基于样本语句经嵌入表示后的样本语句表征和相应的引擎标签训练得到;
其中,所述目标模型包括至少两个引擎预测器,所述至少两个引擎预测器由多层感知机构成;
确定模块,用于根据所述每个引擎预测器对应的执行概率的大小关系,确定所述查询语句对应的目标计算引擎。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器调用执行如权利要求1~9任一项所述的方法。
12.一种计算机设备,其特征在于,包括:
存储器;
一个或多个处理器,与所述存储器耦接;
一个或多个计算机程序,其中,所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于执行如权利要求1~9任一项所述的方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被存储在存储介质中;计算机设备的处理器从存储介质读取所述计算机程序,处理器执行所述计算机程序,使得所述计算机设备执行如权利要求1~9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211485780.4A CN117009374A (zh) | 2022-11-24 | 2022-11-24 | 计算引擎确定方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211485780.4A CN117009374A (zh) | 2022-11-24 | 2022-11-24 | 计算引擎确定方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117009374A true CN117009374A (zh) | 2023-11-07 |
Family
ID=88571612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211485780.4A Pending CN117009374A (zh) | 2022-11-24 | 2022-11-24 | 计算引擎确定方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009374A (zh) |
-
2022
- 2022-11-24 CN CN202211485780.4A patent/CN117009374A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790212B2 (en) | Quantization-aware neural architecture search | |
US20200265301A1 (en) | Incremental training of machine learning tools | |
US11604960B2 (en) | Differential bit width neural architecture search | |
CN116415654A (zh) | 一种数据处理方法及相关设备 | |
CN111667022A (zh) | 用户数据处理方法、装置、计算机设备和存储介质 | |
US9852177B1 (en) | System and method for generating automated response to an input query received from a user in a human-machine interaction environment | |
CN111898636B (zh) | 一种数据处理方法及装置 | |
CN113158554B (zh) | 模型优化方法、装置、计算机设备及存储介质 | |
CN110781686B (zh) | 一种语句相似度计算方法、装置及计算机设备 | |
TWI741877B (zh) | 網路模型量化方法、裝置及電子設備 | |
US20200302283A1 (en) | Mixed precision training of an artificial neural network | |
CN112883149A (zh) | 一种自然语言处理方法以及装置 | |
CN114444476A (zh) | 信息处理方法、装置和计算机可读存储介质 | |
CN112988954B (zh) | 文本分类方法、装置、电子设备和计算机可读存储介质 | |
CN116910357A (zh) | 一种数据处理方法及相关装置 | |
CN115378890B (zh) | 信息输入方法、装置、存储介质及计算机设备 | |
CN116401522A (zh) | 一种金融服务动态化推荐方法和装置 | |
CN115879508A (zh) | 一种数据处理方法及相关装置 | |
CN117009374A (zh) | 计算引擎确定方法、装置、存储介质及计算机设备 | |
JPWO2019167240A1 (ja) | 情報処理装置、制御方法、及びプログラム | |
CN116415624A (zh) | 模型训练方法及装置、内容推荐方法及装置 | |
CN113706347A (zh) | 一种多任务模型蒸馏方法、系统、介质及电子终端 | |
CN113486183B (zh) | 基于支持向量机的文本分类方法、装置、电子设备及介质 | |
CN116778264B (zh) | 基于类增学习的对象分类方法、图像分类方法及相关设备 | |
CN115599987A (zh) | 业务处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |