five

semeru/code-text-python

收藏
Hugging Face2023-03-23 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/semeru/code-text-python
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集是从CodeXGLUE导入的,并使用了他们的脚本进行预处理。数据集的任务是生成代码的自然语言注释,并使用平滑的BLEU-4评分进行评估。数据集来源于CodeSearchNet,并经过了一系列的过滤处理,包括移除无法解析为抽象语法树的代码、文档标记数不在3到256之间的示例、包含特殊标记的示例以及非英语文档的示例。数据格式包括三个.jsonl文件,每个文件中的每一行代表一个函数,包含了仓库、路径、函数名、原始字符串、编程语言、代码、代码标记、文档字符串和文档字符串标记等信息。Python语言的数据统计信息显示,训练集有251,820个示例,开发集有13,914个示例,测试集有14,918个示例。

该数据集是从CodeXGLUE导入的,并使用了他们的脚本进行预处理。数据集的任务是生成代码的自然语言注释,并使用平滑的BLEU-4评分进行评估。数据集来源于CodeSearchNet,并经过了一系列的过滤处理,包括移除无法解析为抽象语法树的代码、文档标记数不在3到256之间的示例、包含特殊标记的示例以及非英语文档的示例。数据格式包括三个.jsonl文件,每个文件中的每一行代表一个函数,包含了仓库、路径、函数名、原始字符串、编程语言、代码、代码标记、文档字符串和文档字符串标记等信息。Python语言的数据统计信息显示,训练集有251,820个示例,开发集有13,914个示例,测试集有14,918个示例。
提供机构:
semeru
原始信息汇总

数据集概述

数据集来源与处理

  • 数据集导入自CodeXGLUE,并使用其脚本进行预处理。

数据集位置

  • 在Semeru中,数据集位于/nfs/semeru/semeru_datasets/code_xglue/code-to-text/python

任务定义

  • 任务是生成代码的自然语言注释,评估指标为smoothed bleu-4分数。

数据集过滤

  • 移除无法解析为抽象语法树的代码示例。
  • 移除文档token数量小于3或大于256的示例。
  • 移除包含特殊token(如<img ...>https:...)的文档。
  • 移除非英语文档。

数据格式

  • 预处理后,数据集包含三个.jsonl文件:train.jsonl, valid.jsonl, test.jsonl
  • 每个文件的每一行代表一个函数,包含以下字段:
    • repo: 仓库所有者/仓库名称
    • path: 原始文件的完整路径
    • func_name: 函数或方法名称
    • original_string: 未进行tokenization或解析的原始字符串
    • language: 编程语言
    • code/function: original_string中的代码部分
    • code_tokens/function_tokens: code的tokenized版本
    • docstring: 原始字符串中的顶级注释或docstring(如果存在)
    • docstring_tokens: docstring的tokenized版本

数据统计

编程语言 训练集 开发集 测试集
Python 251,820 13,914 14,918

引用信息

@article{husain2019codesearchnet, title={Codesearchnet challenge: Evaluating the state of semantic code search}, author={Husain, Hamel and Wu, Ho-Hsiang and Gazit, Tiferet and Allamanis, Miltiadis and Brockschmidt, Marc}, journal={arXiv preprint arXiv:1909.09436}, year={2019} }

