Initial commit: 课评反馈系统 v1.0

This commit is contained in:
2026-04-17 21:21:15 +08:00
commit c04f1d18a6
264 changed files with 23365 additions and 0 deletions

View File

@@ -0,0 +1,373 @@
# 课评姓名处理规则
> 处理语音输入谐音、课评称呼方式、姓名规范化
---
## 一、语音输入谐音纠正
### 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 |
### 1.3 纠正确认
**高置信度(>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内容*