# 教材版本知识点映射方案

> 中国中小学教材版本差异分析与知识点标准映射方案

## 一、背景

中国中小学教材存在多个版本，各版本的知识点结构、编排顺序、教学进度各不相同。要实现作业批改和学生学业评估的通用性，需要建立一套**教材版本→标准知识点**的映射机制。

## 二、主流教材版本一览

### 小学阶段（1-6年级）

| 科目 | 主流版本 | 使用范围 |
|------|---------|---------|
| 语文 | 部编版（人教社） | 全国通用，覆盖约90% |
| 数学 | 人教版、北师大版、苏教版 | 人教版约60%，北师大版约20%，苏教版约15% |
| 英语 | 人教版（PEP）、外研社版 | 人教版约50%，外研社约20% |
| 科学 | 教科版、人教版 | 教科版约50% |

### 初中阶段（7-9年级）

| 科目 | 主流版本 | 使用范围 |
|------|---------|---------|
| 语文 | 部编版 | 全国统一 |
| 数学 | 人教版、北师大版、华师大版 | 人教版约50% |
| 英语 | 人教版、外研社版、牛津译林版 | 人教版约40% |
| 物理 | 人教版、沪科版、教科版 | 人教版约50% |
| 化学 | 人教版、鲁教版 | 人教版约60% |

---

## 三、知识点映射体系设计

### 3.1 三层知识点结构

```
第一层：课程大纲层（国家级标准）
  └── 义务教育课程标准（2022版）定义的课程内容框架
  
第二层：教材结构层（各版本特有）
  └── 各版本教材的章/单元结构、学期进度安排
  
第三层：知识点粒度层（可评估）
  └── 具体的知识点（最小评估单元），如"两位数乘法的竖式计算"
```

### 3.2 映射关系模型

```yaml
义务教育课程标准（2022版）:
  数学:
    数与代数:
      - 数的认识
      - 数的运算
      - 常见的量
      - 式与方程
      - 正比例与反比例
    图形与几何:
      - 图形的认识
      - 测量
      - 图形的运动
      - 图形与位置
    统计与概率:
      - 数据统计
      - 可能性
    综合与实践: [...]

教材版本（如人教版三年级上册）:
  对应的课程大纲:
    第一单元 时、分、秒 → 常见的量（时间单位）
    第二单元 万以内的加法和减法 → 数的运算（加减法）
    第三单元 测量 → 测量（长度/质量单位）
    第四单元 万以内的加法和减法（二） → 数的运算（连续进位/退位）
    第五单元 倍的认识 → 数的运算（倍数关系）
    第六单元 多位数乘一位数 → 数的运算（乘法）
    第七单元 长方形和正方形 → 图形的认识（四边形）
    第八单元 分数的初步认识 → 数的认识（分数）
    第九单元 数学广角──集合 → 综合与实践

知识点粒度（最小评估单元）:
  KP-001: 认识时间单位（秒）
  KP-002: 简单的时间计算
  KP-003: 万以内数的加法（不进位）
  KP-004: 万以内数的加法（进位）
  KP-005: 万以内数的减法（不退位）
  KP-006: 万以内数的减法（退位）
  KP-007: 毫米、分米的认识与换算
  KP-008: 千米的认识与换算
  KP-009: 吨的认识与换算
  KP-010: 连续进位的加法
  KP-011: 连续退位的减法
  KP-012: 倍的含义
  KP-013: 求一个数是另一个数的几倍
  KP-014: 口算乘法
  KP-015: 笔算乘法（不进位）
  KP-016: 笔算乘法（进位）
  KP-017: 四边形的特征
  KP-018: 长方形和正方形的特征
  KP-019: 周长的含义
  KP-020: 长方形和正方形的周长计算
  KP-021: 分数的初步认识（几分之一）
  KP-022: 分数的大小比较
  KP-023: 分数的简单加减
  KP-024: 集合思想
```

---

## 四、数据结构设计

### 4.1 课程大纲表

```sql
CREATE TABLE curriculum_standard (
  standard_id   VARCHAR(32) PRIMARY KEY,     -- 如 "CS-MATH-3"
  subject_id    VARCHAR(16) NOT NULL,         -- 如 "math"
  grade         INT NOT NULL,                 -- 年级
  domain        VARCHAR(64),                  -- 领域（数与代数/图形与几何等）
  category      VARCHAR(64),                  -- 类别
  name          VARCHAR(128) NOT NULL,         -- 标准名称
  description   TEXT,                         -- 详细描述
  version       VARCHAR(32) DEFAULT '2022'    -- 课标版本
);
```

