首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种利用CodeBert各层表征信息的代码编程语言分类方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:南通大学

摘要:本发明提供了一种基于CodeBert的代码编程语言分类方法,属于计算机应用技术领域。其技术方案为:包括以下步骤:1对原始数据集进行处理,去除其中的噪音,并使用BPE方法进行分词;2从CodeBert的每一层中提取表征信息作为表征信息序列,使用双向循环神经网络Bi‑LSTM和注意力机制关注可提供重要表征信息的层;3基于语料库对构建的模型进行训练,得到代码编程语言分类模型。本发明的有益效果为:该方法能快速识别源代码所属的编程语言类型,降低手工分类源代码编程语言的成本。

主权项:1.一种利用CodeBert各层表征信息的代码编程语言分类方法,其特征在于,包括以下步骤:步骤一,搜集19种常见编程语言的代码片段,使用BPE算法对代码片段当成文本进行分词,将代码片段中的单词和符号拆分为字符序列,并在末尾添加后缀“w”,避免训练集中更多的“[UNK]”符号,BPE算法对代码片段分词解决在使用测试集测试模型时出现OOVOut-Of-Vocabulary问题;步骤二,将数据集中的数据按照4:1的比例划分为训练集和验证集,根据语言类型的标识将分类类别分为19种,包括:Bash,C,C++,CSS,Haskell,Java,JavaScript,Lua,Objective-C,Perl,PHP,Python,R,Ruby,Scala,SQL,Swift,VB.Net;步骤三,CodeBert是用于编程语言和自然语言的双峰预训练模型,其核心在于能通过大规模语料库的预训练来学习代码片段的通用表示,本方法中利用在CodeBert的每一层中学习到的表征信息,从CodeBert的每一层中提取表征信息作为表征信息序列,然后本方法使用双向循环神经网络Bi-LSTM和注意力机制来关注可提供重要表征信息的层;步骤四,基于上述构建的语料库,对构建的基于CodeBert的EL-CodeBert模型进行训练,得到代码编程语言分类模型:所述代码编程语言分类模型的参数设置如下:所述代码编程语言分类模型的词嵌入维度设置为768;所述代码编程语言分类模型的hiddensize设置为768;所述代码编程语言分类模型的注意力头设置为12;所述代码编程语言分类模型的初始学习率设置为0.0005;所述代码编程语言分类模型的batchsize设置为64;所述代码编程语言分类模型的Dropout设置为0.1。

全文数据:

权利要求:

百度查询: 南通大学 一种利用CodeBert各层表征信息的代码编程语言分类方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。