five

code-search-net/code_search_net|代码检索数据集|自然语言处理数据集

收藏
hugging_face2024-01-18 更新2024-06-15 收录
代码检索
自然语言处理
下载链接:
https://hf-mirror.com/datasets/code-search-net/code_search_net
下载链接
链接失效反馈
资源简介:
CodeSearchNet corpus是一个包含200万对(注释,代码)的数据集,这些数据来自GitHub上的开源库。数据集支持多种编程语言,包括Go、Java、JavaScript、PHP、Python和Ruby。数据集的主要用途是支持CodeSearchNet挑战,探索使用自然语言进行代码检索的问题。数据集的结构包括代码函数及其文档,以及相关的元数据。数据集分为训练集、测试集和验证集。数据集的创建过程包括从GitHub收集数据、使用Treesitter进行标记化、过滤无文档的函数等步骤。

CodeSearchNet corpus是一个包含200万对(注释,代码)的数据集,这些数据来自GitHub上的开源库。数据集支持多种编程语言,包括Go、Java、JavaScript、PHP、Python和Ruby。数据集的主要用途是支持CodeSearchNet挑战,探索使用自然语言进行代码检索的问题。数据集的结构包括代码函数及其文档,以及相关的元数据。数据集分为训练集、测试集和验证集。数据集的创建过程包括从GitHub收集数据、使用Treesitter进行标记化、过滤无文档的函数等步骤。
提供机构:
code-search-net
原始信息汇总

CodeSearchNet 数据集概述

数据集描述

基本信息

  • 数据集名称: CodeSearchNet
  • 数据类型: 代码和文档对
  • 语言: 代码(多种编程语言)
  • 许可证: 其他
  • 多语言性: 多语言
  • 数据规模: 10K<n<100K, 100K<n<1M, 1M<n<10M
  • 源数据: 原始数据
  • 任务类别: 文本生成, 填充掩码
  • 任务ID: 语言建模, 掩码语言建模
  • PapersWithCode ID: codesearchnet
  • 配置名称: all, go, java, javascript, php, python, ruby

数据实例

一个数据点包含函数代码及其文档,以及函数的元数据,如仓库名称等。

数据字段

  • id: 任意数字
  • repository_name: GitHub仓库名称
  • func_path_in_repository: 仓库中文件的路径
  • func_name: 函数名称
  • whole_func_string: 函数代码 + 文档
  • language: 编程语言
  • func_code_string: 函数代码
  • func_code_tokens: 由Treesitter生成的代码标记
  • func_documentation_string: 函数文档
  • func_documentation_string_tokens: 由Treesitter生成的文档标记
  • split_name: 数据分割名称(train, test, valid)
  • func_code_url: GitHub上函数代码的URL

数据分割

  • 训练集:
    • all: 1880853个样本, 5850604083字节
    • java: 454451个样本, 1429272535字节
    • go: 317832个样本, 738153234字节
    • python: 412178个样本, 1559645310字节
    • javascript: 123889个样本, 480286523字节
    • ruby: 48791个样本, 110681715字节
    • php: 523712个样本, 1532564870字节
  • 测试集:
    • all: 100529个样本, 308626333字节
    • java: 26909个样本, 82377246字节
    • go: 14291个样本, 32286998字节
    • python: 22176个样本, 84342064字节
    • javascript: 6483个样本, 24056972字节
    • ruby: 2279个样本, 5359280字节
    • php: 28391个样本, 80203877字节
  • 验证集:
    • all: 89154个样本, 274564382字节
    • java: 15328个样本, 42358315字节
    • go: 14242个样本, 26888527字节
    • python: 23107个样本, 92154786字节
    • javascript: 8253个样本, 30168242字节
    • ruby: 2209个样本, 4830744字节
    • php: 26015个样本, 78163924字节

数据集大小

  • 下载大小: 5117370511字节
  • 数据集大小: 6433794798字节

数据集创建

数据收集和规范化

数据集从公开可用的非fork GitHub仓库收集,使用libraries.io识别至少被一个其他项目使用的项目,并按星标和fork数量排序。移除没有明确允许重新分发许可证的项目。使用Treesitter对所有Go、Java、JavaScript、Python、PHP和Ruby函数及其文档进行标记化。

数据过滤

移除没有文档的函数,截断文档到第一个完整段落,移除短于三个标记的文档和短于三行的函数实现,移除名称包含“test”的函数,移除构造函数和标准扩展方法,移除重复和近似重复的函数。

