一种基于深度学习的中文自然语言查询生成SQL语句技术研究
发布时间:2021-10-05 07:13
自然语言处理是近年来人工智能领域中发展速度最快的研究方向之一。通过使用自然语言与数据库进行人机交互查询数据,既能节省用户学习专业知识的成本,也能提升查询数据的效率。因此,自然语言查询生成SQL语句,简称NL2SQL任务的自然语言处理技术,尤其是中文NL2SQL具有重要的研究价值。如何从语法和语义层面准确地理解自然语言,以及如何消除自然语言查询,数据库中的数据表结构及内容和SQL语句三者之间在表达和结构上的差距,是NL2SQL任务中面临的主要挑战。现有针对NL2SQL任务的模型都主要面向英文文本,并且无法解决中文文本数据中存在的列名复用、自然语言查询中的描述和数据库存储的数据表述不一致等问题。本文以中文NL2SQL任务为研究对象,针对单表和其扩展的多表查询场景,从提升生成SQL语句的准确率角度出发,构建了多个深度学习模型来实现自然语言查询到SQL语句的转化。本文的主要工作与贡献包括:(1)提出了结合预训练模型和深度学习分类模型的面向中文NL2SQL任务的完整流程和方法。该方法充分利用最新的预训练模型在处理文本时的特征表达能力,并通过微调(fine-tuning)的方式在各子任务上构建相应...
【文章来源】:浙江大学浙江省 211工程院校 985工程院校 教育部直属院校
【文章页数】:98 页
【学位级别】:硕士
【部分图文】:
LSTM的模型结构
浙江大学硕士学位论文第2章相关工作与技术介绍8在使用LSTM模型对文本进行编码时,许多文献[7][8][9]均采用了双向LSTM(Bi-LSTM)模型。采用Bi-LSTM的目的是为了解决文本的上下文关联的问题,如图2-2所示,对文本中的一个词或者片段分析时,我们不仅需要其上文的信息,同时也需要其下文的信息,通过对前向和后向两个单向LSTM模型进行编码结果的拼接,就构成了Bi-LSTM模型的编码结果。图2-2Bi-LSTM模型对文本编码示意图2.1.2自然语言预训练模型预训练模型[10]是指前人为了解决一个任务时通过训练大量数据所得到的模型,后人在解决类似问题或其下游任务时,就不需要完整地从零开始训练一个新的模型,而是可以通过利用这个预训练模型入手来解决。针对自然语言预训练模型来说,有许多实验[11][12][13]已经证明了其在自然语言处理任务中的有效性,所以将自然语言预训练模型用于自然语言编码也不例外。现存的使用预训练模型来完成下游任务的策略主要有两种:基于特征(feature-based)的方法和基于微调(fine-tuning)的方法。基于特征的方法,例如ELMo[14](EmbeddingfromLanguageModels)模型,目的是使用领域特定架构中的预训练表达来作为额外的特征,ELMo模型从不同的维度去处理传统的词嵌
浙江大学硕士学位论文第2章相关工作与技术介绍122.2.1基于流水线的方法基于流水线的方法是将自然语言查询转化为一种中间表达,再将这些中间表达转化为SQL语句[22]。如孟小峰等人[23]提出了一种名为NChiql的自然语言查询系统,它对语句的处理采用自顶向下的策略,将自然语言转化为语义依存树后构建成语义群,基于这个概念将语义依存树转化为SQL语句。Popescu等人[24]提出了一种叫PRECISE的系统,通过分类的方法将自然语言查询进行分类,以便于在语义上更好地处理上下文关系,并在经验上衡量这些查询问题的普遍性。PRECISE使用WordNet[25]将自然语言进行语法标注,并将其中的词映射到词典中,最终完成SQL语句的生成。理解自然语言是很困难的,即使是人与人之间交流,有时候也会产生歧义,因此我们也无法期望一个自然语言查询接口能够毫无错误地运行。用户会因为系统错误地理解或处理了这个自然语言查询而得到了一个错误的结果,因此无法判断这个查询结果是否是自己想要的,退一步说,即使用户意识到了结果是错误的,但也没有改进系统生成SQL语句准确率的方式。为了解决这个问题,Li等人[26]在2016年提出了一个名为NaLIR的系统,该系统利用一种人机交互的方式,当系统无法清楚地理解自然语言查询时,会返回一个请求,要求用户进行歧义消除,方式就是将具有歧义的部分产生多个可能的候选表达返回给用户做选择。通过这样的方式用户也不需要重新去组织查询的表达语言,减轻了用户的负担。该系统的结构如图2-4[26]所示。图2-4NaLIR系统架构图
【参考文献】:
期刊论文
[1]基于TM影像的德兴铜矿区生态环境变化[J]. 查东平,申展,刘足根,廖兵,王伟. 国土资源遥感. 2015(04)
[2]数据库自然语言查询系统Nchiql中语义依存树向SQL的转换[J]. 孟小峰,王珊. 中文信息学报. 2001(05)
本文编号:3419251
【文章来源】:浙江大学浙江省 211工程院校 985工程院校 教育部直属院校
【文章页数】:98 页
【学位级别】:硕士
【部分图文】:
LSTM的模型结构
浙江大学硕士学位论文第2章相关工作与技术介绍8在使用LSTM模型对文本进行编码时,许多文献[7][8][9]均采用了双向LSTM(Bi-LSTM)模型。采用Bi-LSTM的目的是为了解决文本的上下文关联的问题,如图2-2所示,对文本中的一个词或者片段分析时,我们不仅需要其上文的信息,同时也需要其下文的信息,通过对前向和后向两个单向LSTM模型进行编码结果的拼接,就构成了Bi-LSTM模型的编码结果。图2-2Bi-LSTM模型对文本编码示意图2.1.2自然语言预训练模型预训练模型[10]是指前人为了解决一个任务时通过训练大量数据所得到的模型,后人在解决类似问题或其下游任务时,就不需要完整地从零开始训练一个新的模型,而是可以通过利用这个预训练模型入手来解决。针对自然语言预训练模型来说,有许多实验[11][12][13]已经证明了其在自然语言处理任务中的有效性,所以将自然语言预训练模型用于自然语言编码也不例外。现存的使用预训练模型来完成下游任务的策略主要有两种:基于特征(feature-based)的方法和基于微调(fine-tuning)的方法。基于特征的方法,例如ELMo[14](EmbeddingfromLanguageModels)模型,目的是使用领域特定架构中的预训练表达来作为额外的特征,ELMo模型从不同的维度去处理传统的词嵌
浙江大学硕士学位论文第2章相关工作与技术介绍122.2.1基于流水线的方法基于流水线的方法是将自然语言查询转化为一种中间表达,再将这些中间表达转化为SQL语句[22]。如孟小峰等人[23]提出了一种名为NChiql的自然语言查询系统,它对语句的处理采用自顶向下的策略,将自然语言转化为语义依存树后构建成语义群,基于这个概念将语义依存树转化为SQL语句。Popescu等人[24]提出了一种叫PRECISE的系统,通过分类的方法将自然语言查询进行分类,以便于在语义上更好地处理上下文关系,并在经验上衡量这些查询问题的普遍性。PRECISE使用WordNet[25]将自然语言进行语法标注,并将其中的词映射到词典中,最终完成SQL语句的生成。理解自然语言是很困难的,即使是人与人之间交流,有时候也会产生歧义,因此我们也无法期望一个自然语言查询接口能够毫无错误地运行。用户会因为系统错误地理解或处理了这个自然语言查询而得到了一个错误的结果,因此无法判断这个查询结果是否是自己想要的,退一步说,即使用户意识到了结果是错误的,但也没有改进系统生成SQL语句准确率的方式。为了解决这个问题,Li等人[26]在2016年提出了一个名为NaLIR的系统,该系统利用一种人机交互的方式,当系统无法清楚地理解自然语言查询时,会返回一个请求,要求用户进行歧义消除,方式就是将具有歧义的部分产生多个可能的候选表达返回给用户做选择。通过这样的方式用户也不需要重新去组织查询的表达语言,减轻了用户的负担。该系统的结构如图2-4[26]所示。图2-4NaLIR系统架构图
【参考文献】:
期刊论文
[1]基于TM影像的德兴铜矿区生态环境变化[J]. 查东平,申展,刘足根,廖兵,王伟. 国土资源遥感. 2015(04)
[2]数据库自然语言查询系统Nchiql中语义依存树向SQL的转换[J]. 孟小峰,王珊. 中文信息学报. 2001(05)
本文编号:3419251
本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/3419251.html
最近更新
教材专著