论文

原因、地点、方式:NL2SQL 中代码修复的分类法引导的错误定位

Why, Where, How: Taxonomy-guided Error Grounding for Code Repair in NL2SQL

摘要

大语言模型根据自然语言问题编写的 SQL 查询可以成功执行,但会产生不正确的结果,因此单独执行并不能揭示要修复的内容。错误分类说明了查询错误的原因,但没有说明在哪里查找或如何更改它。现有方法可以通过反馈、错误报告或生成的计划以及未屏蔽的查询来指导 SQL 纠正。我们引入了 TEG(分类法引导的错误定位),它将提供的诊断转换为结构化校正输入,以进行自然语言到 SQL (NL2SQL) 的校正。特定于类型的规则映射每个错误类型以构造要重新考虑的类和要请求的编辑操作。 TEG 在适用时屏蔽查询中选定的构造,并在编辑指令中说明该操作。 TEG 根据此输入生成候选更正,使用执行反馈来指导候选选择,并对有多个错误的查询重复该过程,一次一个注释。在 NL2SQL-BUG 上,TEG 在 Qwen2.5-7B-Instruct 上达到了 47.3 的单错误执行精度和 37.0 的整体精度。在主要比较中评估的模型大小和思维模式中,TEG 在单错误查询上优于所有评估的基线,即使基线接收相同的错误类型注释也是如此。对于预测类型,TEG 在单错误查询上保持高于直接LLM校正和 ErrorLLM。

原因、地点、方式:NL2SQL 中代码修复的分类法引导的错误定位的原论文方法或结果图
图 1:错误定位将查询错误的原因映射到错误的位置和修复方法。 TEG 屏蔽由错误类型选择的结构并提供编辑指令。对于属性不匹配,TEG 屏蔽列表达式,允许LLM将缩写的街道字段 school.streetabr 替换为所需的未缩写的邮寄街道字段 T2.MailStreet。