源语言生产者

开源贡献者生成了代码和文档,数据集是自动收集和预处理的。

AI搜集汇总
数据集介绍
main_image_url
构建方式
CodeSearchNet数据集的构建基于从公开的非分支GitHub仓库中收集的开源代码库。通过libraries.io筛选出至少被一个项目使用的项目,并根据星标和分叉数进行排序。随后,使用Treesitter解析器对Go、Java、JavaScript、Python、PHP和Ruby等编程语言的函数及其文档进行标记化处理。数据集经过多重过滤,包括去除无文档的函数、截断文档至首段、删除短于三行的函数实现、去除测试函数及构造函数等,最终形成代码与文档的配对数据集。
特点
CodeSearchNet数据集的显著特点在于其多语言支持,涵盖了Go、Java、JavaScript、PHP、Python和Ruby等多种编程语言。每个数据点包含函数代码、文档、元数据(如仓库名称、函数路径等),并且经过严格的预处理,确保数据的质量和一致性。此外,数据集的规模较大,包含数百万个代码与文档的配对,适用于多种自然语言处理任务,如代码检索和语言建模。
使用方法
CodeSearchNet数据集可用于训练和评估代码检索模型,支持自然语言与代码之间的语义匹配任务。用户可以通过HuggingFace的datasets库加载该数据集,并根据需要选择特定的编程语言配置。数据集提供了训练、测试和验证三个数据分割,用户可以根据任务需求选择合适的数据子集。此外,数据集的每个实例都包含详细的元数据,如函数在仓库中的路径和GitHub链接,便于进一步分析和使用。
背景与挑战
背景概述
CodeSearchNet数据集由Hamel Husain等人于2019年创建,旨在支持代码检索领域的研究。该数据集包含了从GitHub上公开的开源库中提取的200万对(注释,代码)样本,涵盖了Go、Java、JavaScript、PHP、Python和Ruby等多种编程语言。CodeSearchNet的核心研究问题是通过自然语言检索代码,推动了代码检索与自然语言处理技术的结合。该数据集的创建不仅为代码检索任务提供了丰富的资源,还通过CodeSearchNet挑战赛促进了相关领域的技术进步。
当前挑战
CodeSearchNet数据集在构建过程中面临了多个挑战。首先,数据集的构建需要从大量的开源代码库中筛选出符合条件的代码和注释对,这一过程涉及复杂的预处理和过滤步骤,如去除无注释的函数、短函数、测试函数等。其次,代码与注释之间的语义对齐问题也是一个重要的挑战,如何确保代码与注释之间的语义一致性是提升检索效果的关键。此外,数据集的多语言特性也增加了模型训练的复杂性,需要针对不同编程语言设计相应的处理方法。
常用场景
经典使用场景
CodeSearchNet数据集的经典使用场景主要集中在代码检索与自然语言处理领域。通过该数据集,研究者可以训练模型以实现自然语言查询与代码片段之间的语义匹配,从而支持代码搜索、代码生成以及代码文档自动生成等任务。此外,该数据集还可用于构建编程语言的预训练模型,提升代码理解和生成的准确性。
衍生相关工作
基于CodeSearchNet数据集,研究者们开展了多项相关工作。例如,有研究利用该数据集训练代码检索模型,提升代码搜索的准确性;还有研究通过该数据集进行编程语言的预训练,提升代码理解和生成的性能。此外,该数据集还激发了关于代码文档自动生成、代码补全等领域的研究,推动了代码智能化的进一步发展。
数据集最近研究
最新研究方向
在编程语言与自然语言处理的交叉领域,CodeSearchNet数据集的最新研究方向主要集中在代码检索与自然语言查询的语义匹配上。该数据集通过提供多语言的代码与文档对,支持了代码检索任务中的语言建模与掩码语言建模等前沿技术。研究者们正致力于开发更高效的模型,以实现自然语言查询与代码片段之间的精确匹配,从而提升代码搜索的准确性与用户体验。这一研究方向不仅推动了编程语言理解的技术进步,还为软件开发中的自动化工具提供了新的可能性,具有重要的学术与工业应用价值。
以上内容由AI搜集并总结生成
用户留言
有没有相关的论文或文献参考?
这个数据集是基于什么背景创建的?
数据集的作者是谁?
能帮我联系到这个数据集的作者吗?
这个数据集如何下载?
点击留言
数据主题
具身智能
数据集  4099个
机构  8个
大模型
数据集  439个
机构  10个
无人机
数据集  37个
机构  6个
指令微调
数据集  36个
机构  6个
蛋白质结构
数据集  50个
机构  8个
空间智能
数据集  21个
机构  5个
5,000+
优质数据集
54 个
任务类型
进入经典数据集
热门数据集