### 4.2 教材版本表

```sql
CREATE TABLE textbook_version (
  version_id    VARCHAR(32) PRIMARY KEY,       -- 如 "PEP-MATH-3A"
  subject_id    VARCHAR(16) NOT NULL,
  grade         INT NOT NULL,
  semester      VARCHAR(4),                    -- "上"/"下"
  publisher     VARCHAR(64),                   -- 出版出版社
  name          VARCHAR(128) NOT NULL,          -- 教材全称
  edition_year  INT                            -- 版本年份
);
```

### 4.3 章节知识点映射表

```sql
CREATE TABLE chapter_kp_mapping (
  mapping_id    VARCHAR(32) PRIMARY KEY,
  version_id    VARCHAR(32) NOT NULL,           -- 教材版本ID
  unit_no       INT NOT NULL,                   -- 单元序号
  unit_name     VARCHAR(128) NOT NULL,           -- 单元名称
  lesson_no     INT,                            -- 课序号（可选）
  lesson_name   VARCHAR(128),                   -- 课名称（可选）
  kp_id         VARCHAR(32) NOT NULL,            -- 关联知识点
  standard_id   VARCHAR(32),                    -- 关联课标
  sequence      INT NOT NULL,                   -- 教学顺序
  FOREIGN KEY (version_id) REFERENCES textbook_version(version_id),
  FOREIGN KEY (kp_id) REFERENCES knowledge_point(kp_id)
);
```

### 4.4 知识点表

```sql
CREATE TABLE knowledge_point (
  kp_id         VARCHAR(32) PRIMARY KEY,        -- 如 "KP-MATH-003"
  subject_id    VARCHAR(16) NOT NULL,
  grade         INT NOT NULL,
  name          VARCHAR(128) NOT NULL,           -- 知识点名称
  difficulty    ENUM('基础', '进阶', '拓展'),
  prerequisites JSON,                           -- 前置知识点列表
  description   TEXT,
  examples      JSON                            -- 示例题目
);
```

### 4.5 学校教材配置表

```sql
CREATE TABLE school_textbook_config (
  school_id     VARCHAR(32) PRIMARY KEY,
  subject_map   JSON,                           -- {"math": "PEP-MATH-3A", "chinese": "PEP-CHINESE-3A", ...}
  updated_at    TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```

---

## 五、映射流程

### 5.1 初始化映射

```
学校注册时:
  ① 选择教材版本（语文/数学/英语/科学...）
  ② 系统根据配置自动加载对应章节→知识点映射表
  ③ 返回知识点树供后续评估使用
```

### 5.2 题目关联知识点

```
教师出题/系统题库:
  ① 每题关联一个或多个知识点ID
  ② 同时标注与教材版本的章节对应关系
  ③ 批改后自动累积知识点掌握数据
```

### 5.3 跨版本兼容

```
当学校更换教材版本时:
  ① 新版本映射表替换旧版本
  ② 历史评估数据通过知识点ID（课标层）保持连续性
  ③ 章节层映射更新，不影响已有知识点的掌握率统计
```

---

## 六、知识点掌握率计算

### 6.1 基础公式

```
单个知识点掌握率 = 该知识点相关题目的正确数 / 该知识点相关题目总数 × 100%
```

### 6.2 加权修正

```
考虑题目难度系数后的加权掌握率:
  weighted_rate = Σ(正确_i × 难度系数_i) / Σ(总_i × 难度系数_i)
  
  难度系数: 基础=1.0, 进阶=1.2, 拓展=1.5
```

### 6.3 置信度

```
统计置信度: 
  - 题目数 ≥ 10: 高置信度
  - 题目数 5-9: 中等置信度
  - 题目数 < 5: 低置信度（暂不纳入正式评估）
```

---

## 七、实施建议

1. **预置映射**：系统预置主流教材版本（人教版/北师大版/苏教版等）的完整知识点映射
2. **自定义扩展**：支持学校管理员在预置映射基础上增删改知识点
3. **初始配置**：学校首次使用时，选择各科教材版本即可自动完成映射初始化
4. **版本升级**：教材改版时，提供映射迁移工具，保证历史数据不丢失
5. **开放格式**：支持CSV/JSON格式导入，方便与其他教育系统对接
