1.代码摘要生成方法,其特征是,包括:将获取的目标代码解析为抽象语法树,对抽象语法树的每个节点嵌入层次信息;基于嵌入层次信息的抽象语法树的节点,得到每个节点的词向量;将抽象语法树的邻接矩阵和每个节点的词向量输入到训练后的图卷积神经网络中,得到每个节点的特征向量;
将获取的目标代码处理为标记序列,将所述标记序列输入到训练后的双向门控循环单元中,得到每个标记对应的输出向量;
将所有节点的特征向量与标记序列对应的输出向量进行融合,将融合后的向量输入到训练后的transformer模型中,得到生成的代码摘要。
2.如权利要求1所述的代码摘要生成方法,其特征是,将获取的目标代码解析为抽象语法树;具体包括:
使用JDT编译器,将获取的目标代码解析为抽象语法树。
3.如权利要求1所述的代码摘要生成方法,其特征是,对抽象语法树的每个节点嵌入层次信息;具体包括:
对抽象语法树,采用广度优先搜索遍历的方式,为每层节点增加一个层数标记,使得在节点进行嵌入的时候包含层次信息。
4.如权利要求1所述的代码摘要生成方法,其特征是,基于嵌入层次信息的抽象语法树的节点,得到每个节点的词向量;具体包括:对嵌入层次信息的抽象语法树的节点,使用word embedding词嵌入的方式进行处理,得到每个节点的词向量。
5.如权利要求1所述的代码摘要生成方法,其特征是,将获取的目标代码处理为标记序列;具体包括:
将获取的目标代码进行分词操作,得到标记序列;
其中,标记序列,指的是由代码片段中包含的词、字符或者符号组成的一串序列。
6.如权利要求1所述的代码摘要生成方法,其特征是,将获取的目标代码处理为标记序列步骤之后,还包括:
将标记序列使用word embedding方式处理,得到每个标记的词向量(x1,x2,···,xt);其中,t表示标记序列的长度。
7.如权利要求1所述的代码摘要生成方法,其特征是,将融合后的向量输入到transformer模型中,transformer模型中的自注意力机制,对代码的不同部分施加不同的权重。
8.代码摘要生成系统,其特征是,包括:节点特征向量提取模块,其被配置为:将获取的目标代码解析为抽象语法树,对抽象语法树的每个节点嵌入层次信息;基于嵌入层次信息的抽象语法树的节点,得到每个节点的词向量;将抽象语法树的邻接矩阵和每个节点的词向量输入到训练后的图卷积神经网络中,得到每个节点的特征向量;
序列输出向量获取模块,其被配置为:将获取的目标代码处理为标记序列,将所述标记序列输入到训练后的双向门控循环单元中,得到每个标记对应的输出向量;
代码摘要生成模块,其被配置为:将所有节点的特征向量与标记序列对应的输出向量进行融合,将融合后的向量输入到训练后的transformer模型中,得到生成的代码摘要。
9.一种电子设备,其特征是,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述权利要求1‑7任一项所述的方法。
10.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1‑7任一项所述的方法。