初始化课评系统仓库:包含规则配置、学生档案、课程教案、班级汇总
This commit is contained in:
401
.claude/rules/90-archive/60-name-processing.md
Normal file
401
.claude/rules/90-archive/60-name-processing.md
Normal file
@@ -0,0 +1,401 @@
|
||||
# 课评姓名处理规则
|
||||
|
||||
> 处理语音输入谐音、课评称呼方式、姓名规范化
|
||||
|
||||
---
|
||||
|
||||
## 一、语音输入谐音纠正
|
||||
|
||||
### 1.1 问题场景
|
||||
语音输入时,学生姓名可能被识别为谐音词:
|
||||
- "梁昕乔" → "良心桥"、"亮新巧"
|
||||
- "钟昀昊" → "中云浩"、"钟运好"
|
||||
- "李怡瞳" → "李一同"、"黎怡彤"
|
||||
|
||||
### 1.2 纠正机制
|
||||
|
||||
**Step 1: 建立班级学生名单库**
|
||||
```
|
||||
发现世界-周四19点班学生名单:
|
||||
- 梁昕乔(liang xin qiao)
|
||||
- 钟昀昊(zhong yun hao)
|
||||
```
|
||||
|
||||
**Step 2: 谐音匹配算法**
|
||||
当输入姓名无法精确匹配时,使用拼音相似度匹配:
|
||||
- 提取输入文本的拼音
|
||||
- 与班级名单进行相似度对比
|
||||
- 选择相似度>80%的姓名作为纠正目标
|
||||
|
||||
**Step 3: 常见谐音对照表**
|
||||
|
||||
| 正确姓名 | 常见谐音错误 | 拼音相似 |
|
||||
|---------|-------------|---------|
|
||||
| 梁昕乔 | 良心桥、亮新巧、梁新桥 | liang xin qiao |
|
||||
| 钟昀昊 | 中云浩、钟运好、周云昊 | zhong yun hao |
|
||||
| 李怡瞳 | 李一同、黎怡彤、李怡桐 | li yi tong |
|
||||
| 张宇 | 章鱼、张瑜、章雨 | zhang yu |
|
||||
| 王思琪 | 王思齐、王斯琦、汪思琪 | wang si qi |
|
||||
| **黄晓瑜** | **小鱼** | **xiao yu → 晓瑜** |
|
||||
| **罗钧龄** | **君玲** | **jun ling** |
|
||||
| **简思霖** | **思林** | **si lin** |
|
||||
|
||||
### 1.4 语音输入常见误识别模式(新增)
|
||||
|
||||
**模式1:同音字替换**
|
||||
| 正确 | 误识别 | 原因 | 纠正规则 |
|
||||
|------|--------|------|---------|
|
||||
| 晓瑜 | 小鱼 | "晓"→"小","瑜"→"鱼"同音 | 检测"小+常见字"模式,匹配班级名单 |
|
||||
| 钧龄 | 君玲 | "钧"→"君","龄"→"玲"同音 | 检测常见名字组合 |
|
||||
| 思霖 | 思林 | "霖"→"林"同音 | 检测"思"+植物相关字 |
|
||||
|
||||
**模式2:省略姓氏**
|
||||
| 正确 | 误识别 | 原因 | 纠正规则 |
|
||||
|------|--------|------|---------|
|
||||
| 黄晓瑜 | 晓瑜 | 语音省略姓氏 | 直接匹配给定名字 |
|
||||
| 梁家铭 | 家铭 | 语音省略姓氏 | 直接匹配给定名字 |
|
||||
|
||||
**模式3:连读变音**
|
||||
| 正确 | 误识别 | 原因 | 纠正规则 |
|
||||
|------|--------|------|---------|
|
||||
| 馨宸 | 新城/心晨 | 连读发音变化 | 模糊拼音匹配 |
|
||||
| 瀚丞 | 韩晨/涵辰 | 连读发音变化 | 模糊拼音匹配 |
|
||||
|
||||
**纠正优先级**:
|
||||
1. 优先匹配班级现有学生名单(完整匹配)
|
||||
2. 其次匹配去除姓氏后的名字部分
|
||||
3. 最后进行谐音/模糊音匹配
|
||||
4. 置信度>90%自动纠正,不提示;70-90%提示确认;<70%要求重新输入
|
||||
|
||||
**高置信度(>90%)**:自动纠正,不提示
|
||||
**中置信度(70-90%)**:生成时提示教师确认
|
||||
```
|
||||
⚠️ 检测到可能的谐音输入:
|
||||
输入:"良心桥"
|
||||
纠正为:"梁昕乔"?
|
||||
[是] [否,保持原样] [手动输入]
|
||||
```
|
||||
**低置信度(<70%)**:要求教师重新输入
|
||||
|
||||
---
|
||||
|
||||
## 二、课评称呼方式
|
||||
|
||||
### 2.1 称呼优先级
|
||||
|
||||
课评中使用的称呼按以下优先级选择:
|
||||
|
||||
| 优先级 | 称呼方式 | 适用场景 | 示例 |
|
||||
|:------:|---------|---------|------|
|
||||
| 1 | **小名/昵称** | 画像中有填写 | 乔乔、昊昊、瞳瞳 |
|
||||
| 2 | **去姓称名** | 双字名,无小名 | 昕乔、昀昊、怡瞳 |
|
||||
| 3 | **叠字称呼** | 单字名 | 婷婷、浩浩、明明 |
|
||||
| 4 | **全名** | 特殊场合 | 梁昕乔、钟昀昊 |
|
||||
|
||||
### 2.2 处理方式
|
||||
|
||||
#### 方式1:小名/昵称(优先)
|
||||
**条件**:用户画像中"小名/昵称"字段有填写
|
||||
|
||||
**示例**:
|
||||
- 全名:梁昕乔
|
||||
- 小名:乔乔
|
||||
- 课评显示:"乔乔本节课学习了..."
|
||||
|
||||
#### 方式2:去姓称名(双字名)
|
||||
**条件**:
|
||||
- 无小名
|
||||
- 名字为双字(不含复姓)
|
||||
|
||||
**规则**:
|
||||
- 单姓+双字名:去掉姓氏
|
||||
- 梁昕乔 → 昕乔
|
||||
- 钟昀昊 → 昀昊
|
||||
- 李怡瞳 → 怡瞳
|
||||
- 复姓+双字名:保留复姓或去姓
|
||||
- 欧阳明 → 阳明 或 明明
|
||||
- 司马昊 → 马昊 或 昊昊
|
||||
|
||||
#### 方式3:叠字称呼(单字名)
|
||||
**条件**:
|
||||
- 无小名
|
||||
- 名字为单字
|
||||
|
||||
**规则**:
|
||||
- 单字名叠字化
|
||||
- 张昊 → 昊昊
|
||||
- 李婷 → 婷婷
|
||||
- 王明 → 明明
|
||||
- 避免尴尬叠字
|
||||
- 张丹 → 丹丹(正常)
|
||||
- 王鹏 → 鹏鹏(正常)
|
||||
- 避免:史真 → 真真(可以)
|
||||
|
||||
#### 方式4:全名(特殊)
|
||||
**使用场景**:
|
||||
- 家长明确要求使用全名
|
||||
- 正式报告/证书
|
||||
- 学生本人喜欢被叫全名
|
||||
|
||||
### 2.3 称呼示例表
|
||||
|
||||
| 全名 | 小名 | 课评称呼 | 说明 |
|
||||
|------|------|---------|------|
|
||||
| 梁昕乔 | 乔乔 | 乔乔 | 优先使用小名 |
|
||||
| 梁昕乔 | 无 | 昕乔 | 去姓称名 |
|
||||
| 钟昀昊 | 昊昊 | 昊昊 | 小名就是叠字 |
|
||||
| 钟昀昊 | 无 | 昀昊 | 去姓称名 |
|
||||
| 李怡瞳 | 瞳瞳 | 瞳瞳 | 小名叠字 |
|
||||
| 李怡瞳 | 无 | 怡瞳 | 去姓称名 |
|
||||
| 张昊 | 无 | 昊昊 | 单字名叠字 |
|
||||
| 王婷 | 婷婷 | 婷婷 | 小名叠字 |
|
||||
| 刘明 | 明明 | 明明 | 小名叠字 |
|
||||
| 陈小雨 | 小雨 | 小雨 | 小名(非叠字)|
|
||||
| 陈小雨 | 无 | 小雨 | 去姓称名 |
|
||||
|
||||
---
|
||||
|
||||
## 三、姓名处理流程
|
||||
|
||||
```
|
||||
输入处理流程:
|
||||
|
||||
1. 接收教师输入
|
||||
↓
|
||||
2. 提取疑似姓名词汇
|
||||
↓
|
||||
3. 谐音纠正(匹配班级名单)
|
||||
├─ 高置信度 → 自动纠正
|
||||
├─ 中置信度 → 提示确认
|
||||
└─ 低置信度 → 要求重输
|
||||
↓
|
||||
4. 查询用户画像
|
||||
├─ 有小名?→ 使用小名
|
||||
├─ 双字名?→ 去姓称名
|
||||
└─ 单字名?→ 叠字称呼
|
||||
↓
|
||||
5. 生成课评(使用处理后的称呼)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、特殊处理规则
|
||||
|
||||
### 4.1 复姓处理
|
||||
|
||||
| 复姓 | 全名 | 建议称呼 | 说明 |
|
||||
|------|------|---------|------|
|
||||
| 欧阳 | 欧阳明 | 阳明/明明 | 避免"欧欧" |
|
||||
| 司马 | 司马昊 | 马昊/昊昊 | |
|
||||
| 上官 | 上官婷 | 官婷/婷婷 | |
|
||||
| 诸葛 | 诸葛亮 | 葛亮/亮亮 | |
|
||||
| 东方 | 东方明 | 方明/明明 | |
|
||||
|
||||
### 4.2 生僻字处理
|
||||
|
||||
- 如果名字中有生僻字,优先使用小名
|
||||
- 无小名时,可使用"去姓称名"中易读的字
|
||||
- 或询问家长希望如何称呼
|
||||
|
||||
### 4.3 外籍/少数民族姓名
|
||||
|
||||
- 优先使用家长指定的小名/英文名
|
||||
- 或使用名字的后半部分(如:David → David或大卫)
|
||||
- 尊重家庭习惯
|
||||
|
||||
### 4.4 双胞胎处理
|
||||
|
||||
- 必须分别建立档案
|
||||
- 小名要区分(如:大宝/小宝,哥哥/弟弟)
|
||||
- 避免在课评中直接对比
|
||||
|
||||
---
|
||||
|
||||
## 五、用户画像更新(新增字段)
|
||||
|
||||
### 5.1 新增字段
|
||||
|
||||
```markdown
|
||||
## 一、基础信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| **姓名(全名)** | (用于档案管理)|
|
||||
| **小名/昵称** | (课评中优先使用)|
|
||||
| **称呼方式** | □ 小名 □ 去姓称名 □ 叠字 □ 全名 |
|
||||
```
|
||||
|
||||
### 5.2 建档时询问
|
||||
|
||||
**问题11(新增)**:
|
||||
> 孩子平时在家怎么称呼?(小名/昵称)
|
||||
> - 如:乔乔、昊昊、瞳瞳、小雨等
|
||||
> - 如果没有特别的小名,我们就用"昕乔""昀昊"这样的方式称呼
|
||||
|
||||
**问题12(新增)**:
|
||||
> 希望课评中怎么称呼孩子?
|
||||
> 1. 使用小名/昵称(最亲切)
|
||||
> 2. 去姓称名(如:昕乔、昀昊)
|
||||
> 3. 叠字称呼(如:昊昊、婷婷)
|
||||
> 4. 使用全名(正式)
|
||||
|
||||
---
|
||||
|
||||
## 六、课评生成时的姓名处理
|
||||
|
||||
### 6.1 处理逻辑代码示例
|
||||
|
||||
```python
|
||||
def get_display_name(student_profile, full_name):
|
||||
"""
|
||||
根据用户画像确定课评中使用的称呼
|
||||
"""
|
||||
# 优先级1:小名/昵称
|
||||
nickname = student_profile.get('nickname')
|
||||
if nickname:
|
||||
return nickname
|
||||
|
||||
# 解析姓名
|
||||
surname, given_name = parse_name(full_name)
|
||||
|
||||
# 优先级2:根据名字长度处理
|
||||
if len(given_name) == 1:
|
||||
# 单字名 → 叠字
|
||||
return given_name * 2 # 如:昊 → 昊昊
|
||||
else:
|
||||
# 双字名 → 去姓称名
|
||||
return given_name # 如:昕乔
|
||||
|
||||
def correct_homophone(input_text, class_roster):
|
||||
"""
|
||||
纠正语音输入的谐音错误
|
||||
"""
|
||||
# 提取可能的姓名词汇
|
||||
candidates = extract_name_candidates(input_text)
|
||||
|
||||
for candidate in candidates:
|
||||
# 拼音相似度匹配
|
||||
best_match = find_best_pinyin_match(candidate, class_roster)
|
||||
if best_match['confidence'] > 0.8:
|
||||
return best_match['name']
|
||||
|
||||
return input_text
|
||||
```
|
||||
|
||||
### 6.2 实际应用示例
|
||||
|
||||
**输入**:`良心桥今天搭了三层`
|
||||
|
||||
**处理过程**:
|
||||
1. 提取疑似姓名:"良心桥"
|
||||
2. 拼音:liang xin qiao
|
||||
3. 匹配班级名单:
|
||||
- 梁昕乔(liang xin qiao)→ 相似度100%
|
||||
4. 纠正为:"梁昕乔"
|
||||
5. 查询画像:
|
||||
- 小名:乔乔
|
||||
6. 课评显示:"乔乔今天搭了三层..."
|
||||
|
||||
---
|
||||
|
||||
## 七、质量检查
|
||||
|
||||
### 7.1 姓名相关检查项
|
||||
|
||||
- [ ] 课评中使用的称呼正确(小名/去姓/叠字)
|
||||
- [ ] 没有使用全名(除非家长要求)
|
||||
- [ ] 谐音姓名已纠正
|
||||
- [ ] 复姓处理恰当
|
||||
- [ ] 单字名已叠字化
|
||||
|
||||
### 7.2 常见错误
|
||||
|
||||
| 错误 | 正确 | 说明 |
|
||||
|------|------|------|
|
||||
| 梁昕乔今天... | 乔乔今天... | 应使用小名 |
|
||||
| 钟昀昊今天... | 昊昊今天... | 应使用小名 |
|
||||
| 张昊今天... | 昊昊今天... | 单字名应叠字 |
|
||||
| 良心桥今天... | 乔乔今天... | 谐音未纠正 |
|
||||
|
||||
---
|
||||
|
||||
## 八、家长沟通
|
||||
|
||||
### 8.1 首次建档时说明
|
||||
|
||||
> "家长您好,请问孩子平时在家怎么称呼呢?我们课评中希望用孩子最熟悉的称呼,这样更亲切。比如'乔乔'、'昊昊'这样的小名,或者'昕乔'、'昀昊'这样去姓的叫法都可以。"
|
||||
|
||||
### 8.2 修改称呼方式
|
||||
|
||||
如果家长希望更改课评中的称呼:
|
||||
1. 更新用户画像中的"小名/昵称"字段
|
||||
2. 或调整"称呼方式"选项
|
||||
3. 下次课评自动生效
|
||||
|
||||
## 九、姓名处理示例
|
||||
|
||||
### 7.1 语音输入 + 谐音纠正 + 小名使用
|
||||
|
||||
**场景**:班级:发现世界-周四19点,学生:梁昕乔(画像中小名:乔乔)
|
||||
|
||||
**教师输入(语音转文字)**:
|
||||
```
|
||||
呃...那个...良心桥啊,今天上课一开始不敢碰,就坐着看...
|
||||
```
|
||||
|
||||
**AI处理**:
|
||||
1. 谐音纠正:"良心桥" → "梁昕乔"
|
||||
2. 查询画像:小名"乔乔"
|
||||
3. 课评称呼:全程使用"乔乔"
|
||||
|
||||
**效果**:课评中6处提到学生,全部使用"乔乔"
|
||||
|
||||
---
|
||||
|
||||
### 7.2 双字名 + 去姓称呼
|
||||
|
||||
**场景**:学生:钟昀昊(画像中无小名)
|
||||
|
||||
**AI处理**:
|
||||
- 名字结构:双字名(昀昊)
|
||||
- 处理规则:去姓称名
|
||||
- 课评显示:"昀昊"
|
||||
|
||||
---
|
||||
|
||||
### 7.3 单字名 + 叠字称呼
|
||||
|
||||
**场景**:学生:张昊(画像中无小名)
|
||||
|
||||
**AI处理**:
|
||||
- 名字结构:单字名(昊)
|
||||
- 处理规则:叠字称呼
|
||||
- 课评显示:"昊昊"
|
||||
|
||||
---
|
||||
|
||||
### 7.4 批量生成 + 不同称呼方式
|
||||
|
||||
| 全名 | 小名 | 处理方式 | 课评显示 |
|
||||
|------|------|---------|---------|
|
||||
| 梁昕乔 | 乔乔 | 使用小名 | 乔乔 |
|
||||
| 钟昀昊 | 无 | 去姓称名 | 昀昊 |
|
||||
| 张昊 | 无 | 叠字称呼 | 昊昊 |
|
||||
|
||||
---
|
||||
|
||||
## 十、功能总结
|
||||
|
||||
| 功能 | 说明 | 效果 |
|
||||
|------|------|------|
|
||||
| **谐音纠正** | "良心桥"→"梁昕乔" | 自动识别正确姓名 |
|
||||
| **小名优先** | 有填写则使用 | "乔乔"而非"梁昕乔" |
|
||||
| **去姓称名** | 双字名去姓 | "昀昊"而非"钟昀昊" |
|
||||
| **叠字称呼** | 单字名叠字 | "昊昊"而非"张昊" |
|
||||
| **全文一致** | 所有提及处统一 | 提升亲切感 |
|
||||
|
||||
---
|
||||
|
||||
*版本:v1.1*
|
||||
*更新日期:2026-04-06*
|
||||
*(已整合原41-name-examples.md内容)*
|
||||
Reference in New Issue
Block a user