中文

基于语义保持变换的代码检索与摘要自监督对比学习

软件工程 2021-05-25 v8 人工智能 机器学习 编程语言

摘要

我们提出 Corder,一个用于源代码模型的自我监督对比学习框架。Corder 旨在缓解代码检索与代码摘要任务对标注数据的需求。Corder 的预训练模型可通过两种方式使用:(1) 它可生成代码的向量表示,应用于无标注数据的代码检索任务;(2) 它可用于仍可能需要标注数据的任务(如代码摘要)的微调过程。关键创新在于,我们通过对比学习目标训练源代码模型,使其识别相似与不相似的代码片段。为此,我们使用一组语义保持变换算子来生成句法多样但语义等价的代码片段。通过大量实验,我们表明由 Corder 预训练的码模型在代码到代码检索、文本到代码检索和代码到文本摘要任务上大幅优于其他基线。

关键词

引用

@article{arxiv.2009.02731,
  title  = {Self-Supervised Contrastive Learning for Code Retrieval and Summarization via Semantic-Preserving Transformations},
  author = {Nghi D. Q. Bui and Yijun Yu and Lingxiao Jiang},
  journal= {arXiv preprint arXiv:2009.02731},
  year   = {2021}
}

备注

Accepted at SIGIR 2021