[发明专利]一种基于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、基于波束搜索算法,根据代码语义和代码特征为每行代码生成细粒度伪码。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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