[发明专利]一种基于Transformer的Python伪代码自动生成方法在审
申请号: | 202110134579.0 | 申请日: | 2021-01-29 |
公开(公告)号: | CN112947930A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 陈翔;刘珂;杨光;陈晓红;于池 | 申请(专利权)人: | 南通大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06N3/04;G06N3/08 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 朱小兵 |
地址: | 226019 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 transformer python 代码 自动 生成 方法 | ||
1.一种基于Transformer的Python伪代码自动生成方法,其特征在于,包括以下步骤:
S1、在Github上下载Python源代码和对应的伪代码以构建初始语料库,并对该语料库执行一系列预处理操作得到语料库;
所述步骤S1中对数据库进行预处理时,包括如下步骤:
S101、将源代码中的所有标识符转换成小写;
S102、使用NUM标记替换代码中的特定数字,用STR标记替换代码中的特定字符串;
S103、根据python命名规则,使用‘_’作为分隔符来进一步拆分开发人员定义的标识符;
S2、将语料库分成训练集、验证集,训练集用于构建并训练模型,验证集用于进行模型优化;
S3、基于上述构建的语料库,对构建的基于Transformer的CNN模型进行训练,利用结合位置编码方法以及注意力机制attention进行优化,得到伪代码自动生成模型:
所述伪代码自动生成模型的参数设置如下:
所述伪代码自动生成模型的深度设置为2层;
所述伪代码自动生成模型的宽度设置为256;
所述伪代码自动生成模型的学习率设置为0.001;
所述伪代码自动生成模型的Dropout概率设置为0.25;
所述伪代码自动生成模型的kernel_size设置为3;
所述伪代码自动生成模型的scale设置为
所述伪代码自动生成模型的batch_size设置为12;
所述伪代码自动生成模型的beam_size设置为3。
2.根据权利要求1所述的基于Transformer的Python伪代码自动生成方法,其特征在于,所述步骤S3中使用卷积神经网络进行建模时,包括如下步骤:
S301、基于卷积神经网络使用代码特征提取器挖掘代码的深层特征表示;
S302、将代码特征提取器学习到的特征表示与Transformer编码器学习到的上下文向量进行融合得到向量X;
S303、将向量X输入到Transformer解码器中,通过多头注意力机制,利用残差连接和层归一化使矩阵运算维数一致,并将网络中的隐藏层归一化为标准正态分布;
S304、通过前馈层和线性映射层,使用激活函数对向量进行激活;
S305、基于波束搜索算法,根据代码语义和代码特征为每行代码生成细粒度伪码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110134579.0/1.html,转载请声明来源钻瓜专利网。
- 基于Transformer+LSTM神经网络模型的商品销量预测方法及装置
- 一种基于Transformer模型自然场景文字识别方法
- 一种深度Transformer级联神经网络模型压缩算法
- 点云分割方法、系统、介质、计算机设备、终端及应用
- 基于Transformer的中文智能对话方法
- 一种基于改进Transformer模型的飞行器故障诊断方法和系统
- 一种基于Transformer模型的机器翻译模型优化方法
- 基于Transformer和增强交互型MPNN神经网络的小分子表示学习方法
- 基于U-Transformer多层次特征重构的异常检测方法及系统
- 基于EfficientDet和Transformer的航空图像中的飞机检测方法