一種基于雙AST序列的代碼補全方法及系統(tǒng)
基本信息
申請?zhí)?/td> | CN201811224521.X | 申請日 | - |
公開(公告)號 | CN109582352A | 公開(公告)日 | 2019-04-05 |
申請公布號 | CN109582352A | 申請公布日 | 2019-04-05 |
分類號 | G06F8/72(2018.01)I; G06N3/04(2006.01)I; G06N3/08(2006.01)I | 分類 | 計算;推算;計數(shù); |
發(fā)明人 | 李戈; 郝逸洋; 劉洋 | 申請(專利權)人 | 北京硅心科技有限公司 |
代理機構 | 北京辰權知識產(chǎn)權代理有限公司 | 代理人 | 劉廣達 |
地址 | 100190 北京市海淀區(qū)中關村東路66號世紀科貿大廈B1109 | ||
法律狀態(tài) | - |
摘要
摘要 | 本發(fā)明提供了一種基于雙AST序列的代碼補全方法及系統(tǒng),包括:源代碼處理步驟,使用抽象語法樹解析源代碼;AST轉二叉樹步驟,將上述抽象語法樹同時轉換為兩個不同序列;模型訓練步驟,將所述兩個不同序列輸入LSTM模型,訓練語言模型;預測補全步驟,根據(jù)訓練過的語言模型補全代碼。本發(fā)明將待學習的程序代碼的抽象語法樹(AST)同時轉換為兩個序列(如“前序序列”和“中序序列”),并同時利用這兩個序列的信息訓練一個LSTM模型。本發(fā)明的方法訓練出的LSTM具有更高的準確率。本發(fā)明的技術方案具有簡單、快速的特點,能夠較好地提高代碼推薦的準確率和推薦效率。 |
