
-
生物通官微
陪你抓住生命科技
跳动的脉搏
OpCodeBERT:一种利用BERT和操作码(Opcode)进行Python代码表示学习的方法
《IEEE Transactions on Software Engineering》:OpCodeBERT: A Method for Python Code Representation Learning by BERT With Opcode
【字体: 大 中 小 】 时间:2025年11月21日 来源:IEEE Transactions on Software Engineering 5.6
编辑推荐:
编程语言预训练模型通过中间代码(如Python opcodes)实现代码表示学习,OpCodeBERT首次利用opcodes编码执行逻辑、注释和源代码,结合两阶段掩码语言模型和多模态对比学习进行预训练,实验验证其在代码搜索、克隆检测等任务中效果优异。
像ELMo [1]、GPT [2]和BERT [3]这样的预训练模型在广泛的自然语言处理(NLP)任务中显著提升了性能。这些模型首先在庞大的未标记文本数据集上进行训练,以提取丰富的语义信息,然后在特定的下游任务上进行微调,从而实现了性能的大幅提升。它们在NLP领域的成功也推动了编程语言预训练模型的发展。例如,现有的预训练模型[4]、[5]、[6]、[7]、[8]、[9]大多将源代码建模为令牌序列。GraphCodeBERT [11]利用数据流来增强代码表示,而UniXcoder [10]则将AST扁平化为序列,以支持代码搜索、代码克隆检测、代码摘要等任务。然而,迄今为止,还没有研究专门探讨使用中间代码(如Python的操作码)来进行代码表示。
生物通微信公众号
知名企业招聘