[发明专利]一种面向语法树解码器的代码生成方法有效
| 申请号: | 202110305383.3 | 申请日: | 2021-03-22 |
| 公开(公告)号: | CN113157255B | 公开(公告)日: | 2022-07-05 |
| 发明(设计)人: | 王彪;李超;刘魁;曹亮 | 申请(专利权)人: | 成都淞幸科技有限责任公司;成都信息工程大学 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06N3/04;G06N3/08 |
| 代理公司: | 成都金英专利代理事务所(普通合伙) 51218 | 代理人: | 袁英 |
| 地址: | 610041 四*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 语法 解码器 代码 生成 方法 | ||
本发明公开了一种面向语法树解码器的代码生成方法,包括以下步骤:将数据通过编码器解析生成AST,在AST结构上应用滑动窗口提取出AST结构特征,并对AST进行深层次节点进行遍历,获得AST中子父节点及兄弟节点的顺序关系;在AST中加入多层连接,设计稠密网络块结构,利用稠密连接方法对深层卷积网络进行训练形成稠密的卷积神经网络;设计过渡层结构,将设计的过渡层加入稠密的卷积神经网络中并进行卷积和池化操作,对稠密的卷积神经网络进行优化,输出特征图,生成代码。本发明在语法树解码中缩短各个网络层的连接,增加各个网络层的连接,缓解了网络加深带来的梯度消失问题,增强特征传播,促进特征共享,有效的减少了参数的数量。
技术领域
本发明涉及代码生成技术领域,尤其涉及一种面向语法树解码器的代码生成方法。
背景技术
随着神经网络技术的发展,利用自然语言与其他符号编写的描述规范,自动生成可执行文件编程语言的源代码成为了可能。其中语法树解码器的实现,现有方法主要依靠递归神经网络(RNN)编码器,再到Seq2Seq模型,再到CNN,模型既能学习到长序列的长短期记忆,又能捕获到描述规范中更多的特征。而随着描述规范语义的加深,逻辑的复杂,导致CNN的加深,基于语法的结构CNN解码器在训练中出现了梯度消失与退化等问题,导致难以拟合复杂逻辑的代码生成场景。
目前语法树解码解决方案,主要依靠循环神经网络(RNN)编码器与卷积神经网络(CNN)编码器。RNN能解决长时依赖问题,而真实场景存在一个程序包含比自然语言句子更多的标记,于是运用多个CNN基于树的卷积和预卷积,能有效地捕获不同位置的特征。但还存在复杂逻辑程序的场景,因此特征需要加深CNN,随身网络变得越来越深,一个新的问题出现了:当梯度信息经过许多层时,便就会消失及发生退化的现象。
如申请号为CN202010468473.X的专利公开了一种代码生成方法、装置、设备及存储介质,具体实现方案为,在第一语言环境下编写第一业务逻辑的代码,所述第一业务逻辑的代码用于描述第一业务逻辑对应的功能,其中,所述第一业务逻辑的代码是按照预设的声明式应用程序接口API的描述方式进行编写的,编写完成后得到第一具体语法树;基于预定的语法分析算法,将所述第一具体语法树转换为第一抽象语法树;通过解释器将所述第一抽象语法树转换为第二语言代码,所述第二语言代码用于执行所述第一业务逻辑对应的功能。利用该申请方案虽然能够实现对目标代码的动态描述,但是不能减少参数的数量且也不能缓解网络加深带来的梯度消失问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种面向语法树解码器的代码生成方法,方法直接将所有层连接起来,保留前向传播的特性,每个层从前面的所有层获得附加输入,并将其自身的特征映射传递到所有后续层。
本发明的目的是通过以下技术方案来实现的:
一种面向语法树解码器的代码生成方法,包括以下步骤:
步骤一:将数据通过编码器解析生成AST,在AST结构上应用滑动窗口提取出AST结构特征,并对AST进行深层次节点进行遍历,获得AST中子父节点及兄弟节点的顺序关系;
步骤二:在AST中加入多层连接,设计稠密网络块结构,利用稠密连接方法对深层卷积网络进行训练形成稠密的卷积神经网络;
步骤三:设计过渡层结构,将设计的过渡层加入稠密的卷积神经网络中并进行卷积和池化操作,对稠密的卷积神经网络进行优化,输出特征图,生成代码。
具体的,所述步骤一具体包括以下子步骤:
S101,利用编码器生成AST表示代码语法结构,并根据语法逻辑生成相应的节点层级关系;
S102,构建一个具有固定深度的局部特征检测器,在AST上应用滑动窗口提取结构特征;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都淞幸科技有限责任公司;成都信息工程大学,未经成都淞幸科技有限责任公司;成都信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110305383.3/2.html,转载请声明来源钻瓜专利网。





