[发明专利]基于神经网络的智能编程语言程序翻译方法系统在审

专利信息
申请号: 202210850684.9 申请日: 2022-07-19
公开(公告)号: CN115373691A 公开(公告)日: 2022-11-22
发明(设计)人: 郭崎;文渊博 申请(专利权)人: 中国科学院计算技术研究所
主分类号: G06F8/51 分类号: G06F8/51;G06F8/41;G06N3/04;G06N3/08
代理公司: 北京律诚同业知识产权代理有限公司 11006 代理人: 祁建国;陈思远
地址: 100080 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 神经网络 智能 编程 语言 程序 翻译 方法 系统
【说明书】:

发明提出一种基于神经网络的智能编程语言程序翻译方法和系统,包括:构建用于将源语言程序翻译为目标语言程序的正向模型,以及将目标语言程序为源语言程序的反向模型;根据源语言程序库和目标语言程序库,通过反向翻译训练该正向模型和该反向模型,得到正翻译模型和反翻译模型;将待翻译的源语言程序输入该正翻译模型,将得到的多个候选结果输入重排序模型,得到各候选结果的分数,选择分数最高的候选结果作为该源语言程序的翻译结果。

技术领域

本发明涉及程序代码转换、程序生成、程序翻译和自然语言处理技术领域,并特别涉及一种基于神经网络的智能编程语言程序翻译方法系统。

背景技术

智能芯片作为深度学习算法的重要物质载体,已经在不同的领域之中得到了广泛使用。作为智能计算系统中系统软件的重要组成部分,专用于智能计算系统的智能编程语言不断涌现,例如CUDA编程语言和BANG语言等。由于深度学习算法的快速发展,开发者为了在智能芯片上部署自定义的算法,需要用智能编程语言开发用户程序。然而,这些编程语言具有很高的编程难度,对程序员提出了很高的要求。由于智能芯片的庞大的运算单元设计,往往具有数据和任务上的并行性,程序员在使用这些编程语言时需要遵循并行编程模型。此外,不同于通用处理器上缓存(Cache)等对程序员透明的存储结构,程序员在使用智能编程语言时,还需要手动对不同类型的存储空间进行显式的声明和管理等。这些难点无疑都加大了程序员在智能芯片上开发用户程序的挑战。

基于串行编程模型的传统编程语言的用户程序很容易获得,这得益于以下两方面的原因:(1)串行编程模型上存在大量已经开发并优化过的遗产代码;(2)串行编程模型符合程序员的使用习惯,用户可以轻松地使用传统编程语言编写用户程序。因此,如果能够利用传统编程语言的用户程序,将其迁移到智能编程语言的用户程序,能够极大的减少程序员在智能芯片上开发用户程序的开销。

目前,已经有一些工作进行了在不同自然语言之间的翻译工作(如英语翻译成中文),还有一些人进行了程序语言翻译的工作(如将C语言翻译成CUDA语言)。目前现有技术TransCoder可以将神经网络用于程序语言翻译,它能够完成针对C、Python、Java等用户程序的自动翻译。它由基本的Transformer架构组成,包含一个编码器和一个译码器,编码器和译码器分别有独立的6层。该模型对于多种编程语言是共用的,采用三种无监督训练方式进行训练。

第一个任务是跨编程语言的预训练,该任务与掩码语言模型(MLM,MaskedLanguage Model)的训练方法类似,随机遮挡住一部分输入序列的词元,训练模型根据被遮挡住词元的上下文预测出词元。在训练过程中,交替更换不同语言的训练数据以让模型更高质量地学习不同语言的表示。

第二个任务:降噪自编码:经过掩码语言模型的预训练后,编码器已经学会了词的表征。但是翻译任务需要编码器和译码器的共同参与,而此时的译码器还没有学会如何解码。因此TransCoder引入了降噪自编码的任务来训练译码器。该方法是通过对输入序列加入噪声,例如随机遮挡,删除某个词元或打乱顺序,然后让模型预测出原来的序列。这种训练方式让译码器也参与了训练,同时也让模型的稳定性更强,能够应对输入噪声。

第三个任务:反向翻译。经过前两步的训练之后,模型已经可以初步生成翻译结果了。但是生成结果的质量较差,因为模型还无法做到从指定语言翻译到另一个指定语言。为了解决这个问题,引入了反向翻译,反向翻译是一种缺乏监督语料情况下的解决方案,是一种弱监督学习模型。反向翻译由两部分组成,分别是源语言到目标语言和目标语言到源语言的翻译模型。首先目标语言的语料作为输入,经过模型翻译得到源语言,这时会生成一个带有噪声的源语言语料,然后该源语言的语料和目标语言的语料可以近似认为是一对监督语料,因此从源语言到目标语言的过程就可以以一种弱监督的方式进行。训练过程中,两个方向同时训练直到收敛。

以下主要讲现有技术Transcoder存在的问题和缺点。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210850684.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top