数据集:

sede

子任务:

parsing

语言:

en

计算机处理:

monolingual

大小:

10K<n<100K

语言创建人:

found

批注创建人:

no-annotation

源数据集:

original

许可:

apache-2.0
英文

SEDE数据集数据卡片

数据集摘要

SEDE(Stack Exchange Data Explorer)是一个用于文本到SQL任务的数据集,包含超过12,000个SQL查询及其自然语言描述。它基于Stack Exchange Data Explorer平台上用户的实际使用情况,带来了以前任何其他语义解析数据集中从未出现过的复杂性和挑战,如包含复杂的嵌套、日期处理、数字和文本处理、参数等,最重要的是:欠约束和隐藏假设。

支持的任务和排行榜

  • parsing:该数据集可用于训练文本到SQL任务的模型。可以使用Seq2Seq模型(例如T5)来解决该任务。具有更多归纳偏置的模型(例如具有基于语法的解码器的模型)或用于文本到SQL的交互式设置( https://arxiv.org/abs/2005.02539 )可以进一步提高结果。模型的性能通过其 PCM-F1 得分的高低来衡量。 t5-large 可以实现 PCM-F1 of 50.6

语言

数据集中的文本为英文。相关的BCP-47代码为en。

数据集结构

数据实例

一个典型的数据点包括一个问题标题,(可选的)描述和其底层的SQL查询。此外,每个样本都有一个唯一的ID(来自Stack Exchange Data Explorer),它的创建日期和一个名为validated的布尔标志,如果此样本经过人工验证为金质量,则为true,请参阅论文以获取有关validated标志的完整详细信息。

例如一个实例:

{
   'QuerySetId':1233,
   'Title':'Top 500 Askers on the site',
   'Description':'A list of the top 500 askers of questions ordered by average answer score excluding community wiki closed posts.',
   'QueryBody':'SELECT  * FROM (\nSELECT \n    TOP 500\n    OwnerUserId as [User Link],\n    Count(Posts.Id) AS Questions,\n    CAST(AVG(CAST(Score AS float)) as numeric(6,2)) AS [Average Question Score]\nFROM\n    Posts\nWHERE \n    PostTypeId = 1 and CommunityOwnedDate is null and ClosedDate is null\nGROUP BY\n    OwnerUserId\nORDER BY\n    Count(Posts.Id) DESC\n)ORDER BY\n    [Average Question Score] DESC',
   'CreationDate':'2010-05-27 20:08:16',
   'validated':true
}

数据字段

  • QuerySetId:来自Stack Exchange Data Explorer的唯一ID。
  • Title:话语标题。
  • Description:话语描述(可能为空)。
  • QueryBody:底层的SQL查询。
  • CreationDate:此样本创建的日期。
  • validated:如果此样本经过人工验证为金质量,则为true。

数据拆分

数据被划分为训练集、验证集和测试集。验证集和测试集仅包含经过人工验证为金质量的样本。

训练集 验证集 测试集10309 857 857

数据集创建

策划理由

大多数可用的语义解析数据集,包括自然话语和逻辑形式的配对,仅用于自然语言理解系统的训练和评估。因此,它们不包含任何丰富多样的自然出现话语的内容,人们在其中询问他们需要的数据或感兴趣的数据。SEDE包含了迄今为止在任何其他语义解析数据集中很少反映的各种实际挑战。 SEDE与其他常见数据集相比的性能存在较大差距,为文本到SQL模型的泛化留下了研究空间。

数据源

初始数据收集和规范化

为了引入一个现实世界的文本到SQL基准,我们从一个自然发生的数据集Stack Exchange Data Explorer中收集了SQL查询及其标题和描述。Stack Exchange是一个在线问答社区,拥有超过300万个问题。然而,在其原始形式中,许多行是重复的或包含无法使用的查询或标题。原始数据大小与清理版本之间的差异之所以如此之大,是因为每当查询的作者执行查询时,都会将条目保存到日志中。为了缓解这些问题,我们编写了基于规则的过滤器,以高精度去除坏查询/描述对。例如,如果描述中包含数字,但这些数字在查询中没有出现,我们会过滤掉这些示例(有关每个过滤器过滤的示例数量的完整列表,请参阅存储库中的预处理脚本)。每当查询由于多次执行而具有多个版本时,我们选择最后执行的通过所有过滤器的查询。在此过滤步骤之后,我们剩下12,309个示例。使用这些过滤器可以清除大部分噪音,但并非全部。为了完成清理过程,我们手动审查验证集和测试集中的示例,要么过滤掉错误示例,要么对话语或查询进行最小更改(例如修正错误的文本值),以确保模型在正确的数据上进行评估。最终的训练、验证和测试样本总数为12,023。

谁是源语言的生产者?

语言的生产者是Stack Exchange Data Explorer( https://data.stackexchange.com/ )的用户。

注释

注释流程

[N/A]

谁是注释者?

[N/A]

个人和敏感信息

数据集中的所有数据均可供公众使用。

使用数据的注意事项

数据集的社会影响

我们希望通过发布这个具有挑战性的数据集,鼓励研究改进用于实际SQL预测的泛化能力,从而帮助非技术业务用户从公司的数据库中获取所需的数据。

偏见讨论

[N/A]

其他已知限制

[需要更多信息]

附加信息

数据集的策划者

该数据集最初由Moshe Hazoom、Vibhor Malik和Ben Bogin在Ruper的工作中创建。

许可信息

Apache-2.0 License

引用信息

@misc{hazoom2021texttosql,
      title={Text-to-SQL in the Wild: A Naturally-Occurring Dataset Based on Stack Exchange Data},
      author={Moshe Hazoom and Vibhor Malik and Ben Bogin},
      year={2021},
      eprint={2106.05006},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

贡献

感谢 @Hazoom 添加了该数据集。