[發(fā)明專利]代碼搜索方法有效
| 申請?zhí)枺?/td> | 202210615089.7 | 申請日: | 2022-05-31 |
| 公開(公告)號: | CN115017294B | 公開(公告)日: | 2023-05-09 |
| 發(fā)明(設(shè)計(jì))人: | 蔡波;楊順 | 申請(專利權(quán))人: | 武漢大學(xué) |
| 主分類號: | G06F16/335 | 分類號: | G06F16/335;G06F16/338;G06F40/194;G06N3/0464;G06N3/08 |
| 代理公司: | 成都東恒知盛知識產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 51304 | 代理人: | 何健雄 |
| 地址: | 430072 湖*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 代碼 搜索 方法 | ||
1.代碼搜索方法,其特征在于:包括以下步驟:
一、輸入帶描述的代碼;
二、分別對代碼和描述進(jìn)行單獨(dú)的嵌入;
三、對代碼特征跟描述特征做交互計(jì)算得到一個(gè)細(xì)粒度相似矩陣,用構(gòu)建好的CNN網(wǎng)絡(luò)對矩陣進(jìn)行學(xué)習(xí);
步驟三中,首先計(jì)算代碼特征V和描述特征E之間的相似度,相似度sij衡量每個(gè)代碼特征對應(yīng)于每個(gè)描述特征:
sij表示第i個(gè)代碼特征和第j個(gè)描述特征之間的細(xì)粒度交互關(guān)系,即相似度,k表示代碼特征數(shù),n表示描述特征數(shù);
然后,使用細(xì)粒度匹配矩陣作為代碼-描述關(guān)系CNN網(wǎng)絡(luò)的輸入,使用多層CNN來捕獲代碼和描述之間的局部相關(guān)性和長期依賴關(guān)系;
CNN網(wǎng)絡(luò)中,引入四種不同的卷積核來擴(kuò)展區(qū)域和單詞的感知域;第一個(gè)卷積層用2個(gè)大小為1×1的內(nèi)核過濾n×k輸入;第二個(gè)卷積層具有2個(gè)大小為1×3的內(nèi)核;第三卷積層具有2個(gè)大小為3×1的內(nèi)核;第四個(gè)卷積層有2個(gè)大小為3×3的內(nèi)核;ReLU非線性應(yīng)用于每個(gè)卷積層的輸出;每層的操作情況如下:
St=RELU(Conv(St-1))
用一個(gè)1×1的卷積核對第三個(gè)卷積層的輸出進(jìn)行濾波,得到最終的矩陣S′;
接著,對每個(gè)描述構(gòu)造注意代碼級特征,對每個(gè)代碼特征構(gòu)造注意描述級特征,以測量代碼-描述相似度;
對于第i個(gè)代碼特征,在S′上使用逐列注意操作來計(jì)算每個(gè)描述特征到第i個(gè)代碼特征的權(quán)重;然后,通過描述特征表示的加權(quán)求和提取相應(yīng)的參與描述級向量:
其中,λ為softmax函數(shù)的逆溫度;同樣,通過對S′進(jìn)行行注意力操作得到第j個(gè)描述特征對應(yīng)的參與的代碼特征級向量:
四、分別為代碼和描述構(gòu)建全連接圖,通過一定的規(guī)則更新節(jié)點(diǎn)向量;
步驟四中,為每個(gè)代碼特征構(gòu)造一個(gè)無向全連接圖G1=(V1,E1);使用矩陣A來表示每個(gè)節(jié)點(diǎn)的相鄰矩陣,并添加自循環(huán);邊權(quán)值表示為矩陣Wa,表示節(jié)點(diǎn)之間的相互依賴關(guān)系:
利用所構(gòu)造的圖節(jié)點(diǎn)和邊,通過更新節(jié)點(diǎn)和邊來得到新的代碼特征表示:
同樣的,為每個(gè)描述特征構(gòu)造一個(gè)無向全連接圖G2=(V2,E2);使用矩陣B來表示每個(gè)節(jié)點(diǎn)的相鄰矩陣,并添加自循環(huán);邊權(quán)值表示為矩陣Wb,表示節(jié)點(diǎn)之間的相互依賴關(guān)系:
利用所構(gòu)造的圖節(jié)點(diǎn)和邊,通過更新節(jié)點(diǎn)和邊來得到新的描述特征表示:
五、對代碼和描述分別用注意力機(jī)制做加權(quán)求和操作;
步驟五中,每個(gè)代碼特征節(jié)點(diǎn)的權(quán)重計(jì)算如下:
其中Wa是代碼注意參數(shù)矩陣,ca是代碼計(jì)算的上下文向量:
利用注意力權(quán)值,計(jì)算最終代碼表示的加權(quán)平均值:
同樣的,應(yīng)用注意機(jī)制來學(xué)習(xí)每個(gè)描述節(jié)點(diǎn)的權(quán)重,計(jì)算方式如下:
其中,cb為查詢的上下文向量,計(jì)算方法為:
利用注意力權(quán)值,計(jì)算節(jié)點(diǎn)嵌入向量的加權(quán)平均值來表示整個(gè)描述:
六、預(yù)測每個(gè)候選代碼片段的分?jǐn)?shù),使用分?jǐn)?shù)對所有候選代碼片段進(jìn)行重新排序。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武漢大學(xué),未經(jīng)武漢大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210615089.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





