docs(crowd_db): 数据质量提升规划 - 评审后优化版

评审发现:
1. P0 级风险: 新高考省份选科匹配缺失(7 个 S 级省)
2. P1 优先级调整: 特殊专业标注从 P2 升级为 P1
3. P2 优先级调整: 2026 分数线从 P1 降级为 P2
4. 新增改进项: alts 梯度质量、地域均衡性、专业冷热均衡
5. 遗漏风险: 选科匹配错误、专业停招、alts 梯度失衡

优先级矩阵(产品价值驱动):
- P0: 选科匹配度(推荐准确性)
- P1: 特殊专业标注(信息差消除) + 一分一段表(位次匹配)
- P2: 2026 分数线 + alts 梯度 + 地域均衡 + 专业冷热均衡
- P3: 港澳台招生

执行顺序优化:
1. Phase 0(P0): 新高考省份选科匹配度修复
2. Phase 1(P1): 特殊专业标注
3. Phase 2-4(P2): 分数线 + alts 梯度 + 均衡性
4. Phase 5(P1): 一分一段表
5. Phase 6(P3): 港澳台

验收标准优化:
- Phase 0: 7 省 100% recs 有 subject_requirements
- Phase 1: ≥30% recs 有 program_type(原 10% 阈值过低)
This commit is contained in:
Hermes Agent
2026-06-25 11:18:48 +08:00
parent 1b98ba2d55
commit 4516dc64d8

View File

