Page 23 - 《软件学报》2024年第4期
P. 23
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2024,35(4):1601−1617 [doi: 10.13328/j.cnki.jos.007016] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
∗
基于多模态对比学习的代码表征增强预训练方法
杨宏宇 1,2,4 , 马建辉 1,2,4 , 侯 旻 1,3,4 , 沈双宏 1,3,4 , 陈恩红 1,3,4
1 (大数据分析与应用安徽省重点实验室(中国科学技术大学), 安徽 合肥 230027)
2 (中国科学技术大学 计算机科学与技术学院, 安徽 合肥 230027)
3 (中国科学技术大学 大数据学院, 安徽 合肥 230027)
4 (认知智能全国重点实验室, 安徽 合肥 230088)
通信作者: 马建辉, E-mail: jianhui@ustc.edu.cn
摘 要: 代码表征旨在融合源代码的特征, 以获取其语义向量, 在基于深度学习的代码智能中扮演着重要角色.
传统基于手工的代码表征依赖领域专家的标注, 繁重耗时, 且无法灵活地复用于特定下游任务, 这与绿色低碳的
发展理念极不相符. 因此, 近年来, 许多自监督学习的编程语言大规模预训练模型(如 CodeBERT)应运而生, 为获
取通用代码表征提供了有效途径. 这些模型通过预训练获得通用的代码表征, 然后在具体任务上进行微调, 取得
了显著成果. 但是, 要准确表示代码的语义信息, 需要融合所有抽象层次的特征(文本级、语义级、功能级和结构
级). 然而, 现有模型将编程语言仅视为类似于自然语言的普通文本序列, 忽略了它的功能级和结构级特征. 因此,
旨在进一步提高代码表征的准确性, 提出了基于多模态对比学习的代码表征增强的预训练模型(representation
enhanced contrastive multimodal pretraining, REcomp). REcomp 设计了新的语义级-结构级特征融合算法, 将它用于
序列化抽象语法树, 并通过多模态对比学习的方法将该复合特征与编程语言的文本级和功能级特征相融合, 以实
现更精准的语义建模. 最后, 在3个真实的公开数据集上进行了实验, 验证了REcomp在提高代码表征准确性方面
的有效性.
关键词: 代码表征; 预训练模型; 多模态; 对比学习
中图法分类号: TP18
中文引用格式: 杨宏宇, 马建辉, 侯旻, 沈双宏, 陈恩红. 基于多模态对比学习的代码表征增强预训练方法. 软件学报,
2024, 35(4): 1601–1617. http://www.jos.org.cn/1000-9825/7016.htm
英文引用格式: Yang HY, Ma JH, Hou M, Shen SH, Chen EH. Pre-training Method for Enhanced Code Representation Based on
Multimodal Contrastive Learning. Ruan Jian Xue Bao/Journal of Software, 2024, 35(4): 1601−1617 (in Chinese). http://www.jos.org.
cn/1000-9825/7016.htm
Pre-training Method for Enhanced Code Representation Based on Multimodal Contrastive
Learning
YANG Hong-Yu 1,2,4 , MA Jian-Hui 1,2,4 , HOU Min 1,3,4 , SHEN Shuang-Hong 1,3,4 , CHEN En-Hong 1,3,4
1 (Anhui Province Key Laboratory of Big Data Analysis and Application (University of Science and Technology of China), Hefei 230027,
China)
2 (School of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China)
3 (School of Data Science, University of Science and Technology of China, Hefei 230027, China)
4 (State Key Laboratory of Cognitive Intelligence, Hefei 230088, China)
Abstract: Code representation aims to extract the characteristics of source code to obtain its semantic embedding, playing a crucial role in
本文由“绿色低碳机器学习研究与应用”专题特约编辑封举富教授、俞扬教授、刘淇教授推荐.
收稿时间: 2023-05-15; 修改时间: 2023-07-07; 采用时间: 2023-08-24; jos 在线出版时间: 2023-09-11
CNKI 网络首发时间: 2023-11-28