一種基于字符的代碼補(bǔ)全方法及系統(tǒng)

基本信息

申請?zhí)?/td> CN201811223489.3 申請日 -
公開(公告)號 CN109614103A 公開(公告)日 2019-04-12
申請公布號 CN109614103A 申請公布日 2019-04-12
分類號 G06F8/41;G06N3/04;G06N3/08 分類 計算;推算;計數(shù);
發(fā)明人 李戈;郝逸洋;劉洋 申請(專利權(quán))人 北京硅心科技有限公司
代理機(jī)構(gòu) 北京辰權(quán)知識產(chǎn)權(quán)代理有限公司 代理人 劉廣達(dá)
地址 100190 北京市海淀區(qū)中關(guān)村東路66號世紀(jì)科貿(mào)大廈B1109
法律狀態(tài) -

摘要

摘要 本發(fā)明提供了一種基于字符的代碼補(bǔ)全方法及系統(tǒng),包括:源代碼處理步驟,使用抽象語法樹和標(biāo)識符化工具解析源代碼;模型訓(xùn)練步驟,使用LSTM模型訓(xùn)練語言模型;預(yù)測補(bǔ)全步驟,根據(jù)訓(xùn)練過的語言模型補(bǔ)全代碼。本發(fā)明利用深度學(xué)習(xí)模型中的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)來構(gòu)建大規(guī)模代碼語料庫上的語言模型以預(yù)測后續(xù)的代碼。本發(fā)明提出了一個受限制的字符級循環(huán)神經(jīng)網(wǎng)絡(luò)并將其用于在Java語言中補(bǔ)全方法調(diào)用。本發(fā)明實現(xiàn)了在編程過程中,不僅可以對程序句子進(jìn)行補(bǔ)全,也可以對單個關(guān)鍵詞進(jìn)行補(bǔ)全。本發(fā)明的技術(shù)方案具有簡單、快速的特點,能夠較好地提高代碼推薦的準(zhǔn)確率和推薦效率。