---
name: knowledge-mastery-calculator
description: 瓦拉英语课程知识点掌握度精准计算器，解决传统判定方法「跟读通过=掌握」的核心痛点，真实反映用户语言学习实际掌握情况
---

# Skill: 知识点掌握度计算器
## 基本信息
- **技能名称：** 知识点掌握度精准计算器
- **适用场景：** 瓦拉英语课程知识点掌握度计算、用户学习效果评估、退费原因分析、内容优化数据支撑
- **核心价值：** 解决传统判定方法「跟读通过=掌握」的核心痛点，真实反映用户语言学习实际掌握情况
---
## 触发条件
当遇到以下场景时自动触发本技能：
1. 需要计算用户单个/整体知识点掌握程度
2. 分析退费用户学习效果
3. 评估课程内容设计合理性
4. 生成用户学情报告
---
## 核心计算公式
### 1. 变量定义
| 变量 | 定义 | 取值规则 |
|------|------|----------|
| $K$ | 目标知识点 | - |
| $N$ | 知识点$K$在所有互动组件中出现的总次数 | ≥1 |
| $S_i$ | 知识点$K$第$i$次出现所在组件的通过状态 | 1=通过，0=未通过 |
| $W_i$ | 知识点$K$第$i$次出现所在组件的类型权重 | 跟读/发音类=0.2<br>输入类（选择/匹配/拖拽/听力）=0.3<br>输出类（挖空/组句/口语/写作/看图说话）=0.5 |
| $M_i$ | 知识点$K$第$i$次出现的重复巩固权重 | 第1次出现=1.0（首次学习）<br>第2次出现=1.5（巩固练习）<br>第≥3次出现=2.0（强化掌握） |
### 2. 计算步骤
1. 单组件贡献得分：$Score_i = S_i \times W_i \times M_i$
2. 知识点总得分：$TotalScore = \sum_{i=1}^{N} Score_i$
3. 知识点满分值：$FullScore = \sum_{i=1}^{N} (W_i \times M_i)$
4. 最终掌握度：$MasteryRate = \frac{TotalScore}{FullScore} \times 100\%$
---
## 掌握度等级判定
| 掌握度区间 | 等级 | 判定说明 |
|------------|------|----------|
| ≥80% | ✅ 熟练掌握 | 知识点完全理解并能灵活运用，无需巩固 |
| 60%~79% | 🟢 基本掌握 | 知识点基本理解，简单场景能运用，建议少量巩固 |
| 40%~59% | ⚠️ 部分掌握 | 知识点理解不透彻，运用困难，需针对性巩固 |
| <40% | ❌ 未掌握 | 知识点未理解，需重新学习 |
---
## 使用示例
### 示例1：单知识点计算
知识点「dress n. 连衣裙」共出现6次：
| 出现顺序 | 组件类型 | 通过状态 | 权重 | 得分 |
|----------|----------|----------|------|------|
| 1 | 跟读类 | 是 | 0.2×1.0=0.2 | 0.2 |
| 2 | 输入类 | 是 | 0.3×1.5=0.45 | 0.45 |
| 3 | 输出类 | 是 | 0.5×2.0=1.0 | 1.0 |
| 4 | 输入类 | 是 | 0.3×2.0=0.6 | 0.6 |
| 5 | 输出类 | 是 | 0.5×2.0=1.0 | 1.0 |
| 6 | 输出类 | 是 | 0.5×2.0=1.0 | 1.0 |
> 总得分=4.25，满分=4.25，掌握度=100% → ✅ 熟练掌握
### 示例2：整体掌握度计算
用户共学习100个知识点，掌握度加权平均（核心知识点权重1.2，普通1.0，了解类0.8），得到整体掌握率68% → 🟢 基本掌握
---
## 数据要求
需要提供以下数据源：
1. 互动组件学习记录：包含组件ID、组件类型、对应知识点、通过状态、学习时间
2. 知识点元数据：包含知识点ID、名称、重要度等级、所属阶段
3. （可选）组件难度系数：用于同类型组件难度差异适配
---
## 可选优化点（扩展功能）
1. **难度系数适配**：同类型组件按难度设置系数，简单0.8，复杂1.2
2. **异常数据过滤**：过滤停留<2s的误操作组件、bug异常组件
3. **遗忘衰减系数**：超过30天的知识点掌握度×0.9/每30天，适配遗忘曲线
4. **高频梯度权重**：第≥6次出现的知识点重复权重提升至2.5，体现核心知识点价值
