doi:10.3969/j.issn.1003-3106.2024.05.001
引用格式:彭钰寒,乔少杰,薛骐,等.Text to SQL文本信息处理技术研究综述[J].无线电工程,2024,54(5):1053-1062.[PENGYuhan,QIAOShaojie,XUEQi,etal.ASurveyofText to SQLTextInformationProcessing[J].RadioEngineering,2024,54(5):1053-1062.]
Text to SQL文本信息处理技术研究综述
彭钰寒1,乔少杰1 ,薛 骐1,李江敏1,谢添丞1,徐康镭1,冉黎琼1,曾少北2
(1.成都信息工程大学软件工程学院,四川成都610225;
2.奇安信网神信息技术(北京)股份有限公司,北京100044)
摘 要:信号与信息处理的需求日益增加,离不开数据处理技术,数据处理需要数据库的支持,然而没有经过训练的使用者会因为不熟悉数据库操作产生诸多问题。文本转结构化查询语言(TexttoStructuredQueryLanguage,Text to SQL)的出现,使用户无需掌握结构化查询语言(StructuredQueryLanguage,SQL)也能够熟练操作数据
库。介绍Text to SQL的研究背景及面临的挑战;介绍Text to SQL关键技术、基准数据集、模型演变及最新研究进展,关键技术包括Transformer等主流技术,用于模型训练的基准数据集包括WikiSQL和Spider;介绍Text to SQL不同阶段模型的特点,详细阐述Text to
SQL最新研究成果的工作原理,包括模型构建、解析器设计及数据集生成;总结Text to SQL未来的发展方向及研究重点。关键词:文本转结构化查询语言;解析器;文本信息处理;数据库;深度学习
中图分类号:
TP391.1文献标志码:A开放科学(资源服务)标识码(OSID):
文章编号:1003-3106(2024)05-1053-10
ASurveyofText to SQLTextInformationProcessing
PENGYuhan1,QIAOShaojie1 ,XUEQi1,LIJiangmin1,XIETiancheng1,XUKanglei1,RANLiqiong1,ZENGShaobei2(1.SchoolofSoftwareEngineering,ChengduUniversityofInformationTechnology,Chengdu610225,China;
2.LegendsecInformationTechnology(Beijing)Inc.,Beijing100044,China)
Abstract:Thedemandofsignalandinformationprocessinggrowsrapidlyandisinseparablefordataprocessingtechnology,whichrequiresthesupportofdatabases.Butitwillcausemanyproblemsduetobeingunf
amiliarwiththedatabaseoperationsofuntrainedusers.TheemergenceofTexttoStructuredQueryLanguage(Text to SQL)makesusersdonotneedtomastertheStructuredQueryLanguage(SQL)tooperatedatabases.Firstly,theresearchbackgroundandchallengesofText to SQLtechniquesareintroduced;secondly,thekeytechnologies,benchmarkdatasets,modeldevelopmentsandthestate of the artText to SQLmodelsareintroduced;ThekeytechnologiesincludethemainstreamtechniquesincludingTransformer,andthebenchmarkdatasetsusedformodeltrainingincludeWikiSQLandSpider,andthecharacteristicsofdifferentstagesofText to SQLmodelsarepresented,theworkingmechanismofthestate of the artText to SQLmodelsareintroducedindetail,includingmodelconstruction,parserdesignanddatasetgeneration;Lastly,thefutureresearchdirectionsandfocusofText to SQLaresummarized.
sql 字符串转数组Keywords:Text to SQL;parser;textinformationprocessing;database;deeplearning
收稿日期:2023-07-31
基金项目:国家自然科学基金(62272066,61962006);四川省科技计划(2021JDJQ0021,2022YFG0186,2022NSFSC0511,2023YFG0027);教育部人文社会科学研究规划基金(22YJAZH088);宜宾市引进高层次人才项目(2022YG02);成都市“揭榜挂帅”科技项目(2022 JB00 00002 GX,
2021 JB00 00025 GX);四川省教育厅人文社科重点研究基地四川网络文化研究中心资助科研项目(WLWH22 1);成都信息工程大学国家智能社会治理实验基地开放课题(ZNZL2023B05);成都信息工程大学科技创新能力提升计划(KYTD202222)
FoundationItem:NationalNaturalScienceFoundationofChina(62272066,61962006);ScienceandTechnologyProgramofSichuanProvince(2021JDJQ0021,2022YFG0186,2022NSFSC0511,2023YFG0027);PlanningFoundationforHumanitiesandSocialSciencesofMini
stryofEducationof
China(22YJAZH088);High levelTalentIntroductionProjectofYibin(2022YG02);Chengdu“TaketheLead”ScienceandTechnologyProject2022 JB00 00002 GX,2021 JB00 00025 GX);ScienceResearchProjectFundedbyNetworkCultureCenteroftheHumanitiesandSocialScienceRe searchBaseoftheSichuanProvincialEducationDepartment(WLWH22 1);NationalIntelligentSocietyGovernanceExperimentalBaseFoundationofChengduUniversityofInformationTechnology(ZNZL2023B05);ScienceandTechnologyInnovationCapabilityImprovementProjectofChengduUniversityofInformationTechnology(KYTD202222)
0
引言
随着信号与信息处理领域(图像处理、文本处理、数据处理、语音处理等)研究工作的快速发展,需要考虑如何高效和准确地处理、查询、存储数据信息,因此数据库成为首选工具。专业人员可以熟练使用结构化查询语言(StructuredQueryLanguage,SQL)对数据库中的信息进行增删改查,但是越来越多的应用开始投入到信号与信息处理领域,并非所有使用者都拥有专业的数据库使用技巧,所以将用户输入的文本自动转换为机器可执行SQL的文本转结构化查询语言(TexttoStructuredQueryLanguage,Text to SQL)文本信息处理技术产生并蓬勃发展[1
]。Text to SQL研究面临的挑战主要集中在3个方面:①对输入的文本进行预处理,
理解输入的自然语言的含义,提取文本涉及的数据库关键字、列名和
表名,减小模型训练难度;②将经过预处理的文本
转换成一种中间表示,SQL的作用并非是方便阅读,而是提高计算机处理数据库的效率,它与文本之间存在巨大的差距,所以需要建立文本与数据库语句之间的映射关系,提高文本转化数据库语句的效率;③将中间表示转化为最终的SQL语句。
传统的Text to SQL方法虽然有效,但需要耗费大量的人力,需要提前为各种场景下的SQL设置转换模板,过程十分繁琐[2
],并且传统方法没有解决上述Text to SQL面临的挑战,转换模板没有设置文
本与SQL之间的中间表示,导致文本与SQL之间的
转换效率低下。随着近年来深度学习的崛起,深度学习逐渐运用到Text to SQL中。在众多深度学习模型中,循环神经网络模型在这一领域的效果最佳,因为文本语言和SQL都可以当作序列信息,需要结合前后文信息预测当前信息,所以主要用于处理序列信息(文本、视频和音频等)的循环神经网络模型在Text to SQL研究中效果较好。
1 关键技术文本和SQL都是序列信息,使用处理序列信息的序列模型训练文本效果较好,本节针对常见的序
列模型以及模型评判标准进行介绍。Text to SQL工作过程示例如图1
所示。
图1
Text to SQL
工作过程示例
Fig.1 ExampleofText to SQLworkflow
长短期记忆(LongShort TermMemory,
LSTM)
[3
]神经网络是循环神经网络的变体,通过内部的4类门控单元:输入门控单元、遗忘门控单元、候选记忆门控单元和输出门控单元对序列信息进行筛选。LSTM单元在循环神经网络基础上,除了隐藏状态(对应短期记忆),还加入了记忆单元(对应
长期记忆),解决了序列信息作为输入面临的长期
信息保存和短期输入缺失的问题。
门控循环单元(GatedRecurrentUnit,GRU)[4
]是LSTM神经网络的简化版本,将LSTM神经网络
内部的4类门控单元简化为2个门控单元:
重置门控单元和更新门控单元。虽然GRU针对简易输入
的训练速度更快、效果更好,但面对输入文本包含复
杂语法和语义信息的情况,
LSTM神经网络是更好的选择。
Transformer[5
]模型是当前主流深度学习模型,诸多文本处理工作都是基于Transformer完成的。Transformer是一种基于编码器-解码器的架构,编码器用于编码输入序列,将输入序列变成向量
形式并添加位置编码,然后将其编码为隐藏状态输出到解码器中。解码器除了接收编码器的输出,在每一个当前时间步处理序列信息时,还会接受来自上一个时间步的输出,解码器也会将输入信息转变为向量并添加位置编码。基于Trans former模型的Text to SQL模型工作原理如图2
所示。
图2
Transformer
工作原理
Fig.2 WorkingmechanismofTransformer
Bert[
6]模型是Transformer模型的变体,Trans
former基于编码器-解码器架构,
Bert模型虽然仅有编码器架构,但其内部的参数是Transformer的数倍,它是一种预训练微调模型,设置好预训练任务对模型进行训练,训练后的模型仅需要针对不同的任务对输出层进行微调。Bert模型具有极高的泛化性,基于Bert的Text to SQL模型工作原理如图3所示。
域外数据(OutofDomain)。数据集分为训练集、开发集和测试集。训练集用于训练模型,开发集用于验证模型,测试集用于最后测试模型。因为测
试集只能测试一次,不能用于多次训练测试模型好
坏,所以在数据集比较大的情况下,可以划分出开发集对模型训练效果进行验证。域外数据是指训练集与开发集中不同的部分,过多会导致训练难度变大。BLEU分数(BilingualEvaluationUnderstudyScore)
[7
]用于评估序列模型语义解析的好坏,将文本解析为数据库语句的好坏程度通常用BLEU分数去评估。分数值介于0~1,越接近1代表解析结果越接近参考值。除了BLEU分数,还有METEOR、ROUGE和PPL等标准也可以评价解析模型的好坏,根据不同需求选择不同的评价指标。
图3
Bert
模型工作原理
Fig.3 WorkingmechanismofBertmodel
2
基准数据集
高质量的数据集能够直接决定模型训练的效果,在Text to SQL领域,用于绝大多数模型检验常用的基准数据集为WikiSQL[8]和Spider[9
]数据集,其为大规模、多领域的基准测试集,也是使用最为广泛的基准数据集。WikiSQL是目前文本转数据库语句领域使用最频繁的基准数据集,包含约25000个数据表和80000个由人工创建的自然语言与SQL句子对,数据集中每一行由一个自然语言文本、一个文本
对应的SQL查询还有SQL查询中涉及的列和表组成。WikiSQL中的SQL复杂性较低,因为其内部没
有使用复杂的SQL子句,如:“JOIN”“GROUPBY”“ORDERBY”“UNION”“INTERSECTION”等,且在执行查询语句时不允许在单个查询中选择多个列。因此在训练模型时,WikiSQL的训练难度比较低,
这是WikiSQL使用率最高的原因。
Spider是一个大规模的、复杂的跨领域数据集,包含来自138个不同领域的200多个关系数据库。相较于WikiSQL,Spider数据集具有更多复杂的嵌
套查询子句、更多的域外数据,让训练更加困难。经过Spider训练的机器学习模型可以变得更加
泛化,研究人员广泛依赖它训练可以生成复杂SQL查询的模型,适应更多的任务。还有数据集针对Spider做了扩展,用于训练指定任务。Spider dk扩展了Spider,用于训练跨领域泛化模型,探索模型在面对不同领域中专业名词的表现;Spider syn侧重于训练模型区分同义词、反义词的性能。此外,其他数据集,例如:KaggleDBQA是一个跨域数据集[10
],虽然规模比不上WikiSQL和Spider,但它是从Kaggle中提取出来的,
包含相当多工业界的真实数据。3 模型演变
本节将按时间演变介绍文本转数据库领域的模型,
模型发展历程如图4所示。
图4 模型发展历程
Fig.4 Modeldevelopmenthistory
(1)
理论提出在文本转数据库语句领域,Li等[11
]提出的SQLNet是较早成理论体系的模型,该模型使用的方法基于草图技术,草图中包含数据库语句的关键字、列名和表名,通过这个草图,SQLNet仅需往草图留空处添加信息,就可以实现自然语言到数据库语句的转换。(2)
理论发展基于SQLNet,Min等[12
]提出一种树型结构返回输出的模型———Sequence to Tree。该模型可以看作是序列到树的模型,使用LSTM网络编码器对输入问题进行编码,在编码器处理输入序列后,通过解码器输出树型结构的SQL查询语句。模型通过识别单个词元来理解输入,并将其转化为树型结构,树节
点上包括关键字(如SELECT、WHERE)、表名和
列名。(3)理论加工
这一阶段数据库领域开始大规模使用深度神经网络构建模型,采用中间表示生成查询,显著提高了计算效率。Kevin等[13
]提出Sequence to SQL模型以深度学习模型为基准,引入了强化学习方法,将交叉熵损失和数据库在运行中执行查询的奖励函数作为模型评价指标。该模型内部采用了一种增强指针网络,该网络是一种能够改变输出序列长度的网络架构,相较于循环神经网络输入输出的序列长度需要一一对应,增强指针网络能使模型具有更好的性能。Sequence to SQL模型由聚合分类器、SELECT组件和WHERE组件构成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论