摘要
公开一种代码语义预训练方法及系统。该方法包括:对于初始样本,先将其解析为令牌序列和抽象语法树,然后以第一掩码遮挡令牌序列中的第一令牌、以高频词替换令牌序列中的第二令牌、以第二掩码遮挡抽象语法树的节点的三种操作中的至少一种进行操作,以构建任务样本;对于任务样本,采用第一编码方式和第二编码方式编码为第一特征向量和第二特征向量,并得到两者之间的对齐信息;将第一特征向量、第二特征向量和对齐信息输入给代码语义预训练网络,以执行三种任务;监测三种任务的任务损失及任务总损失,并据此优化网络中的参数和三种任务损失各自的权重。本申请实施例增强了预训练模型在理解代码语法结构和抽取语义信息方面的能力。