Semantic Captioning: Benchmark Dataset and Graph-Aware Few-Shot In-Context Learning for SQL2Text

📄 arXiv: 2501.03166v2 📥 PDF

作者: Ali Al-Lawati, Jason Lucas, Prasenjit Mitra

分类: cs.CL, cs.LG

发布日期: 2025-01-06 (更新: 2025-02-08)

期刊: COLING 2025

🔗 代码/项目: GITHUB


💡 一句话要点

提出基于图感知的少样本上下文学习方法,用于SQL查询到自然语言描述的生成。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: SQL2Text 语义标注 图神经网络 上下文学习 少样本学习 自然语言生成 代码理解

📋 核心要点

  1. 现有方法在将SQL查询转换为自然语言描述(SQL2Text)任务上关注不足,尤其是在利用小型LLM时性能受限。
  2. 论文提出一种基于图感知的少样本上下文学习方法,通过挖掘SQL查询的图结构信息来选择更有效的上下文样本。
  3. 实验结果表明,该方法在BLEU评分上比随机选择提升高达39%,并在SQL2Text任务上优于其他上下文学习方法。

📝 摘要(中文)

大型语言模型(LLMs)在各种NLP任务中表现出了卓越的性能,包括将自然语言翻译成形式化代码表示的语义解析。然而,相反的过程,即将代码翻译成自然语言,即语义标注,受到的关注较少。随着LLM被集成到代码生成、安全分析和教育平台中,这项任务变得越来越重要。本文重点关注SQL查询的标注(SQL2Text),以满足理解和解释SQL查询的关键需求,尤其是在LLM生成的代码构成潜在安全风险的时代。我们通过使用GPT-4o进行迭代ICL提示来生成多个额外的语句,从而重新利用Text2SQL数据集进行SQL2Text,这增强了数据集对反向任务的鲁棒性。我们使用基于不同样本选择方法的上下文学习(ICL)进行实验,强调更小、计算效率更高的LLM。我们的研究结果表明,利用SQL固有的图属性进行ICL样本选择,明显优于随机选择,BLEU得分提高了高达39%,并且提供了比其他方法更好的结果。数据集和代码已发布。

🔬 方法详解

问题定义:论文旨在解决SQL2Text任务,即把SQL查询语句转换成自然语言描述。现有方法,特别是基于小型LLM的方法,在直接应用时效果不佳,缺乏对SQL查询内在语义结构的有效利用。随机选择上下文样本的策略无法保证所选样本与目标SQL查询的相关性,导致生成质量下降。

核心思路:论文的核心思路是利用SQL查询的图结构信息来指导上下文样本的选择。SQL查询可以被表示成一个图,其中节点代表表、列等元素,边代表它们之间的关系。通过分析SQL查询图的结构,可以选择与目标查询在语义上更相关的样本,从而提高生成质量。

技术框架:整体框架包括以下几个步骤:1) 将SQL查询解析成抽象语法树(AST),并将其转换为图结构;2) 使用图相似度算法(例如,基于子图匹配或图嵌入的方法)计算目标SQL查询与候选上下文样本之间的相似度;3) 选择与目标查询最相似的K个样本作为上下文;4) 将上下文样本和目标查询一起输入到LLM中,生成自然语言描述。

关键创新:最重要的技术创新点在于利用SQL查询的图结构进行上下文样本选择。与传统的随机选择或基于文本相似度的选择方法相比,该方法能够更准确地捕捉SQL查询的语义信息,从而选择更有效的上下文样本。这种图感知的上下文学习方法能够显著提高SQL2Text任务的生成质量,尤其是在少样本情况下。

关键设计:论文的关键设计包括:1) 如何将SQL查询有效地表示成图结构;2) 如何选择合适的图相似度算法来衡量查询之间的相似性;3) 如何设计合适的提示模板,将上下文样本和目标查询输入到LLM中。具体的参数设置和网络结构取决于所使用的LLM和图相似度算法,论文中可能给出了具体的实现细节。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,基于图感知的上下文学习方法在SQL2Text任务上显著优于随机选择和其他上下文学习方法。具体而言,在BLEU评分上,该方法比随机选择提升高达39%。这表明利用SQL查询的图结构信息能够有效地提高生成质量,尤其是在少样本情况下,验证了该方法的有效性。

🎯 应用场景

该研究成果可应用于数据库管理系统、代码生成平台、安全分析工具和教育领域。它可以帮助用户更好地理解和解释SQL查询,提高代码的可读性和可维护性,辅助安全分析人员识别潜在的安全风险,并为SQL学习者提供更直观的学习体验。未来,该技术有望扩展到其他代码语言和形式化语言的标注任务中。

📄 摘要(原文)

Large Language Models (LLMs) have demonstrated remarkable performance in various NLP tasks, including semantic parsing, which translates natural language into formal code representations. However, the reverse process, translating code into natural language, termed semantic captioning, has received less attention. This task is becoming increasingly important as LLMs are integrated into platforms for code generation, security analysis, and educational purposes. In this paper, we focus on the captioning of SQL query (SQL2Text) to address the critical need for understanding and explaining SQL queries in an era where LLM-generated code poses potential security risks. We repurpose Text2SQL datasets for SQL2Text by introducing an iterative ICL prompt using GPT-4o to generate multiple additional utterances, which enhances the robustness of the datasets for the reverse task. We conduct our experiments using in-context learning (ICL) based on different sample selection methods, emphasizing smaller, more computationally efficient LLMs. Our findings demonstrate that leveraging the inherent graph properties of SQL for ICL sample selection significantly outperforms random selection by up to 39% on BLEU score and provides better results than alternative methods. Dataset and codes are published: https://github.com/aliwister/ast-icl.