

导读
一直以来,Text2SQL(或NL2SQL)在自然语言处理领域中占据重要位置,该技术旨在将自然语言转换为SQL语句,以便与数据库交互。作为业内领先的数据库管理平台软件创新企业,新数科技认为大语言模型(Large Language Model, LLM)赋能的Text2SQL技术能够有效简化用户与数据库的沟通过程,助推数据库交互体验的进一步提升。
本文首先回顾了Text2SQL的发展历程,随后详细解析了该技术的组成结构,最后对其未来的发展和挑战进行了展望。

数据库中存储了大量的数据,DBA和开发人员具备这些数据的使用能力,但是非技术人员并不了解数据库的结构,甚至不知道数据库的使用方法,但数据访问的需求可能十分迫切。在这种需求之下,Text2SQL的研究表现出很高的必要性。
Text2SQL的研究历史最早可追溯到上世纪60年代。研究之初,主要采用基于规则的方法实现,即利用语法和语义规则解析自然语言查询,并将其映射成SQL语句。该方法依赖于领域专家人工设计的规则,只有对于规则覆盖到的自然语言,才能保证较好的SQL质量。但是,自然语言本身极高的灵活性,对规则的扩展性和适应性都是极大的挑战。稍微复杂一些的查询往往需要编写大量的规则和模板,维护的成本很高。
随着机器学习方法的发展,基于机器学习的Text2SQL逐渐成为主流。该方法利用标注好的训练数据,建立机器学习模型,例如分类器或序列标注器,学习自然语言查询和对应SQL语句之间的映射关系。然而,在早期的方法中,数据和模型的规模偏小,相应的性能也非常有限。
在深度学习时代,LLM的出现和大规模应用,使得Text2SQL取得了长足的进步。LLM模型建立在海量的语料库之上,为此具备了强大的表示和上下文理解能力,能够理解复杂的自然语言结构。LLM强大的自然语言理解能力,迅速补齐了Text2SQL一直以来的短板,语义理解能力大幅提升。在此基础上,可以开展端对端的训练,直接学习从自然语言到SQL的映射,不但避免了手动特征提取的繁琐过程,促进系统架构简化,而且能够通过全自动化的流程,提高模型的准确性和效率。毫无疑问,LLM对于Text2SQL的发展具有里程碑式的意义。

一个完整的Text2SQL系统,通常包括自然语言理解、SQL生成和SQL执行三个部分,具体步骤如下图所示:

▲图 | 完整的Text2SQL系统
自然语言理解能力曾经是Text2SQL技术发展的最大障碍,引入LLM后,Text2SQL的自然语言理解能力得以大幅提升,该部分接收用户输入的自然语言查询,经过必要的预处理操作后交由LLM理解用户的查询意图;SQL生成部分基于LLM深入理解自然语言查询,并直接生成对应的SQL语句;SQL执行部分将生成的SQL语句发送到数据库管理系统进行执行,待数据库返回执行结果后,以适当的方式展示给用户。
在具体的实现过程中,SQL语句的生成质量将直接影响Text2SQL的用户体验,而LLM发挥了决定性的作用。通用的LLM具备跨领域的泛用性,这意味着在处理特定领域的任务时,其难以提供足够的专业性和精度;而领域LLM使用特定领域的数据进行训练或微调,更加关注专业知识和技能,故而在处理特定领域的任务时,能够提供更准确、更专业的回答。可见,对于Text2SQL而言,面向数据库的领域LLM是保证整个系统SQL质量的关键。为了便捷地建立数据库领域LLM,可以使用收集到的数据库领域数据对通用LLM进行微调,该过程能够通过调整模型的参数,使其更好地适应数据库领域的任务。
下图展示了从用户提交自然语言查询请求到最后获得SQL执行结果的整个流程。在该流程中,用户提交一个自然语言查询,结合表格、模式等数据库元数据信息以及示例查询等其他数据信息,以Prompt方式提交给数据库领域LLM;LLM基于提交的Prompt生成SQL语句,该语句经过验证后会在数据库中执行以获取结果。

▲图 | 从用户提交自然语言查询请求到最后获得SQL执行结果的整个流程

在LLM的强力推动下,Text2SQL取得了显著的进展。然而,该技术目前仍面临一些挑战,包括:
训练数据方面:
数据库领域大模型需要大量的标注数据进行训练,但是对数据进行标注不但耗时耗力,而且依赖于丰富的数据库管理和使用经验。因此,训练数据的获取逐渐成为制约包括数据库在内的各领域大型模型发展的关键因素。尤其对于涉及多表查询、逻辑运算等复杂SQL语句的情况,标注的难度更高,这无疑给大型模型的训练带来了更大的挑战。
自然语言理解方面:
通过训练大量文本数据,LLM拥有了自然语言的解析、分析和生成能力。但是,自然语言的使用、表达非常灵活,相同的内容在不同的语境下可能表达不同的意图,有时甚至人类本身都难以理解和分辨。对于复杂的自然语言表达,如同义词、多义词现象,LLM的能力仍有待进一步提升。

尽管Text2SQL的发展仍然存在不少挑战,但是不可否认的是,当前LLM和Text2SQL均处于快速发展的阶段。在该进程中,自然语言高效、稳定转化为SQL语句的能力将得到快速提升。随着技术的革新和AI成熟度的提高,LLM赋能的Text2SQL将极大降低人们使用数据库的难度,届时,数据使用者能够轻松地获取、处理和分析所需数据并进行决策,而数据库的结构将变得越来越透明。
关于新数

推荐阅读






