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

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

3 实验

3.1 实验设置

数据集

Spider:复杂文本到SQL问题的跨领域数据集。
Spider-Syn:使用同义词替换Spider问题中的模式相关词汇,评估系统的鲁棒性。
Spider-DK:在Spider示例中添加领域知识,评估跨领域泛化能力。
Spider-Realistic:去除列名的明确提及,模拟更现实的文本-表格对齐设置。

模型

使用Codex(基于GPT-3的变体)和ChatGPT (gpt-3.5-turbo)来评估不同ICL策略。
Codex在1到10-shot范围内提供结果,而ChatGPT因最大上下文长度限制仅提供1到5-shot的结果。

评估指标

使用执行准确度作为所有实验的评估指标。

Baseline

主要分为Few-shot和Zero-shot上的实验,包括:

Few-shot
  • Random sampling ®: 从样本池中随机选择示例。
  • Similarity sampling (S)
  • Diversity sampling (D): 从样本池的k-Means聚类中选择多样化示例。
  • Similarity-Diversity sampling (SD): 根据算法1选择示例。
  • SD + schema augmentation (SA): 通过架构知识增强指令(语义增强或结构增强)。
  • SD + SA + Voting: 根据算法2描述的综合策略。
Zero-shot
  • Baseline - DB as text-seq: 文本到SQL任务的标准提示,其中结构化知识被线性化为文本序列。
  • Baseline - DB as code-seq: 通过将结构化知识源线性化为多个SQL CREATE查询来改进指令。
  • Baseline - DB as code-seq + SA: 通过架构知识增强指令。

在这里插入图片描述

3.2 主要结果

在code-davinci-002和gpt-3.5-turbo模型上测试了不同示例选择策略的效果。主要发现如下:

  • 相似性和多样性目标的采样过程:结合相似性和多样性目标在采样过程中可以获得更好的性能。
  • 架构表示的增强:在指令中加入架构表示(就是Listing 5中的最下面的那几行注释)可以提高性能。
  • 投票集成策略:结合不同示例数量模型的结果进行投票,可显著提高整体性能。
  • 架构增强在零次学习中的效果:将数据库转换为文本序列和CREATE查询的两种提示线性化方法进行了比较。后者显示出明显的性能提升。
  • 两种架构增强技术的对比:一种在表中的每列中添加语义信息,另一种加入实体关系知识。结果表明,结构增强(添加本体概要)在Few-shot设置中为Codex带来更大的改进,而语义增强(作为块注释添加列概要)在Zero-shot设置中对Codex以及Few-shot设置中对ChatGPT更有益。

研究显示,通过探索和实施不同的提示设计策略,可以显著提高LLMs在文本到SQL任务中的性能。这些策略不仅包括示例选择的优化,还包括架构表示的增强和投票集成方法的应用。通过这些策略,为利用LLMs在文本到SQL领域中的应用提供了有力的实证支持。

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

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着物联网系统的不断发展,机器到机器的通信变得越来越重要。MQTT作为一种轻量级的通信协议,已经被广泛应用于物联网系统中。而Python作为一种灵活且强大的编程语言,可以用来增强MQTT-based的机器到机器通信。 首先,Python提供了丰富的库和工具,可以帮助开发人员更加便捷地使用MQTT协议。通过使用Python的MQTT客户端库,开发人员可以快速地建立起MQTT连接,并且方便地进行消息的发布和订阅操作。同时,Python还提供了各种各样的扩展库,可以用来处理与MQTT相关的数据和事件。 其次,Python具有较为友好的语法和良好的可读性,这使得开发人员可以更加高效地编写和维护MQTT-based的机器到机器通信代码。同时,Python还支持异步编程,这意味着可以编写高效的并发MQTT通信程序,从而提高系统的性能和响应速度。 此外,Python还可以与各种传感器、执行器和其他物联网设备进行良好的集成。开发人员可以利用Python的丰富库和工具,将MQTT通信与物联网设备的控制和监测结合起来,从而实现更加智能和灵活的物联网系统。 综上所述,通过使用Python来增强MQTT-based的机器到机器通信,可以使物联网系统变得更加灵活、高效和功能丰富。Python为开发人员提供了丰富的工具和良好的支持,从而可以更好地应对物联网系统中的各种挑战和需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值