Pre-trained models for programming languages have proven their significant values in various code-related tasks, such as code search, code clone detection, and code translation. Currently, most pre-trained models treat a code snippet as a sequence of tokens or only focus on the data flow between code identifiers. However, rich code syntax and hierarchy are ignored which can provide important structure information and semantic rules of codes to help enhance code representations. In addition, although the BERT-based code pre-trained models achieve high performance on many downstream tasks, the native derived sequence representations of BERT are proven to be of low-quality, it performs poorly on code matching and similarity tasks. To address these problems, we propose CLSEBERT, a Constrastive Learning Framework for Syntax Enhanced Code Pre-Trained Model, to deal with various code intelligence tasks. In the pre-training stage, we consider the code syntax and hierarchy contained in the Abstract Syntax Tree (AST) and leverage the constrastive learning to learn noise-invariant code representations. Besides the masked language modeling (MLM), we also introduce two novel pre-training objectives. One is to predict the edges between nodes in the abstract syntax tree, and the other is to predict the types of code tokens. Through extensive experiments on four code intelligence tasks, we successfully show the effectiveness of our proposed model.


翻译:预先培训的语言编程模式已经证明,在代码搜索、代码克隆检测和代码翻译等各种与代码有关的任务中,它们具有重要的价值。目前,大多数事先培训的模式将代码片段作为代号序列处理,或者只侧重于代码识别符之间的数据流。然而,丰富的代码语法和等级体系被忽视,而它们可以提供重要的结构信息和代码的语义规则,帮助加强代码表达。此外,尽管基于BERT的代码预培训模式在许多下游任务中取得了很高的绩效,但BERT的本地衍生序列表示证明质量低,在代码匹配和类似任务方面表现差。为了解决这些问题,我们建议CLSEBERT, 即“语法强化代码预译模式”的严格学习框架,用于处理各种代码智能任务。在培训前阶段,我们考虑“简易语法树”(AST)中包含的代码和排序模式,并运用“紧张学习”学习的代码演示。除了隐蔽语言模型(MLM)之外,我们还在代码匹配和类似任务方面表现得差。我们引入了两个新版本的节本前的代码。“谷前”的代码,其中的一个是成功的预测。我们从其他四级。“方向”的模型,要到其它的模型。

1
下载
关闭预览

相关内容

ACM/IEEE第23届模型驱动工程语言和系统国际会议,是模型驱动软件和系统工程的首要会议系列,由ACM-SIGSOFT和IEEE-TCSE支持组织。自1998年以来,模型涵盖了建模的各个方面,从语言和方法到工具和应用程序。模特的参加者来自不同的背景,包括研究人员、学者、工程师和工业专业人士。MODELS 2019是一个论坛,参与者可以围绕建模和模型驱动的软件和系统交流前沿研究成果和创新实践经验。今年的版本将为建模社区提供进一步推进建模基础的机会,并在网络物理系统、嵌入式系统、社会技术系统、云计算、大数据、机器学习、安全、开源等新兴领域提出建模的创新应用以及可持续性。 官网链接:http://www.modelsconference.org/
【google】监督对比学习,Supervised Contrastive Learning
专知会员服务
31+阅读 · 2020年4月23日
Multi-Task Learning的几篇综述文章
深度学习自然语言处理
15+阅读 · 2020年6月15日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
gan生成图像at 1024² 的 代码 论文
CreateAMind
4+阅读 · 2017年10月31日
Contrastive Representation Distillation
Arxiv
5+阅读 · 2019年10月23日
Learning by Abstraction: The Neural State Machine
Arxiv
6+阅读 · 2019年7月11日
VIP会员
相关VIP内容
【google】监督对比学习,Supervised Contrastive Learning
专知会员服务
31+阅读 · 2020年4月23日
相关资讯
Multi-Task Learning的几篇综述文章
深度学习自然语言处理
15+阅读 · 2020年6月15日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
gan生成图像at 1024² 的 代码 论文
CreateAMind
4+阅读 · 2017年10月31日
Top
微信扫码咨询专知VIP会员