[發(fā)明專利]基于聯(lián)邦學(xué)習(xí)的代碼注釋生成方法、系統(tǒng)及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 202011355708.0 | 申請(qǐng)日: | 2020-11-27 |
| 公開(公告)號(hào): | CN112463161B | 公開(公告)日: | 2023-07-28 |
| 發(fā)明(設(shè)計(jì))人: | 王健宗;李澤遠(yuǎn);何安珣 | 申請(qǐng)(專利權(quán))人: | 平安科技(深圳)有限公司 |
| 主分類號(hào): | G06F8/41 | 分類號(hào): | G06F8/41;G06N20/20 |
| 代理公司: | 北京鴻元知識(shí)產(chǎn)權(quán)代理有限公司 11327 | 代理人: | 袁文婷;張娓娓 |
| 地址: | 518033 廣東省深圳市福田區(qū)福*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 聯(lián)邦 學(xué)習(xí) 代碼 注釋 生成 方法 系統(tǒng) 裝置 | ||
本發(fā)明涉及人工智能,提供一種基于聯(lián)邦學(xué)習(xí)的代碼注釋生成方法,包括:生成初始參數(shù)集,并將初始參數(shù)集發(fā)送至預(yù)設(shè)的客戶端;通過(guò)各客戶端上的預(yù)設(shè)樣本數(shù)據(jù)集對(duì)其相應(yīng)的代碼注釋生成模型進(jìn)行初步訓(xùn)練,以得到各代碼注釋生成模型的優(yōu)化參數(shù)集;將各客戶端的模型優(yōu)化參數(shù)集發(fā)送至預(yù)設(shè)服務(wù)器,并基于預(yù)設(shè)服務(wù)器對(duì)接收到的優(yōu)化參數(shù)集進(jìn)行聚合,得到聚合優(yōu)化參數(shù)集;將聚合優(yōu)化參數(shù)集發(fā)送至各客戶端,并基于聚合優(yōu)化參數(shù)集對(duì)各代碼注釋生成模型進(jìn)行再次訓(xùn)練,得到代碼注釋生成新模型;基于代碼注釋生成新模型對(duì)各客戶端的待注釋代碼進(jìn)行代碼注釋。本發(fā)明提供技術(shù)方案既能夠解決現(xiàn)有代碼注釋自動(dòng)生成方法滿足特定公司或組織的需要的問(wèn)題。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)編譯技術(shù)領(lǐng)域,尤其涉及一種基于聯(lián)邦學(xué)習(xí)的代碼注釋生成方法、系統(tǒng)、裝置及存儲(chǔ)介質(zhì)。
背景技術(shù)
在計(jì)算機(jī)領(lǐng)域,軟件維護(hù)過(guò)程當(dāng)中,開發(fā)者需要花費(fèi)大量時(shí)間去理解源代碼。代碼的注釋是幫助開發(fā)者理解源代碼的重要組成部分。然而,在軟件實(shí)際維護(hù)過(guò)程中,由于代碼注釋質(zhì)量不高或缺失,通常開發(fā)者僅僅只能根據(jù)源代碼的內(nèi)容去推斷它的功能,這將導(dǎo)致軟件的維護(hù)效率大大降低。因此,越來(lái)越多的研究者開始探索如何自動(dòng)給源代碼生成注釋。
現(xiàn)有的關(guān)于代碼注釋自動(dòng)生成的方法已經(jīng)有很多,但是這些傳統(tǒng)的方法通常都是基于公開項(xiàng)目的源代碼進(jìn)行訓(xùn)練的,然而,這種基于開源代碼訓(xùn)練的模型可能不適用于某些公司或組織的內(nèi)部業(yè)務(wù)需求。
此外,對(duì)于某一公司或組織來(lái)說(shuō),他們的內(nèi)部數(shù)據(jù)量有限,無(wú)法僅用自己已有的數(shù)據(jù)單獨(dú)訓(xùn)練一個(gè)高效的模型;另外,由于源代碼是一個(gè)軟件公司或組織最重要、隱私的部分,是需要被嚴(yán)格保護(hù)起來(lái)的。
基于以上問(wèn)題,急需一個(gè)在各公司之間不暴露源代碼的前提下的高性能的代碼注釋生成方法。
發(fā)明內(nèi)容
本發(fā)明提供一種基于聯(lián)邦學(xué)習(xí)的代碼注釋生成方法、系統(tǒng)、電子裝置以及計(jì)算機(jī)存儲(chǔ)介質(zhì),其主要目的在于解決代碼注釋自動(dòng)生成方法通常只在開源項(xiàng)目的源代碼上進(jìn)行訓(xùn)練,以這樣的方式訓(xùn)練出來(lái)的模型不滿足特定公司或組織的需要的問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于聯(lián)邦學(xué)習(xí)的代碼注釋生成方法,該方法包括如下步驟:
基于預(yù)設(shè)服務(wù)器生成模型初始參數(shù)集,并將所述模型初始參數(shù)集發(fā)送至預(yù)設(shè)的至少兩個(gè)客戶端;其中,
所述預(yù)設(shè)服務(wù)器與所述客戶端構(gòu)成聯(lián)邦學(xué)習(xí)框架,所述預(yù)設(shè)服務(wù)器與各客戶端之間均可進(jìn)行雙向信息傳輸,并且各客戶端均配置有相應(yīng)的代碼注釋生成模型;
基于所述模型初始參數(shù)集,通過(guò)各客戶端上的預(yù)設(shè)樣本數(shù)據(jù)集對(duì)其相應(yīng)的代碼注釋生成模型進(jìn)行初步訓(xùn)練,以得到各代碼注釋生成模型的模型優(yōu)化參數(shù)集;
將各客戶端的所述模型優(yōu)化參數(shù)集發(fā)送至所述預(yù)設(shè)服務(wù)器,并基于所述預(yù)設(shè)服務(wù)器對(duì)接收到的模型優(yōu)化參數(shù)集進(jìn)行聚合,得到聚合優(yōu)化參數(shù)集;
將所述聚合優(yōu)化參數(shù)集發(fā)送至各客戶端,并基于所述聚合優(yōu)化參數(shù)集對(duì)各代碼注釋生成模型進(jìn)行再次訓(xùn)練,得到代碼注釋生成新模型;
基于所述代碼注釋生成新模型對(duì)各客戶端的待注釋代碼進(jìn)行代碼注釋。
優(yōu)選地,所述預(yù)設(shè)樣本數(shù)據(jù)集存儲(chǔ)在區(qū)塊鏈中,所述預(yù)設(shè)樣本數(shù)據(jù)集包括源代碼樣本序列和注釋單詞樣本序列;并且,通過(guò)各客戶端上的預(yù)設(shè)樣本數(shù)據(jù)集對(duì)其相應(yīng)的代碼注釋生成模型進(jìn)行初步訓(xùn)練的過(guò)程包括:
對(duì)所述源代碼樣本序列進(jìn)行編碼,以提取所述源代碼樣本序列中的詞匯特征序列;
對(duì)所述詞匯特征序列進(jìn)行譯碼,以通過(guò)模擬所述注釋單詞樣本序列生成注釋單詞目標(biāo)序列;其中,
在所述編碼和所述譯碼過(guò)程中,所述代碼注釋生成模型的模型參數(shù)得以優(yōu)化以生成所述模型優(yōu)化參數(shù)集。
另外,本發(fā)明還提供一種基于聯(lián)邦學(xué)習(xí)的代碼注釋生成系統(tǒng),所述系統(tǒng)包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于平安科技(深圳)有限公司,未經(jīng)平安科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011355708.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種Agent聯(lián)邦快速設(shè)計(jì)流程建模方法
- 基于聯(lián)邦模式的動(dòng)態(tài)產(chǎn)品協(xié)同開發(fā)平臺(tái)及方法
- 一種面向深空通信的數(shù)據(jù)傳輸速率控制方法
- 一種HLA聯(lián)邦成員的動(dòng)態(tài)部署分配方法
- 聯(lián)邦學(xué)習(xí)方法、系統(tǒng)、終端設(shè)備及存儲(chǔ)介質(zhì)
- 一種混合聯(lián)邦學(xué)習(xí)方法及架構(gòu)
- 聯(lián)邦學(xué)習(xí)的沙盒機(jī)制
- 聯(lián)邦模型參數(shù)確定方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種應(yīng)用于異構(gòu)計(jì)算設(shè)備的聯(lián)邦學(xué)習(xí)系統(tǒng)和方法
- 基于區(qū)塊鏈的聯(lián)邦建模方法及裝置
- 根據(jù)用戶學(xué)習(xí)效果動(dòng)態(tài)變化下載學(xué)習(xí)數(shù)據(jù)的系統(tǒng)及方法
- 用于智能個(gè)人化學(xué)習(xí)服務(wù)的方法
- 漸進(jìn)式學(xué)習(xí)管理方法及漸進(jìn)式學(xué)習(xí)系統(tǒng)
- 輔助學(xué)習(xí)的方法及裝置
- 基于人工智能的課程推薦方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 基于強(qiáng)化學(xué)習(xí)的自適應(yīng)移動(dòng)學(xué)習(xí)路徑生成方法
- 一種線上視頻學(xué)習(xí)系統(tǒng)
- 一種基于校園大數(shù)據(jù)的自適應(yīng)學(xué)習(xí)方法、裝置及設(shè)備
- 一種學(xué)習(xí)方案推薦方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)
- 游戲?qū)W習(xí)效果評(píng)測(cè)方法及系統(tǒng)
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)





