Apr, 2022

CoCoSoDa: 代码搜索的有效对比学习

TL;DR本文提出了 CoCoSoDa 的方法,充分利用了对比学习进行代码搜索方面应用的两个关键因素:数据扩充和负样本。该方法使用软数据扩充技术生成正样本,使用动量机制生成一致的负样本表示,使用多模式的对比学习方法,既拉紧了代表代码 - 查询对的表示,又将不成对的代码片段和查询推开。对大型数据集进行的广泛实验表明,该方法的性能显著优于 14 个基线,并在平均 MRR 分数上分别超过 CodeBERT、GraphCodeBERT 和 UniXcoder 的 13.3%、10.5%和 5.9%。