five

ODEX

收藏
github2022-12-01 更新2025-02-08 收录
下载链接:
https://github.com/zorazrw/odex
下载链接
链接失效反馈
资源简介:
ODEX数据集包含945对自然语言查询及其相关代码片段,并附有1707个精心设计的测试用例。查询的任务指令涵盖了四种语言:英语、西班牙语、日语和俄语,作为评估大型语言模型在跨语言编程任务中熟练程度的基准。

The ODEX dataset comprises 945 pairs of natural language queries along with relevant code snippets, accompanied by 1707 meticulously crafted test cases. The tasks' instruction commands span four languages: English, Spanish, Japanese, and Russian, serving as a benchmark to evaluate the proficiency of large language models in cross-language programming tasks.
提供机构:
Carnegie Mellon University et al.
创建时间:
2022-12-01
原始信息汇总

数据集概述

基本信息

  • 数据集名称: Execution-based Evaluation for Open Domain Code Generation
  • 许可证: Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0)
  • 论文引用: bibtex @article{wang2022execution, title={Execution-Based Evaluation for Open-Domain Code Generation}, author={Zhiruo Wang, Shuyan Zhou, Daniel Fried, Graham Neubig}, journal={arXiv preprint arXiv:2212.10481}, year={2022} }

数据集结构

  • 数据文件路径:

    data/ ├── en_test.jsonl ├── es_test.jsonl ├── ja_test.jsonl └── ru_test.jsonl

  • 文件格式: 每行为一个JSON对象

数据字段说明

  • task_id: 原始StackOverflow帖子的ID
  • intent: 人工重写的自然语言描述
  • prompt: 函数前缀(定义、输入参数等)
  • canonical_solution: 参考解决方案(经人工验证)
  • suffix: 函数后缀(返回值等)
  • test_start: 测试函数定义(含必要的库导入)
  • test: 测试用例列表
  • entry_point: 评估时调用的函数名

评估方法

执行通过率(默认)

  1. 环境准备: bash pip install -r ./library/requirements.txt python ./library/imports.py

  2. 执行评估: bash python eval_passk.py --language en --prediction_path ${MODEL_PRED_PATH}

非执行指标

  • 支持指标: BLEU, ROUGE, METEOR, ChrF, CodeBLEU
  • 示例命令: bash python eval_nonex.py --language en --prediction_path ${MODEL_PRED_PATH} --eval_metric bleu

高级分析选项

  1. 开放域 vs 封闭域: bash --library_usage "open" # 或 "closed"

  2. 少样本提示: bash --num_examples 1 # 2, 3, ...

  3. 输入测试用例数量: bash --num_tests 1 # 2, 3, ...

  4. 评估测试用例数量: bash --num_tests_eval 1

  5. 函数名语义: bash --function_name "intent" # "id" 或 "constant"

指标相关性分析

  • 命令示例: bash python metric_corr.py --language en --prediction_file ${MODEL_PRED_PATH} --eval_metric "bleu"

  • 可视化选项: bash --do_plot_violin # 或 --do_plot_stacked_hist

搜集汇总
数据集介绍
main_image_url
构建方式
ODEX数据集的构建基于StackOverflow上的公开帖子,通过人工注释的方式对自然语言描述进行改写,并生成相应的代码片段和测试用例。每个样本包含任务ID、自然语言描述、代码前缀、参考解决方案、代码后缀、测试函数定义、测试用例列表以及入口函数名称。数据集的构建过程注重代码的可执行性和测试的全面性,确保了数据的高质量和实用性。
特点
ODEX数据集的特点在于其多样性和实用性。数据集涵盖了多种自然语言(如英语、西班牙语、日语和俄语)的代码生成任务,每个任务都配备了详细的自然语言描述和参考解决方案。此外,数据集还提供了丰富的测试用例,确保生成的代码能够通过严格的执行测试。数据集的结构清晰,便于研究人员进行模型训练和评估。
使用方法
使用ODEX数据集时,首先需要安装所需的依赖库,并导入必要的模块。研究人员可以通过提供的脚本对CodeX和CodeGen等代码生成模型进行评估。评估过程支持多种指标,包括执行通过率、BLEU、ROUGE、METEOR、ChrF和CodeBLEU等。用户还可以根据需求调整测试用例的数量、函数命名方式等参数,以进行更细致的分析和实验。数据集的使用方法灵活多样,适用于多种研究场景。
背景与挑战
背景概述
ODEX数据集由Zhiruo Wang、Shuyan Zhou、Daniel Fried和Graham Neubig等研究人员于2022年创建,旨在解决开放领域代码生成任务中的执行评估问题。该数据集基于StackOverflow的帖子构建,涵盖了多种编程任务的自然语言描述及其对应的代码解决方案。通过引入执行评估机制,ODEX为代码生成模型的性能提供了更为客观的衡量标准,推动了自然语言到代码生成领域的研究进展。该数据集不仅支持多语言任务,还为模型评估提供了丰富的测试用例和多样化的评估指标,显著提升了相关领域的研究深度和广度。
当前挑战
ODEX数据集在构建和应用过程中面临多重挑战。首先,开放领域代码生成任务本身具有高度复杂性,要求模型能够理解多样化的自然语言描述并生成功能正确的代码,这对模型的泛化能力提出了极高要求。其次,数据集的构建依赖于StackOverflow的帖子,如何从海量信息中筛选出高质量的任务描述和代码解决方案,并确保其准确性和一致性,是构建过程中的一大难题。此外,执行评估机制要求代码生成模型不仅能够生成语法正确的代码,还需通过实际执行测试用例的验证,这对模型的鲁棒性和功能性提出了更高要求。最后,多语言支持增加了数据集的复杂性,如何在不同语言环境下保持评估的一致性和公平性,也是数据集应用中的一大挑战。
常用场景
经典使用场景
ODEX数据集在开放领域代码生成的研究中扮演了重要角色,特别是在自然语言到代码的转换任务中。该数据集通过提供多种自然语言描述的编程任务,结合相应的代码解决方案和测试用例,为研究人员提供了一个标准化的评估平台。其经典使用场景包括评估和比较不同代码生成模型(如CodeX和CodeGen)的性能,尤其是在执行通过率等关键指标上的表现。
衍生相关工作
ODEX数据集推动了开放领域代码生成领域的多项经典研究工作。基于该数据集,研究人员提出了多种改进的代码生成模型和评估方法。例如,一些研究专注于通过增加上下文提示或优化测试用例来提高模型的生成质量。此外,ODEX还启发了对代码生成模型在不同编程语言和任务上的泛化能力的研究,进一步推动了该领域的技术进步。这些衍生工作不仅丰富了开放领域代码生成的理论基础,也为实际应用提供了更多可能性。
数据集最近研究
最新研究方向
在开放领域代码生成领域,ODEX数据集的最新研究方向聚焦于基于执行的评估方法。这一方法通过实际执行生成的代码来验证其功能正确性,相较于传统的基于文本相似度的评估指标(如BLEU、ROUGE等),能够更准确地反映代码生成模型的真实性能。近年来,随着大规模预训练模型(如CodeX、CodeGen)的兴起,开放领域代码生成任务逐渐成为研究热点。ODEX数据集通过提供多语言、多任务的自然语言到代码的映射,支持了对这些模型的全面评估。此外,该数据集还探索了少样本提示学习、测试用例数量对模型性能的影响,以及函数命名语义对代码生成的影响等前沿问题。这些研究不仅推动了代码生成模型的性能提升,也为开放领域代码生成的实际应用提供了重要参考。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作