全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211250754.3 (22)申请日 2022.10.13 (71)申请人 南京大学 地址 210093 江苏省南京市 鼓楼区汉口路 22号 (72)发明人 张天 潘敏学 施超烜 朱庭纬  (74)专利代理 机构 南京知识律师事务所 32 207 专利代理师 张苏沛 (51)Int.Cl. G06F 8/73(2018.01) G06F 16/33(2019.01) G06K 9/62(2022.01) G06N 3/08(2006.01) (54)发明名称 基于信息检索与深度神经网络的混合代码 注释生成方法 (57)摘要 本发明公开一种基于信息检索与深度神经 网络的混合代码注释生成方法, 本方法主要由数 据集处理、 模型训练、 决策阈值选取、 注释生成这 四个部分组成, 具体步骤为: 搜集大量源代码 ‑注 释数据对并清理数据, 将搜集好的数据集划分训 练集、 验证集和测试集; 使用训练集训练深度神 经网络的参数并构建信息检索库; 根据验证集上 的效果选 取合适的模型和决策阈值; 分别通过深 度神经网络模型和信息检索引擎为待生成注释 代码生成备选注释, 并根据待生成注释代码与其 相似代码的相似度以及决策阈值确定最终的输 出结果; 本方法基于信息检索技术与深度学习网 络, 能够有效生成简明且准确描述源代码功能性 的自然语言文本 。 权利要求书2页 说明书5页 附图2页 CN 115509604 A 2022.12.23 CN 115509604 A 1.一种基于信息检索与深度神经网络的混合代码注释生成方法, 其特征在于, 该方法 包括如下步骤: 步骤1)执行前搜集一个规模庞大的源代码 ‑注释对数据集, 并对数据集进行清 理, 将搜 集好的数据集划分训练集、 验证集和 测试集; 步骤2)使用训练集训练深度神经网络的参数, 同时通过训练集构建信息检索的检索 库; 步骤3)使用验证集验证模型效果并选取验证集效果最好的模型, 之后利用验证集选取 最终注释生成的决策阈值; 步骤4)分别通过深度神经网络模型和信 息检索引擎为待生成注释代码生成备选注释, 并根据待生成注释代码与其相似代码的相似度以及决策阈值确定最终的输出 结果。 2.根据权利要求1所述的基于信息检索与深度神经网络的混合代码注释生成方法, 其 特征在于, 所述 步骤1)将数据集划分为训练集、 验证集和 测试集的具体实现包括如下步骤: 步骤11)数据集搜集, 即通过github等开源代码库搜集规模庞大的源代码 ‑注释对数 据, 其中源代码一般为整个函数的全部代码, 注释为描述该函数功能的自然语言描述; 步骤12)数据集清理, 即对搜集到的源代码 ‑注释对数据进行清理, 去除源代码无法通 过编译的数据、 去除函数主体为空或仅为函数声明的数据、 去除源代码或注释长度过长或 过短的数据; 步骤13)数据集划分, 即将清 理完毕的数据集划分为训练集和验证集, 训练集用于训练 深度神经网络的参数和配置信息检索库, 验证集用于选取参数最优的模型和最优的决策阈 值, 测试集用于测试 方法最终的效果。 3.根据权利要求1所述的基于信息检索与深度神经网络的混合代码注释生成方法, 其 特征在于, 所述步骤2)通过训练集构建信息检索的检索库的具体实现包括以下两个相互独 立的子步骤: 步骤21)深度神经网络模型训练, 即使用训练集中的源代码 ‑注释对通过反向传播算法 训练深度神经网络PLBART的参数: 首先忽视训练集中的注释信息, 仅使用源代码信息对PLBART模型的参数进行预训练, 预训练任务包括: 词元掩盖、 词元删除、 词元填充; 之后利用训练集中的注释信息, 通过注释生成任务对PLBART模型的参数进行微调, 与 预训练要求重 现代码的内容不同, 微调中要求PLBART根据输入的源代码信息生成对应的注 释; 步骤22)构 建信息检索库, 即通过Lucene文档检索引擎, 将训练集中的源代码信息和注 释信息依次读入, 将其顺序编号作为Lucene中文档的id进行存储, 源代码信息和注释信息 作为Lucene中文档的TextField进行存 储, 从而构建信息检索库。 4.根据权利要求1所述的基于信息检索与深度神经网络的混合代码注释生成方法, 其 特征在于, 所述步骤3)利用验证集选取模型及最终注释生成的决策阈值的具体实现包括以 下子步骤: 步骤31)通过验证集检验所述步骤2)中PLBART模型的效果, 选取验证集上效果最好的 模型参数 供后续使用; 步骤32)将验证集的每条数据的源代码信 息输入到所述步骤2)中构建的检索库中获取权 利 要 求 书 1/2 页 2 CN 115509604 A 2每条数据的相似代码及其注释; 步骤33)将从0.00到1.00步长为0.01的101个值作为决策阈值的搜索空间, 对于代码相 似度低于决策阈值的选择PLBART模 型生成的注释作为输出, 否则选择从检索库中检索到的 注释作为输出, 从而对于每 个候选决策阈值得到一个生成注释集; 步骤34)对每个候选决策阈值的生成注释集与真实注释进行评估, 根据评估的METEOR 分数选择最优的决策阈值。 5.根据权利要求1所述的基于信息检索与深度神经网络的混合代码注释生成方法, 其 特征在于, 所述 步骤4)生成备选注释并确定最终输出 结果的具体实现包括以下子步骤: 步骤41)将待生成注释代码输入Lucene引擎中检索其相似代码及其对应注释, 将相似 代码的注释作为备选注释1; 步骤42)将待生成注释代码输入PLBART模型中生成备选注释2; 步骤43)计算待生成注释代码与其相似代码的相似度, 将相似度与决策阈值进行比较; 步骤44)若相似度小于决策阈值, 则选取备选注释2作为最终输出的注释, 否则则选取 备选注释1作为 最终输出的注释。权 利 要 求 书 2/2 页 3 CN 115509604 A 3

PDF文档 专利 基于信息检索与深度神经网络的混合代码注释生成方法

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