CodeSearchNet 挑战赛简介
CodeSearchNet 语言库和模型
我们从 GitHub 上的开源项目中收集了大量用 Go、Java、JavaScript、PHP、Python 和 Ruby 编写的函数及其相关文档数据集。我们使用基础设施进行这项工作,并且我们还发布了,供其他人使用机器学习评估训练代码的起点。虽然这些数据与代码搜索没有直接关系,但它将代码与相关的自然语言描述配置,适合这个任务模型。庞大的规模也使得基于现代架构应用的高容量模型成为可能。
CodeSearchNet 语言库
我们过去重建的 CodeSearchNet 语言库包含:
- 历史上 600 万种方法
- 其中200万份有相关文档(文档字符串、JavaDoc 等)
- 指示数据原始位置(例如仓库或行号)的元数据
CodeSearchNet 挑战
为了评估代码搜索模型,我们收集了一组初始代码搜索查询,并让程序员注释潜在结果的相关性。我们首先从 Bing 收集了具有高代码点击率的常见搜索查询,并将其与的查询相结合,得到了99个与代码相关的概念查询(即,我们删除了所有只是API文档查找的内容)。
然后,我们使用标准的安装和我们的核心模型从 CodeSearchNet Corpus 中获取每个查询的 10 个可能结果。最后,我们要求分析师、数据科学家和机器学习研究人员对结果与查询的相关性进行建议注释,范围从 0(“不相关”)到 3(“完全匹配”)。请参阅我们的,深入了解注释过程和数据。
其他
我们预计这个数据集除了代码搜索之外还有其他一个例子,把代码搜索作为一个可能的任务,该任务利用了语言自然和代码的学习表示。我们很期待看到社区接下来会构建什么。
特别感谢
如果没有微软研究团队和来自 GitHub 的核心贡献者(包括、、、和),CodeSearchNet 挑战赛就不可能实现。
我们也感谢社区中所有帮助完成这个项目的贡献者:
、、、、、、 AntonioND 、、、、、、。