Summarize and Generate to Back-translate: Unsupervised Translation of Programming Languages
Back-translation is widely known for its effectiveness for neural machine translation when little to no parallel data is available. In this approach, a source-to-target model is coupled with a target-to-source model and trained in parallel. While the target-to-source model generates noisy sources, the source-to-target model is trained to reconstruct the targets and vice versa. Recent developments of multilingual pre-trained sequence-to-sequence models for programming languages have been very effective for a broad spectrum of downstream software engineering tasks. Therefore, it is compelling to train them to build programming language translation systems via back-translation. However, these models cannot be further trained via back-translation since they learn to output sequences in the same language as the inputs during pre-training. As an alternative, we suggest performing back-translation via code summarization and generation. In code summarization, a model learns to generate a natural language (NL) summary given a piece of code, and in code generation, the model learns to do the opposite. Therefore, target-to-source generation in back-translation can be viewed as target-to-NL-to-source generation. We take advantage of labeled data for the code summarization task. We show that our proposed framework performs comparably to state-of-the-art methods, if not exceeding their translation performance between Java and Python languages.
Code (0)
등록된 구현이 없습니다.
Tasks
Code GenerationCode SummarizationMachine TranslationTranslationSimilar Papers 제목 키워드 기반
Filtering Back-Translated Data in Unsupervised Neural Machine Translation
Unsupervised neural machine translation (NMT) utilizes only monolingual data for training. The quality of back-translated data plays an important role in the performance of NMT systems. In back-translation, all generated…
Domain AdaptationMachine TranslationNMTSentence+1Summarize and Generate to Back-translate: Unsupervised Translation of Programming Languages
Back-translation is widely known for its effectiveness in neural machine translation when there is little to no parallel data. In this approach, a source-to-target model is coupled with a target-to-source model trained i…
Code GenerationCode SummarizationMachine TranslationTranslationBridging the Data Gap between Training and Inference for Unsupervised Neural Machine Translation
Back-translation is a critical component of Unsupervised Neural Machine Translation (UNMT), which generates pseudo parallel data from target monolingual data. A UNMT model is trained on the pseudo parallel data with tran…
HallucinationMachine TranslationTranslationBridging the Data Gap between Training and Inference for Unsupervised Neural Machine Translation
Back-translation is a critical component of Unsupervised Neural Machine Translation (UNMT), which generates pseudo parallel data from target monolingual data. A UNMT model is trained on the pseudo parallel data with $\te…
HallucinationMachine TranslationTranslationExtract and Edit: An Alternative to Back-Translation for Unsupervised Neural Machine Translation
The overreliance on large parallel corpora significantly limits the applicability of machine translation systems to the majority of language pairs. Back-translation has been dominantly used in previous approaches for uns…
Machine TranslationSentenceTranslationUnsupervised Machine Translation