[發明專利]一種基于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.szxzyx.cn/pat/books/202110134579.0/2.html,轉載請聲明來源鉆瓜專利網。
- 基于Transformer+LSTM神經網絡模型的商品銷量預測方法及裝置
- 一種基于Transformer模型自然場景文字識別方法
- 一種深度Transformer級聯神經網絡模型壓縮算法
- 點云分割方法、系統、介質、計算機設備、終端及應用
- 基于Transformer的中文智能對話方法
- 一種基于改進Transformer模型的飛行器故障診斷方法和系統
- 一種基于Transformer模型的機器翻譯模型優化方法
- 基于Transformer和增強交互型MPNN神經網絡的小分子表示學習方法
- 基于U-Transformer多層次特征重構的異常檢測方法及系統
- 基于EfficientDet和Transformer的航空圖像中的飛機檢測方法





