【技术实现步骤摘要】
一种面向多源异构编程语言的智能源码翻译方法及系统
本专利技术涉及互联网
,并且更具体地,涉及一种面向多源异构编程语言的智能源码翻译方法及系统。
技术介绍
随着计算机的迅猛发展,编程语言类型不断衍变,从面向机器语言到面向过程语言,到面向对象语言。如,在github网站搜索分类算法时,各编程语言占比分别:C语言2.5%,C++语言6.9%,Java语言5.2%,python语言67.1%,其他语言18.3%。其中,海量多源异构编程语言实现相似功能,从而浪费软件开发成本。如:澳大利亚联邦银行用了5年时间迁移COBOL系统,花费8亿美金。可以看出,单纯依赖人工移植工作量巨大,收效甚微。目前,传统源码转换方法利用不同层次的源语言表征,主要分为基于文本、单词、抽象语法树、程序依赖图、度量元和混合多种表示等六类,但是针对字面相似度较低的克隆类型,则有效性不足。目前用户对多源异构编程语言的翻译需求主要体现在三方面:(1)目前国产超算进行众核化对面向过程C语言支持性更强,而海量科学计算程序是基于C++或Fortr ...
【技术保护点】
1.一种面向多源异构编程语言的智能源码翻译方法,其特征在于,所述方法包括:/n获取能够实现相同功能的至少两种编码语言类型的编码源文件,并对获取的至少两种编码语言类型的编码源文件进行预处理,以获取BPE codes文件;/n对每个编码源文件进行二进制化处理,以获取与每个编码源文件对应的二进制编码文件;/n基于去噪自编码器构建初始的智能源码翻译模型,并利用所述二进制编码文件和BPEcodes文件对所述初始的智能源码翻译模型进行预训练,以确定经过预训练的智能源码翻译模型;/n利用所述二进制编码文件和BPE codes文件对所述经过预训练的智能源码翻译模型进行翻译训练,直至相邻两次 ...
【技术特征摘要】
1.一种面向多源异构编程语言的智能源码翻译方法,其特征在于,所述方法包括:
获取能够实现相同功能的至少两种编码语言类型的编码源文件,并对获取的至少两种编码语言类型的编码源文件进行预处理,以获取BPEcodes文件;
对每个编码源文件进行二进制化处理,以获取与每个编码源文件对应的二进制编码文件;
基于去噪自编码器构建初始的智能源码翻译模型,并利用所述二进制编码文件和BPEcodes文件对所述初始的智能源码翻译模型进行预训练,以确定经过预训练的智能源码翻译模型;
利用所述二进制编码文件和BPEcodes文件对所述经过预训练的智能源码翻译模型进行翻译训练,直至相邻两次的翻译后的数据和所述获取的至少两种编码语言类型的编码源文件的损失值的绝对误差值小于预设的绝对误差阈值时,确定当前的智能源码翻译模型为最终智能源码翻译模型;
根据目标编码语言类型,利用所述最终智能源码翻译模型进行待翻译源码文件的翻译,以确定与所述待翻译源码文件对应的目标编码语言类型的编码文件。
2.根据权利要求1所述的方法,其特征在于,所述对获取的至少两种编码语言类型的编码源文件进行预处理,以获取BPEcodes文件,包括:
根据编码语言类型对每个编码源文件的内容进行分词,并进行所有的词的统计,以生成vocab词典;
基于字节对编码方法对所述vocab词典和分词后的编码源文件进行处理,以获取BPEcodes文件;其中,所述BPEcodes文件,包括:单词名称和每个单词出现的次数。
3.根据权利要求1所述的方法,其特征在于,所述利用所述二进制编码文件和BPEcodes文件对所述初始的智能源码翻译模型进行预训练,以确定经过预训练的智能源码翻译模型,包括:
在所述二进制编码文件中加入基于所述BPEcodes文件确定的随机噪声,并依次将加入随机噪声的二进制编码文件输入到所述初始的智能源码翻译模型中,对所述初始的智能源码翻译模型进行预训练,使得智能源码翻译模型能够输出未加入随机噪声的二进制编码文件,以确定经过与训练的智能源码翻译模型。
4.根据权利要求1所述的方法,其特征在于,在确定最终智能源码翻译模型时,使用seq2seq网络同时训练两个模型,一个为源语言到目标语言的第一模型,所述第一模型能够输入有噪声的源语言句子,输出正确的目标语言,一个为目标语言到源语言的第二模型,所述第二模型能够输入目标语言的句子,输出预测的存在噪声的源语言。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
主控服务器根据接收的客户端发送的登录账号和密码对用户身份进行验证,待验证通过后,接收并解析客户端发送的翻译请求,以获取目标编码语言类型和待翻译的源码文件,并进行翻译,反馈与所述待翻译源码文件对应的目标编码语言类型的编码文件至所述客户端。
6.一种面向多源异构编程语言的智能源码翻译系统,其特征在...
【专利技术属性】
技术研发人员:魏志强,刘园园,杨永全,
申请(专利权)人:中国海洋大学,青岛海洋科学与技术国家实验室发展中心,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。