目前Facebook开发一个名为“TransCoder”自我监督神经原始码翻译器,可将程式码转换成为另一种程式语言的程式码,以使程式码移植更加简单、快速。
以往来说,要将COBOL这类较旧程式语言,搬迁至Java和C++等较现代的语言并件简单任务,需要付出大量时间,而且还需具备来源语言以及目标语言的专业技能。根据香港IDC新天域互联的了解,目前许多企业和政府部门的大型主机系统仍就广泛采用COBOL。
因此,Facebook开发的新原始码翻译器有望让老旧程式码移植工作变得简单,TransCoder使用完全自我监督的神经网络开发而成,Facebook表示,这是首款无需平行数据训练的人工智能(AI)系统,现在TransCoder能将函式程式码在C++、Java以及Python 3三个语言间转换。
经过评估,TransCoder较当前开源和商业基于规则的转换程式的效能更好,具体来说,TransCoder将Java翻译成C++的正确率达90%,将C++函式翻译成为Java正确率为74.8%。
Facebook认为,自我监督训练对于程式语言之间的翻译相当重要,传统的监督式学习法仰赖大规模平行数据的训练,而现在只需要用一种程式语言编写的程式码,可以轻易扩充支援的语言。