基于预训练模型的代码分类研究

作者:梁瑶; 洪庆成; 王霞*; 谢春丽
来源:软件工程, 2023, 26(10): 32-35.
DOI:10.19644/j.cnki.issn2096-1472.2023.010.007

摘要

代码分类是软件开发与管理的基础工作,有利于代码的重用、理解、查找和维护。现有的有监督学习方法需要大量带标签数据作为训练样本,而数据的标注成本很高,针对这一问题,提出了基于预训练的代码分类方法。首先,对代码进行消除空白、去除低频符号等预处理工作;其次,采用一种基于BERT的预训练模型(CodeBERT)在无标注样本上提取代码的语法、语义和上下文语境等相关特征;最后,基于预训练模型在小样本上微调代码分类器。实验结果表明:该方法即使在较小的训练周期也获得了较好的实验结果,其F1值比文本卷积神经网络(Text-Convolutional Neural Networks, Text-CNN)方法提高了约12%。

全文