CACD

跨年龄名人数据集是用于跨年龄人脸识别和检索的数据集。它包含 2,000 位名人的 163,446 张图像。该数据集于 2014 年由马里兰大学计算机科学系发表,论文名为 cross-age Reference Coding for Age-invariant Face Recognition and Retrieval。

OpenDataLab 收录

中文人名语料库(Chinese-Names-Corpus)

本项目包含多个数据集,如中文常见人名、中文古代人名、中文姓氏等,数据大小从数千到数百万不等,语料来源广泛,经过数据清洗处理,适用于中文分词、人名识别等场景。

github 收录

Yahoo Finance Historical Data

该数据集包含来自Yahoo Finance的历史股票数据,涵盖了股票的开盘价、收盘价、最高价、最低价、成交量等信息。数据集的时间跨度从2000年1月至今,提供了全球多个市场的股票数据。

finance.yahoo.com 收录

ERIC (Education Resources Information Center)

ERIC (Education Resources Information Center) 是一个广泛的教育文献数据库,包含超过130万条记录,涵盖从1966年至今的教育研究、政策和实践。数据集内容包括教育相关的期刊文章、书籍、研究报告、会议论文、技术报告、政策文件等。

eric.ed.gov 收录

中国区域地面气象要素驱动数据集 v2.0(1951-2024)

中国区域地面气象要素驱动数据集(China Meteorological Forcing Data,以下简称 CMFD)是为支撑中国区域陆面、水文、生态等领域研究而研发的一套高精度、高分辨率、长时间序列数据产品。本页面发布的 CMFD 2.0 包含了近地面气温、气压、比湿、全风速、向下短波辐射通量、向下长波辐射通量、降水率等气象要素,时间分辨率为 3 小时,水平空间分辨率为 0.1°,时间长度为 74 年(1951~2024 年),覆盖了 70°E~140°E,15°N~55°N 空间范围内的陆地区域。CMFD 2.0 融合了欧洲中期天气预报中心 ERA5 再分析数据与气象台站观测数据,并在辐射、降水数据产品中集成了采用人工智能技术制作的 ISCCP-ITP-CNN 和 TPHiPr 数据产品,其数据精度较 CMFD 的上一代产品有显著提升。 CMFD 历经十余年的发展,其间发布了多个重要版本。2019 年发布的 CMFD 1.6 是完全采用传统数据融合技术制作的最后一个 CMFD 版本,而本次发布的 CMFD 2.0 则是 CMFD 转向人工智能技术制作的首个版本。此版本与 1.6 版具有相同的时空分辨率和基础变量集,但在其它诸多方面存在大幅改进。除集成了采用人工智能技术制作的辐射和降水数据外,在制作 CMFD 2.0 的过程中,研发团队尽可能采用单一来源的再分析数据作为输入并引入气象台站迁址信息,显著缓解了 CMFD 1.6 中因多源数据拼接和气象台站迁址而产生的虚假气候突变。同时,CMFD 2.0 数据的时间长度从 CMFD 1.6 的 40 年大幅扩展到了 74 年,并将继续向后延伸。CMFD 2.0 的网格空间范围虽然与 CMFD 1.6 相同,但其有效数据扩展到了中国之外,能够更好地支持跨境区域研究。为方便用户使用,CMFD 2.0 还在基础变量集之外提供了若干衍生变量,包括近地面相对湿度、雨雪分离降水产品等。此外,CMFD 2.0 摒弃了 CMFD 1.6 中通过 scale_factor 和 add_offset 参数将实型数据化为整型数据的压缩技术,转而直接将实型数据压缩存储于 NetCDF4 格式文件中,从而消除了用户使用数据时进行解压换算的困扰。 本数据集原定版本号为 1.7,但鉴于本数据集从输入数据到研制技术都较上一代数据产品有了大幅的改变,故将其版本号重新定义为 2.0。

国家青藏高原科学数据中心 收录