five

code-docstring-corpus

收藏
github2024-04-19 更新2024-05-31 收录
下载链接:
https://github.com/Avmb/code-docstring-corpus
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集包含预处理过的Python函数和docstrings,用于自动化代码文档(code2doc)和自动化代码生成(doc2code)任务。数据集包括多个分割,如训练、验证和测试集,以及一个仅包含代码的子集,用于支持代码到文档和文档到代码的转换任务。

This dataset comprises preprocessed Python functions and docstrings, designed for automated code documentation (code2doc) and automated code generation (doc2code) tasks. The dataset includes multiple splits such as training, validation, and test sets, along with a subset containing only code, to support both code-to-document and document-to-code transformation tasks.
创建时间:
2017-04-08
原始信息汇总

数据集概述

数据集名称

code-docstring-corpus

数据集内容

  • 主数据集:包含150370个函数声明、函数文档字符串和函数体的三元组。
  • 数据集分割
    • 训练集:109108个三元组
    • 验证集:2000个三元组
    • 测试集:2000个三元组
  • 附加数据集
    • code-only-corpus:161630个函数声明和函数体的二元组,带元数据。
    • backtranslations-corpus:使用神经机器翻译从code-only-corpus自动生成的文档字符串,用于数据增强。
    • nmt-outputs:基线神经机器翻译模型的测试和验证输出。
    • repo_split.parallel-corpusrepo_split.code-only-corpus:保持仓库一致性的训练/验证/测试分割。

数据集版本

  • 版本2:包含类声明、类方法、模块文档字符串和提交SHAs。

数据集用途

  • 自动化代码文档(code2doc)
  • 自动化代码生成(doc2code)

数据集来源

  • 数据集通过GitHub抓取工具从开源GitHub仓库收集,使用Bhoopchand等人(2016)的工具。

数据集处理

  • 预处理包括语法标准化、函数提取、注释移除和无关空白移除。
  • 未提取类及其方法。

基线结果

  • 使用Sennrich等人(2016)的子词单元化技术进一步分割数据。
  • 使用Nematus训练基线神经机器翻译模型,用于code2doc和doc2code任务。
  • 基线输出和BLEU分数可在nmt-outputs目录中找到。

引用信息

  • 若用于科学出版,请引用Miceli Barone和Sennrich(2017)的论文。
搜集汇总
数据集介绍
main_image_url
构建方式
该数据集通过从开源GitHub仓库中抓取Python代码,利用Bhoopchand等人(2016)开发的GitHub爬虫工具,进行数据收集。随后,对收集到的Python代码进行预处理,包括语法规范化、提取顶层函数、去除注释和无关的空白字符,并分离函数声明、文档字符串(若存在)和函数体。最终,构建了一个包含150370个三元组(函数声明、文档字符串、函数体)的并行语料库,并提供了多种数据集分割方式,以适应不同的任务需求。
使用方法
使用该数据集时,用户可以通过pip安装所需的依赖项,并利用提供的预处理脚本进行数据处理。数据集提供了多种分割方式,用户可以根据任务需求选择合适的分割方式进行训练、验证和测试。此外,数据集还提供了基线模型的输出结果,用户可以参考这些结果进行模型评估和比较。对于自动化代码文档生成和代码生成任务,数据集提供了专门的数据对,便于直接应用于相关模型训练。
背景与挑战
背景概述
code-docstring-corpus数据集由Miceli Barone和Sennrich于2017年创建,旨在支持自动化代码文档生成(code2doc)和自动化代码生成(doc2code)任务。该数据集通过从开源GitHub仓库中抓取Python函数及其对应的文档字符串构建而成,包含150370个函数声明、文档字符串和函数体的三元组。此外,数据集还提供了代码仅有的语料库和通过神经机器翻译生成的文档字符串语料库,以支持数据增强。该数据集的发布为代码文档生成和代码生成领域的研究提供了重要的资源,推动了相关技术的进步。
当前挑战
code-docstring-corpus数据集在构建过程中面临多项挑战。首先,从GitHub仓库中抓取代码并进行预处理,需确保代码语法的规范化,并去除无关的空白和注释,以保证数据质量。其次,为支持代码文档生成和代码生成任务,数据集需提供多种形式的语料库,如并行语料库、代码仅有的语料库和自动生成的文档字符串语料库,这增加了数据处理的复杂性。此外,神经机器翻译模型的引入虽提升了数据增强的效果,但也带来了模型训练和评估的挑战,如如何提高BLEU分数以确保生成文档字符串的准确性。
常用场景
经典使用场景
在自动化代码文档生成(code2doc)和自动化代码生成(doc2code)任务中,code-docstring-corpus数据集展现了其经典应用场景。该数据集通过提供函数声明、函数文档字符串和函数体的三元组,为机器学习模型提供了丰富的训练数据。这些数据被广泛用于训练神经机器翻译模型,以实现从代码到文档字符串的自动生成,或从文档字符串到代码的自动生成。
解决学术问题
code-docstring-corpus数据集解决了在自动化代码文档生成和代码生成领域中的关键学术问题。通过提供大规模的并行语料库,该数据集使得研究人员能够训练和评估高效的神经机器翻译模型,从而推动了代码自动化生成和文档自动生成技术的发展。其意义在于,它为代码理解和生成提供了标准化的数据集,促进了相关领域的研究进展。
实际应用
在实际应用中,code-docstring-corpus数据集被广泛用于开发自动化代码文档工具和代码生成工具。例如,开发者可以利用该数据集训练模型,自动为新编写的代码生成文档字符串,或根据需求生成相应的代码片段。这种应用不仅提高了开发效率,还减少了人为错误,特别是在大型项目和团队协作中,其价值尤为显著。
数据集最近研究
最新研究方向
在自动化代码文档生成与代码生成领域,code-docstring-corpus数据集的最新研究方向主要集中在提升模型的准确性和泛化能力。随着深度学习技术的进步,研究者们致力于通过改进神经机器翻译模型(如Nematus)来增强代码与文档字符串之间的映射关系。此外,数据增强技术如‘backtranslation’被广泛应用于生成合成文档字符串,以扩充训练数据集,从而提高模型在不同代码结构上的表现。同时,研究者们也在探索如何利用更复杂的模型架构和预训练语言模型来进一步提升代码生成和文档生成的质量,特别是在处理复杂的类和模块级别的文档时。这些研究不仅推动了自动化编程工具的发展,也为软件开发效率的提升提供了新的可能性。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作