GitHub释出了CodeSearchNet语料库以及CodeSearchNet挑战赛,以推动用自然语言搜索程序代码的技术发展。CodeSearchNet语料库是一个庞大的程序代码和自然语言批注数据集,让研究人员可以用来训练机器学习模型,并在CodeSearchNet挑战排行榜上竞争模型的精准度。
搜寻程序代码以重复使用、呼叫或是查看其他人撰写程序代码的方式,是开发者的日常之一,但是目前程序代码搜索引擎的表现,与网页搜索引擎还有一大段距离,程序代码搜索引擎还无法良好地理解用户想要搜寻的目标,而GitHub也提到,当他们使用机器学习技术改善程序代码搜寻时,发现目前没有标准来衡量改善结果的进展,不像是自然语言处理有GLUE基准,程序代码搜寻缺乏标准数据集来评估结果。因此GitHub与机器学习新创公司Weights & Biases合作,发布了一个大型的数据集,以帮助数据科学家训练模型,也推出CodeSearchNet挑战赛的评估环境与排行榜,同时还附加了几个用来展示目前技术水准的基准模型。
CodeSearchNet释出的语料库,来自GitHub自家平台的开源项目,他们收集大量以Go、Java、JavaScript、PHP、Python和Ruby程序语言撰写的函式数据集,以及其说明文件,官方使用解析器TreeSitter作为基础架构,并发布了数据预处理工作管线&