一種基于雙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ā)明的技術方案具有簡單、快速的特點,能夠較好地提高代碼推薦的準確率和推薦效率。