[发明专利]一种基于Transformer的Python伪代码自动生成方法在审
申请号: | 202110134579.0 | 申请日: | 2021-01-29 |
公开(公告)号: | CN112947930A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 陈翔;刘珂;杨光;陈晓红;于池 | 申请(专利权)人: | 南通大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06N3/04;G06N3/08 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 朱小兵 |
地址: | 226019 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 transformer python 代码 自动 生成 方法 | ||
本发明提供了一种基于Transformer的Python伪代码自动生成方法,包括以下步骤:S1、在Github上下载Python源代码和对应的伪代码以构建初始语料库,并对该语料库执行一系列预处理操作得到语料库;S2、将语料库分成训练集、验证集,训练集用于构建并训练模型,验证集用于进行模型优化;S3、基于上述构建的语料库,对构建的基于Transformer的CNN模型进行训练,利用结合位置编码方法以及注意力机制attention进行优化,得到伪代码自动生成模型。本发明的有益效果为:该方法可以帮助开发人员自动快速地生成具有较强可读性的伪代码,生成的伪代码准确地描述代码的实现功能和具体实现步骤。
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于Transformer的Python伪代码自动生成方法。
背景技术
用自然语言编写的伪代码有助于新手开发人员理解程序,因为这些开发人员可能不熟悉编程语言的语法和企业项目的领域知识。此外,在算法教科书中,由于伪代码比源代码具有更高的可读性,因此通常使用伪代码来介绍问题的解决方案。然后开发人员可以根据伪代码的描述快速编写源代码。然而,许多项目的大部分源代码都没有对应的伪代码。这是因为编写伪代码既耗时又费力,如果可以自动生成伪代码,开发人员可以大大减少相应的工作量。
发明内容
本发明的目的在于提供一种基于Transformer的Python伪代码自动生成方法,解决现有技术中在软件开发和维护过程中因缺少伪代码而造成的程序可读性差、可理解性差、软件开发和维护成本增加的问题;实现了伪代码生成的自动化,生成简洁又准确的伪代码,提高了代码的可读性和可理解性,降低了代码开发和维护成本,提高代码开发和维护效率,为开发人员理解代码做出贡献。
本发明是通过如下措施实现的:一种基于Transformer的Python伪代码自动生成方法,其中,包括以下步骤:
S1、在Github上下载Python源代码和对应的伪代码以构建初始语料库,为了缓解OOV(Out-of-Vocabulary)问题,并对该语料库执行一系列预处理操作得到语料库;
S2、将语料库分成训练集、验证集,训练集用于构建并训练模型,验证集用于进行模型优化;
S3、基于上述构建的语料库,对构建的基于Transformer的CNN模型进行训练,利用结合位置编码方法以及注意力机制attention进行优化,得到伪代码自动生成模型:
所述伪代码自动生成模型的参数设置如下:
所述伪代码自动生成模型的深度(即隐藏层的层数)设置为2层;
所述伪代码自动生成模型的宽度(即每层隐藏层包含的神经元数量)设置为256;
所述伪代码自动生成模型的学习率设置为0.001;
所述伪代码自动生成模型的Dropout概率设置为0.25;
所述伪代码自动生成模型的kernel_size设置为3;
所述伪代码自动生成模型的scale设置为
所述伪代码自动生成模型的batch_size设置为12;
所述伪代码自动生成模型的beam_size设置为3。
进一步地,所述步骤S1中对数据库进行预处理时,包括如下步骤:
S101、将源代码中的所有标识符转换成小写;
S102、使用NUM标记替换代码中的特定数字,用STR标记替换代码中的特定字符串;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110134579.0/2.html,转载请声明来源钻瓜专利网。
- 基于Transformer+LSTM神经网络模型的商品销量预测方法及装置
- 一种基于Transformer模型自然场景文字识别方法
- 一种深度Transformer级联神经网络模型压缩算法
- 点云分割方法、系统、介质、计算机设备、终端及应用
- 基于Transformer的中文智能对话方法
- 一种基于改进Transformer模型的飞行器故障诊断方法和系统
- 一种基于Transformer模型的机器翻译模型优化方法
- 基于Transformer和增强交互型MPNN神经网络的小分子表示学习方法
- 基于U-Transformer多层次特征重构的异常检测方法及系统
- 基于EfficientDet和Transformer的航空图像中的飞机检测方法