全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211333019.9 (22)申请日 2022.10.28 (71)申请人 北京航空航天大 学 地址 100191 北京市海淀区学院路37号 (72)发明人 路云峰 张愈博 刘艳芳  (74)专利代理 机构 北京慕达星云知识产权代理 事务所 (特殊普通合伙) 11465 专利代理师 符继超 (51)Int.Cl. G06F 8/73(2018.01) G06F 16/33(2019.01) G06F 40/216(2020.01) G06F 40/258(2020.01) G06F 40/30(2020.01)G06F 40/58(2020.01) G06K 9/62(2022.01) (54)发明名称 一种基于信息检索和神经网络的代码摘要 自动生成方法 (57)摘要 本发明公开了一种基于信息检索和神经网 络的代码摘要自动生成方法, 该方法包括: 构建 包含源代码和对应的自然语言注释的训练集, 使 用CodeBERT模型进行训练; 将训练集中的所有代 码段解析为抽象语法树AST, 并转换为AS T单词序 列, 利用训练好的CodeBERT模型将 源代码片段编 码为单词级向量, 进行池化操作 将单词级向量压 缩为片段级向量; 给定一段待摘要代码, 从数据 库进行检索, 获得最相似结构代码和最相似语义 代码; 将待摘要代码、 以及检索出的最相似结构 代码和最相似语义代码输入到 训练后的 CodeBERT模型中, 使用混合网络不断融合输 出产 生最终的摘要; 通过该方法可以提高代码摘要生 成中的低频词命中率, 准确地产生摘要。 权利要求书2页 说明书9页 附图3页 CN 115408056 A 2022.11.29 CN 115408056 A 1.一种基于信息检索和神经网络的代码摘要自动生成方法, 其特征在于, 该方法包括 以下步骤: S1、 构建包含源代码和对应的自然语言注释的训练集, 使用CodeBERT模型作为一个自 编码器的方式进行训练; S2、 将所述训练集中的所有代码段解析为抽象语法树AST, 通过前序遍历将其转换为 AST单词序列, 并基于所述AST单词序列建立结构信息数据库; S3、 利用训练好的CodeBERT模型将源代码片段编码为单词级向量, 进行池化操作将单 词级向量压缩为片段级向量, 并基于所述片段级向量建立语义信息数据库; S4、 给定一段待摘要代码, 视其为一个查询, 从所述结构信 息数据库和所述语义信息数 据库进行检索, 获得对应的最相似结构代码和最相似语义代码; S5、 将所述待摘要代码、 以及检索出的最相似结构代码、 最相似语义代码三个代码片段 输入到训练后的CodeBERT模型中, 使用混合网络不断融合输出产生 最终的摘要。 2.根据权利要求1所述的一种基于信息检索和神经网络的代码摘要自动生成方法, 其 特征在于, 所述步骤S1中, 所述CodeBERT模型为具有注意力机制的编码器 ‑解码器模型, 其 中编码器部分与RoBERTa ‑base相同, 解码器具有6层tran sformer, 每层tran sformer有12个 多头注意力和一个768维的隐藏层向量。 3.根据权利要求2所述的一种基于信息检索和神经网络的代码摘要自动生成方法, 其 特征在于, 所述步骤S3中, 所述利用训练好的CodeBERT模型将源代码片段编码为单词级向 量具体为: 给定一个源代码片段c, 通过CodeBERT模型的编码器对其进行编码并生成一个单词级 向量的向量列表 , 其中t代表源代码片段c中单词对应的词向量, R代表 域, n是源代码片段c中的单词总数, k是向量维度。 4.根据权利要求3所述的一种基于信息检索和神经网络的代码摘要自动生成方法, 其 特征在于, 所述步骤S3中, 所述进行池化操作将单词级向量压缩为片段级向量, 计算公式 为: 其中, 是片段级向量 的第 个分量,t代表源代码片段c中单词对应的词 向量, n是源代码片段c中的单词总数, , 是向量维度。 5.根据权利要求1所述的一种基于信息检索和神经网络的代码摘要自动生成方法, 其 特征在于, 所述 步骤S4中, 所述从结构信息数据库和语义信息数据库进行检索具体为: 利用检索引擎Lucene的BM25相似度从所述结构信息数据库中对AST单词序列进行检 索; 利用余弦相似度从所述语义信息数据库中对片段级向量的进行检索。 6.根据权利要求5所述的一种基于信息检索和神经网络的代码摘要自动生成方法, 其 特征在于, 所述 余弦相似度的计算公式为: 权 利 要 求 书 1/2 页 2 CN 115408056 A 2其中, 为测试数据对应的向量表示, 为训练集中数据的向量表示, , N是训练集的大小; 具有最高余弦分数的代码片段将作为 查询结果返回。 7.根据权利要求1所述的一种基于信息检索和神经网络的代码摘要自动生成方法, 其 特征在于, 所述 步骤S5中, 所述混合网络为: 其中, Wmix代表第二层线性层的权重矩阵, Whid代表第一层线性层的权重矩阵, Htest, Hstr 和Hsem分别代表待摘要代码、 以及检索出的最相 似结构代码和最相似语义代码在每个时间 步获得相应的隐藏状态, bhid代表第一层线性层的偏置向量, bmix代表第二层线性层的偏置 向量。权 利 要 求 书 2/2 页 3 CN 115408056 A 3

PDF文档 专利 一种基于信息检索和神经网络的代码摘要自动生成方法

文档预览
中文文档 15 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于信息检索和神经网络的代码摘要自动生成方法 第 1 页 专利 一种基于信息检索和神经网络的代码摘要自动生成方法 第 2 页 专利 一种基于信息检索和神经网络的代码摘要自动生成方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:39:59上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。