[发明专利]一种基于seq2seq模型的Java方法名推荐方法在审
申请号: | 202110727637.0 | 申请日: | 2021-06-29 |
公开(公告)号: | CN113360766A | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 康玉健;王伟东;董京伟;杜欣钰;李点 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F16/9535 | 分类号: | G06F16/9535;G06F9/448;G06F8/30 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 seq2seq 模型 java 法名 推荐 方法 | ||
本发明公开了一种基于seq2seq模型的Java方法名推荐方法。该方法包括:Java方法名采集阶段,从知名开源组织下采集基于Java语言的项目Git仓库,并提取Git仓库中的Java方法名。建立Java方法名词库阶段:提取Java方法名中的高频率标记,并采用人工标注的方式来为标注中文语义。建立中文同义词库阶段:通过人工标注的方式来为Java方法名词库中已经标记好中文的中文标记标注其同义词。创建数据样本阶段:采用人工标注的方式来为Java方法名标注中文语义。当开发者输入中文方法名,模型seq2seq会输出英文的方法名。方法名推荐阶段帮助中文开发者将中文方法名输入到seq2seq模型中,模型输出相应的Java方法名。
技术领域
本发明涉及软件工程领域。更具体地,涉及一种基于seq2seq模型的Java方法名推荐方法。
背景技术
随着信息化浪潮的来临,软件已经生成人们生活中不可或缺的一部分。然而随着软件功能的日益复杂,软件维护难、成本高成为了目前的一大难题。其中导致维护成本高的重要原因是软件的可理解性低,开发人员往往要花费超过大量的精力在软件的代码的理解上。其中程序中命名不恰当的变量名、方法名、参数名等,往往是导致程序可理解性低的重要原因。其中方法名常常被看做是方法体功能的简要描述。在实际开发中,方法名是开发人员理解程序或API行为的直观而重要的信息。因此,不一致的方法名会使程序更难理解和维护,甚至可能导致软件缺陷。开发者往往靠方法名来猜测方法的功能并调用对应的方法,如果方法名起的不好,容易导致开发者对于API的误用,进而导致软件缺陷的发生。
对于开发者来说,在真实的项目中,导致该问题的原因往往与开发者本身分不开的。首先,开发者往往囿于项目的进度压力,将主要精力放在了程序功能的实现上,却忽略了程序的命名的重要性,导致在维护阶段要花大量的精力来理解程序的功能。其二,由于程序的开发者的母语并非英语,所以由于词汇量的匮乏,往往在对程序命名的时候,并不能很好的描述程序的功能。
综上所述,为了在实际开发中帮助中文开发者更好地为Java方法命名,软件工程领域急需一种方法来高效地为中文开发者高效地推荐Java方法名,进而提高程序的可读性,降低开发人员在理解代码时所花费的时间和精力,最终提高软件的可维护性。
发明内容
本发明的目的在于提供一种基于seq2seq模型的Java方法名推荐方法,帮助中文开发者高质量地命名Java方法的同时,帮助开发者通过方法名快速了解方法所实现的功能,进而降低软件维护的成本,提高软件开发的效率。
为达到上述目的,本发明采用下述方法:基于seq2seq模型的Java方法名推荐方法,包括:
第一阶段:建立Java方法名词库阶段。
第二阶段:建立中文同义词库阶段。
第三阶段:创建数据样本阶段。
第四阶段:模型训练阶段。
第五阶段:方法名推荐阶段。
具体的,在建立Java方法名词库阶段中,将采集的Java方法名切分为标记流,并通过有经验开发者人工标注的方式,为出现高频率标记进行标注中文语义,进而建立Java方法名词库。其中采用驼峰命名法将采集的Java方法名切分为标记序列,采用经验丰富开发者人工标注的方式来为标记序列中的标记标注中文语义。
具体的,在建立中文同义词库阶段中,对于已经标注中文的方法名标记序列,再通过人工标注的方式来为已经标注好的中文标记标注同义词。
具体的,在创建数据样本阶段中,对于已经采集好的方法名,采用人工标注的方式为方法名标注对应的中文语义。
具体的,在模型训练阶段中,将人工标注好的Java方法名的中文序列以及Java方法名输入到seq2seq模型中,其中seq2seq模型中采用了attention机制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110727637.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种欧洲鳗白子饲料的制作方法
- 下一篇:一种高活性纳米氧化锌的制备方法