当前位置: 首页 > 专利查询>南通大学专利>正文

一种基于数据增强和语义感知的Bash代码注释自动生成方法技术

技术编号:37859094 阅读:28 留言:0更新日期:2023-06-15 20:49
本发明专利技术提供了一种基于数据增强和语义感知的Bash代码注释自动生成方法,属于计算机领域。解决了Bash注释生成任务中低资源和不能有效利用BERT模型输出的所有特征信息的问题。其技术方案为:包括以下步骤:S1:在模型嵌入层使用NP

【技术实现步骤摘要】
一种基于数据增强和语义感知的Bash代码注释自动生成方法


[0001]本专利技术涉及计算机
,尤其涉及一种基于数据增强和语义感知的Bash代码注释自动生成方法。

技术介绍

[0002]Shell是开发人员和Linux操作系统之间进行交互的接口。当前Linux操作系统支持不同类型的shell,其中Bash是Linux默认的shell命令语言,并且在程序开发过程中应用较为广泛。和传统的编程语言C语言、Java语言、Python语言等相比,Bash语言的使用场景较少,但是Bash语言在Linux系统的开发和维护过程中的作用仍然不可忽视。除此之外,Bash语言还具有应用领域广泛以及语言灵活等特点。
[0003]对于不熟悉Bash语言的开发人员来说,使用Bash语言在完成开发和维护任务时仍具有一定困难。截止到目前为止,在开发人员问答网站Stack Overflow上共有90,798条与“shell”关键词相关的问答帖子,有151,556条与“bash”关键词相关的问答帖子,可以看出对于Bash语言不熟悉的开发人员来说,在理解Bash代码的时本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于数据增强和语义感知的Bash代码注释自动生成方法,其特征在于,包括以下步骤:S1、将NL2Bash研究和NLC2CMD竞赛共享的语料库合并去重,最终构建了一个包含10,592个样本的高质量语料库,设定语料库的格式为<Bash代码段,英文描述>;S2、对构建的语料库随机划分成训练集、验证集和测试集;S3、构建预训练模型CodeBERT和NP

GD对抗训练方法;S4、使用CodeBERT生成词嵌入E1,并沿着损失函数上升的方向在Embedding层使用NP

GD对抗方法添加扰动,生成一系列对抗例子E2;S5、使用所述步骤S3得到的词嵌入E1和对抗例子E2对预训练模型CodeBERT继续微调,输出12层表征信息CLS
i
;S6、使用LSTM+Attention构建语义感知层,输出融合向量h;S7、使用Transformer解码器解码所述步骤S6得到的融合向量h,输出相应Bash代码注释。2.根据权利要求1所述的基于数据增强和语义感知的Bash代码注释自动生成方法,其特征在于,所述步骤S1包括如下步骤:S11:将NL2Bash研究和NLC2CMD竞赛共享的语料库合并;S12:将文件名、文件路径和URL信息用File、Path和URL代替;S13:将处理后的语料库去重。3.根据权利要求1所述的基于数据增强和语义感知的Bash代码注释自动生成方法,其特征在于,所述步骤S2中,将不中S1得到的语料库按照80%:10%:10%的比例随机划分为训练集、测试集和验证集。4.根据权利要求1所述的基于数据增强和语义感知的Bash代码注...

【专利技术属性】
技术研发人员:鞠小林沈逸恒陆煜榕陈翔沈昊
申请(专利权)人:南通大学
类型:发明
国别省市:

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

1