iso file download
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202111220663.0 (22)申请日 2021.10.20 (71)申请人 南通大学 地址 226019 江苏省南 通市崇川区啬园路9 号 (72)发明人 陈翔 于池 杨光 刘珂 夏鸿崚  胡新宇 顾亚锋  (74)专利代理 机构 南京经纬专利商标代理有限 公司 32200 代理人 张俊俊 (51)Int.Cl. G06F 8/73(2018.01) G06F 40/169(2020.01) G06F 40/253(2020.01) G06F 40/284(2020.01)G06F 40/30(2020.01) G06N 20/00(2019.01) (54)发明名称 一种基于双重信息检索 的Bash代码注释生 成方法 (57)摘要 本发明提供了一种基于双重信息检索的 Bash代码注释生成方法, 包括以下步骤: (1)搜集 数据得到一个高质量语料库, 对 该语料库进行去 重操作, 得到 数据集; (2)使用CodeBert提取代码 语义特征; (3)将代码片段视为由词元组成的集 合, 通过文本编辑距离计算集合之间的词法相似 度, 通过词法相似度从k个候选代码片段中检索 出与目标代码词法相似度最高的代码片段; (4) 从数据集中检索出与目标代码最相似代码片段, 将该代码对应的注释作为目标代码的代码注释。 本发明的有益效果为: 可以根据目标代码在代码 库中检索出最相似代码, 从而生成高质量的代码 注释, 提高Bash代码的可读性和可理解性, 帮助 开发人员快速理解Bash代码。 权利要求书2页 说明书5页 附图1页 CN 113961237 A 2022.01.21 CN 113961237 A 1.一种基于双重信息检索的Bash代码注释生成方法, 其特 征在于, 包括以下步骤: (1)搜集高质量的Bash代码片段以及对应注释作 为原始数据, 形成原始语料库, 对该语 料库进行去重操作, 得到数据集D, 设定数据集D中数据格式为<Bash代码, 代码注释>, 该语 料库包含来自10 592个Bash代码数据; (2)使用CodeBert提取Bash代码片段 的语义特征, 并通过BERT ‑whitening对语义特征 向量进行关键特征提取和降维, 计算Bash代码之间的语义相 似度, 根据语义相似度排序检 索出前k个语义最相似的Bash代码片段作为 候选代码; (3)将代码片段视为由词元组成的集合, 通过文本编辑距离计算集合之间的词法相似 度; (4)在语义相似度检索的k个代码片段中, 计算目标代码和候选代码之间的词法相似 度, 从候选代码中检索出词法相似度最高的代码片段; (5)根据双重检索获取的代码片段, 复用该片段的代码注释作为目标Bash代码的代码 注释。 2.根据权利要求1所述的基于双重信息检索的Bash代码注释生成方法, 其特征在于, 所 述步骤(2)中通过CodeBer t和BERT‑whitening操作提取代码语义信息, 具体包括如下步骤: (2‑1)对于给定 的Bash代码片段, 将其视为文本序列, 根据空格对序列进行分割, 得到 输入序列W; (2‑2)将序列W输入到CodeBert中, 提取输出中第一层隐藏状态h0和最后一层的隐藏状 态hn, 并对它们取平均值, 得到代码段的语义特 征向量X; (2‑3)使用BERT ‑whitening处理语义向量X, 通过线性变换进行关键特征提取和降维, 将语义特 征向量X转换为向量 (2‑4)通过计算目标代码段的语义向量 和训练集中代码段语义向量 之间的欧式 距离, 计算出代码段间的语义相似度, 语义相似度计算公式为: (2‑5)使用FaceBook开发的FAISS库作为向量检索工具, 根据语义相似度检索训练集 中 排在前k位的候选相似代码。 3.根据权利要求1所述的基于双重信息检索的Bash代码注释生成方法, 其特征在于, 所 述步骤(2)通过CodeBer t和BERT‑whitening操作提取代码语义信息, 具体包括如下步骤: 模型的超参数 取值为: CodeBert的embed ding维度d:768; BERT‑whitening操作的维数 K: 256; 根据语义相似度检索候选代码时超参数k设置为8。 4.根据权利要求1所述的基于双重信息检索的Bash代码注释生成方法, 其特征在于, 所 述步骤(3)中计算代码片段之间的词法相似度, 具体包括如下步骤: (3‑1)首先将代码片段视为词元集合, 对代码序列内的重 复词元进行去重删除操作, 获 取两个代码片段的集 合A和B; (3‑2)然后计算两个集 合之间的文本编辑距离disA,B;权 利 要 求 书 1/2 页 2 CN 113961237 A 2(3‑3)根据计算的文本编辑距离计算得到两个代码片段之间的词法相似度lexical_ similarity(A,B), 计算公式为: 其中len()表示 集合的规模大小。权 利 要 求 书 2/2 页 3 CN 113961237 A 3

.PDF文档 专利 一种基于双重信息检索的Bash代码注释生成方法

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