🤖
技能说明
name: japanese-reading-grader description: "日语朗读作业AI批改(教师模式)——支持音频转写、CEFR分级评价、纠错与成绩录入。" use_when: 教师批改日语朗读作业录音、朗读测试打分、批量评分与反馈 triggers:
- 日语朗读作业批改
- 日语朗读测试打分
适用场景
学生提交音频文件(MP3/MP4/M4A/WAV)朗读日语文本,教师需要: 下载 → 转写 → 评分 → 纠错 → 录入成绩 → 生成班级汇总
作业基础信息
- 适用对象:A1/A2/B1 日语学习者
- 作业形式:朗读音频
- 总分:10 分
工作流程
| 步骤 | 内容 |
|---|---|
| Step 0 | 前置准备(标准答案文本) |
| Step 1 | 音频格式统一转换 |
| Step 2 | Whisper medium 转写 |
| Step 3 | 评分规则(CEFR 分级 + JLPT 级别参考) |
| Step 4 | 录入成绩 |
| Step 5 | 生成班级汇总 + 上传 |
Step 0:前置准备
- 标准答案文本存储路径:
./answer/{COURSE_ID}_{ASSIGNMENT_ID}_answer.txt - 文本格式要求:
- 每行 1 个完整句子,无多余空格与换行
- 重点词汇标注假名
- 不含多余标点,便于音频转写对齐
- 版本校验:批改前确认标准答案与作业要求一致
Step 1:音频格式统一转换
- 批量转为 wav 格式,统一采样率
- 存放路径:
./audio/{student_id}/
Step 2:Whisper 转写
- 本技能音频转写使用 Whisper medium 模型(本地运行),模型已固定,无需手动切换。
# MP4视频 → 音频预处理
ffmpeg -y -i "input.mp4" -vn -acodec pcm_s16le -ar 16000 -ac 1 /tmp/audio.wav
# 固定medium模型日语转写
whisper /tmp/audio.wav --model medium --language ja --output_format txt
异常处理规则
- 音频损坏/空文件/无法识别 → 标记「转写失败」
- 自动移入
./error_audio/,触发人工复核 - 跳过自动评分,不直接判定低分
Step 3:评分规则(鼓励导向)
能力层级说明(双轨分级)
正式口语能力框架遵循 CEFR(欧洲语言共同参考框架);该框架共设A1、A2、B1、B2、C1、C2六个等级,本系统仅采用A1、A2、B1三个等级。
| 正式能力层级 | 操作标签 | 会话评价重点 |
|---|---|---|
| A1 | 约对应 JLPT N5级别 | 能围绕熟悉题目作简单、完整回答 |
| A2 | 约对应 JLPT N4级别 | 能围绕日常话题进行较完整简单交流 |
| B1 | 约对应 JLPT N3级别 | 能表达经历、理由和简单观点,注意连贯性 |
JLPT 没有口语考试;N5/N4/N3 仅作为词汇、语法和课程任务难度参考。
计分规则
- 基础分:10.0 分
- 计分公式:总分 = 10.0 - 累计扣分
- 约束:7.0 ≤ 总分 ≤ 10.0
- 扣分上限:3.0 分(超过不再扣)
错误类型与扣分值(仅3类)
| 错误类型 | 扣分 | 说明 |
|---|---|---|
| 严重发音错误 | -0.5 | 促音、长音、清浊混淆(三者任一出现) |
| 漏读/多读整句 | -0.5 | 漏掉一整句 或 多读一整句 |
| 中途中断/长时间停顿 | -0.5 | 朗读中途放弃,或停顿超过3秒 |
重要规则:
- 同一错误类型全篇只扣一次,不重复累计
- 上述3类错误若同时出现,累计扣分(最多 -1.5,但扣分上限为 3.0)
不扣分的情况
- 句尾拖音、语气词(よ/ね)
- 「は」vs「わ」、「を」vs「お」等微小识别差异
- 语调轻微偏差、声调轻微偏差
- 语速稍慢或稍快
- 轻微卡顿(≤2处,每处<2秒)
- 拨音(ん)偶尔读不到位(N5/N4 宽容)
- 同一错误类型仅出现一次且不影响语义理解
- 转写存疑、不确定是否为错误 → 不扣分
SKILL评分维度(CAF三维框架,每题满分10分)
| 维度 | 权重 | 评分要点 |
|---|---|---|
| C 复杂性(Complexity) | 80% | 内容贴合与表达复杂度 |
| A 准确性(Accuracy) | 10% | 语法、词汇、语音规范 |
| F 流利度(Fluency) | 10% | 话语输出节奏、连贯性、停顿与沉默控制 |
等级划分
| 分数区间 | 等级 |
|---|---|
| 8.0~10.0 | 优秀 |
| 7.0~7.9 | 良好 |
| 6.0~6.9 | 合格 |
| 6.0以下 | 需加强 |
分级纠错规则(A1/A2/B1;操作标签参考N5/N4/N3)
篇幅定义
- 短篇:150字以内
- 长篇:150字以上
纠错上限(按水平+篇幅)
| 学生水平 | 短篇 | 长篇 |
|---|---|---|
| A1 | 1项 | 2项 |
| A2 | 2项 | 3项 |
| B1 | 2项 | 3项 |
纠错优先级(超过上限时)
- 影响语义的错误(清浊、长音、促音)
- 反复出现的高频错误
- 语调错误
通用纠错原则
- 优先纠正影响语义的关键错误
- 同一错误只纠正一次
- 先表扬优点,再提出改进建议
- 不使用警示符号,语气鼓励为主
- 转写存疑、不确定的地方不纠错
强制校验流程(防误判)
对齐校验(防止 Whisper 听错导致误判)
批改前,必须逐句比较「Whisper 转写文本」与「标准答案文本」:
- 如果转写文本与标准答案完全一致或仅尾音差异 → 继续批改
- 如果转写文本与标准答案存在假名级别差异(如「学校」→「公園」)→ 该句不扣分,标记「转写存疑,请人工复核」
- 如果转写文本缺失或多余整句 → 跳过该句,标记「可能漏读或多读,请人工复核」
错误判定强制引用表
每个潜在错误必须同时满足以下条件才能判定为对应类型:
| 错误类型 | 必须同时满足的条件 |
|---|---|
| 促音错误 | ① 标准答案中有「っ」 ② 转写文本中该处完全无「っ」或明显替换为其他音 |
| 长音错误 | ① 标准答案中有长音规则(あ段+あ等) ② 转写文本中该处为短音或断成两拍 |
| 清浊混淆 | ① 标准答案为清音(か/さ/た/は行) ② 转写文本为对应浊音(が/ざ/だ/ば行),或反之 |
| 漏读/跳读 | ① 标准答案中有该假名 ② 转写文本中完全无对应音节 |
Step 4:录入Canvas成绩
python3 scripts/grade_submission.py COURSE_ID ASSIGNMENT_ID USER_ID GRADE --comment "评语内容"
python3 scripts/grade_submission.py COURSE_ID ASSIGNMENT_ID USER_ID GRADE --comment-file comment.txt
Step 5:生成汇总 + 上传
# 生成班级汇总文件
python3 scripts/generate_class_summary.py COURSE_ID ASSIGNMENT_ID [--class-name NAME]
# 上传汇总表到Canvas
python3 scripts/send_summary_message.py [--xlsx PATH]
反馈格式模板(无emoji)
学生姓名:{name}
【评分结果】
总分:{score}/10
发音准确性:{pronunciation_score}/10
语调与节奏:{intonation_score}/10
流畅度:{fluency_score}/10
【总体评价】
{positive_comment},{constructive_feedback}。{encouragement}
【发音纠错】
1. 原句:{original}
学生读法:{student_reading}
标准读法:{correct_reading}({kana})
错误类型:{error_type}
【练习建议】
1. {suggestion_1}
2. {suggestion_2}
输出排版规则
- 评分结果、总体评价、发音纠错、练习建议等所有一级反馈大项,必须单独另起一行
- 发音纠错内部用 1、2 数字序号
- 练习建议用 1、2 数字序号
- 不显示等级标注和纠错等级说明
- 禁用 emoji
- 评语长度 ≤ 1000 字符(适配平台限制)
- 优先展示优点,再提 1–2 条最关键改进建议
输出文件
- 输出路径:
./report/{student_id}.txt
批量处理规则
- 进度文件:
./progress/{course}_{task}_progress.json - 支持中断后继续执行
- 单次批量 ≤ 50 人,分批处理避免崩溃
- 失败音频自动标记,不影响整体流程
核心原则
- 鼓励为主:从 10 分起评,据实扣分,不刻意压低分数
- 只纠严重错误:只纠正影响语义的明显发音错误,微小误差不计
- 同一错误只扣一次:不重复扣分
- 不确定时不判错:转写存疑或判定不确定时,优先选择不判定为错误
- 保护信心:总分不低于 7 分,评语先表扬后建议
注意事项
- 评分前确认作业为手动发布分数
- 成绩录入使用 submission[posted_grade]
- Whisper 转写仅作参考,必须执行对齐校验
- 鼓励为主,微小误差不扣分
- 同一错误只扣一次
- 严格按 A1/A2/B1 能力层级控制纠错数量(操作标签参考 N5/N4/N3 级别)
- 评语简洁友好,不使用特殊符号
- 所有规则以 references/workflow.md 为准
如何使用「日语朗读作业批改模板」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「日语朗读作业批改模板」技能完成任务
- 结果即时呈现,支持继续对话优化