[发明专利]基于联邦学习的代码注释生成方法、系统及装置有效
申请号: | 202011355708.0 | 申请日: | 2020-11-27 |
公开(公告)号: | CN112463161B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 王健宗;李泽远;何安珣 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06N20/20 |
代理公司: | 北京鸿元知识产权代理有限公司 11327 | 代理人: | 袁文婷;张娓娓 |
地址: | 518033 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 联邦 学习 代码 注释 生成 方法 系统 装置 | ||
本发明涉及人工智能,提供一种基于联邦学习的代码注释生成方法,包括:生成初始参数集,并将初始参数集发送至预设的客户端;通过各客户端上的预设样本数据集对其相应的代码注释生成模型进行初步训练,以得到各代码注释生成模型的优化参数集;将各客户端的模型优化参数集发送至预设服务器,并基于预设服务器对接收到的优化参数集进行聚合,得到聚合优化参数集;将聚合优化参数集发送至各客户端,并基于聚合优化参数集对各代码注释生成模型进行再次训练,得到代码注释生成新模型;基于代码注释生成新模型对各客户端的待注释代码进行代码注释。本发明提供技术方案既能够解决现有代码注释自动生成方法满足特定公司或组织的需要的问题。
技术领域
本发明涉及数据编译技术领域,尤其涉及一种基于联邦学习的代码注释生成方法、系统、装置及存储介质。
背景技术
在计算机领域,软件维护过程当中,开发者需要花费大量时间去理解源代码。代码的注释是帮助开发者理解源代码的重要组成部分。然而,在软件实际维护过程中,由于代码注释质量不高或缺失,通常开发者仅仅只能根据源代码的内容去推断它的功能,这将导致软件的维护效率大大降低。因此,越来越多的研究者开始探索如何自动给源代码生成注释。
现有的关于代码注释自动生成的方法已经有很多,但是这些传统的方法通常都是基于公开项目的源代码进行训练的,然而,这种基于开源代码训练的模型可能不适用于某些公司或组织的内部业务需求。
此外,对于某一公司或组织来说,他们的内部数据量有限,无法仅用自己已有的数据单独训练一个高效的模型;另外,由于源代码是一个软件公司或组织最重要、隐私的部分,是需要被严格保护起来的。
基于以上问题,急需一个在各公司之间不暴露源代码的前提下的高性能的代码注释生成方法。
发明内容
本发明提供一种基于联邦学习的代码注释生成方法、系统、电子装置以及计算机存储介质,其主要目的在于解决代码注释自动生成方法通常只在开源项目的源代码上进行训练,以这样的方式训练出来的模型不满足特定公司或组织的需要的问题。
为实现上述目的,本发明提供一种基于联邦学习的代码注释生成方法,该方法包括如下步骤:
基于预设服务器生成模型初始参数集,并将所述模型初始参数集发送至预设的至少两个客户端;其中,
所述预设服务器与所述客户端构成联邦学习框架,所述预设服务器与各客户端之间均可进行双向信息传输,并且各客户端均配置有相应的代码注释生成模型;
基于所述模型初始参数集,通过各客户端上的预设样本数据集对其相应的代码注释生成模型进行初步训练,以得到各代码注释生成模型的模型优化参数集;
将各客户端的所述模型优化参数集发送至所述预设服务器,并基于所述预设服务器对接收到的模型优化参数集进行聚合,得到聚合优化参数集;
将所述聚合优化参数集发送至各客户端,并基于所述聚合优化参数集对各代码注释生成模型进行再次训练,得到代码注释生成新模型;
基于所述代码注释生成新模型对各客户端的待注释代码进行代码注释。
优选地,所述预设样本数据集存储在区块链中,所述预设样本数据集包括源代码样本序列和注释单词样本序列;并且,通过各客户端上的预设样本数据集对其相应的代码注释生成模型进行初步训练的过程包括:
对所述源代码样本序列进行编码,以提取所述源代码样本序列中的词汇特征序列;
对所述词汇特征序列进行译码,以通过模拟所述注释单词样本序列生成注释单词目标序列;其中,
在所述编码和所述译码过程中,所述代码注释生成模型的模型参数得以优化以生成所述模型优化参数集。
另外,本发明还提供一种基于联邦学习的代码注释生成系统,所述系统包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011355708.0/2.html,转载请声明来源钻瓜专利网。