搜集汇总
数据集介绍
main_image_url
构建方式
该数据集源自CodeSearchNet项目,并经由CodeXGLUE的脚本进行预处理与筛选。构建过程中,首先过滤掉无法解析为抽象语法树的代码样本,其次剔除文档字符串长度小于3或大于256个token的实例,同时移除包含特殊标记(如图片标签或URL链接)以及非英文文档的样本。最终,数据集以JSONL格式存储,每条记录包含仓库路径、函数名称、原始字符串、代码与文档字符串及其分词后的表示,确保数据的高质量与一致性。
使用方法
使用该数据集时,可直接从HuggingFace平台加载预处理后的JSONL文件,分为训练、验证和测试三部分。研究者可将代码字段作为输入,对应的文档字符串作为目标,构建序列到序列模型。推荐采用标准分词器对代码和注释进行分词处理,并参考CodeXGLUE的评估脚本计算平滑BLEU-4得分。数据集适用于微调预训练语言模型,如CodeBERT或GPT系列,用于自动化代码注释生成任务。
背景与挑战
背景概述
在软件工程与自然语言处理的交叉领域中,代码摘要生成任务旨在为源代码片段自动生成自然语言描述,以提升代码的可理解性与维护效率。semeru/code-text-python数据集源于CodeXGLUE基准测试,其底层数据取自CodeSearchNet,由Hamel Husain等研究人员于2019年发布,主要聚焦于Python编程语言。该数据集包含超过25万条训练样本,每一条均对应一个函数及其对应的文档字符串,经过严格的预处理流程,包括语法解析过滤、文档长度限制及非英文内容剔除,从而确保数据质量。作为代码-文本生成任务的核心资源,该数据集为评估语义代码搜索与注释生成技术提供了标准化测试平台,对推动深度学习在程序理解领域的研究具有重要影响力。
当前挑战
该数据集面临的核心挑战在于解决代码摘要生成的语义对齐问题:Python函数的逻辑结构复杂多变,自动生成的注释需准确捕捉代码意图而非简单复述语法,这要求模型具备深厚的代码语义理解能力。此外,构建过程中的挑战尤为突出,原始CodeSearchNet数据存在噪声,例如无法解析为抽象语法树的代码片段、过短或过长的文档字符串以及包含特殊标记的非英文注释,均需通过多步过滤规则逐一清除。同时,数据来源的时效性(2020年发布)可能导致部分代码模式与现代实践脱节,且数据集被标注为“极可能受污染”,意味着预训练模型可能已接触过类似样本,对公平评估构成潜在威胁。
常用场景
经典使用场景
在程序语言理解与生成领域,semeru/code-text-python数据集被广泛用于代码到自然语言描述的跨模态转换任务。该数据集源自CodeSearchNet,经过精心筛选,保留了超过25万条Python函数及其对应的文档字符串,构成了一个规模可观、质量可靠的平行语料库。研究者常利用此数据集训练序列到序列模型,旨在从源代码的语法与语义特征中自动生成人类可读的注释,从而验证模型对代码逻辑的深层理解能力。这一场景不仅是自然语言处理与软件工程交叉研究的经典基准,也为评估模型在结构化文本与自由文本之间的映射性能提供了标准平台。
解决学术问题
该数据集的核心价值在于解决了代码注释自动生成这一长期困扰学术界的难题。传统上,软件文档的编写依赖人工,耗时且易出错,而semeru/code-text-python通过提供大规模、多来源的真实代码-注释对,使得研究者能够系统性地探索如何从抽象语法树、代码令牌序列等特征中提取语义信息,并转化为流畅的英文描述。它推动了神经机器翻译、注意力机制以及预训练语言模型在代码理解领域的应用,显著提升了注释生成的质量与鲁棒性,为后续的代码检索、程序修复等下游任务奠定了数据基础。
实际应用
在实际工程中,该数据集训练出的模型可直接嵌入集成开发环境或代码审查工具,为开发者提供实时代码注释建议,降低文档编写负担。例如,在开源项目维护中,模型能自动为新增函数生成初步描述,加速团队协作;在教育培训场景下,它可辅助学生理解复杂算法的实现逻辑。此外,基于该数据集的系统还被用于代码库的自动化文档生成,提升代码可读性与可维护性,尤其适用于大型遗留系统中缺失注释的代码模块,显著减少人工回溯分析的时间成本。
数据集最近研究
最新研究方向
在代码智能领域,semeru/code-text-python数据集作为CodeSearchNet的衍生版本,正推动着代码到自然语言生成的前沿探索。当前研究聚焦于利用大规模Python代码-注释对,结合TreeSitter解析器提取的语法结构,训练深度学习模型以生成高质量的函数级文档注释。该数据集在CodeXGLUE基准中占据关键位置,其过滤策略(如剔除解析失败或非英文注释的样本)确保了数据质量,为评估模型在语义理解与代码注释生成上的表现提供了标准化平台。随着预训练语言模型(如CodeBERT、GPT-Code)的兴起,该数据集被广泛用于微调与零样本学习实验,显著提升了代码片段与人类意图之间的对齐能力。这一方向不仅加速了代码可读性研究,更在自动化软件文档撰写、开发者协作效率提升等实际场景中展现出深远影响,成为连接编程语言与自然语言处理的重要桥梁。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务