[发明专利]一种基于语义信息增强的Bash代码注释生成方法在审

专利信息
申请号: 202211585727.1 申请日: 2022-12-09
公开(公告)号: CN115794218A 公开(公告)日: 2023-03-14
发明(设计)人: 鞠小林;沈逸恒;陈翔;沈昊;陈森博;邵浩然 申请(专利权)人: 南通大学
主分类号: G06F8/73 分类号: G06F8/73;G06F40/166;G06N3/0442
代理公司: 南京经纬专利商标代理有限公司 32200 代理人: 张俊俊
地址: 226019 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 语义 信息 增强 bash 代码 注释 生成 方法
【权利要求书】:

1.一种基于语义信息增强的Bash代码注释生成方法,其特征在于,包括以下步骤:

S1、将NL2Bash研究中共享的语料库和NLC2CMD竞赛共享的语料库合并,再删除重复的样本,最终构建了一个包含10,592个样本的高质量数据集E,设定数据集的格式为代码,注释;

S2、对构建的数据集随机划分成训练集、验证集和测试集,同时构建预训练模型CodeBERT;

S3、使用CodeBERT生成词嵌入C1,并在Embedding层使用PGD对抗训练方法添加干扰,生成一系列对抗样本C2;

S4、在所述步骤S3得到的词嵌入C1和对抗样本C2上继续微调CodeBERT,输出12层表征信息CLSi,同时构建Bi-LSTM神经网络;

S5、使用由12个单元构成的Bi-LSTM神经网络聚合所述步骤S4得到的12层表征信息CLSi,输出12个隐向量hi

S6、使用注意力机制根据不同权重聚合所述步骤S6得到的12个隐向量hi,得到最终融合向量h;

S7、使用Transformer解码器对所述步骤S7得到的最终融合向量h进行解码并输出相应Bash代码注释。

2.根据权利要求1所述的基于信息增强的Bash代码注释生成方法,其特征在于,所述步骤S2具体包括如下步骤:

S21:对于步骤S1得到的数据集进行划分,按照80%:10%:10%的比例进行随机划分训练集、测试集和验证集;

S22:构建预训练模型CodeBERT。

3.根据权利要求1所述的基于信息增强的Bash代码注释生成方法,其特征在于,所述步骤S3具体包括如下步骤:

S31:对于给定的Bash代码段,根据大小写规则对其进行分割,得到输入序列;

S32:将序列输入到CodeBERT中,提取Embedding层得到的词嵌入并添加干扰,得到代码段的原词嵌入C1和对应的对抗样本C2。

4.根据权利要求1所述的基于信息增强的Bash代码注释生成方法,其特征在于,所述步骤S4包括具体包括如下步骤:

S41:CodeBERT继续在步骤S3得到的原词嵌入C1和对应的对抗样本C2上训练,提取输出中12层的隐藏状态CLSi

S42:构建由12个单元构成的Bi-LSTM神经网络。

5.根据权利要求1所述的基于信息增强的Bash代码注释生成方法,其特征在于,所述步骤S5将步骤S4中提取的12层的隐藏状态CLSi作为Bi-LSTM的输入,其最后输出12个隐向量hi

6.根据权利要求1所述的基于信息增强的Bash代码注释生成方法,其特征在于,所述步骤S6使用注意力机制根据不同权重聚合步骤S6得到的12个隐向量hi,得到最终融合特征向量h。

7.根据权利要求1所述的基于信息增强的Bash代码注释生成方法,其特征在于,所述步骤S7使用Transformer解码器对所述步骤S6得到的最终融合特征向量h进行解码并输出相应Bash代码注释。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211585727.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top