[發(fā)明專利]一種代碼段注釋生成方法、系統(tǒng)及可讀存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 202110368963.7 | 申請日: | 2021-04-06 | 
| 公開(公告)號: | CN113065322B | 公開(公告)日: | 2022-02-08 | 
| 發(fā)明(設(shè)計)人: | 黃袁;黃少豪;陳湘萍;周曉聰;鄭子彬 | 申請(專利權(quán))人: | 中山大學 | 
| 主分類號: | G06F40/169 | 分類號: | G06F40/169;G06F8/41;G06F8/73;G06N3/04;G06N3/08 | 
| 代理公司: | 北京集佳知識產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 楊小紅 | 
| 地址: | 510275 *** | 國省代碼: | 廣東;44 | 
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 | 
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 代碼 注釋 生成 方法 系統(tǒng) 可讀 存儲 介質(zhì) | ||
1.一種代碼段注釋生成方法,其特征在于,包括:
獲取待注釋代碼段的代碼文本內(nèi)容和抽象語法樹;
在抽象語法樹中確定待注釋代碼段的外部依賴對應的子樹,并將外部依賴對應的子樹加入待注釋代碼段的子樹集合;
以子樹集合中各子樹的父節(jié)點作為連接點,形成擴展抽象語法樹;
基于代碼文本內(nèi)容和擴展抽象語法樹,生成待注釋代碼段對應的注釋,包括:
將訓練數(shù)據(jù)輸入Actor-Critic神經(jīng)網(wǎng)絡,Actor網(wǎng)絡輸出注釋序列,Critic網(wǎng)絡輸出各個階段的BLEU期望值,所述訓練數(shù)據(jù)包括代碼段的代碼文本序列、擴展抽象語法樹序列及參考注釋;
計算所述注釋序列與所述參考注釋的BLEU實際值,將所述BLEU實際值與Critic網(wǎng)絡輸出的各個階段BLEU期望值進行比較,根據(jù)比較結(jié)果調(diào)整Actor網(wǎng)絡和Critic網(wǎng)絡的參數(shù)對所述Actor-Critic神經(jīng)網(wǎng)絡進行更新。
2.根據(jù)權(quán)利要求1所述的代碼段注釋生成方法,其特征在于,所述在抽象語法樹中確定待注釋代碼段的外部依賴對應的子樹包括:
在抽象語法樹中確定待注釋代碼段所包含的所有變量名及變量名的作用范圍;
在抽象語法樹中定位變量名在作用范圍內(nèi)出現(xiàn)的所有位置,根據(jù)變量名出現(xiàn)的位置確定若干個子樹。
3.根據(jù)權(quán)利要求1所述的代碼段注釋生成方法,其特征在于,所述將訓練數(shù)據(jù)輸入Actor-Critic神經(jīng)網(wǎng)絡,Actor網(wǎng)絡輸出注釋序列,Critic網(wǎng)絡輸出各個階段的BLEU期望值包括:
所述神經(jīng)網(wǎng)絡內(nèi)的文本編碼器根據(jù)所述代碼文本序列得到第一序列編碼結(jié)果,第一注意力函數(shù)層根據(jù)所述第一序列編碼結(jié)果得到第一聚合向量;
所述神經(jīng)網(wǎng)絡內(nèi)的AST編碼器根據(jù)所述擴展抽象語法樹序列得到第二序列編碼結(jié)果,第二注意力函數(shù)層根據(jù)所述第二序列編碼結(jié)果得到第二聚合向量;
對所述第一聚合向量和第二聚合向量進行加權(quán)求和得到第三聚合向量作為解碼器的輸入;
基于所述第三聚合向量,所述Actor網(wǎng)絡輸出注釋序列,所述Critic網(wǎng)絡輸出各個階段的BLEU期望值。
4.根據(jù)權(quán)利要求3所述的代碼段注釋生成方法,其特征在于,所述第一序列編碼結(jié)果的獲取包括:
所述文本編碼器中的第一嵌入矩陣將所述代碼文本序列轉(zhuǎn)換為第一向量表示,所述文本編碼器中的第一編碼網(wǎng)絡根據(jù)所述第一向量表示得到所述第一序列編碼結(jié)果。
5.根據(jù)權(quán)利要求3所述的代碼段注釋生成方法,其特征在于,所述第二序列編碼結(jié)果的獲取包括:
所述AST編碼器中的第二嵌入矩陣分別將擴展抽象語法樹序列中的type字段和value字段轉(zhuǎn)換為詞向量,所述AST編碼器中的融合層根據(jù)type字段和value字段的詞向量得到所述第二序列編碼結(jié)果。
6.根據(jù)權(quán)利要求1所述的代碼段注釋生成方法,其特征在于,所述根據(jù)比較結(jié)果調(diào)整Actor網(wǎng)絡和Critic網(wǎng)絡的參數(shù)對所述Actor-Critic神經(jīng)網(wǎng)絡進行更新包括:
當所述BLEU實際值大于第t個階段的BLEU期望值時,調(diào)整Actor網(wǎng)絡的參數(shù)使得第t個階段Actor所選詞的選中概率提高,否則調(diào)整Actor網(wǎng)絡的參數(shù)使得第t個階段Actor所選詞的選中概率減小。
7.一種代碼段注釋生成系統(tǒng),其特征在于,包括存儲有計算機可執(zhí)行指令的存儲器和處理器,當所述計算機可執(zhí)行指令被所述處理器執(zhí)行時使得所述代碼段注釋生成系統(tǒng)執(zhí)行權(quán)利要求1-6任一項所述的代碼段注釋生成方法。
8.一種可讀存儲介質(zhì),存儲有計算機可執(zhí)行程序,其特征在于,當所述程序被執(zhí)行時可實現(xiàn)權(quán)利要求1-6任一項所述的代碼段注釋生成方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中山大學,未經(jīng)中山大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110368963.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





