PyMT5:基于 Transformer 的自然语言与 Python 代码多模式翻译
机器学习
2020-10-08 v1 软件工程
摘要
同时对源代码和自然语言进行建模在自动化软件开发与理解中有许多令人振奋的应用。为实现此类技术,我们提出了 PyMT5,即 Python 方法文本到文本迁移 Transformer,其被训练用于在 Python 方法特征组合的所有配对间进行翻译:一个单一模型既能从自然语言文档字符串(docstring)预测整个方法,也能将代码总结为任意常见风格的 docstring。我们针对一个包含 2600 万 Python 方法和 770 万方法–docstring 对的大规模平行语料库进行了分析与建模工作,表明在 docstring 和方法生成方面,PyMT5 优于同等规模的自回归语言模型(GPT2)——无论后者是英文预训练还是随机初始化。在 CodeSearchNet 测试集上,我们的最佳模型预测出 92.1% 语法正确的方法体,在方法生成上取得 8.59 的 BLEU 分数、在 docstring 生成(总结)上取得 16.3 的 BLEU 分数,并在方法生成上取得 24.8 的 ROUGE-L F 值、在 docstring 生成上取得 36.7 的 ROUGE-L F 值。
引用
@article{arxiv.2010.03150,
title = {PyMT5: multi-mode translation of natural language and Python code with transformers},
author = {Colin B. Clement and Dawn Drain and Jonathan Timcheck and Alexey Svyatkovskiy and Neel Sundaresan},
journal= {arXiv preprint arXiv:2010.03150},
year = {2020}
}
备注
14 pages, 7 figures, 5 tables, EMNLP 2020 camera ready version