DS-1000是由香港大学、北京大学等高校老师联合发布的一个代码生成领域的基准数据集。包含了1000个问题和答案,这些问题来自StackOverflow上451个问题。涵盖了7个Python领域库的相关问题和答案(如NumPy、Pandas等)。这些问题和答案花费了1200多个expert小时进行整理。具体来说,这些问题和答案:
这些工作都是十分耗费人力的工作。五位作者花费了大约1200个小时完成的。
DS-1000数据的样例,对于每一个问题,都包含了"[insert]"标记,任务就是把代码插入的insert位置。数据集包含了评估答案的评估指标。
对于来自StackOverflow的问题,作者为它们配备了prompts、测试用例和评估函数,并将它们称为Origin。为了防止模型简单地回忆预训练期间看到的解决方案,作者以两种方式扰动问题:表面扰动和语义扰动。为了使DS-1000更具挑战性,作者还引入了困难重写。其中152个问题做了surface perturbations,235个问题做了semantic perturbations,162个问题做了difficult rewrites。
涉及的7个Python库如下:
具体的数据集目录如下:
ds1000_data
├── Numpy
├── Completion
└── Insertion
├──q0
├── .cfg
├── ans
├── input
├── prompt.txt
├── code_context.txt
├── reference_code.txt
├── test_code.py
└── test_generate_pickle.py
├── Pandas
├── Pytorch
├── Scipy
├── Sklearn
├── Tensorflow
├── Matplotlib
以NumPy文件夹为例,里面包含Completion与Insertion两个prompts格式,这两个文件夹内容完全一样,只是prompts不同(一些代码情景和代码引用也有一点差异)。针对每一个文件及下的文件解释如下:
.cfg
:问题的元数据信息
ans和input
:是输入和解决对象的pickles文件
prompt.txt
:是官方推荐的用来查询大模型答案的prompt
code_context.txt
:是用于评估的可执行代码context
reference_code.txt
:是the ground truth solution code
test_code.py
:测试代码
test_generate_pickle.py
:用于生成input里面pickles文件的脚本
数据集下载地址: https://github.com/HKUNLP/DS-1000/raw/main/ds1000_data.zip
论文地址: https://arxiv.org/abs/2211.11501
GitHub地址: https://github.com/HKUNLP/DS-1000
官方网站: https://ds1000-code-gen.github.io/
PapersWithCode地址: https://paperswithcode.com/paper/ds-1000-a-natural-and-reliable-benchmark-for
发布者:香港大学
发布时间:2022-11-18
官方网址:https://ds1000-code-gen.github.io/
数据记录总数:1000
数据集大小:69.5MB