CN110059100A - 基于演员-评论家网络的sql语句构造方法 - Google Patents
基于演员-评论家网络的sql语句构造方法 Download PDFInfo
- Publication number
- CN110059100A CN110059100A CN201910216869.2A CN201910216869A CN110059100A CN 110059100 A CN110059100 A CN 110059100A CN 201910216869 A CN201910216869 A CN 201910216869A CN 110059100 A CN110059100 A CN 110059100A
- Authority
- CN
- China
- Prior art keywords
- network
- sql
- sequence
- actor
- natural language
- 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 22
- 230000013016 learning Effects 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims abstract description 22
- 238000011156 evaluation Methods 0.000 claims abstract description 17
- 230000007774 longterm Effects 0.000 claims description 25
- 238000010276 construction Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 7
- 230000000306 recurrent effect Effects 0.000 claims description 3
- 210000002569 neuron Anatomy 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 238000013519 translation Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000000007 visual effect 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/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/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/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language 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/25—Integrating or interfacing systems involving database management systems
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Devices For Executing Special Programs (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Machine Translation (AREA)
Abstract
本发明是一种基于演员‑评论家网络确定预测SQL序列准确性的方法。本发明公开了一种基于强化学习的SQL语句构造方法及装置,其技术步骤为:初始化演员‑评论家网络参数;从数据集获取自然语言和真实SQL语句序列对;把自然语言序列输入演员网络编码器,真实SQL序列输入到评论家网络编码器;编码后的隐状态作为对应解码器的初始化隐状态;演员网络解码器逐步预测SQL语句动作,输入到评论家网络解码器和环境得到相应奖励;梯度更新网络参数,重复迭代后得到自然语言到SQL语句的构造模型;本发明基于强化学习将语法自动机引入奖励机制,解决了在自然语言转化构造SQL语句中损失函数和评价指标不对等的问题,有效地提高了准确率。
Description
技术领域
本发明涉及一种SQL语句构造方法,特别是一种基于演员-评论家网络的SQL语句构造方法,属于基于演员-评论家网络的SQL语句构造方法的创新技术。
背景技术
结构化查询语言(SQL)是关系数据库系统常用的标准语言,可支持的功能包括数据插入、查询、更新和删除等。关系数据库程序要为应用编写高质量查询,必须精通SQL和熟悉对应数据库架构。而这两者的任务都是具挑战性的。降低SQL的编程难度和减轻复杂数据库架构的学习负担一直是数据库研究领域和工业界的重要课题。其中研究如何构建自然语言数据库接口(NLIDB)在近年被广泛关注。
NLIDB是指允许用户输入以可支持自然语言表示的请求来访问存储于数据库信息的系统。相比其他数据库信息访问接口,NLIDB支持自然语言输入无需额外学习人造语言,问题的表达变得简单和支持嵌入到对话系统。但NLIDB十分依赖于系统自然语言的转化能力或者理解能力。现有的NLIDB构建原理,大体可分为三种思路。第一种是基于模式匹配的思路,通过自然语言模板和SQL查询模板一一对应从而达到转化功能,需要大量的人工工作和灵活性很差;第二种是基于机器翻译的思路,通过序列至序列模型直接将自然语言序列转化为SQL查询语言,缺点是训练过程中仅能通过语句相似性更新模型;第三种是基于语义解析的思路,目标是将自然语言转化为逻辑表达式,引入强化学习通过逻辑表达式操作输入表从而得到反馈,缺点是训练困难和不支持大的数据表输入。
序列至序列模型是常用的神经网络模型,输入和输出都是序列达到学习序列间转化,被广泛用于机器翻译、文本摘要等领域。序列至序列模型采用编码-解码框架(Encoder-Decoder)。从输入序列到输出序列的转换包含两个阶段,分别为编码阶段和解码阶段。编码阶段主要处理输入序列,提取输入序列的关键信息,并适当地将信息存储到神经网络的存储器中。解码器阶段负责输出生成,在字典中顺序选择输出字,并相应地更新存储器状态。
通常情况下,编码器和解码器均采用长短期记忆单元(Long Short Term Memory,LSTM)。在编码器阶段,输入序列X={x1,x2,x3,...,xn}按时间步逐个输入至LSTM,隐含层状态he按时间步传递更新,得到最后一个时间步的隐含层状态hen,设解码器的初始隐含层状态hd0=hen。
在解码器阶段,每个时间步输入来自上一个时间步的预测输出和隐状态ht-1,即基于之前的输入信息产生新的预测输出,最后产生一个预测序列所以,序列至序列模型是基于输入序列作预测,其目标函数是:
演员-评论家算法(Actor-Critic)是一种经典的强化学习算法。,通常,演员主要作预测,而评论家主要是对演员的预测作评判;或“演员”表示策略,“评论家”表示对价值函数的估计。在深度强化学习中,“演员”和“评论家”可以用非线性神经网络来逼近表示。
在具体场景中,强化学习旨在能够得到一个解决问题的真实策略π*,然而实际上真实的策略是未知的,这个时候可以通过训练一个神经网络去表达出一个最优的策略π,通过参数学习使得π能够近似真实策略,假设这个策略参数为θ:
π(θ)≈π*(θ*)
在最优的策略下,能够根据当前的状态(State)产生一个动作概率分布π(a|θ),然后通过从采样的方式来获得具体动作(Action)A:
A~π(a|θ)
并作用到环境(Environment)中从而得到最大的未来奖励(Reward),同时也会进入新的状态。这个表达最优策略的神经网络就是演员网络。
评论家是一个值函数(Value Function),根据当前状态产生一个值V(s),作为对应状态的期望奖励。实际上使用函数近似的方法,通过训练一个神经网络去近似表达这个值函数。评论家是一个神经网络模型,所以也叫评论家网络。
演员网络根据当前状态产生一个动作概率分布,并通过采样的方式产生一个具体的动作,输入到环境中得到实际奖励和新的状态,评论家网络也根据当前状态得到一个期望奖励返回,根据演员网络以评论家网络返回的期望奖励(作为基准)、实际奖励和新的状态来更新演员网络参数。同时评论家网络在这个过程中,由于对状态的评判可能会存在偏差,所以也需要在这个过程中以实际的奖励和新的状态对应的期望奖励作为目标对自身参数进行修正。
发明内容
本发明的目的在于考虑上述问题而提供一种基于演员-评论家网络的SQL语句构造方法,本发明是一种方便实用的基于演员-评论家网络的SQL语句构造方法。
本发明的技术方案是:本发明是基于演员-评论家网络的SQL语句构造方法,包括如下步骤:
1)分别对演员网络中的参数θ和评论家网络的参数进行随机初始化;
2)从数据集获取自然语言序列X={x1,...,xn}和对应的SQL序列Yreal={y1,...,ym};
3)以时间步为单位,把自然语言序列X的每个单词输入到演员网络的编码器中;
4)把演员网络编码器最后一个时间步的隐状态haen作为演员网络解码器的初始隐状态had0;
5)以时间步为单位,把真实SQL语句序列Yreal的每个单词输入到评论家网络的编码器中;
6)把评论家网络编码器最后一个时间步的隐状态hcem作为评论家网络解码器的初始隐状态hcd0;
7)演员网络解码器接收上一个时间步预测出的SQL单词和隐状态hadt-1生成单词概率分布
8)根据生成的单词概率分布随机采样得到当前单词
9)每得到当前单词和之前的预测SQL序列真实目标序列Yreal结合,输入到环境中得到当前回报再把输入到评论家网络的解码器中得到基于当前预测SQL序列的未来长期奖励评估值重复步骤7,8,9;
10)计算当前时间步的长期奖励Rt:
11)结合前一个时间步得到的未来长期奖励(当t=1时,令通过损失函数计算损失,其中
利用梯度下降算法更新评论家网络参数梯度公式如下,其中β为学习率:
12)同样地,演员网络的损失函数为:
利用梯度下降算法更新演员网络参数θ,梯度公式如下,其中α为学习率:
上面描述的是训练自然语言到SQL语句的生成模型,当模型已存在,输入自然语言即可得到相应的SQL语句。
本发明是基于演员-评论家网络的SQL语句构造方法,结构化查询语言是关系型数据库的标准管理语言。结构化查询语言的编写比较困难,对于普通没有编程学习经验的用户难于编写结构化查询语言。即使对于有经验的程序员,在编写数据库相关应用前,仍需要良好的掌握结构化查询语言和学习对应数据库的架构才能写出高效可用的查询语句。与基于匹配的SQL语句构造方法对比,本发明不需要大量的人工操作和灵活支持更多类型的SQL语句。与传统的基于序列到序列学习的SQL语句构造方法对比,本发明引入强化学习新型架构解决了损失函数和评价不一致和误差传播等问题。本发明是一种方便实用的基于演员-评论家网络确定预测SQL序列的方法,具有实际应用意义。
附图说明
图1为本发明的原理图;
图2为本发明序列至序列的模型示意图;
图3为演员-评判家算法的原理图。
具体实施方式
实施例:
本发明的原理图如图1所示,本发明的基于演员-评论家网络的SQL语句构造方法,包括如下步骤:
1)分别对演员网络中的参数θ和评论家网络的参数进行随机初始化;
2)从数据集获取自然语言序列X={x1,...,xn}和对应的SQL序列Yreal={y1,...,ym};
Geo是基于美国地理事实数据库(Geobase)的自然语言问题到SQL查询语句的数据集,可以从Geo中获取自然语言序列X={x1,...,xn}和对应的SQL序列Yreal={y1,...,ym};
另外,上述数据集还可以是比较常用的Oracle、mysql、sqlserver等等,只要支持SQL进行查询、更新、删除等管理操作即可,因SQL是关系型数据库的标准管理语言。
3)以时间步为单位,把自然语言序列X的每个单词输入到演员网络的编码器中;
4)把演员网络编码器最后一个时间步的隐状态haen作为演员网络解码器的初始隐状态had0;
5)以时间步为单位,把真实SQL语句序列Yreal的每个单词输入到评论家网络的编码器中;
6)把评论家网络编码器最后一个时间步的隐状态hcem作为评论家网络解码器的初始隐状态hcd0;
7)演员网络解码器接收上一个时间步预测出的SQL单词和隐状态hadt-1生成单词概率分布
8)根据生成的单词概率分布随机采样得到当前单词
9)每得到当前单词和之前的预测SQL序列真实目标序列Yreal结合,输入到环境中得到当前回报再把输入到评论家网络的解码器中得到基于当前预测SQL序列的未来长期奖励评估值重复步骤7,8,9。;
10)计算当前时间步的长期奖励Rt:
11)结合前一个时间步得到的未来长期奖励(当t=1时,令通过损失函数计算损失,其中
利用梯度下降算法更新评论家网络参数梯度公式如下,其中β为学习率:
12)同样地,演员网络的损失函数为:
利用梯度下降算法更新演员网络参数θ,梯度公式如下,其中α为学习率:
上面描述的是训练自然语言到SQL语句的生成模型,当模型已存在,输入自然语言即可得到相应的SQL语句。
上述步骤1)演员网络中的参数θ和评论家网络的参数分别对应两个网络里所有可被调节的数值参数。演员网络中的参数θ和评论家网络的参数是指在人工神经网络中被调节的权重,通常是被学习算法调节的数值参数。权重可以看作神经元之间的连接强度。
上述步骤2)中的数据集是由人工或者机器统计采集,是自然语言和结构化查询语言(SQL)对,可按比例拆分为训练集和测试集分别用于训练学习网络和评价网络的可靠性。
上述步骤3)中的时间步是递归神经网络在处理序列数据按时间单位输入。演员网络和评论家网络结构都是编码器-解码器模型,而编码器与解码器分别都是一个长短期记忆网络(Long Short Term Memory),递归神经网络的一种类型。
上述步骤5)根据网络结构和权重参数,输出层映射生成词的概率分布。
上述步骤11)及步骤12)中的梯度下降算法如下:
A.假设有一个关于神经网络的参数θ的目标函数J(θ)
B.计算J(θ)的梯度
C.以更新步长α(α>0)更新参数θ,
梯度下降算法是一种迭代求解最小值的算法,它能够在迭代的过程中使得J(θ)减小,直至达到局部或全局最小值。
上述演员网络和评论家网络均采用编码器-解码器架构,即序列至序列模型,但是模型的输入和输出有所不同。
演员网络中编码器接收自然语言序列X作为输入,当前时间步为t,根据前面预测出的SQL序列作解码,产生一个词作为动作。词(动作)的生成是通过演员网络中产生的词概率分布随机采样得到,即:
演员网络的学习过程需要的是未来长期奖励作为反馈,而不是短期某一个奖励。因为长期奖励更能体现一个策略的整体优劣;而短期的奖励更多反映当下状态的一个优劣情况,可是没有做到长远的考虑,这种情况下可能会错过学习总体最优的策略。而未来长期奖励即表示为当前时间步以及之后每个时间步短期奖励的累积:
使用长期奖励,需要演员网络产生多个时间步的动作,计算多个对应时间步的短期奖励。但是无法在每个时间步对演员网络进行参数更新,只能多个时间步更新一次网络参数。引入时序差分学习的方法可以解决此训练问题。由于评论家网络是根据状态对未来长期奖励作预测,也就是说评论家网络可以得到在某状态下的未来长期奖励的近似值。因此,演员网络在某个时间步产生一个动作后,可以把未来长期奖励转化为:
Rt=r(a;s)+γV(s′)
其中,r(a;s)表示在状态s下产生动作a得到的当前时间步的奖励,V(s′)表示在状态s′。假设演员网络在状态s产生动作后会进入新的状态s′;由于未来的奖励并非环境在当前实际返回的,为了表达这种不确定性,设γ为折扣因子对评论家网络评判的未来奖励进行打折。
结合本发明面对的SQL序列预测任务,这里把奖励函数和值函数中的状态定义为直到某个时间步t为止的SQL序列演员网络产生了当前时间步的单词后,结合之前的预测序列进入环境与目标序列Yreal做对比,产生一个当前回报假定当前时间步的长期奖励Rt,则:
Rt=r(y1,...,yt,Yreal)+γV(y1,...,yt)
其中,r是奖励函数,表示在到当前时间步的SQL序列作用在环境中所产生的奖励。而V表示评论家网络表达的值函数,根据解码器当前时间步为止预测的SQL序列来评估未来长期奖励。
由于返回的奖励会作为反馈对演员网络的预测产生影响,所以建立的奖励机制需要明确体现SQL序列的准确性。SQL作为一种计算机编程语言,是遵循特定的编程语法且具有可执行性的。要判断预测的SQL序列是否正确,通过比较预测序列和目标序列在相应数据库的执行结果是否一致即可。但在预测过程中,生成的SQL序列是不完整的,无法通过执行来判断是否正确。在机器翻译领域常采用BLEU比较语言的相似性。引入BLEU评测通过计算同时出现在预测SQL序列中和在目标SQL序列中的单词组(以n个单词作为一个单元)的数量来得到一个BLEU值,体现的是预测SQL序列与目标SQL序列之间的相似度。若BLEU值越高,表示预测SQL序列与目标SQL序列越相似。
上述BLEU是一种机器翻译质量评测算法,全称是“Bilingual EvaluationUnderstudy”。
但BLEU表达的相似性并不可靠,在很多情况下可能会出现错误。例如,“SELECTFROM a A”是与“SELECT a FROM A”相似度很高,但前者是明显存在语法错误,所以只是考虑预测SQL序列和目标SQL序列之间的相似度显然不全面。因此,本发明在奖励机制中引入基于SQL语法自动机判断。SQL语言是符合上下文无关文法,那么它可以被对应的下推自动机所接纳。所以,构建相应的自动机可以检查预测SQL序列是否合法,称“语法自动机”。语法自动机接受当前输出语句则语法合法奖励为1,语法自动机拒绝接受则语句非法奖励为-1。
当一个预测SQL序列完成后,则此时相比于计算预测SQL序列的BLEU值,直接对比执行SQL得到的检索结果显得更加简单直观准确。所以在SQL序列生成完成后,本发明用对比执行预测SQL与目标SQL的检索结果来确定预测的SQL序列的准确性,当对比结果一致,则返回1,否则返回-1。
演员网络随着时间步的增加会产生一个预测的SQL序列y1,...,yt,考虑到SQL序列的准确性需要从字面层面和执行结果2个方面去考虑,本发明的奖励机制也分为中间过程和执行阶段2个阶段,具体的奖励函数定义如下:
其中,表示预测SQL序列与目标序列之间的BLEU值,范围在[0,1];表示对比预测SQL序列和目标SQL序列的数据库执行结果,若结果一致为1,否则为-1;表示语法自动机对预测SQL序列作语法检查,若符合语法则返回1,否则返回-1。a和b为超参,其符合条件a+b=1,为了对每个公式两部分评测标准进行加权。
当前时间步为止预测的未来长期奖励会作为评论家网络训练时候更新学习的目标。评论家网络是根据当前的演员网络预测的SQL序列作未来长期奖励的评估。评论家网络虽然与演员网络一样采用的是序列至序列模型,但是评论家网络的编码器接收目标序列Yreal作为输入,解码器根据之前预测的SQL序列作解码,产生一个值该值即为对当前预测的SQL序列的未来长期奖励评估值。
评论家网络在训练学习过程中,通过优化其参数来近似真实的长期奖励,关于预测值与目标值Rt以均方误差来定义损失函数
然后通过梯度下降算法对参数进行更新,假定学习率为β:
演员网络在训练过程中,需要根据当前实际返回的长期奖励Rt、由评论家网络预测出的评估值以及当前时间步随机采样产生的单词来计算损失,则定义其损失函数为:
其中为时序差分残差,表达的是以评论家网络评估的未来长期奖励为基线,判断实际得到的未来长期奖励(虽然也引入了评估值)和评论家网络评估的未来长期奖励的差距,若高于评估奖励,则增大当前时间步选择的动作的出现概率;若低于评估奖励,则降低动作的出现概率。
得到损失值后,通过梯度下降算法对参数θ进行更新,假设学习率为α:
整个自然语言-SQL生成网络初始参数是随机生成的,学习算法通过不断更新权重参数来使得模型的输出准确性更高。准确性通过比较真实SQL和预测SQL而得,本发明采用BLEU和数据库的检测结果。
BLEU和数据库检测结果都用于奖励得分计算,预测序列不完整时采用BLEU作为奖励得分,预测序列完整(最后一个时间步)采用数据库检测结果作为奖励得分。
Claims (6)
1.一种基于演员-评论家网络的SQL语句构造方法,其特征包括如下步骤:
1)分别对演员网络中的参数θ和评论家网络的参数进行随机初始化;
2)从数据集获取自然语言序列X={x1,...,xn}和对应的SQL序列Yreal={y1,...,ym};
3)以时间步为单位,把自然语言序列X的每个单词输入到演员网络的编码器中;
4)把演员网络编码器最后一个时间步的隐状态haen作为演员网络解码器的初始隐状态had0;
5)以时间步为单位,把真实SQL语句序列Yreal的每个单词输入到评论家网络的编码器中;
6)把评论家网络编码器最后一个时间步的隐状态hcem作为评论家网络解码器的初始隐状态
7)演员网络解码器接收上一个时间步预测出的SQL单词和隐状态hadt-1生成单词概率分布
8)根据生成的单词概率分布随机采样得到当前单词
9)每得到当前单词和之前的预测SQL序列真实目标序列Yreal结合,输入到环境中得到当前回报再把输入到评论家网络的解码器中得到基于当前预测SQL序列的未来长期奖励评估值重复步骤7,8,9;
10)计算当前时间步的长期奖励Rt:
11)结合前一个时间步得到的未来长期奖励(当t=1时,令通过损失函数计算损失,其中
利用梯度下降算法更新评论家网络参数梯度公式如下,其中β为学习率:
12)同样地,演员网络的损失函数为:
利用梯度下降算法更新演员网络参数θ,梯度公式如下,其中α为学习率:
上面描述的是训练自然语言到SQL语句的生成模型,当模型已存在,输入自然语言即可得到相应的SQL语句。
2.根据权利要求1所述的基于演员-评论家网络的SQL语句构造方法,其特征在于上述步骤1)演员网络中的参数θ和评论家网络的参数分别对应两个网络里所有可被调节的数值参数,参数是指在人工神经网络中被调节的权重,通常是被学习算法调节的数值参数,权重看作神经元之间的连接强度。
3.根据权利要求1所述的基于演员-评论家网络的SQL语句构造方法,其特征在于上述步骤2)中的数据集是由人工或者机器统计采集,是自然语言和结构化查询语言对,可按比例拆分为训练集和测试集分别用于训练学习网络和评价网络的可靠性。
4.根据权利要求1所述的基于演员-评论家网络的SQL语句构造方法,其特征在于上述步骤3)中的时间步是递归神经网络在处理序列数据按时间单位输入。
5.根据权利要求1所述的基于演员-评论家网络的SQL语句构造方法,其特征在于上述步骤5)根据网络结构和权重参数,输出层映射生成词的概率分布。
6.根据权利要求1所述的基于演员-评论家网络的SQL语句构造方法,其特征在于上述步骤11)及步骤12)中的梯度下降算法如下:
111)假设有一个关于神经网络的参数θ的目标函数J(θ)
112)计算J(θ)的梯度
113)以更新步长α(α>0)更新参数θ,
梯度下降算法是一种迭代求解最小值的算法,它能够在迭代的过程中程中使得J(θ)减小,直至达到局部或全局最小值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910216869.2A CN110059100B (zh) | 2019-03-20 | 2019-03-20 | 基于演员-评论家网络的sql语句构造方法 |
US16/824,705 US11604792B2 (en) | 2019-03-20 | 2020-03-20 | Method for constructing SQL statement based on actor-critic network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910216869.2A CN110059100B (zh) | 2019-03-20 | 2019-03-20 | 基于演员-评论家网络的sql语句构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110059100A true CN110059100A (zh) | 2019-07-26 |
CN110059100B CN110059100B (zh) | 2022-02-22 |
Family
ID=67316255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910216869.2A Active CN110059100B (zh) | 2019-03-20 | 2019-03-20 | 基于演员-评论家网络的sql语句构造方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11604792B2 (zh) |
CN (1) | CN110059100B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442866A (zh) * | 2019-07-28 | 2019-11-12 | 广东工业大学 | 一种融合语法信息的句子压缩方法 |
CN110532555A (zh) * | 2019-08-27 | 2019-12-03 | 北京电子科技学院 | 一种基于强化学习的语言评价生成方法 |
CN110609849A (zh) * | 2019-08-27 | 2019-12-24 | 广东工业大学 | 一种基于sql语法树节点类型的自然语言生成方法 |
CN111292001A (zh) * | 2020-02-24 | 2020-06-16 | 清华大学深圳国际研究生院 | 基于强化学习的联合决策方法及装置 |
CN111461309A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 实现隐私保护的更新强化学习系统的方法及装置 |
CN111597224A (zh) * | 2020-04-17 | 2020-08-28 | 北京百度网讯科技有限公司 | 结构化信息的生成方法、装置、电子设备和存储介质 |
CN112307053A (zh) * | 2020-10-28 | 2021-02-02 | 百分点(江苏)数据智能有限公司 | 基于强化学习的语言处理方法及装置 |
CN113220858A (zh) * | 2021-05-31 | 2021-08-06 | 平安科技(深圳)有限公司 | 对话系统更新方法、装置、计算机设备及存储介质 |
CN113239634A (zh) * | 2021-06-11 | 2021-08-10 | 上海交通大学 | 一种基于鲁棒模仿学习的模拟器建模方法 |
CN113283172A (zh) * | 2021-05-27 | 2021-08-20 | 上海伯禹信息科技有限公司 | 一种基于强化学习的间隔重复调度方法 |
CN113784410A (zh) * | 2021-09-24 | 2021-12-10 | 吉林大学 | 基于强化学习td3算法的异构无线网络垂直切换方法 |
CN114190102A (zh) * | 2020-07-15 | 2022-03-15 | 百度时代网络技术(北京)有限公司 | 具有多门专家混合软演员评论家的视频推荐 |
CN114996781A (zh) * | 2022-05-27 | 2022-09-02 | 华中科技大学 | 一种基于演员-评论家的二维不规则零件排样方法和系统 |
CN115904638A (zh) * | 2022-11-23 | 2023-04-04 | 中国科学院软件研究所 | 一种数据库事务智能管理方法及系统 |
CN117709027A (zh) * | 2024-02-05 | 2024-03-15 | 山东大学 | 机电液耦合直线驱动系统动力学模型参数辨识方法及系统 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112779720B (zh) * | 2020-12-18 | 2022-05-31 | 珠海格力电器股份有限公司 | 洗衣机的控制方法、装置、洗衣机、存储介质及处理器 |
CN112509129B (zh) * | 2020-12-21 | 2022-12-30 | 神思电子技术股份有限公司 | 一种基于改进gan网络的空间视场图像生成方法 |
CN112817240B (zh) * | 2020-12-30 | 2022-03-22 | 西安交通大学 | 一种基于深度强化学习算法的离心压缩机调控方法 |
CN113112018B (zh) * | 2021-04-27 | 2023-10-31 | 清华大学深圳国际研究生院 | 一种批量限制强化学习方法 |
CN113868113B (zh) * | 2021-06-22 | 2024-09-06 | 中国矿业大学 | 一种基于Actor-Critic算法的类集成测试序列生成方法 |
CN114332594B (zh) * | 2021-08-27 | 2024-09-06 | 吉林大学 | 一种基于ddqn的触觉材料不平衡数据的分类方法 |
CN113869742B (zh) * | 2021-09-29 | 2024-03-05 | 国网江苏省电力有限公司 | 基于行动家和评论家网络的综合供需侧的电力调度系统 |
CN114500102B (zh) * | 2022-03-09 | 2024-02-13 | 绍兴文理学院 | 一种基于抽样的边缘计算架构物联网入侵检测系统及方法 |
CN114841098B (zh) * | 2022-04-13 | 2023-04-18 | 广东工业大学 | 基于稀疏表示驱动的深度强化学习北斗导航芯片设计方法 |
CN115130733B (zh) * | 2022-06-06 | 2024-07-09 | 南京邮电大学 | 一种联合优化与学习的含氢建筑能源系统运行控制方法 |
CN116992888A (zh) * | 2023-09-25 | 2023-11-03 | 天津华来科技股份有限公司 | 基于自然语义的数据分析方法及系统 |
CN116985151B (zh) * | 2023-09-28 | 2024-01-26 | 西北工业大学太仓长三角研究院 | 一种约束桁架内机械臂强化学习避障规划与训练方法 |
CN117290429B (zh) * | 2023-11-24 | 2024-02-20 | 山东焦易网数字科技股份有限公司 | 通过自然语言调用数据系统接口的方法 |
CN117827886B (zh) * | 2024-03-06 | 2024-04-30 | 北京长河数智科技有限责任公司 | 一种基于大语言模型的自然语句转sql语句的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074338A1 (en) * | 2001-07-18 | 2003-04-17 | Young Peter M. | Control system and technique employing reinforcement learning having stability and learning phases |
CN108256066A (zh) * | 2018-01-16 | 2018-07-06 | 智言科技(深圳)有限公司 | 端到端层次解码任务型对话系统 |
US20180336198A1 (en) * | 2017-05-18 | 2018-11-22 | Salesforce.Com, Inc. | Neural network based translation of natural language queries to database queries |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11170287B2 (en) * | 2017-10-27 | 2021-11-09 | Salesforce.Com, Inc. | Generating dual sequence inferences using a neural network model |
-
2019
- 2019-03-20 CN CN201910216869.2A patent/CN110059100B/zh active Active
-
2020
- 2020-03-20 US US16/824,705 patent/US11604792B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074338A1 (en) * | 2001-07-18 | 2003-04-17 | Young Peter M. | Control system and technique employing reinforcement learning having stability and learning phases |
US20180336198A1 (en) * | 2017-05-18 | 2018-11-22 | Salesforce.Com, Inc. | Neural network based translation of natural language queries to database queries |
CN108256066A (zh) * | 2018-01-16 | 2018-07-06 | 智言科技(深圳)有限公司 | 端到端层次解码任务型对话系统 |
Non-Patent Citations (1)
Title |
---|
MILTIADIS ALLAMANIS, ET AL: "Learning Continuous Semantic Representations of Symbolic Expressions", 《PROCEEDINGS OF THE 34TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING》 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442866A (zh) * | 2019-07-28 | 2019-11-12 | 广东工业大学 | 一种融合语法信息的句子压缩方法 |
CN110609849B (zh) * | 2019-08-27 | 2022-03-25 | 广东工业大学 | 一种基于sql语法树节点类型的自然语言生成方法 |
CN110532555A (zh) * | 2019-08-27 | 2019-12-03 | 北京电子科技学院 | 一种基于强化学习的语言评价生成方法 |
CN110609849A (zh) * | 2019-08-27 | 2019-12-24 | 广东工业大学 | 一种基于sql语法树节点类型的自然语言生成方法 |
CN110532555B (zh) * | 2019-08-27 | 2022-12-13 | 北京电子科技学院 | 一种基于强化学习的语言评价生成方法 |
CN111292001B (zh) * | 2020-02-24 | 2023-06-02 | 清华大学深圳国际研究生院 | 基于强化学习的联合决策方法及装置 |
CN111292001A (zh) * | 2020-02-24 | 2020-06-16 | 清华大学深圳国际研究生院 | 基于强化学习的联合决策方法及装置 |
CN111597224A (zh) * | 2020-04-17 | 2020-08-28 | 北京百度网讯科技有限公司 | 结构化信息的生成方法、装置、电子设备和存储介质 |
CN111597224B (zh) * | 2020-04-17 | 2023-09-15 | 北京百度网讯科技有限公司 | 结构化信息的生成方法、装置、电子设备和存储介质 |
CN111461309A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 实现隐私保护的更新强化学习系统的方法及装置 |
CN114190102A (zh) * | 2020-07-15 | 2022-03-15 | 百度时代网络技术(北京)有限公司 | 具有多门专家混合软演员评论家的视频推荐 |
CN114190102B (zh) * | 2020-07-15 | 2024-09-06 | 百度时代网络技术(北京)有限公司 | 用于多目标排序的系统、计算机实施的方法和非暂时性计算机可读介质 |
CN112307053A (zh) * | 2020-10-28 | 2021-02-02 | 百分点(江苏)数据智能有限公司 | 基于强化学习的语言处理方法及装置 |
CN112307053B (zh) * | 2020-10-28 | 2023-10-17 | 北京百分点科技集团股份有限公司 | 基于强化学习的语言处理方法及装置 |
CN113283172A (zh) * | 2021-05-27 | 2021-08-20 | 上海伯禹信息科技有限公司 | 一种基于强化学习的间隔重复调度方法 |
CN113220858A (zh) * | 2021-05-31 | 2021-08-06 | 平安科技(深圳)有限公司 | 对话系统更新方法、装置、计算机设备及存储介质 |
CN113220858B (zh) * | 2021-05-31 | 2023-10-27 | 平安科技(深圳)有限公司 | 对话系统更新方法、装置、计算机设备及存储介质 |
CN113239634B (zh) * | 2021-06-11 | 2022-11-04 | 上海交通大学 | 一种基于鲁棒模仿学习的模拟器建模方法 |
CN113239634A (zh) * | 2021-06-11 | 2021-08-10 | 上海交通大学 | 一种基于鲁棒模仿学习的模拟器建模方法 |
CN113784410B (zh) * | 2021-09-24 | 2022-09-23 | 吉林大学 | 基于强化学习td3算法的异构无线网络垂直切换方法 |
CN113784410A (zh) * | 2021-09-24 | 2021-12-10 | 吉林大学 | 基于强化学习td3算法的异构无线网络垂直切换方法 |
CN114996781A (zh) * | 2022-05-27 | 2022-09-02 | 华中科技大学 | 一种基于演员-评论家的二维不规则零件排样方法和系统 |
CN115904638B (zh) * | 2022-11-23 | 2023-07-25 | 中国科学院软件研究所 | 一种数据库事务智能管理方法及系统 |
CN115904638A (zh) * | 2022-11-23 | 2023-04-04 | 中国科学院软件研究所 | 一种数据库事务智能管理方法及系统 |
CN117709027A (zh) * | 2024-02-05 | 2024-03-15 | 山东大学 | 机电液耦合直线驱动系统动力学模型参数辨识方法及系统 |
CN117709027B (zh) * | 2024-02-05 | 2024-05-28 | 山东大学 | 机电液耦合直线驱动系统动力学模型参数辨识方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20200301924A1 (en) | 2020-09-24 |
US11604792B2 (en) | 2023-03-14 |
CN110059100B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110059100B (zh) | 基于演员-评论家网络的sql语句构造方法 | |
CN111310438B (zh) | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 | |
CN111814434B (zh) | 建筑规范结构化规则自动生成装置及方法 | |
US20220172040A1 (en) | Training a machine-learned model based on feedback | |
CN111462749A (zh) | 基于对话状态导向和知识库检索的端到端对话系统及方法 | |
Perera et al. | Multi-task learning for parsing the alexa meaning representation language | |
CN113190219A (zh) | 一种基于递归神经网络模型的代码注释生成方法 | |
CN116484024A (zh) | 一种基于知识图谱的多层次知识库构建方法 | |
CN115392252A (zh) | 一种融合自注意力与层级残差记忆网络的实体识别方法 | |
CN115437626A (zh) | 一种基于自然语言的ocl语句自动生成方法和装置 | |
CN117827886A (zh) | 一种基于大语言模型的自然语句转sql语句的方法 | |
CN117609281B (zh) | 一种Text2Sql方法、系统、电子设备及存储介质 | |
Hu et al. | Deep-autocoder: Learning to complete code precisely with induced code tokens | |
CN114911844A (zh) | 基于机器学习的近似查询优化系统 | |
CN112380882B (zh) | 一种具有误差修正功能的蒙汉神经机器翻译方法 | |
CN114510576A (zh) | 一种基于BERT和BiGRU融合注意力机制的实体关系抽取方法 | |
CN111813907A (zh) | 一种自然语言问答技术中的问句意图识别方法 | |
CN115408056A (zh) | 一种基于信息检索和神经网络的代码摘要自动生成方法 | |
CN113988083A (zh) | 一种用于航运新闻摘要生成的事实性信息编码与评估方法 | |
CN112783505A (zh) | 一种用于源代码的函数智能重命名方法 | |
CN112230990A (zh) | 一种基于层级注意力神经网络的程序代码查重方法 | |
CN116681087B (zh) | 一种基于多阶段时序和语义信息增强的自动问题生成方法 | |
CN112464651B (zh) | 一种针对词汇序列数据的综合位置编码方法 | |
CN118484516B (zh) | 面向行业大模型的多层次主题式检索增强生成方法及系统 | |
CN116610791B (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 |