论文
NL2Scratch:基于块的编程的可执行基准和评估
NL2Scratch: An Executable Benchmark and Evaluation for Block-Based Programming
摘要
Scratch 等基于块的编程环境广泛用于早期编程教育,但自然语言到代码 (NL2Code) 研究主要集中在基于文本的语言。 Scratch 程序是事件驱动的、视觉上组合的、跨并发脚本分布的,这使得传统的 NL2Code 假设和评估不够充分。我们引入了 NL2Scratch,这是一个用于自然语言到 Scratch 生成的可执行基准,包含 311,648 个解析器有效的 NL 程序对,其程序部分是从真实的 Scratch 项目中提取的,并与语义对齐的 NL 描述配对。为了超越表面重叠的可靠评估,我们提出了语义对齐一致性(SAC),这是一种可解释的槽级度量,用于测量描述和程序之间的语义一致性。通过 SAC,我们构建了一个包含 23,594 个示例的语义验证池,以及一个时隙平衡的 800 个诊断基准。指令调整和微调 LLM 的实验揭示了词汇相似性和语义对齐之间的显着差距:实现 词元级 F1 高于 0.93 的模型通常无法获得完美的 SAC,特别是在较长的示例中。错误集中在操作槽(如操作、条件和数字参数)上,暴露出在传统指标下基本上不可见的故障模式。