一种基于双AST序列的代码补全方法及系统
基本信息
申请号 | 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 | 分类 | 计算;推算;计数; |
发明人 | 李戈; 郝逸洋; 刘洋 | 申请(专利权)人 | 北京硅心科技有限公司 |
代理机构 | 北京辰权知识产权代理有限公司 | 代理人 | 刘广达 |
地址 | 100190 北京市海淀区中关村东路66号世纪科贸大厦B1109 | ||
法律状态 | - |
摘要
摘要 | 本发明提供了一种基于双AST序列的代码补全方法及系统,包括:源代码处理步骤,使用抽象语法树解析源代码;AST转二叉树步骤,将上述抽象语法树同时转换为两个不同序列;模型训练步骤,将所述两个不同序列输入LSTM模型,训练语言模型;预测补全步骤,根据训练过的语言模型补全代码。本发明将待学习的程序代码的抽象语法树(AST)同时转换为两个序列(如“前序序列”和“中序序列”),并同时利用这两个序列的信息训练一个LSTM模型。本发明的方法训练出的LSTM具有更高的准确率。本发明的技术方案具有简单、快速的特点,能够较好地提高代码推荐的准确率和推荐效率。 |
