代码搜索模型的训练方法、代码搜索方法及设备技术

技术编号:41284516 阅读:17 留言:0更新日期:2024-05-11 09:33
本申请公开了一种代码搜索模型的训练方法、代码搜索方法及设备,训练方法获取包含多种代码语言的训练样本的训练数据批次;将各训练样本输入深度学习模型,通过深度学习模型确定各训练样本的特征向量对;基于确定的特征向量对和各训练样本的样本标签,对深度学习模型进行训练以得到代码搜索模型。本申请通过采用包含多种代码语言的训练数据批次来对深度学习模型进行训练以得到代码搜索模型,使得代码搜索模型不但可以学习到各代码语言的语法和语义特征,还可以将不同代码语言的语义特征进行隐式对齐,有效利用各代码语言的语义特征,提高了代码搜索模型在每种代码语言上的模型性能,避免了代码搜索模型在少数代码语言上模型性能不佳的问题。

【技术实现步骤摘要】

本申请涉及人工智能,特别涉及一种代码搜索模型的训练方法、代码搜索方法及设备


技术介绍

1、深度学习模型如bert系列(codebert、graphcodebert、unixcoder)等已经被广泛应用于代码搜索领域,用来处理代码理解任务。这些预训练模型通过在大规模代码库上的预训练,学习了丰富的代码表示,并在各种代码相关任务中表现出色。然而,这些模型在处理多种编程语言时普遍会受不同代码语言之间的数据分布不均衡的影响,使得深度学习模型在少数代码语言上的性能不佳。

2、因而现有技术还有待改进和提高。


技术实现思路

1、本申请要解决的技术问题在于,针对现有技术的不足,提供一种代码搜索模型的训练方法、代码搜索方法及设备。

2、为了解决上述技术问题,本申请第一方面提供了一种代码搜索模型的训练方法,其中,所述的代码搜索模型的训练方法具体包括:

3、获取训练数据批次,其中,所述训练数据批次包括多种代码语言的训练样本,每个训练样本均包括代码字段和功能查询描述字段;>

4、将所述训本文档来自技高网...

【技术保护点】

1.一种代码搜索模型的训练方法,其特征在于,所述的代码搜索模型的训练方法具体包括:

2.根据权利要求1所述的代码搜索模型的训练方法,其特征在于,所述的获取训练数据批次具体包括:

3.根据权利要求1所述的代码搜索模型的训练方法,其特征在于,所述基于确定的所有特征向量对,对所述深度学习模型进行训练以得到代码搜索模型具体包括:

4.根据权利要求3所述的代码搜索模型的训练方法,其特征在于,所述根据所有特征向量对构建相似度矩阵具体包括:

5.根据权利要求3所述的代码搜索模型的训练方法,其特征在于,所述基于所述相似度矩阵构建第一对比学习损失项具体包括:...

【技术特征摘要】

1.一种代码搜索模型的训练方法,其特征在于,所述的代码搜索模型的训练方法具体包括:

2.根据权利要求1所述的代码搜索模型的训练方法,其特征在于,所述的获取训练数据批次具体包括:

3.根据权利要求1所述的代码搜索模型的训练方法,其特征在于,所述基于确定的所有特征向量对,对所述深度学习模型进行训练以得到代码搜索模型具体包括:

4.根据权利要求3所述的代码搜索模型的训练方法,其特征在于,所述根据所有特征向量对构建相似度矩阵具体包括:

5.根据权利要求3所述的代码搜索模型的训练方法,其特征在于,所述基于所述相似度矩阵构建第一对比学习损失项具体包括:

6.根据权利要求5所述的代码搜索模型的训练方法,其特征在于,所述根据所述相似度矩阵,计算各训练样本对应的第二对比学习损失项具体包括:

7.根据权利要求1所述的代码搜索模型的训练方法,其特征在于,所述将所述训练数据批次中的各训练样本输入深度学习模型,通过深度学习模型确定各训练样本对应的特征向量对具体包括:

8.一种代码搜索方法,其特征在于,使用采用如权利要求1-...

【专利技术属性】
技术研发人员:林嘉怡谢育涛
申请(专利权)人:粤港澳大湾区数字经济研究院福田
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1