ProjectCodeNet 是由IBM 推出的一个用于推进AI对代码的理解和翻译的开源数据集。旨在为AI-for-Code研究界提供一个大规模、多样化和高质量的数据集,以推动AI技术的创新。
ProjectCodeNet有很多特点(大规模、多样性等),与ImageNet相似(ImageNet是一个巨大的图像数据集,对计算机视觉研究领域产生了巨大的影响)。ProjectCodeNet是一个大规模的数据集,有大约1400万个代码样本,每个样本都是4000个编码问题中的一个预期解决方案。ProjectCodeNet的目标是为代码的人工智能做一些ImageNet为计算机视觉所做的事情。
ProjectCodeNet有几个不一样的特点。除了数据集的规模之外,代码样本是用50多种编程语言编写的,主要语言是C++、C、Python和Java。ProjectCodeNet中的代码样本都有丰富的注释信息,如代码大小、内存占用、CPU运行时间和状态,表示接受或错误类型。
90%以上的问题都有相应的问题描述,其中包含了简洁的问题陈述、输入格式和输出格式的说明。如果可用,官方还从问题描述中提取了输入和输出的样本,并将其作为数据集的一部分。用户可以执行被接受的代码样本(超过50%的提交被接受),以提取额外的元数据,并验证生成性人工智能模型的输出是否正确。
此外,ProjectCodeNet 还解决了数据样本的质量的问题。
丰富的元数据和多样性为ProjectCodeNet提供了大量的使用案例。ProjectCodeNet中的problem-submission关系对应于 Type-4 相似性,可用于代码搜索和克隆检测。ProjectCodeNet中的代码样本被标记为接受状态,因此可以探索AI技术来区分正确的代码和有问题的代码。
ProjectCodeNet的元数据还可以跟踪一个提交的代码如何从有问题到被接受的演变过程,这可以用来探索自动代码纠正。每个代码样本都标有CPU运行时间和内存足迹,可用于回归研究和预测。鉴于其丰富的以多种语言编写的程序,ProjectCodeNet可以作为源到源翻译的宝贵基准数据集。
评论