⏶1
知识增强的Text-to-SQL的知识库构建
发表
由
Jinheon Baek 提交
作者:
Jinheon Baek, Horst Samulowitz, Oktie Hassanzadeh, Dharmashankar Subramanian, Sola Shirai, Alfio Gliozzo, Debarun Bhattacharjya
摘要
Text-to-SQL旨在将自然语言查询翻译成SQL语句,这非常实用,因为它使任何人都能轻松从数据库中检索所需信息。最近,许多现有方法利用大型语言模型(LLMs)解决这个问题,利用它们在理解用户查询和生成相应SQL代码方面的强大能力。然而,LLMs中的参数化知识在覆盖所有需要与各种数据库schema相联系的多样化和特定领域查询方面可能有限,这常常导致生成的SQL不够准确。为了解决这个问题,我们提出构建Text-to-SQL的知识库,这是一个基础知识源,我们可以从中检索和生成给定查询所需的知识。特别是,与现有方法(它们要么手动标注知识,要么只为每个查询生成少量知识片段)不同,我们的知识库是全面的,它基于所有现有问题及其关联的数据库schema以及相关知识的组合构建而成,并且可重用于来自不同数据集和领域的未见过的数据库。我们在多个Text-to-SQL数据集上验证了我们的方法,考虑了重叠和非重叠数据库场景,结果显示其性能显著优于相关基线。
Text-to-SQL(文本转 SQL)旨在将自然语言查询翻译成 SQL 语句,这非常实用,因为它可以让任何人轻松地从数据库中检索所需信息。最近,许多现有方法利用大型语言模型 (LLM) 在理解用户查询和生成相应 SQL 代码方面的强大能力来解决这个问题。然而,LLM 中的参数化知识可能无法涵盖所有需要基于各种数据库模式的多样化和领域特定的查询,这常常导致生成的 SQL 准确性较低。为了解决这个问题,我们建议构建一个 Text-to-SQL 的知识库,这是一个基础的知识来源,我们可以从中检索并为给定查询生成必要的知识。特别是,与现有方法不同的是,现有方法要么手动标注知识,要么仅为每个查询生成少量知识片段,我们的知识库是全面的,它是基于所有可用问题及其关联的数据库模式以及相关知识的组合构建的,并且可以用于来自不同数据集和领域的未见过的数据库。我们在多个 Text-to-SQL 数据集上验证了我们的方法,考虑了重叠和非重叠的数据库场景,在这些场景下,我们的方法显著优于相关基线。