利索能及
我要发布
收藏
专利号: 2021100388727
申请人: 山东师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.基于多尺度AST和特征融合的代码摘要生成方法,其特征是,包括:获取目标代码;

针对目标代码,构建抽象语法树AST;

针对抽象语法树AST提取整个抽象语法树AST的节点嵌入向量;同时,针对抽象语法树AST分别提取每个节点的特征向量;

将整个抽象语法树AST的节点嵌入向量和每个节点的特征向量,输入到解码器中,输出生成的代码摘要。

2.如权利要求1所述的基于多尺度AST和特征融合的代码摘要生成方法,其特征是,针对抽象语法树AST提取整个抽象语法树AST的节点嵌入向量;具体步骤包括:首先,针对抽象语法树AST,提取AST每个节点的词向量;

其次,对AST所有节点,进行最大池化操作,得到整个抽象语法树AST的节点嵌入向量。

3.如权利要求2所述的基于多尺度AST和特征融合的代码摘要生成方法,其特征是,所述针对抽象语法树AST,提取AST每个节点的词向量;具体步骤包括:针对抽象语法树AST,采用word2vec提取AST每个节点的词向量。

4.如权利要求2所述的基于多尺度AST和特征融合的代码摘要生成方法,其特征是,所述对AST所有节点,进行最大池化操作,得到整个抽象语法树AST的节点嵌入向量;具体是采用最大池化层来实现最大池化操作。

5.如权利要求1所述的基于多尺度AST和特征融合的代码摘要生成方法,其特征是,针对抽象语法树AST分别提取每个节点的特征向量;具体步骤包括:针对抽象语法树AST,生成初始邻接矩阵;

对初始邻接矩阵进行尺度点乘处理,得到二次幂邻接矩阵;

对初始邻接矩阵进行尺度点乘处理,得到三次幂邻接矩阵;

针对抽象语法树AST的每个节点,进行初始化向量表示,得到每个节点的特征矩阵;

对初始邻接矩阵和每个节点的特征矩阵,进行特征提取,得到每个节点的初始特征向量矩阵;

对二次幂邻接矩阵和每个节点的特征矩阵,进行特征提取,得到每个节点的二次幂特征向量矩阵;

对三次幂邻接矩阵和每个节点的特征矩阵,进行特征提取,得到每个节点的三次幂特征向量矩阵;

对每个节点的初始特征向量矩阵、二次幂特征向量矩阵和三次幂特征向量矩阵进行特征融合,得到每个节点的特征向量矩阵;

对每个节点的特征向量矩阵进行转置,得到每个节点的特征向量。

6.如权利要求1所述的基于多尺度AST和特征融合的代码摘要生成方法,其特征是,将整个抽象语法树AST的节点嵌入向量和每个AST节点的特征向量,输入到解码器中,输出生成的代码摘要;具体步骤包括:

采用注意力机制对每个AST节点的特征向量进行分配权重;

将整个抽象语法树AST的节点嵌入向量与分配权重后的每个AST节点的特征向量进行融合,得到融合向量;

将融合向量输入到训练后的GRU解码器单元中,输出生成的代码摘要。

7.如权利要求6所述的基于多尺度AST和特征融合的代码摘要生成方法,其特征是,所述训练后的GRU解码器单元的训练步骤包括:构建训练集,所述训练集包括:已知代码摘要和已知代码摘要对应的代码;

对已知代码摘要对应的代码进行预处理,得到整个抽象语法树AST的节点嵌入向量与分配权重后的每个AST节点的特征向量;

对已知代码摘要进行预处理,得到已知代码摘要的向量序列;

将已知代码整个抽象语法树AST的节点嵌入向量与分配权重后的每个AST节点的特征向量作为GRU解码器单元的输入值,将已知代码摘要的向量序列作为GRU解码器单元的输出值,对GRU解码器单元进行训练;得到训练后的GRU解码器单元。

8.基于多尺度AST和特征融合的代码摘要生成系统,其特征是,包括:获取模块,其被配置为:获取目标代码;

抽象语法树构建模块,其被配置为:针对目标代码,构建抽象语法树AST;

向量提取模块,其被配置为:针对抽象语法树AST提取整个抽象语法树AST的节点嵌入向量;同时,针对抽象语法树AST分别提取每个节点的特征向量;

代码摘要生成模块,其被配置为:将整个抽象语法树AST的节点嵌入向量和每个节点的特征向量,输入到解码器中,输出生成的代码摘要。

9.一种电子设备,其特征是,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述权利要求1‑7任一项所述的方法。

10.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1‑7任一项所述的方法。