ChatGPT 论文:Enhancing Few-shot Text-to-SQL Capabilities of Large Language Models (三)

ChatGPT 论文:Enhancing Few-shot Text-to-SQL Capabilities of Large Language Models (一)
ChatGPT 论文:Enhancing Few-shot Text-to-SQL Capabilities of Large Language Models (二)

4 分析

4.1 基于预测语法的检索

现有的示例选择方法依赖于问题和数据库的语义表示。本文提出了一种专门针对代码生成任务的替代方法,该方法侧重于解决方案代码的语法。检查了不同策略生成的提示中的语法覆盖率和语法相似度。语法覆盖率是通过计算语法元素(关键字、运算符和标识符)的出现次数并将其除以所有语法元素的总数来计算的。另一方面,语法相似度是通过计算预测的SQL的离散向量表示与所选示例的gold SQL向量之间的欧几里得距离的平均值来测量的。如表1所示,这两个度量都有助于选择示例的质量。此外,两个度量的简单求和表明与系统性能的相关性,如图3所示。
作者通过以下理由论证本文策略的有效性:

在注释示例池中问题结构的多样性有限的情况下,某些测试问题可能缺乏可用于检索的相似示例;
问题/数据库的语义表示和距离度量本身不支持不同问题结构的封装和比较,而SQL语法提供了直接测量问题结构的方法。

鉴于这些限制,最佳策略是选择相似的示例,同时确保尽可能覆盖许多语法示例,以减轻基于相似性检索的潜在失败。
4.2 检索方法的比较分析
图4展示了各种基于相似度的检索方法性能的比较分析。此次调查的主要变量是为每个示例提取的表示,重点提取和比较以下嵌入类型:

由Sentence-BERT,RoBERTa-base、text-embedding-ada-002生成的问题嵌入;
结合问题和数据库,通过下面的方法获取embedding:

使用单个模型(即在Spider上微调过的T5-base和text-embedding-ada-002)编码线性化文本序列的数据库schema或CREATE查询,
使用不同模型,特别是RoBERTa-base用于编码问题和CodeT5-base或CodeBERTbase用于编码数据库;

预测SQL的语法嵌入,通过二进制编码来表示SQL语法元素的存在或量化它们的出现次数;
使用text-embedding-ada-002编码问题、数据库和预测SQL的嵌入。

关于Text-to-SQL任务的基于相似度的检索方法,可以得出以下结论:

问题本身就能有效地代表不同的示例用于检索;
与text-embedding-ada-002相比,RoBERTa-base提供了更好的比较嵌入;
可以使用未对Text-to-SQL示例进行微调的模型进行基于相似度的检索,同时仍然可以实现与微调模型相当的性能;
将数据库线性化为SQL查询有助于提取更好的嵌入。

ChatGPT 论文:Enhancing Few-shot Text-to-SQL Capabilities of Large Language Models (三)_第1张图片
此外,作者还对用于基于多样性的示例选择的多个嵌入进行了比较,包括编码问题、数据库和预测SQL的语义的嵌入,以及捕获预测SQL的语法特征的嵌入。如图5所示,预测SQL的语法嵌入作为基于多样性检索目的对不同示例进行对比的最有效基础。
ChatGPT 论文:Enhancing Few-shot Text-to-SQL Capabilities of Large Language Models (三)_第2张图片

4.3 架构增强

图6展示了对指令应用的各种架构增强的结果。可以观察到,在少数示例设置中改进不明显;然而,在零示例设置中,将所有表格列的描述纳入的语义增强被证明是有益的。
ChatGPT 论文:Enhancing Few-shot Text-to-SQL Capabilities of Large Language Models (三)_第3张图片

4.4 效果分析

为了确定最受益或最不受益于本文提出的方法的问题类型,本文还评估了不同模型在Spider数据集内各种问题类别的性能。如图7所示,本文的相似性-多样性策略对大多数问题类型都是有益的,除了中等难度的部分,其中包括最多样化的问题。这是相似性基于检索失败和语法覆盖变得更加关键的情况。此外,本文观察到,对于简单和中等难度的部分,增加架构语义更有效(尽管变异性很高),而对于更复杂的问题,增加架构结构更有效。这一观察使本文假设,具有挑战性的问题需要解决更多的表格,因此需要更全面地理解整个数据库结构。最后,综合方法在所有示例中都是有效的,特别是对于那些困难的问题提供了增加的好处。

4.5 初步模型

为评估用于生成草稿SQL的初步模型选择对本文方法的影响,本文对初步模型性能不同的方法进行了测试。图8显示,初步模型对相似性-多样性或综合方法的性能影响相对较小,随着使用更高性能的初步模型而逐渐改善。
ChatGPT 论文:Enhancing Few-shot Text-to-SQL Capabilities of Large Language Models (三)_第4张图片

5 相关工作

5.1 上下文学习(In-context Learning)

5.1.1 Prompt组织规范

提示组织探究选择和组织上下文示例的任务,这是提高模型性能的关键方面。多项研究提出了衡量示例适用性的指标,以及确定它们的最优排序。Liu等建议通过在嵌入空间采用k-NN方法,选择与测试示例语义相似的示例。Rubin等基于对比学习训练了一个提示检索器,其中示例被分类为正面或负面,如果它们在语言模型生成目标输出时,根据检索的示例和输入,排在概率的前k或后k位。Zhang等建议使用Q Learning来主动选择演示。Su引入了Vote-k方法,用于选择多样化且具代表性的示例进行池构建,然后基于相似性进行检索。

5.1.2 提示格式化

提示工程学关注于探究提示结构对下游任务性能的影响。对于涉及多步推理和较高复杂性的任务,已经开发了思维链提示方法。这种方法涉及将生成过程分布在多个步骤上,并使用模型自身的中间过程作为输入。Wang提出了采样多种不同的思维链,然后通过边际化所有可能的推理路径来选择最一致的答案。Press建议让LLMs提出后续问题是构建思维链过程的有效方式。Zhou提出了一种自动识别最佳提示的方法,通过在模型生成的指令池中搜索,给它们打分,并选择得分最高的提示。

5.2 与表格相关任务的编码

对结构化数据的编码对于各种与表格相关的任务至关重要,包括表格问答和文本到SQL。在表格问答的情况下,通常使用的方法是首先使用弱监督表格解析器来提取相关的表格单元,如有必要,再对检索到的数据应用相应的聚合操作符。例如,TAPAS在BERT模型中引入了额外的嵌入层,以捕获表格结构和数值信息。为了得到给定问题的答案,TAPAS使用两个分类层来预测聚合函数和相应的表格单元。更近期的工作将表格问答视为序列生成任务。他们将表格平铺成文本序列,并使用特殊标记来指示表格结构,同时对表格数据进行编码。文本到SQL是一项将自然语言问题转换为可以在数据库上执行的SQL查询的任务。在这项任务中,表格架构以输入形式提供。编码器应该能够将自然语言问题中的实体提及与架构对齐,同时理解架构结构信息(例如,外键/主键和列类型)。

6 总结

本研究探索了用于文本到SQL领域语义解析任务的各种提示设计方法。本文提出了一种利用示例的SQL语法结构来选择示例演示的方法,强调多样性和相似性作为采样目标。此外,本文发现大型语言模型(LLMs)从与数据库相关的知识增强中受益。未来的研究可以基于本文的发现来检验本文方法在其他领域的可转移性。通过持续改进LLMs在语义解析方面的能力,本文旨在为开发更准确、更稳健和更易理解的问答系统做出贡献。 标签: 人工智能LLMNLP

你可能感兴趣的:(chatgpt,sql,语言模型)