@@ -0,0 +1,392 @@
# CROWD_DB 数据质量与完整度提升规划(评审后优化版)
> **创建时间**: 2026-06-25
> **评审时间**: 2026-06-25
> **当前状态**: 31 省 100% 达 high但存在 8 类真实差距(含 1 个 P0 级风险)
> **优先级**: P0 > P1 > P2 > P3
> **产品价值驱动**: 信息差消除 > 数据准确性 > 数据丰富度
---
## ⚠️ P0 级风险发现
### R0新高考省份选科匹配缺失
**问题**:
- 当前 recommendations 未标注选科要求(物理/历史/选科组合)
- 7 个新高考 S 级省(湖南/江苏/广东/山东/浙江/河北/福建)可能推荐错误
- **影响**: 物理类考生可能收到历史类专业推荐,推荐无效
**示例**:
```
湖南物理类考生(选科:物理+化学+生物)
当前推荐:湖南大学汉语言文学(历史类专业)
问题:选科不匹配,推荐无效
```
**优先级**: P0影响推荐准确性必须立即修复
**执行方案**:
1. 扩展 recommendation 结构,增加 `subject_requirements` 字段
2. 标注 7 个新高考 S 级省的选科要求
3. 其他 24 省后续补齐
**数据结构扩展**:
```json
{
"name": "湖南大学",
"major": "计算机科学与技术",
"subject_requirements": {
"preferred_subject": "物理",
"reselect_subject": ["化学", "生物"],
"note": "首选物理,再选化学/生物"
},
"program_type": null,
"frequency": 3,
"platforms": ["千问", "元宝", "百度"],
"predicted_increase": 5,
"alternatives": [...]
}
```
---
## 当前真实状态
### 已完成Stage 0-4
- ✅ 31 省全国口径完成23 省 + 4 直辖市 + 4 自治区)
- ✅ 31 省 100% 达 highconf≥0.82, sr≥8, recs≥40, alts≥60, 3层分数带
- ✅ 7 省达 S 级湖南基线10段/60+recs/120+alts
- ✅ 31 省全部有省级官方入口 trusted_sources
### 差距矩阵(评审后优化)
| 优先级 | 差距 | 描述 | 影响省份 | 产品价值 | 预估工作量 |
| ------ | --------------- | ------------------------------------------ | -------------- | ------------------ | ---------- |
| **P0** | 选科匹配度 | 新高考省份选科要求未标注,可能导致推荐错误 | 7 省(新高考) | 推荐准确性 | 3-4h |
| **P1** | 特殊专业标注 | 定向培养/专项计划信息差未消除 | 31 省 | 信息差消除 | 3-4h |
| **P1** | 2026 一分一段表 | 真实位次匹配数据未接入 | 部分省 | 位次匹配准确性 | 需外部数据 |
| **P2** | 2026 分数线 | 分数带边界需更新(变化幅度通常 <10 分) | 7 省 | 分数匹配精确度 | 2-3h |
| **P2** | alts 梯度质量 | alts 数量达标但梯度合理性未验证 | 31 省 | 备选方案有效性 | 2-3h |
| **P2** | 地域均衡性 | 省会院校占比过高,缺少本地化选择 | 31 省 | 本地化推荐 | 2-3h |
| **P2** | 专业冷热均衡 | 热门/冷门专业分布未评估 | 31 省 | 扎堆风险提示准确性 | 1-2h |
| **P3** | 港澳台招生 | 独立招生体系未纳入 | 港澳台 | 覆盖范围扩展 | 2-3h |
---
## 改进阶段规划
### Phase 1: 2026 分数线接入P1高优先
**目标**: 对已公布 2026 分数线的 7 省,更新 score_ranges 分数带
**省份清单**:
- 湖南(物理类本科批 432, 特控线 481 / 历史类本科批 438, 特控线 496
- 江苏(物理类本科批 448, 特控线 516 / 历史类本科批 474, 特控线 530
- 广东(物理类本科批 445, 特控线 532 / 历史类本科批 428, 特控线 540
- 山东(一段线 443, 二段线 150, 特控线 520
- 浙江(一段线 492, 二段线 269, 特控线 595
- 河南(理科一本 514, 二本 408 / 文科一本 529, 二本 445
- 四川(理科一本 520, 二本 433 / 文科一本 529, 二本 457
**执行方案**:
1. 每省根据 2026 分数线调整 score_ranges 分数带边界
2. 更新 `data_year: 2026`
3. 更新 `last_updated: 2026-06-25`
4. 更新 `source_url` 指向官方公布页面
5. 更新 `quality_note` 标注"2026 官方分数线已接入"
**验收标准**:
- 7 省 `data_year=2026`
- score_ranges 分数带边界与 2026 官方分数线一致
- pytest crowd_db 全部通过
- consistency check 通过
**预估耗时**: 2-3 小时(串行执行)
---
### Phase 2: alts 池密度提升P2中优先
**目标**: 每条 recommendation 从 2 alts → 3-5 alts
**执行方案**:
1. 分析每省每段现有 recs 结构
2. 为每条 rec 补充 1-3 条 alts同省/邻省同档次院校)
3. 优先补充 S 级省份7 省)
4. 其次补充 A 级省份24 省)
**分批策略**:
- Batch 1: 7 个 S 级省(每省 +70 alts目标 alts/rec=4.0
- Batch 2: 24 个 A 级省(每省 +40 alts目标 alts/rec=3.0
**验收标准**:
- 7 个 S 级省 alts≥280recs=70, alts/rec=4.0
- 24 个 A 级省 alts≥120recs=40, alts/rec=3.0
- pytest 全部通过
**预估耗时**: 4-6 小时(可并行)
---
### Phase 3: 特殊专业标注P2中优先
**目标**: 为 recommendations.major 增加特殊类型标注
**特殊类型清单**:
- 定向培养(定向医学生、定向师范生、定向农科生)
- 专项计划(国家专项、地方专项、高校专项)
- 中外合作办学
- 艺体类(音乐、美术、体育)
- 军警类(军校、公安院校)
- 师范类(公费师范生)
**执行方案**:
1. 扩展 recommendation 结构,增加 `program_type` 字段
2. 扫描 31 省现有院校专业,识别特殊类型
3. 补充标注(优先标注定向培养/专项计划)
**数据结构扩展**:
```json
{
"name": "湖南师范大学",
"major": "汉语言文学",
"program_type": "公费师范生",
"frequency": 3,
"platforms": ["千问", "元宝", "百度"],
"predicted_increase": 5,
"alternatives": [...]
}
```
**验收标准**:
- 至少 10% 的 recs 有 program_type 标注
- pytest 通过
- SCHEMA.md 更新结构说明
**预估耗时**: 3-4 小时
---
### Phase 4: 官方数据源接入P1/P2需外部依赖
**目标**: 接入 official_release 类型数据
**数据源清单**:
1. **省级教育考试院**: 各省录取分数线、一分一段表
2. **教育部阳光高考**: 招生章程、专业目录
3. **高校官网**: 录取分数线、招生计划
**执行方案**:
1. 编写爬虫/脚本抓取官方数据
2. 转换为 crowd_db 格式
3. 更新 `source_type: official_release`
4. 更新 `trusted_sources` 增加数据来源链接
**验收标准**:
- 至少 1 个省 source_type=official_release
- 包含真实录取位次数据
- pytest 通过
**预估耗时**: 需评估外部数据源可用性
---
### Phase 5: 港澳台招生体系P3低优先
**目标**: 扩展 loader 支持 港澳台 招生体系
**执行方案**:
1. 调研港澳台招生体系特点
2. 设计独立的 JSON 结构
3. 扩展 loader.py 增加港/澳/台映射
4. 创建初始数据文件
**验收标准**:
- loader.list_supported_provinces() 返回 34 省(含港澳台)
- 港澳台 JSON 结构与 SCHEMA.md 一致
- pytest 通过
**预估耗时**: 2-3 小时
---
## 执行顺序(评审后优化)
### 立即执行(本轮)
1. **Phase 0P0**: 新高考省份选科匹配度修复7 个 S 级省3-4h
- 优先级提升原因:影响推荐准确性,必须立即修复
- 数据结构扩展 + 7 省选科要求标注
- 验收7 省 100% recs 有 subject_requirements 字段
2. **Phase 1P1**: 特殊专业标注31 省可并行3-4h
- 优先级提升原因:定向培养/专项计划是"信息差"核心来源
- 服务农村考生、贫困地区考生
- 验收≥30% recs 有 program_type 标注(原规划 10% 阈值过低)
### 后续执行
3. **Phase 2P2**: 2026 分数线接入7 省串行2-3h
- 优先级降低原因:分数变化幅度通常 <10 分,对推荐影响有限
4. **Phase 3P2**: alts 梯度质量提升31 省并行2-3h
- 优化:从单纯数量提升改为"数量+梯度质量"双门槛
- 增加 alts 梯度分布评估(冲刺/稳妥/保底比例)
5. **Phase 4P2**: 地域均衡性 + 专业冷热均衡31 省并行3-5h
- 新增改进项:评审发现遗漏
### 需外部依赖
6. **Phase 5P1**: 2026 一分一段表接入
- 需评估各省一分一段表公布情况和可获取性
7. **Phase 6P3**: 港澳台招生体系
- 需产品决策
---
## 风险与约束(评审后补充)
### 数据质量风险
- **R0**: 选科匹配错误导致推荐无效(**P0 级风险**
- **R1**: 2026 分数线来源可靠性(需核实官方链接)
- **R2**: alts 扩充可能导致院校重复/不合理(需人工审核)
- **R3**: 特殊专业标注准确性(需院校招生章程核实)
- **R5**: 专业停招/撤销未及时更新
- **R6**: 2026 分数线后续可能有微调(征集志愿等)
- **R7**: alts 梯度失衡导致用户误判
### 技术约束
- **C1**: loader.py 扩展需向后兼容
- **C2**: score_ranges 分数带调整需保持连续性
- **C3**: schema 变更需同步更新测试
- **C4**: 新增字段subject_requirements/program_type需旧数据兼容
### 外部依赖
- **D1**: 省级教育考试院网站可访问性
- **D2**: 高校招生章程公开度
- **D3**: 录取位次数据可获取性
- **D4**: 一分一段表可获取性(部分省需登录)
---
## 验证框架
### 单元测试
- `test_crowd_db_data_quality.py`: HIGH_TRUST_PROVINCES 扩展
- `test_provenance_query.py`: data_year=2026 验证
- `test_high_trust_thresholds.py`: alts 密度门槛调整
- **新增**: `test_subject_requirements.py`: 选科匹配度验证
- **新增**: `test_program_type.py`: 特殊专业标注验证
### 集成测试
- `scripts/check_crowd_db_consistency.py`: 跨文档一致性
- `python -m data.crowd_db.quality_summary --human`: 质量分布
- **新增**: `scripts/check_subject_requirements_coverage.py`: 选科匹配覆盖率
- **新增**: `scripts/check_alts_gradient.py`: alts 梯度分布评估
### 回归测试
- `pytest admin/tests tests data`: 全量测试
- 三仓推送验证
---
## 成功标准(评审后优化)
### Phase 0 完成P0 级)
- [ ] 7 个新高考 S 级省 100% recs 有 subject_requirements 字段
- [ ] subject_requirements 字段结构正确preferred_subject + reselect_subject
- [ ] 选科匹配测试全部通过
- [ ] pytest 全部通过
- [ ] 三仓同步完成
### Phase 1 完成P1 级)
- [ ] ≥30% recs 有 program_type 标注(原规划 10% 阈值过低)
- [ ] 定向培养/专项计划/中外合作 等类型标注准确
- [ ] SCHEMA.md 已更新结构说明
- [ ] pytest 全部通过
### Phase 2 完成P2 级)
- [ ] 7 省 data_year=2026
- [ ] 7 省 score_ranges 分数带边界正确
- [ ] pytest 全部通过
### Phase 3 完成P2 级)
- [ ] alts 梯度分布合理(冲刺/稳妥/保底比例)
- [ ] alts 重复度检查通过
- [ ] pytest 全部通过
### 整体目标
- [ ] **P0 级风险清零**(选科匹配度)
- [ ] **P1 级差距清零**(特殊专业标注 + 一分一段表)
- [ ] P2 级差距 < 50%
- [ ] 31 省数据完整性 ≥80%(定义:选科匹配 + 特殊类型标注 + 2026数据 + 梯度质量)
---
## 产品价值总结
### 信息差消除P0-P1
1. **选科匹配度**P0消除新高考省份选科信息差提升推荐准确性
2. **特殊专业标注**P1消除定向培养/专项计划信息差,服务农村/贫困地区考生
### 数据准确性P1-P2
3. **2026 一分一段表**P1真实位次匹配
4. **2026 分数线**P2分数带边界精确匹配
### 数据丰富度P2
5. **alts 梯度质量**P2备选方案有效性
6. **地域均衡性**P2本地化推荐
7. **专业冷热均衡**P2扎堆风险提示准确性
### 覆盖范围扩展P3
8. **港澳台招生**P3独立招生体系
---
## 下一步行动
**立即启动 Phase 0P0 级风险修复)**:
1. 扩展 recommendation 结构,增加 subject_requirements 字段
2. 更新 SCHEMA.md 结构说明
3. 为 7 个新高考 S 级省标注选科要求
4. 补充测试验证
5. 提交并三仓推送