Orchid
收藏Orchid数据集概述
基本信息
- 名称: Orchid
- 创建方式: [专家标注, 机器生成]
- 语言: [英语]
- 许可证: Apache-2.0
- 多语言性: [单语]
- 源数据集: [HumanEval]
数据集简介
Orchid是一个综合性基准数据集,旨在评估大型语言模型(LLMs)在代码生成任务中处理模糊性的能力。它扩展了HumanEval数据集,包含四种精心设计的模糊类型。
关键特性
- 词汇模糊性: 影响解释的词级模糊性
- 语义模糊性: 影响实现逻辑的基于含义的模糊性
- 句法模糊性: 句子结构中的结构模糊性
- 模糊性: 导致多种解释的不明确或不精确描述
数据集统计
- 总任务数: 164个编程问题
- 原始任务: 基于HumanEval数据集
- 模糊类型: 每个任务4种类型
- 格式: JSONL (JSON Lines)
- 语言: Python
数据结构
每个任务包含: json { "name": "HumanEval/0", "entry_point": "has_close_elements", "prompt": "原始任务描述", "solution": "正确实现", "test_case": [...], "Lexical_prompt": "词汇模糊版本", "Lexical_ambiguity_explanation": "词汇模糊解释", "Semantic_prompt": "语义模糊版本", "Semantic_ambiguity_explanation": "语义模糊解释", "Syntactic_prompt": "句法模糊版本", "Syntactic_ambiguity_explanation": "句法模糊解释", "Vagueness_prompt": "模糊性版本", "Vagueness_ambiguity_explanation": "模糊性解释" }
使用方式
加载数据集
python import json
def load_orchid_dataset(file_path): tasks = [] with open(file_path, r, encoding=utf-8) as f: for line in f: if line.strip(): tasks.append(json.loads(line)) return tasks
评估模型性能
python def evaluate_ambiguity_robustness(model, tasks): results = { original: [], lexical: [], semantic: [], syntactic: [], vagueness: [] } for task in tasks: original_result = model.generate(task[prompt]) results[original].append(original_result) for amb_type in [Lexical, Semantic, Syntactic, Vagueness]: if task[f{amb_type}_prompt]: amb_result = model.generate(task[f{amb_type}_prompt]) results[amb_type.lower()].append(amb_result) return results
评估指标
- 模糊性检测: 模型能否识别模糊需求
- 鲁棒性: 性能如何随模糊性变化
- 一致性: 模型对不同模糊类型的处理是否相似
- 错误分析: 模糊性导致哪些类型的错误
研究应用
- 模型鲁棒性测试: 评估模型处理现实模糊性的能力
- 提示工程: 研究模糊提示对代码生成的影响
- 模型比较: 比较不同模型的模糊处理能力
- 训练数据分析: 识别训练数据集中的潜在模糊性
贡献
- 添加新模糊类型: 提出新的模糊类别
- 提高模糊质量: 增强现有模糊提示
- 添加更多任务: 扩展数据集
- 评估工具: 创建新评估指标和工具
许可证
Apache License 2.0




