一种基于双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具有更高的准确率。本发明的技术方案具有简单、快速的特点,能够较好地提高代码推荐的准确率和推荐效率。