multilingual-codesearch-hard-negatives
收藏Hugging Face2025-04-27 更新2025-04-28 收录
下载链接:
https://huggingface.co/datasets/Shuu12121/multilingual-codesearch-hard-negatives
下载链接
链接失效反馈官方服务:
资源简介:
这是一个为多语言代码搜索任务设计的数据集,包含了硬负样本的Triplet。数据集支持Python、Ruby、JavaScript、Java、Rust、Go和PHP等多种编程语言。每个样本由代码的自然语言描述、对应的正确代码片段和一个硬负样本代码片段组成。硬负样本是基于语义相似度精心挑选的,从而提供了更具挑战性的负样本。数据集适用于代码搜索、代码克隆检测和硬负样本挖掘任务。
创建时间:
2025-04-27
原始信息汇总
数据集概述:multilingual-codesearch-hard-negatives
数据集摘要
- 设计目的:用于多语言代码搜索任务的含硬负样本的三元组数据集
- 样本构成:
query_docstring:代码的自然语言描述positive_code:对应的正确代码片段hard_negative_code:高相似度但无关的代码片段similarity_score:查询与正样本代码的嵌入相似度分数
支持任务
- 代码搜索 (Code Search)
- 代码克隆检测 (Code Clone Detection)
- 硬负样本学习 (Hard Negative Mining)
支持语言
- Python
- Ruby
- JavaScript
- Java
- Rust
- Go
- PHP
数据集结构
数据字段
| 字段 | 类型 | 描述 |
|---|---|---|
| query_docstring | string | 函数/方法的自然语言说明 |
| positive_code | string | 正样本代码片段 |
| hard_negative_code | string | 硬负样本代码片段 |
| similarity_score | float64 | 查询与正样本的嵌入相似度分数 |
| query_repo | string | 查询代码的仓库名 |
| query_path | string | 查询代码的文件路径 |
| hn_repo | string | 硬负样本代码的仓库名 |
| hn_path | string | 硬负样本代码的文件路径 |
| hn_license | string | 硬负样本代码的许可证 |
| language | string | 编程语言 |
数据划分
| 语言 | 样本数 |
|---|---|
| Python | 320,000 |
| Ruby | 320,000 |
| JavaScript | 320,000 |
| Java | 320,000 |
| Rust | 320,000 |
| Go | 320,000 |
| PHP | 320,000 |
数据集创建
数据来源
- GitHub开源仓库
- 仅包含允许的许可证(MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause)
数据处理流程
- 通过GitHub API收集高评分仓库
- 提取函数/方法级别的自然语言描述和代码
- 使用
CodeSearch-ModernBERT-Crow-Plus生成嵌入并计算相似度 - 基于相似度选择正样本和硬负样本
许可证信息
- 数据集整体许可证:Apache License 2.0
- 单个代码样本附带原始仓库许可证信息(
hn_license字段)
附加信息
- 规模类别:1M~10M样本
- 标签:code-search, multilingual, hard-negative, embedding-learning, clone-detection
搜集汇总
数据集介绍

构建方式
在代码搜索领域,数据质量直接影响模型性能。该数据集通过系统化流程构建:首先从GitHub高星开源仓库提取函数级代码片段及对应docstring,严格筛选MIT/Apache等合规许可内容;随后采用CodeSearch-ModernBERT-Crow-Plus模型生成语义嵌入,基于向量相似度从TOP-5候选中选择最具迷惑性的硬负样本,相较传统TF-IDF方法更能反映语义层面的近似性。数据经过去重和噪声清洗,最终形成包含7种编程语言、各32万样本的平行语料库。
特点
作为多语言代码搜索基准数据集,其核心价值在于精心设计的硬负样本机制。每个样本包含自然语言查询、正例代码及经过语义相似度筛选的硬负例代码,并附带详细的元数据如仓库路径、许可证信息。特别值得注意的是,所有硬负例均来自与查询高度相似但功能无关的代码片段,这种基于深度表征的负例挖掘策略能有效提升模型区分细微语义差异的能力。数据集覆盖Python至PHP等主流语言,为跨语言代码理解研究提供标准化测试平台。
使用方法
该数据集主要服务于代码智能相关研究。使用时可通过HuggingFace接口加载特定语言子集,输入格式为包含查询文本、正负例代码的三元组。典型应用场景包括:训练基于对比学习的代码检索模型时,利用硬负例增强模型判别能力;评估跨语言代码克隆检测系统时,通过相似度分数量化性能;亦可提取预训练语料用于代码表征学习。需注意遵守原始代码的许可证约束,尤其商业用途前应核查hn_license字段的授权信息。
背景与挑战
背景概述
随着软件开发的全球化趋势日益显著,多语言代码搜索技术成为提升开发效率的关键工具。multilingual-codesearch-hard-negatives数据集由研究团队基于开源社区资源构建,专注于解决跨编程语言的代码检索难题。该数据集通过整合Python、Ruby、JavaScript等七种主流语言的代码片段与对应文档字符串,并创新性地引入基于CodeSearch-ModernBERT-Crow-Plus模型筛选的硬负样本,为语义级代码搜索研究提供了重要基准。其采用的嵌入相似度评估机制,突破了传统字符串匹配方法的局限性,显著推动了代码语义理解领域的发展。
当前挑战
构建多语言代码搜索系统面临双重挑战:在技术层面,不同编程语言的语法特性和编码风格差异导致统一的语义表示模型难以构建,需要解决跨语言语义对齐的核心问题;在数据层面,硬负样本的筛选过程依赖精确的嵌入表示,但代码片段的高维特征与文档字符串的自然语言描述之间存在语义鸿沟,增加了负样本质量控制的难度。此外,数据采集过程中需平衡各语言样本规模,同时确保开源许可证合规性,这对数据集的代表性和法律安全性提出了严格要求。
常用场景
经典使用场景
在跨语言代码检索领域,multilingual-codesearch-hard-negatives数据集通过精心构建的查询-正例-难负例三元组,为模型训练提供了高质量语义对比样本。其独特价值在于采用CodeSearch-ModernBERT-Crow-Plus模型筛选语义相近但功能迥异的难负例,显著提升了代码检索系统区分相似代码片段的能力,成为评估跨语言代码语义理解模型性能的基准数据集。
实际应用
在软件开发工具链中,该数据集支撑的模型可精准实现代码示例检索、API推荐和代码复用检测。企业级IDE集成此类技术后,能根据开发者自然语言描述实时推荐跨语言代码模板,显著提升多语言项目开发效率。其难负例机制尤其适用于代码抄袭检测场景,可识别经过变量重命名等混淆操作的相似代码。
衍生相关工作
基于该数据集衍生的CodeBERTa和GraphCodeBERT等预训练模型,在代码搜索任务中实现了SOTA性能。后续研究进一步扩展了其应用边界,如CodeCLR框架利用该数据集的难负例策略改进了对比学习效果,而CrossCode则探索了其在代码翻译任务中的迁移学习潜力。
以上内容由遇见数据集搜集并总结生成



