APP下载

脸书利用深度学习技术开发源代码翻译器TransCoder

消息来源:baojiabao.com 作者: 发布时间:2026-09-05

报价宝综合消息脸书利用深度学习技术开发源代码翻译器TransCoder

脸书开发了一个称为TransCoder的自我监督神经源代码翻译器(Transcompiler),可以将程式码转换成为另一种程式语言的程式码,这样将使得程式码移植更加简单快速。

脸书举例,要把像是COBOL这类较旧的程式语言,搬迁到Java和C++等较现代的语言,并非一件简单的任务,需要付出大量的时间与劳力,而且还同时需要具备来源语言以及目标语言的专业,目前许多企业和-部门的大型主机系统仍广泛使用COBOL,并且继续维护老旧的程式码库。

而脸书开发的这个源代码翻译器,有望能够让老旧程式码移植工作变得简单,TransCoder使用完全自我监督的神经网络开发而成,脸书表示,TransCoder是第一个不需要平行资料训练的人工智能系统,就可以将程式码从一种语言,转换到另外一种语言,现在TransCoder能将函式程式码,在C++、Java以及Python 3三个语言间转换。

经脸书评估,TransCoder比当前开源和商业基于规则的转换程式,效能都还要好。TransCoder将Java函式翻译成C++的正确率达90%,将C++函式翻译成为Java的正确率为74.8%,而市售工具将将C++函式翻译成为Java的正确率为61%,而开源工具将Java函式翻译成C++的正确率仅有38.3%。

脸书提到,自我监督训练对于程式语言之间的翻译相当重要,传统的监督式学习法,仰赖大规模平行资料的训练,但是无论是从COBOL到C++,或是C++到Python等,都没有类似的资料集。而TransCoder只需要用一种程式语言编写的程式码,不需要使用来源语言与目标语言的相同程式码范例,因此能够轻易的扩充支援的语言。

TransCoder或许对于将老旧的程式码库,更新成现代程式语言可以帮上不少忙,脸书认为,自动翻译程式码可以使企业,更容易地使用开源专案,因为透过将老旧程式码翻译成为其他语言,就能够整合其他开源专案的程式码,而且现代程式语言通常效能较好,也就容易维护。

2020-07-28 15:47:00

相关文章