1.一种增强型代码注释自动生成方法,其特征在于,包括:
对获取的代码片段提取功能关键字,根据功能关键字组成的关键字向量获取代码片段的位置向量,采用预先构建的功能增强器,根据关键字向量和位置向量得到代码片段的功能向量序列;
将获取的代码片段的双向表示向量和结构向量进行合并,将合并结果与功能向量序列输入到编码器,得到中间向量;
获取目标注释的向量序列,并输入至解码器中,所述目标注释的向量序列分别与中间向量和功能向量序列进行多头注意力机制计算,以此构建序列到序列神经网络模型;
获取目标代码片段,根据序列到序列神经网络模型生成目标代码注释。
2.如权利要求1所述的一种增强型代码注释自动生成方法,其特征在于,所述位置向量为:对关键字向量进行位置编码,获取代码片段的位置向量;
或,所述功能向量序列为:将关键字向量与位置向量相加,将相加结果输入至功能增强器,得到代码片段的功能向量序列;
或,所述功能增强器包括:多头注意力机制、残差连接、归一化和前馈网络。
3.如权利要求1所述的一种增强型代码注释自动生成方法,其特征在于,所述结构向量为:通过结构编码算法获取代码片段的结构向量;
所述双向表示向量为:将代码片段输入至BERTC中,得到代码片段的双向表示向量。
4.如权利要求1所述的一种增强型代码注释自动生成方法,其特征在于,对所述合并结果与功能向量序列进行Hadamard积和归一化处理后,输入到编码器中。
5.如权利要求1所述的一种增强型代码注释自动生成方法,其特征在于,所述编码器包括:多头注意力机制、残差连接、归一化和前馈网络;
所述解码器包括:程序注意力机制、功能注意力机制和前馈网络。
6.如权利要求5所述的一种增强型代码注释自动生成方法,其特征在于,所述多头注意力机制计算包括:目标注释的向量序列与中间向量进行程序注意力机制计算,将得到的结果与功能向量序列进行功能注意力机制计算。
7.如权利要求1所述的一种增强型代码注释自动生成方法,其特征在于,所述序列到序列神经网络模型采用交叉熵损失函数进行训练。
8.一种增强型代码注释自动生成系统,其特征在于,包括:
第一预处理模块,用于对获取的代码片段提取功能关键字,根据功能关键字组成的关键字向量获取代码片段的位置向量,采用预先构建的功能增强器,根据关键字向量和位置向量得到代码片段的功能向量序列;
第二预处理模块,用于将获取的代码片段的双向表示向量和结构向量进行合并,将合并结果与功能向量序列输入到编码器,得到中间向量;
模型构建模块,用于获取目标注释的向量序列,并输入至解码器中,所述目标注释的向量序列分别与中间向量和功能向量序列进行多头注意力机制计算,以此构建序列到序列神经网络模型;
代码注释生成模块,用于获取目标代码片段,根据序列到序列神经网络模型生成目标代码注释。
9.一种电子设备,其特征在于,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-7任一项方法所述的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-7任一项方法所述的步骤。