[發(fā)明專利]一種基于提示學(xué)習(xí)和數(shù)據(jù)增強(qiáng)的API補(bǔ)全方法在審
| 申請?zhí)枺?/td> | 202310445624.3 | 申請日: | 2023-04-24 |
| 公開(公告)號: | CN116483337A | 公開(公告)日: | 2023-07-25 |
| 發(fā)明(設(shè)計)人: | 陳翔;顧亞鋒;沈逸恒;楊少宇;黃一麟;于池 | 申請(專利權(quán))人: | 南通大學(xué) |
| 主分類號: | G06F8/33 | 分類號: | G06F8/33;G06F16/33;G06N3/0455;G06N3/0499;G06N3/047;G06N3/048;G06N3/094 |
| 代理公司: | 南京經(jīng)緯專利商標(biāo)代理有限公司 32200 | 代理人: | 張俊俊 |
| 地址: | 226000 江蘇省南通市崇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 提示 學(xué)習(xí) 數(shù)據(jù) 增強(qiáng) api 方法 | ||
本發(fā)明提供了一種基于提示學(xué)習(xí)和數(shù)據(jù)增強(qiáng)的API補(bǔ)全方法,屬于計算機(jī)領(lǐng)域。解決了基于生成技術(shù)的API推薦模型預(yù)測能力有限和用于API推薦的訓(xùn)練數(shù)據(jù)不足的問題。其技術(shù)方案為:包括以下步驟:S1:語料庫預(yù)處理并構(gòu)造提示前綴;S2:構(gòu)建預(yù)訓(xùn)練模型CodeT5和ATCom對抗訓(xùn)練方法;S3:在模型嵌入層使用ATCom,生成多組對抗樣本;S4:利用原語料庫和生成的對抗樣本微調(diào)CodeT5并生成完整的API。本發(fā)明的有益效果為:根據(jù)不完整的API前綴和提示信息進(jìn)行API補(bǔ)全,提高開發(fā)人員的效率和編程體驗,通過對抗樣本的訓(xùn)練,增強(qiáng)模型的魯棒性,提高模型的泛化能力,從而提高API補(bǔ)全的準(zhǔn)確性和穩(wěn)定性。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于提示學(xué)習(xí)和數(shù)據(jù)增強(qiáng)的API補(bǔ)全方法。
背景技術(shù)
API(應(yīng)用程序編程接口)推薦是指幫助開發(fā)人員根據(jù)用戶需求和使用場景在眾多候選API中找到最佳API的過程。實際上,一些API用于實現(xiàn)基本功能(如打印和日志生成)。這些API可以在任何地方調(diào)用。然而,基于生成技術(shù)的API推薦模型的預(yù)測能力有限,往往無法從查詢的第一個字中準(zhǔn)確地預(yù)測出最合適的API;此外,API推薦的訓(xùn)練數(shù)據(jù)不足,收集高質(zhì)量的API問題和相應(yīng)的答案是費時費力并且及其容易出錯;隨著可用API的快速增長和軟件系統(tǒng)的日益復(fù)雜,開發(fā)人員很難根據(jù)自己的需求找到最合適的API。
有效的API推薦方法可以為軟件開發(fā)人員提供更好的API選擇,從而提高他們的工作效率和工作質(zhì)量。首先,API推薦可以幫助開發(fā)人員快速找到適合他們需求的API,減少了他們尋找API的時間和精力。其次,API推薦可以幫助開發(fā)人員避免使用錯誤或不合適的API,提高了他們代碼的可靠性和質(zhì)量。此外,通過API推薦,開發(fā)人員可以更容易地利用已有的API資源,而不是重復(fù)開發(fā)相同的功能,從而減少了代碼的冗余性,提高了代碼的可維護(hù)性和可擴(kuò)展性。
以前的研究主要將API推薦建模為推薦任務(wù),該任務(wù)可以推薦多個API,但是推薦的可能并不是開發(fā)人員需要的。最近在神經(jīng)機(jī)器翻譯領(lǐng)域的推動下,研究人員將這個問題建模為生成任務(wù),其目的是直接為開發(fā)人員生成所需的API。然而,初步調(diào)查表明,直接生成的方法可能會生成錯誤。
如何解決上述技術(shù)問題成為本發(fā)明面臨的課題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于提示學(xué)習(xí)和數(shù)據(jù)增強(qiáng)的API補(bǔ)全方法,該方法可以根據(jù)不完整的API前綴和提示信息進(jìn)行API補(bǔ)全從而生成用戶所需要的API。
本發(fā)明的發(fā)明思想為:本發(fā)明提出了一種基于示學(xué)習(xí)和數(shù)據(jù)增強(qiáng)的API補(bǔ)全方法,該方法利用用戶已知的API前綴信息和啟發(fā)式規(guī)則生成的API提示,通過嵌入層組合生成的對抗性示例來訓(xùn)練API補(bǔ)全模型,從而最終生成用戶所需的API。相較于信息檢索方法和深度學(xué)習(xí)方法,本發(fā)明提出的方法在相同語料庫中表現(xiàn)出更優(yōu)秀的性能。
本發(fā)明是通過如下措施實現(xiàn)的:一種基于提示學(xué)習(xí)和數(shù)據(jù)增強(qiáng)的API補(bǔ)全方法,其中,包括以下步驟:
(1)搜集高質(zhì)量語料庫,同時對數(shù)據(jù)進(jìn)行預(yù)處理操作,構(gòu)造不同的提示符,然后在不完整的API后面添加一個[mask]標(biāo)記,表示API被屏蔽的部分,通過接下來訓(xùn)練的模型來預(yù)測;
(1-1)首先,為了生成不完整的API標(biāo)題,我們需要準(zhǔn)備不同的提示符。假設(shè)API包含n個單詞,則需要生成一個隨機(jī)數(shù)Nrand。
(1-2)然后,我們生成一個不完整的API,即前綴提示符,將其中最后Nrand個單詞屏蔽。
(1-3)接著,開發(fā)人員按線性方式編寫API,從第一個單詞開始一直到最后一個單詞,因此我們選擇屏蔽最后一個連續(xù)單詞作為屏蔽操作符。
(1-4)由于我們的研究主要集中在API補(bǔ)全任務(wù)上,要求不完整的API至少有一個單詞,因此屏蔽操作符最多可以屏蔽n-1個單詞。
該專利技術(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/202310445624.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 根據(jù)用戶學(xué)習(xí)效果動態(tài)變化下載學(xué)習(xí)數(shù)據(jù)的系統(tǒng)及方法
- 用于智能個人化學(xué)習(xí)服務(wù)的方法
- 漸進(jìn)式學(xué)習(xí)管理方法及漸進(jìn)式學(xué)習(xí)系統(tǒng)
- 輔助學(xué)習(xí)的方法及裝置
- 基于人工智能的課程推薦方法、裝置、設(shè)備及存儲介質(zhì)
- 基于強(qiáng)化學(xué)習(xí)的自適應(yīng)移動學(xué)習(xí)路徑生成方法
- 一種線上視頻學(xué)習(xí)系統(tǒng)
- 一種基于校園大數(shù)據(jù)的自適應(yīng)學(xué)習(xí)方法、裝置及設(shè)備
- 一種學(xué)習(xí)方案推薦方法、裝置、設(shè)備和存儲介質(zhì)
- 游戲?qū)W習(xí)效果評測方法及系統(tǒng)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





