Let's Verify Math Questions Step by Step

📄 arXiv: 2505.13903v1 📥 PDF

作者: Chengyu Shen, Zhen Hao Wong, Runming He, Hao Liang, Meiyi Qiang, Zimo Meng, Zhengyang Zhao, Bohan Zeng, Zhengzhou Zhu, Bin Cui, Wentao Zhang

分类: cs.CL

发布日期: 2025-05-20

🔗 代码/项目: GITHUB


💡 一句话要点

提出MathQ-Verify,用于验证数学问题有效性,提升数学QA数据质量。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 数学问题验证 数学QA 数据清洗 自然语言处理 大型语言模型

📋 核心要点

  1. 现有数学QA研究侧重于生成正确推理路径和答案,忽略了数学问题本身的有效性,导致模型在无效问题上浪费计算资源。
  2. MathQ-Verify是一个五阶段流程,通过格式验证、形式化、条件分解、矛盾检测和完整性检查,严格过滤不适定或欠规范的数学问题。
  3. 实验表明,MathQ-Verify在多个基准测试中达到SOTA,F1得分提升高达25%,并通过模型投票方案实现了高精度和召回率。

📝 摘要(中文)

大型语言模型(LLMs)在数学推理方面取得了显著进展。为了实现这种能力,现有工作主要集中于将强大的推理模型提炼成长链思维,或设计算法来构建高质量的数学QA数据用于训练。然而,这些努力主要关注生成正确的推理路径和答案,而很大程度上忽略了问题本身的有效性。本文提出了数学问题验证(MathQ-Verify),这是一个新颖的五阶段流程,旨在严格过滤不适定或欠规范的数学问题。MathQ-Verify首先执行格式级别的验证,以删除冗余指令并确保每个问题在语法上是良好形成的。然后,它形式化每个问题,将其分解为原子条件,并根据数学定义验证它们。接下来,它检测这些条件之间的逻辑矛盾,然后进行面向目标的完整性检查,以确保问题提供足够的解决信息。为了评估这项任务,我们使用了现有的基准以及我们构建的包含2,147个具有不同错误类型的数学问题的数据集,每个问题都经过手动双重验证。实验表明,MathQ-Verify在多个基准测试中实现了最先进的性能,与直接验证基线相比,F1得分提高了高达25个百分点。它还通过轻量级模型投票方案获得了约90%的精度和63%的召回率。MathQ-Verify为管理可靠的数学数据集提供了一个可扩展且准确的解决方案,减少了标签噪声,并避免了对无效问题进行不必要的计算。我们的代码和数据可在https://github.com/scuuy/MathQ-Verify获得。

🔬 方法详解

问题定义:论文旨在解决数学QA数据集中存在大量无效(ill-posed或under-specified)问题的问题。现有方法主要关注模型推理能力的提升,而忽略了数据集本身的质量,导致模型在无效问题上进行不必要的计算,降低了训练效率和模型性能。

核心思路:论文的核心思路是通过一个多阶段的验证流程,对数学问题进行系统性的检查,从而过滤掉无效问题。该流程从语法、逻辑和信息完整性等多个角度对问题进行评估,确保数据集中的问题都是适定且有解的。

技术框架:MathQ-Verify包含五个主要阶段: 1. 格式验证:检查问题是否符合预定的格式规范,例如是否存在冗余指令。 2. 形式化:将问题转化为形式化的表示,例如将自然语言描述转化为数学表达式。 3. 条件分解:将问题分解为一系列原子条件,每个条件都对应一个独立的数学事实。 4. 矛盾检测:检查这些原子条件之间是否存在逻辑矛盾。 5. 完整性检查:确保问题提供了足够的信息来求解,即问题是well-defined的。

关键创新:该方法的核心创新在于提出了一个完整的、多阶段的数学问题验证流程,该流程不仅考虑了问题的语法正确性,还考虑了问题的逻辑一致性和信息完整性。与直接验证方法相比,MathQ-Verify能够更准确地识别和过滤无效问题。

关键设计:论文中没有明确提及具体的参数设置、损失函数或网络结构等技术细节。但从流程描述来看,每个阶段可能涉及不同的技术手段,例如,格式验证可能使用正则表达式,形式化可能使用符号计算工具,矛盾检测可能使用定理证明器,完整性检查可能使用依赖图分析等。论文重点在于流程的设计和各个阶段的整合。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

MathQ-Verify在多个数学QA基准测试中取得了显著的性能提升,F1得分最高提升了25个百分点。通过轻量级模型投票方案,实现了约90%的精度和63%的召回率。这些结果表明,MathQ-Verify能够有效地过滤无效问题,提高数学QA数据的质量。

🎯 应用场景

MathQ-Verify可应用于数学教育、自动题库构建、数学解题机器人等领域。通过过滤无效问题,可以提高数学学习资源的质量,减少学生在无效问题上的时间浪费,并提升数学解题机器人的准确性和效率。该方法还有助于构建更高质量的数学QA数据集,从而促进相关领域的研究进展。

📄 摘要(原文)

Large Language Models (LLMs) have recently achieved remarkable progress in mathematical reasoning. To enable such capabilities, many existing works distill strong reasoning models into long chains of thought or design algorithms to construct high-quality math QA data for training. However, these efforts primarily focus on generating correct reasoning paths and answers, while largely overlooking the validity of the questions themselves. In this work, we propose Math Question Verification (MathQ-Verify), a novel five-stage pipeline designed to rigorously filter ill-posed or under-specified math problems. MathQ-Verify first performs format-level validation to remove redundant instructions and ensure that each question is syntactically well-formed. It then formalizes each question, decomposes it into atomic conditions, and verifies them against mathematical definitions. Next, it detects logical contradictions among these conditions, followed by a goal-oriented completeness check to ensure the question provides sufficient information for solving. To evaluate this task, we use existing benchmarks along with an additional dataset we construct, containing 2,147 math questions with diverse error types, each manually double-validated. Experiments show that MathQ-Verify achieves state-of-the-art performance across multiple benchmarks, improving the F1 score by up to 25 percentage points over the direct verification baseline. It further attains approximately 90% precision and 63% recall through a lightweight model voting scheme. MathQ-Verify offers a scalable and accurate solution for curating reliable mathematical datasets, reducing label noise and avoiding unnecessary computation on invalid questions. Our code and data are available at https://github.com/scuuy/MathQ-Verify.