five

bigcode/the-stack-inspection-data

收藏
Hugging Face2023-02-13 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/bigcode/the-stack-inspection-data
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集是the-stack数据集的一个子集,包含87种编程语言和295种扩展名。每种语言的数据存放在`data/`目录下的单独文件夹中,并且每种扩展名最多包含1000个文件。我们从原始数据集中随机选取了20,000个文件,并确保每种扩展名的文件数量不超过1,000个。

This dataset is a subset of the Stack dataset, which includes 87 programming languages and 295 file extensions. Data for each language is stored in a separate folder under the `data/` directory, with each file extension containing no more than 1,000 files. We randomly selected 20,000 files from the original dataset, and ensured that the number of files for each extension does not exceed 1,000.
提供机构:
bigcode
原始信息汇总

数据集描述

该数据集是the-stack数据集的一个子集,包含87种编程语言和295种扩展。每种语言在data/目录下有单独的文件夹,并包含其扩展的文件夹。从原始数据集的20,000个随机文件中选择样本,每个扩展最多保留1,000个文件。

语言

数据集包含87种编程语言:

ada, agda, alloy, antlr, applescript, assembly, augeas, awk, batchfile, bison, bluespec, c, c++, c-sharp, clojure, cmake, coffeescript, common-lisp, css, cuda, dart, dockerfile, elixir, elm, emacs-lisp,erlang, f-sharp, fortran, glsl, go, groovy, haskell,html, idris, isabelle, java, java-server-pages, javascript, julia, kotlin, lean, literate-agda, literate-coffeescript, literate-haskell, lua, makefile, maple, markdown, mathematica, matlab, ocaml, pascal, perl, php, powershell, prolog, protocol-buffer, python, r, racket, restructuredtext, rmarkdown, ruby, rust, sas, scala, scheme, shell, smalltalk, solidity, sparql, sql, stan, standard-ml, stata, systemverilog, tcl, tcsh, tex, thrift, typescript, verilog, vhdl, visual-basic, xslt, yacc, zig

数据集结构

可以指定要加载的语言和扩展: python

加载python的py扩展

from datasets import load_dataset

load_dataset("bigcode/the-stack-inspection-data", data_dir="data/python/py")

DatasetDict({ train: Dataset({ features: [content, lang, size, ext, max_stars_count, avg_line_length, max_line_length, alphanum_fraction], num_rows: 1000 }) })

搜集汇总
数据集介绍
main_image_url
构建方式
在代码语言模型研究领域,数据集的构建需兼顾多样性与代表性。该数据集源自规模庞大的the-stack原始代码库,通过精心设计的抽样策略构建而成。研究人员从涵盖87种编程语言的原始数据中,随机选取了20,000个文件作为基础样本。为确保各语言扩展名的均衡覆盖,对每种文件扩展名设置了最多1,000个文件的限制,最终形成按语言和扩展名分层组织的结构化数据集。
特点
本数据集最显著的特征在于其广泛的多语言覆盖与精细的元数据标注。它不仅收录了从Ada到Zig等87种编程语言的代码样本,还细致地按照295种文件扩展名进行分类存储。每个代码样本均附带丰富的元信息,包括代码内容、语言类型、文件大小、扩展名、项目星标数量、行长度统计及字母数字比例等八类特征。这种多维度的标注体系为深入分析代码风格与质量提供了坚实的数据基础。
使用方法
为便于研究者灵活使用,该数据集提供了层级化的数据访问接口。用户可通过指定编程语言目录和文件扩展名路径,精准加载目标子集。例如调用load_dataset函数并设置data_dir参数为'data/python/py',即可获取Python语言中py扩展名的千条样本。返回的Dataset对象包含完整的特征字段,支持直接进行代码分析、模型训练或质量评估等下游任务。
背景与挑战
背景概述
在人工智能与软件工程交叉领域,代码生成与理解已成为推动智能编程辅助工具发展的核心议题。BigCode组织于2023年发布的the-stack-inspection-data数据集,作为the-stack数据集的精选子集,旨在为多语言代码建模研究提供高质量、结构化的训练资源。该数据集汇聚了来自87种编程语言的代码样本,覆盖了从通用语言如Python、Java到专业领域语言如Verilog、VHDL的广泛谱系,其构建不仅促进了大规模代码语言模型的训练,也为探索编程语言的语义多样性与语法复杂性奠定了数据基础。
当前挑战
该数据集致力于应对多语言代码生成与建模中的核心挑战,即如何在高度异构的编程语言环境中实现统一的语义表示与泛化能力。具体而言,挑战体现在语言间的语法差异巨大、代码范式多样导致的模型学习难度增加,以及专业领域代码数据稀缺引发的分布偏差问题。在构建过程中,数据采集面临代码质量参差不齐、许可证合规性审查复杂以及跨语言样本平衡性维护等实际困难,这些因素共同制约了数据集的规模扩展与代表性提升。
常用场景
经典使用场景
在代码智能与软件工程领域,the-stack-inspection-data数据集为大规模代码语言模型的训练与评估提供了关键支撑。该数据集精选自the-stack原始库,涵盖87种编程语言与295种文件扩展名,通过随机采样与扩展名限制构建了结构化的多语言代码语料。其经典使用场景集中于代码生成、补全及跨语言代码理解任务,研究者可基于此数据集训练模型学习不同编程语言的语法模式与语义特征,从而推动代码智能技术的泛化能力提升。
解决学术问题
该数据集有效应对了代码语料稀缺性与语言多样性不足的学术挑战。传统代码数据集往往局限于少数主流语言,难以支撑多语言代码模型的深入研究。the-stack-inspection-data通过覆盖从Ada到Zig的广泛语言谱系,为研究代码语义表示、跨语言迁移学习及程序合成提供了均衡且可扩展的数据基础。其意义在于打破了语言壁垒,使得模型能够从更丰富的编程范式中汲取知识,进而促进代码智能领域的理论创新与技术突破。
衍生相关工作
围绕该数据集,学术界与工业界已衍生出一系列经典工作。例如,BigCode社区基于此类多语言代码语料训练了StarCoder等大型代码生成模型,显著提升了代码补全与生成的准确性;同时,研究团队利用其扩展名与语言标签开展了代码风格迁移、缺陷预测及跨语言代码搜索等探索。这些工作不仅深化了对代码语义的理解,也为构建通用化编程智能系统奠定了方法论基础。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作