AVATAR
收藏github2023-08-07 更新2024-05-31 收录
下载链接:
https://github.com/wasiahmad/AVATAR
下载链接
链接失效反馈官方服务:
资源简介:
AVATAR是一个包含9,515个编程问题及其Java和Python解决方案的语料库,提供了3,391个平行独立函数,用于程序翻译的评估和研究。
AVATAR is a corpus comprising 9,515 programming problems along with their solutions in Java and Python, offering 3,391 parallel independent functions for the evaluation and research of program translation.
创建时间:
2021-08-24
原始信息汇总
数据集概述
数据集名称
- AVATAR
数据集定义
- AVATAR代表JAVA-Python程序翻译。
- 包含9,515个编程问题及其Java和Python解决方案。
- 提供3,391个并行独立函数。
数据集内容
- 包含Java和Python的程序翻译实例。
- 提供预训练语言模型的评估结果。
- 执行基于程序翻译的评估。
数据集准备
- 数据准备步骤包括去除文档字符串、注释,使用基线模型进行标记化,根据长度阈值过滤数据,以及去重。
数据集使用
- 可通过运行
bash download.sh下载数据。 - 数据准备脚本为
bash prepare.sh。
模型研究
- 研究了11种模型,包括从零开始训练的模型和预训练模型。
训练与评估
- 通过执行相应的
run.sh脚本进行模型训练和评估。
许可证
引用信息
@article{ahmad-etal-2021-avatar, title={AVATAR: A Parallel Corpus for Java-Python Program Translation}, author={Ahmad, Wasi Uddin and Tushar, Md Golam Rahman and Chakraborty, Saikat and Chang, Kai-Wei}, journal={arXiv preprint arXiv:2108.11590}, year={2021} }
搜集汇总
数据集介绍

构建方式
AVATAR数据集的构建过程主要依赖于从多个来源爬取的编程问题及其解决方案。在数据收集后,研究团队对数据进行了严格的预处理,包括去除文档字符串和注释、使用基线模型的标记器进行标记化处理、基于长度阈值进行数据过滤以及去重处理。此外,团队还修复了数据集中存在的格式问题,如缺失的换行符和缩进,确保所有程序均可解析。
特点
AVATAR数据集包含9,515个编程问题及其对应的Java和Python解决方案,其中3,391个为并行独立函数。该数据集不仅支持程序翻译任务,还提供了基于执行的评估方法,能够有效验证翻译结果的正确性。此外,AVATAR还提供了多种预训练模型和基线模型的评估结果,为研究程序翻译提供了丰富的实验数据。
使用方法
使用AVATAR数据集时,用户需先通过提供的脚本下载数据并进行预处理。数据集支持多种模型的训练与评估,用户可根据需求选择不同的模型目录并执行相应的运行脚本。训练过程中,用户需指定源语言和目标语言(Java或Python),并可通过下载预训练模型检查点加速训练。此外,数据集还提供了详细的评估方法和错误分类工具,便于用户进行深入分析。
背景与挑战
背景概述
AVATAR数据集由Wasi Uddin Ahmad等人于2021年创建,旨在解决Java与Python程序之间的翻译问题。该数据集包含9,515个编程问题及其对应的Java和Python解决方案,其中3,391个为并行独立函数。AVATAR的推出为程序翻译领域提供了重要的资源,推动了基于预训练语言模型的程序翻译研究。该数据集不仅支持传统的序列到序列模型,还支持多种预训练模型,如CodeBERT、PLBART等,为程序翻译的自动化和智能化提供了坚实的基础。
当前挑战
AVATAR数据集在构建过程中面临了多重挑战。首先,数据爬取过程中出现了新行缺失和Python代码缩进错误等问题,导致部分程序无法解析,这一问题在后续的修复中得到了解决。其次,程序翻译本身具有高度复杂性,尤其是在处理不同编程语言的语法和语义差异时,模型需要具备强大的泛化能力。此外,数据集的构建还涉及去重、过滤和标准化处理,以确保数据的质量和一致性。这些挑战不仅影响了数据集的构建过程,也对后续模型训练和评估提出了更高的要求。
常用场景
经典使用场景
AVATAR数据集在程序翻译领域具有广泛的应用,尤其是在Java与Python之间的代码转换任务中。该数据集包含了9515个编程问题及其对应的Java和Python解决方案,特别适合用于训练和评估跨语言程序翻译模型。研究者可以通过该数据集,探索如何将一种编程语言的代码片段自动转换为另一种语言的等效代码,从而推动程序翻译技术的发展。
衍生相关工作
AVATAR数据集的出现催生了一系列相关研究工作,尤其是在基于预训练模型的程序翻译领域。例如,研究者基于该数据集开发了多种模型,如CodeBERT、CodeGPT和TransCoder等,这些模型在跨语言代码翻译任务中表现出色。此外,AVATAR还为其他研究提供了基准数据集,推动了程序翻译技术的进一步发展。
数据集最近研究
最新研究方向
在程序语言翻译领域,AVATAR数据集为Java与Python之间的程序翻译提供了丰富的平行语料库,涵盖了9,515个编程问题及其解决方案。近年来,随着深度学习技术的进步,基于预训练语言模型的程序翻译成为研究热点。AVATAR数据集通过评估多种预训练模型(如CodeBERT、PLBART、CodeT5等)在程序翻译任务中的表现,推动了该领域的技术发展。特别是其基于执行的评估方法,为程序翻译的准确性和功能性提供了更为严格的验证标准。此外,数据集中的并行独立函数集合为跨语言程序翻译的细粒度研究提供了重要支持,进一步推动了程序翻译技术在跨平台开发中的应用。
以上内容由遇见数据集搜集并总结生成



