# 课评姓名处理规则 > 处理语音输入谐音、课评称呼方式、姓名规范化 --- ## 一、语音输入谐音纠正 ### 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内容)*