张康林*,戴一成
(公安部第三研究所,上海)
在如今这样一个数据驱动的世界中,海量数据的存储和使用对于各种组织和企业来说至关重要,其中所涉及的关键技术是使用数据库并结合对应的结构化查询语言((structured query language,SQL)进行有关数据的查询,其作为与数据库交互的标准语言,扮演着重要角色。然而,了解数据库模式以及编写SQL语句需要相应的技术能力,对于非专业的数据库用户来说具有一定的门槛。
随着自然语言处理(natural language processing,NLP)和人工智能技术的快速发展,尤其是2023 年开始语言大模型的广泛使用,如何运用自然语言访问对应数据库,生成对应的SQL 脚本并输出相应结果的需求日益迫切,该需求的目的是希望通过自然语言与数据库进行交互,以简化数据库操作的过程,使更多的人能够轻松地与数据库进行沟通和操作。基于自然语言处理的SQL 语句生成已成为一个重要的研究方向。
目前,自然语言转SQL 语句(Text-to-SQL)的国内外相关研究已取得一定进展。Giordani A 等人[1]基于规则和启发式方法进行SQL 语句的生成及查询,然而,由于自然语言的复杂性和多义性,基于规则的方法往往无法覆盖所有情况,并且需要大量的人工努力来创建和维护规则。Warren DHD 等人[2]基于模板的方法使用预定义的查询模板,其中包含了常见的查询结构和语法,这些模板与自然语言查询进行匹配,并将查询参数插入到模板中以生成SQL 语句,尽管基于模板的方法相对简单,但它们通常只适用于特定领域和查询类型,并且对于复杂的查询往往无法提供良好的支持。……