hirupert/sede
收藏数据集卡片 for SEDE
数据集描述
数据集概述
SEDE(Stack Exchange Data Explorer)是一个用于Text-to-SQL任务的数据集,包含超过12,000个SQL查询及其自然语言描述。该数据集基于Stack Exchange Data Explorer平台的真实用户使用情况,带来了以前在任何其他语义解析数据集中未见过的复杂性和挑战,包括复杂嵌套、日期处理、数值和文本处理、参数以及最重要的:欠规范和隐藏假设。
支持的任务和排行榜
parsing:该数据集可用于训练Text-to-SQL任务的模型。可以使用Seq2Seq模型(例如T5)来解决该任务。具有更多归纳偏差的模型(例如基于语法的解码器模型)或Text-to-SQL的交互式设置(https://arxiv.org/abs/2005.02539)可以进一步提高结果。模型性能通过其PCM-F1分数来衡量。t5-large达到了PCM-F1为50.6。
语言
数据集中的文本为英语,关联的BCP-47代码为en。
数据集结构
数据实例
一个典型的数据点包括一个问题标题、(可选)一个描述及其底层SQL查询。此外,每个样本都有一个唯一的ID(来自Stack Exchange Data Explorer)、其创建日期和一个布尔标志validated,如果该样本已被人工验证为黄金质量,则该标志为true。
例如:
json { "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 ( SELECT TOP 500 OwnerUserId as [User Link], Count(Posts.Id) AS Questions, CAST(AVG(CAST(Score AS float)) as numeric(6,2)) AS [Average Question Score] FROM Posts WHERE PostTypeId = 1 and CommunityOwnedDate is null and ClosedDate is null GROUP BY OwnerUserId ORDER BY Count(Posts.Id) DESC )ORDER BY [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的性能存在很大差距,这为Text-to-SQL模型的泛化留下了未来研究的空间。
源数据
初始数据收集和规范化
为了引入一个现实的Text-to-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许可证
引用信息
plaintext @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添加此数据集。




