Files
ClassFeedback/.claude/rules/90-archive/60-name-processing.md
qiuyan 079a09d743 规则精简合并 v3.2 + 项目结构整理
- 将20+个独立规则合并为9个核心规则(00/10/15/20/21/22/30/50/51)
- 旧规则移入90-archive并标注已合并,请勿直接引用
- 拆分新增:21-shorthand.md(速记符号)、22-student-mgmt.md(补课/新学生/转正)
- 升级keping-advanced skill配置:v2.1 → v2.2(自动双轨保存、三段式结构、字数弹性180-350)
- 删除旧skill文件(keping.json、速查卡、使用指南)和CHANGELOG.md
- 删除各周多余的独立出勤统计文件(出勤已嵌入班级汇总)
- SPIKE02班级文件夹名称规范化(去除特殊字符)
- 将学生模板文件移入memory/student/模板/子目录
- 将fix_config.py移入src/,删除根目录test123.txt测试文件

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-09 20:45:29 +08:00

404 lines
11 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.
> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。
# 课评姓名处理规则
> 处理语音输入谐音、课评称呼方式、姓名规范化
---
## 一、语音输入谐音纠正
### 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内容*