一種基于雙AST序列的代碼補(bǔ)全方法及系統(tǒng)
基本信息

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

| 摘要 | 本發(fā)明提供了一種基于雙AST序列的代碼補(bǔ)全方法及系統(tǒng),包括:源代碼處理步驟,使用抽象語(yǔ)法樹(shù)解析源代碼;AST轉(zhuǎn)二叉樹(shù)步驟,將上述抽象語(yǔ)法樹(shù)同時(shí)轉(zhuǎn)換為兩個(gè)不同序列;模型訓(xùn)練步驟,將所述兩個(gè)不同序列輸入LSTM模型,訓(xùn)練語(yǔ)言模型;預(yù)測(cè)補(bǔ)全步驟,根據(jù)訓(xùn)練過(guò)的語(yǔ)言模型補(bǔ)全代碼。本發(fā)明將待學(xué)習(xí)的程序代碼的抽象語(yǔ)法樹(shù)(AST)同時(shí)轉(zhuǎn)換為兩個(gè)序列(如“前序序列”和“中序序列”),并同時(shí)利用這兩個(gè)序列的信息訓(xùn)練一個(gè)LSTM模型。本發(fā)明的方法訓(xùn)練出的LSTM具有更高的準(zhǔn)確率。本發(fā)明的技術(shù)方案具有簡(jiǎn)單、快速的特點(diǎn),能夠較好地提高代碼推薦的準(zhǔn)確率和推薦效率。 |





