Files
zk-data-agent/skills/label-master/knowledge/判断维度/复杂度/简单数学.md
T
2026-06-08 14:43:44 +08:00

149 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 简单数学问题复杂度判断
本文件是 [复杂度判断](复杂度判断.md) 的专项条件表,父维度是 `complex` / 复杂度判断。
它专门用于在业务标签为 `简单数学问题` 时,进一步分流 `complex=false``complex=true`。命中本文件的非复杂任务清单时,给 `complex=false`;其余符合简单数学问题但未命中清单的 query,给 `complex=true`
## 使用原则
- 本文件只在业务标签判断为 `简单数学问题` 时启用,不替代标签判断。
- 复杂度分流以"任务形态"为准,不以题面长短或数字大小为准。
- 命中下方非复杂任务清单的,给 `complex=false`;未命中但仍属于简单数学问题的,统一给 `complex=true`
- 如果 query 同时涉及多指令或自动任务,仍需分别读取对应维度文件,不要混成一个结论。
## 非复杂任务清单(complex=false
只有命中以下任一类型,才给 `complex=false`
### 公式计算
四则运算、根号、幂运算、小数、分数、百分比之间的直接计算。
示例:
- 三加五乘以二等于多少
- 根号一百四十四是多少
- 二的十次方是多少
- 零点三七五加零点二五等于几
- 三分之二加四分之一是多少
- 八十的百分之十五是多少
判断要点:
- 计算对象是数字与基础运算符的组合,无需引入外部知识。
- 不需要拆步骤推理,公式直接落到一次计算。
### 单位转换
长度、面积、体积、重量、速度、时间、温度等度量单位之间的换算。
示例:
- 五公里等于多少米
- 三斤是多少千克
- 一百华氏度是多少摄氏度
- 两小时三十分钟一共多少秒
判断要点:
- 输入与输出都是同一物理量在不同单位下的表达。
- 转换关系是固定常数,不涉及实时数据。
### 汇率换算
货币之间的金额换算。
示例:
- 一千美元等于多少人民币
- 五百欧元换成日元是多少
- 港币一万兑换成人民币
判断要点:
- 任务是一次金额从源币种到目标币种的换算。
- 即使汇率本身需要查询,任务形态仍然是单步换算,给 `complex=false`
### 称谓计算
亲属关系、辈分、称呼之间的推算。
示例:
- 我爸爸的姐姐的儿子叫我什么
- 我妈妈的弟弟的女儿是我的什么人
- 表哥的爸爸应该怎么称呼
判断要点:
- 任务是从一条亲属链推出对应称谓。
- 输出是一个称谓词,不需要规划或多方案比较。
### 数列计算
等差、等比、简单递推数列的下一项、项数、求和等基础题。
示例:
- 二四六八下一个数是多少
- 一三五七九的第十项是多少
- 一加二加三一直加到一百等于多少
- 等比数列首项二公比三第五项是多少
判断要点:
- 数列规则可以一步识别,套公式或一次累加即可得到答案。
- 不涉及证明、构造、分类讨论或多步推理。
## 复杂任务(complex=true
不在上述清单中、但仍属于简单数学问题的 query,统一给 `complex=true`
典型范围:
- 应用题:需要从自然语言情境中抽取数量关系,再列式计算(例如 BMI、利息、折扣、行程、工程、浓度、年龄等问题)。
- 多步推理:需要先求中间量,再用中间量算最终答案。
- 条件分类讨论:需要根据条件取不同公式或方案。
- 几何/三角计算需要图形分析或多公式组合。
- 概率、统计、组合数等需要建模才能列式的问题。
判断要点:
- 即使最终落到一次算式,只要算式不是用户直接给出,而是需要从语义中推出来,就给 `complex=true`
- 题面里出现"如果""假设""至少""至多""每""共""相遇""往返""打几折""年化"等需要建模的关键词时,倾向于 `complex=true`
## 列竖式的处理
"列竖式"只是输出形态要求,不改变任务本身的复杂度。判断时剥离"列竖式"这一表层要求,再看底层任务命中哪一类:
- 列竖式 + 非复杂任务清单中的题目 → `complex=false`
- 列竖式 + 不在清单中的题目(应用题、多步推理、分类讨论等)→ `complex=true`
示例:
| query | complex | 原因 |
| --- | --- | --- |
| 列竖式计算二十三加四十五 | false | 底层是四则运算,命中公式计算 |
| 列竖式算一下三斤等于多少千克 | false | 底层是单位转换 |
| 列竖式算这道应用题:小明有 5 个苹果,给了小红 2 个… | true | 底层是应用题,需要建模 |
| 列竖式求两位数乘三位数余多少 | true | 底层涉及多步推理或分类讨论 |
判断要点:
- 不要因为 query 出现"列竖式""写过程""分步"等表达就升级或降级复杂度。
- 先回答"如果不要求列竖式,这道题是哪一类",再据此决定 complex。
## 判断流程
1. 先判断业务标签是否为 `简单数学问题`;不是则不读本文件。
2. 如 query 含"列竖式"等输出形态要求,先剥离再判断底层任务类型。
3. 检查 query 是否命中"非复杂任务清单"的任一类型;命中给 `complex=false`
4. 没有命中时,给 `complex=true`
5. 如果 query 同时是多指令或自动任务,按对应维度文件单独判断,不在本文件处理。
## 待维护问题
- 进位、退位、竖式、心算等更基础的小学题型是否单列。
- 含变量的简单代数式(例如 `x+3=10`)的归属,目前默认归 `complex=true`
- 与"知识问答"边界:纯定义类问题("什么是质数")通常归到 QA,不走本维度。