loubnabnl/code_data
收藏Hugging Face2023-12-19 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/loubnabnl/code_data
下载链接
链接失效反馈官方服务:
资源简介:
---
dataset_info:
features:
- name: repo_name
dtype: string
- name: files
list:
- name: blob_id
dtype: string
- name: directory_id
dtype: string
- name: path
dtype: string
- name: content_id
dtype: string
- name: detected_licenses
sequence: string
- name: license_type
dtype: string
- name: content
dtype: string
- name: src_encoding
dtype: string
- name: language
dtype: string
- name: is_vendor
dtype: bool
- name: is_generated
dtype: bool
- name: num_files
dtype: int64
splits:
- name: train
num_bytes: 424803414
num_examples: 1002
download_size: 139210535
dataset_size: 424803414
configs:
- config_name: default
data_files:
- split: train
path: data/train-*
---
数据集信息:
特征字段:
- 名称: 仓库名称(repo_name)
数据类型: 字符串(string)
- 名称: 文件列表(files)
列表项:
- 名称: 文件块标识符(blob_id)
数据类型: 字符串(string)
- 名称: 目录标识符(directory_id)
数据类型: 字符串(string)
- 名称: 路径(path)
数据类型: 字符串(string)
- 名称: 内容标识符(content_id)
数据类型: 字符串(string)
- 名称: 检测到的许可证(detected_licenses)
数据类型: 字符串序列
- 名称: 许可证类型(license_type)
数据类型: 字符串(string)
- 名称: 文件内容(content)
数据类型: 字符串(string)
- 名称: 源文件编码(src_encoding)
数据类型: 字符串(string)
- 名称: 编程语言(language)
数据类型: 字符串(string)
- 名称: 是否为第三方代码(is_vendor)
数据类型: 布尔值(bool)
- 名称: 是否为生成代码(is_generated)
数据类型: 布尔值(bool)
- 名称: 文件总数(num_files)
数据类型: 64位整数(int64)
数据划分:
- 名称: 训练集(train)
字节数: 424803414
样本数: 1002
下载大小: 139210535
数据集总大小: 424803414
配置项:
- 配置名称: 默认配置(default)
数据文件:
- 划分集: 训练集(train)
路径: data/train-*
提供机构:
loubnabnl原始信息汇总
数据集详情
特征信息
- repo_name: 字符串类型
- files: 列表类型
- blob_id: 字符串类型
- directory_id: 字符串类型
- path: 字符串类型
- content_id: 字符串类型
- detected_licenses: 字符串序列类型
- license_type: 字符串类型
- content: 字符串类型
- src_encoding: 字符串类型
- language: 字符串类型
- is_vendor: 布尔类型
- is_generated: 布尔类型
- num_files: 64位整数类型
数据分割
- train:
- 字节数: 424803414
- 样本数: 1002
数据集大小
- 下载大小: 139210535 字节
- 数据集大小: 424803414 字节
配置信息
- default:
- 数据文件:
- 分割: train
- 路径: data/train-*
- 数据文件:
搜集汇总
数据集介绍

构建方式
在软件工程与自然语言处理交叉领域,大规模代码数据集对于预训练语言模型至关重要。loubnabnl/code_data数据集通过聚合来自公开代码仓库的原始文件构建而成,每条样本包含仓库名称、文件列表及其元信息。文件级字段涵盖blob标识符、目录路径、源代码内容、编码格式、编程语言类型、许可证类型及检测到的许可证序列等,同时标注了是否为供应商代码或自动生成代码。数据集以单一训练集形式发布,包含1002个样本,总大小为424.8 MB,压缩后下载体积约为139.2 MB。
特点
该数据集的核心特色在于其细粒度的文件级结构化设计,支持对代码仓库内多个文件的独立访问与关联分析。每个文件均携带丰富的元数据,包括路径、内容、语言标签及许可证信息,便于进行代码克隆检测、语言分类或许可证合规性研究。此外,通过布尔字段is_vendor和is_generated,研究者可轻松过滤或聚焦于特定类型的代码片段,从而提升下游任务的针对性与数据质量。
使用方法
使用该数据集时,可通过HuggingFace Datasets库直接加载默认配置,自动获取训练集数据。每条样本以字典形式呈现,包含repo_name、files列表及num_files字段,其中files列表内每个元素为一个文件级字典。用户可基于language字段筛选特定编程语言的代码内容,或利用detected_licenses与license_type进行开源许可分析。建议结合transformers库中的代码模型进行微调或评估,以发挥其结构化优势。
背景与挑战
背景概述
在自然语言处理与软件工程交叉领域,大规模代码数据集的重要性日益凸显,它们为预训练代码大模型(如CodeBERT、Codex等)提供了关键基石。loubnabnl/code_data数据集由相关研究团队创建,旨在汇集多语言、多来源的代码仓库数据,以支持代码理解与生成任务。该数据集包含来自不同GitHub仓库的文件级信息,涵盖许可证类型、语言标签、生成与供应商标记等元数据,为研究代码表征、代码克隆检测及许可证合规性等核心问题提供了结构化资源。其影响力在于推动开源代码数据的规范化利用,助力模型在编程语言泛化与代码语义理解方面取得突破。
当前挑战
该数据集面临的挑战首先体现在领域问题层面:代码数据具有高度结构化和语法多样性,现有模型在处理跨语言代码迁移、低资源语言代码生成时仍显不足,且代码语义与自然语言文本的异构性增加了表征学习的难度。其次,构建过程中遭遇了多重困难,包括从海量仓库中筛选高质量、无噪声代码片段,精确标注多类许可证以避免法律风险,以及区分自动生成代码与人工编写代码以保障数据真实性。此外,数据集的规模相对有限(仅1002个样本),可能限制模型泛化能力,未来需扩展覆盖面并解决长尾语言代码的稀疏性问题。
常用场景
经典使用场景
在代码智能与软件工程领域,大规模、高质量且具有丰富元信息的代码数据集是驱动模型训练与评估的基石。loubnabnl/code_data 数据集汇聚了来自海量开源仓库的代码文件,每条样本包含仓库名称、文件路径、内容、许可证类型、编程语言及是否为自动生成代码等详尽标注。其经典使用场景在于为代码预训练语言模型(如CodeBERT、GPT-Code系列)提供原始语料,助力模型学习代码语法、语义与结构特征,支撑代码补全、缺陷检测与注释生成等下游任务。
解决学术问题
该数据集有效回应了学术研究中数据稀疏性与领域泛化能力的挑战。通过整合多语言、多许可证的代码片段,它解决了传统数据集在规模与多样性上的不足,使研究者能够探索跨语言代码理解的统一表征。同时,is_generated 与 is_vendor 字段的引入,为区分人工编写与自动生成代码提供了关键标签,推动了代码质量评估与反编译检测等前沿课题的深入。这一资源极大促进了代码大模型在鲁棒性与可解释性方面的突破。
衍生相关工作
基于该数据集,学界已衍生出多项经典工作。例如,研究者利用其多语言特性训练出跨编程语言的代码搜索模型,实现了Python与Java之间的语义映射;另有工作聚焦于is_generated标签,开发出识别自动生成代码的分类器,用于过滤低质量训练样本。此外,结合directory_id与blob_id的层级结构,部分工作探索了代码仓库级别的上下文建模,推动了基于项目的代码补全与重构建议系统的演进。这些研究共同拓展了代码数据在软件工程中的价值边界。
以上内容由遇见数据集搜集并总结生成



