360 Secure SkillHub
360 安全技能中心

日语会话测试批改

面向日语教师的会话测试批改技能:用 faster-whisper 转写学生答题录音,按内容完整性、准确性、流利度三维加权预评分,并按置信度分级;低置信度分数仅作后台参考,教师复核修正后输出老师版详细报告、学生版简洁反馈及 CSV 汇总。

bianmaxingkong
bianmaxingkong
热度 66.85
最近更新 2026-08-21 22:28:08
分类:知识依赖:代码执行 / 读写文件 / 第三方 API / 内部调用大模型应用场景:教学辅导 / 语言学习 / 报告撰写 / 数据处理 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add japanese-conversation-scorer
Metadata
name
japanese-conversation-grader
display_name
日语会话测试批改
description
A1/A2/B1(约对应JLPT的N5/N4/N3)日语会话测试音频批改;基于faster-whisper实现ASR转写,系统自动转写学生回答并做初步内容匹配与三维诊断(内容完整性/准确性/流利度);不确定内容不扣分,只输出可疑候选供教师复核。支持单人/批量批改、纠错反馈、成绩归档;AI预批改辅助,教师人工复核,满分10分。
use_when
教师批改日语会话作业录音、会话测试打分、批量评分与反馈
platform_independent
true
triggers
["日语会话测试批改","日语会话作业评分"]

会话测试形式与录音要求

对话模式:师生对话 教师根据课文内容编写5~6道提问。提前录制提问音频,每题之间预留固定作答时长。学生跟随音频参考课文内容回答,结束后提交音频文件。


标准答案与题目标注

  1. 标准答案存储路径:./answer/{COURSE_ID}_{ASSIGNMENT_ID}_answer.txt
  2. 题目标注格式要求
  • 每道题以 [Q1]、[Q2]……格式标注,便于音频转写后逐题对齐
  • 每题标注参考回答要点(关键词/句式),不要求逐字匹配

专有名词白名单配置

路径:./answer/{COURSE_ID}_{ASSIGNMENT_ID}_proper_noun.txt 每行1个名词,读音变体用|分隔,无专有名词则文件可不提供。

规则:

  • 白名单内人名、地名、作品名,AI不自动判错、不自动扣分;
  • ASR识别小偏差直接过滤;
  • 专有名词严重读错,仅允许教师人工复核后扣分。

工作流程概览

Step1 音频预处理 → Step2 音频质量检测 → Step3 ASR转写 → Step4 ASR可靠性检测(置信度分级)→ Step5 三维AI评分 → Step6 教师复核 → Step7 成绩录入与反馈生成


Step 1:音频预处理

  • 批量转为 wav 格式,统一采样率
  • 存放路径:./audio/{student_id}/

Step 2:音频质量检测

检测项:

  • 有效语音比例
  • 音量范围
  • 背景噪声
  • 是否存在多人声音

异常处理:音频质量不足 → 不评分 → 请求重新上传。


Step 3:ASR 转写

转写工具规格(强制)

  • 唯一转写工具:faster-whisper
  • 仅允许模型:large-v3 fp16 / medium;禁用 small / base / tiny 及全部其他规格
  • 硬件调度:有充足 GPU 用 large-v3 fp16;无 GPU 自动降级 medium
  • 固定开启 word_timestamps=True 输出词级时间戳
# 音频预处理
ffmpeg -y -i "input.mp4" -vn -acodec pcm_s16le -ar 16000 -ac 1 /tmp/audio.wav

# faster-whisper 日语转写
faster-whisper /tmp/audio.wav --model large-v3 --language ja --output_format txt --word_timestamps True

异常处理规则

  • 音频损坏/空文件/无法识别 → 标记「转写失败」
  • 自动移入 ./error_audio/,触发人工复核
  • 跳过自动评分,不直接判定低分

Step 4:ASR 可靠性检测

系统综合判断以下方面:

  • 文本匹配程度
  • 音频质量
  • ASR 置信度
  • 对齐情况

输出:高 / 中 / 低置信度(用于 Step 6 教师复核的投入分级)。

置信度分级判定标准

置信度 判定条件
高 转写完整率 ≥80% 且 ASR 平均置信度 ≥0.8 且 音频信噪比 ≥20dB
中 转写完整率 ≥60% 且 <80%,ASR 平均置信度 ≥0.5 且 <0.8
低 转写完整率 <60%,或 ASR 平均置信度 <0.5,或音频质量检测不通过

置信度‑AI评分衔接规则

  1. 高、中置信度:CAF三维AI加权分数作为正式预评分,教师仅做异常修正;
  2. 低置信度:AI三维加权分数仅作为后台诊断参考,不计入、不对外展示,最终成绩完全由教师人工给出。

Step 5:三维 AI 评分

能力层级说明

遵循 CEFR(欧洲语言共同参考框架);本系统采用 A1、A2、B1 三个等级。

能力层级 操作标签 会话评价重点
A1 约对应 JLPT N5 能围绕熟悉题目作简单、完整回答
A2 约对应 JLPT N4 能围绕日常话题进行较完整简单交流
B1 约对应 JLPT N3 能表达经历、理由和简单观点,注意连贯性

JLPT 没有口语考试;N5/N4/N3 仅作为词汇、语法和课程任务难度参考。


评分原则

  1. 内容切题比语法完美更重要
  2. A1/A2(N5/N4)阶段轻微语法偏差以反馈为主,不扣分
  3. 不确定错误不扣分
  4. 鼓励为主,微小误差不扣分

准确性维度重要说明 准确性维度占20%权重参与AI加权运算,但该维度输出仅为趋势预估值,不能直接等价于发音或语法错误;系统不会依靠该维度自动判定发音或语法对错;所有错误必须经教师复核确认后方可扣分。

评分前置过滤规则(评分前必须执行)

计算任何维度分数前,先筛除以下情况,排除出扣分范围:

  1. ASR 误识别——不进入评分计算
  • 同音词差异、语气词误识别
  • 系统标记为"ASR疑似误识别"的项
  1. 转写存疑——不进入评分计算
  • 系统置信度 < 0.5 的识别结果
  1. 学习者自然偏差——反馈但不扣分
  • A1/A2 阶段轻微语法偏差
  • 句尾语气词添加或省略
  1. 白名单专有名词——不进入AI自动扣分计算
    • 匹配白名单内的人名、地名、作品名;识别出现字形、读音轻微偏差,AI不自动判定词汇错误
    • 专有名词的严重误读,仅可由教师人工复核确认后扣分

AI 自动评分模型(三维加权·主线)

评价维度 权重 数据来源 评分要点
内容完整性 (Content) 50% 内容匹配度 + 关键词覆盖 回答是否切题、关键词覆盖、回答完整度
准确性 (Accuracy) 20% ASR + 文本分析 语法正确性、词汇选用规范、发音清晰可辨
流利度 (Fluency) 30% 停顿时长、语速 语速适中、停顿合理、语句衔接连贯

权重设计理念(鼓励为主,内容重于语法):

  • 内容完整性权重最高(50%),确保"回答切题"是核心底线
  • 准确性(20%)权重调低,A1/A2阶段不强求语法完美,降低准确度对总分的拖累
  • 流利度(30%)支撑表达流畅度

跑题判罚宽松规则(Step5 应用):

  • 仅"完全偏离题意"才判跑题扣分;"部分偏题但答及背景信息"不扣或轻扣
  • 关键词缺失:仅当"核心要点缺失1个"才扣;非核心细节缺漏不扣
  • 误读、认知性偏差(如课文段落张冠李戴)不单独重扣,反馈为主

计算方式:

单题得分 = 内容完整性×50% + 准确性×20% + 流利度×30% 总分 = 各题得分之和 ÷ 题目数(换算为10分制,保留1位小数)

各维度判定规则

发现的问题 归属维度 扣分规则
回答不切题/跑题 内容完整性 扣分
关键词缺失(≥3个关键词) 内容完整性 扣分
明显语法错误(影响理解) 准确性 扣分
发音错误(影响理解) 准确性 经教师确认后扣分
长时间停顿(≥3秒) 流利度 扣分
语速过慢或过快 流利度 反馈但不扣分
ASR未识别出但音频有回答 - 不扣分,标记ASR误识别
轻微发音/语法偏差 - 反馈但不扣分

不扣分的情况

  • 句尾语气词使用(よ/ね)
  • 轻微发音偏差(A1/A2阶段容错空间大)
  • 轻微卡顿(单次停顿<3秒)
  • 转写存疑、不确定是否为错误 → 不扣分

等级划分

分数区间 等级 能力描述
8.0~10.0 优秀 完全符合目标会话能力要求,流畅完成沟通
6.0~7.9 良好 符合中阶会话能力,核心沟通无明显障碍
4.0~5.9 达标 达到基础会话要求,可完成核心信息传递
<4.0 待加强 未达到基础要求,需强化核心能力

低置信度规则:低置信下AI预评分仅后台留存,不对外展示,最终成绩完全来自教师人工评分。


Step 6:教师复核

人工复核调整规则

错误类型 调整分值 单类上限 说明
确认内容跑题 -0.5 -1.5 教师确认回答内容偏离题意
确认语法/发音错误 -0.5 -1.5 教师确认的明显语法或发音错误
确认断句/停顿异常 -0.5 -1.5 影响表达的明显停顿或中断

调整原则

  1. 人工调整仅用于修正AI评分异常,不替代AI综合评分
  2. 以下情况不得扣分:ASR误识别、同音词差异、语气词偏差
  3. 只有满足以下条件才扣分:音频证据明确、非ASR单独判断、对内容或理解产生影响
  4. 同类错误最多调整1.5分
  5. 教师仅在 AI 未扣或扣分不合理时调整,确认 AI 已扣的项不再重复扣

最终成绩口径

  • 高/中置信度 → 教师仅确认、不逐项重打全部分数,最终成绩 = AI评分
  • 低置信度 → 教师综合判断,AI三维分数仅做后台诊断参考,不计入最终得分,最终成绩 = 教师评分

分级纠错规则(A1/A2/B1)

注:纠错上限为 AI 内部生成约束,学生反馈报告中不展示纠错计数、上限数字,仅按上限筛选输出错误点。

纠错上限(按水平)

学生水平 纠错上限
A1 2项
A2 3项
B1 4项

纠错优先级(超过上限时)

  1. 影响语义的关键错误
  2. 反复出现的高频错误
  3. 语法/表达不当

通用纠错原则

  • 优先纠正影响语义的关键错误
  • 同一错误只纠正一次
  • 先表扬优点,再提出改进建议
  • 不使用emoji(如⚠),语气鼓励为主
  • 转写存疑、不确定的地方不纠错,一律不扣分

学生反馈配置(可配置,默认值如下)

反馈字段:
  带每题得分: 可选        # 学生版是否展示 Q1~Q5 各题分数;默认关闭(更精简/鼓励)
  总评长度: 2-3句        # 默认;可改为1句(极简)
  练习建议: 2条          # 默认;可改为1条或4条
  带学生原话: 否          # 学生版默认不展示学生原话转录
  等级标注: 是            # 是否附 优秀/良好/达标

此配置为全局可调,使用老师可按需覆盖;不改则用默认值。


Step 7:成绩录入与反馈生成

双产物原则

每次批改产出两套独立产物:

  1. 老师版(详细)——默认输出到聊天窗口,供教师复核、确认、人工修正。
  2. 学生版(逐人简洁)——每位学生一份,单独生成,用于反馈给对应学生本人(不含批改内部判定细节)。

平台无关输出(可插拔适配器)

本技能为通用批改内核,不绑定任何一家课程平台。不同院校可通过实现对应适配器、填入本校课程平台 API 凭证,实现自动拉取作业、自动批改、自动向学生推送反馈,批改业务逻辑无需改动;没有平台 API 的学校,可直接使用 CSV 导出手工导入。

技能不绑定任何课程平台,输出方式由适配器决定:

japanese-conversation-grader/
  SKILL.md                      # 通用:只描述批核与双产物,不含平台绑定
  adapters/
    csv_adapter.py        # 通用:导出CSV,老师导入任意平台(默认,全平台通用)
    canvas_adapter.py     # Canvas:读submission_map→API拉取/逐人反馈(可选)
    moodle_adapter.py     # 其他学校课程网站(可选)
    feishu_adapter.py     # 飞书:逐人发送(可选)
  scripts/
    download_audio_submissions.py  # 平台专用下载脚本(Canvas等),生成submission_map.json
  config.json             # 本地机密配置(含API Token),绝不随技能共享
  report/
    detailed/{student_id}.txt      # 老师版详细报告(本地归档)
    student/{student_id}.txt       # 学生版简洁反馈(每位学生一份)
    summary.csv                    # 批量汇总(如需)
  • 默认输出:通用 CSV 导出(任何平台老师都能自己导入)。
  • 具体平台(Canvas/自家课程网站/飞书等)作为可选适配器,由配置 platform 指定启用。
  • 技能只管生成"老师版报告 + 学生版反馈"两个标准产物,发到哪由适配器决定,从而适配不同学校的不同平台。

凭证与 Token 安全(强制)

  1. API Token 绝不写入 SKILL.md、不写入共享代码、不上传 ClawHub。
  2. Token 只存本地 config.json 的字段(如 CANVAS_API_TOKEN),或使用环境变量 CANVAS_API_TOKEN。
  3. config.json 必须加入 .gitignore,不得入库、不得随技能分发。
  4. SKILL.md 只写"读取 config.json / 环境变量中的 Token",不出现任何真实 Token 值。

下载层与批核层分离

  1. 下载层(平台专用):scripts/download_audio_submissions.py 调平台 API(如 Canvas)拉取学生作业,依赖 Token,产出标准中间产物 submission_map.json(含 user_id / student_id / name / file_name / local_path / file_type / assignment_id / course_id 等字段)。
  2. 批核层(通用):技能本体只消费 submission_map.json 这个标准结构,不关心它来自哪个平台。
  3. 好处:新增平台只需新增下载脚本(适配层),主技能零改动;不同学校各用自己的私有下载层,通用部分共享。

输出文件

  • 老师版详细报告:./report/detailed/{student_id}.txt(本地归档)
  • 学生版简洁反馈:./report/student/{student_id}.txt(每位学生一份)
  • 批量汇总:./report/summary.csv(如需)
  • 默认同时输出到聊天窗口(老师版)

老师版详细报告模板(聊天框)

学生姓名:{name}({student_id})
评分结果:{total_score}/10

【总体评价】
{positive_comment},{constructive_feedback}。{encouragement}

【逐题评分】
[Q1]:{question_1}
学生回答:{transcript_1}
评语:{comment_1}(简短提示)
得分:{score_1}/10

[Q2]:{question_2}
学生回答:{transcript_2}
评语:{comment_2}
得分:{score_2}/10

……(按实际题目数重复)

学生版简洁反馈模板(逐人,发/导入课程平台)

学生姓名:{name}({student_id})
评分结果:{total_score}/10  (如需可附等级)

【总评】(默认2-3句,鼓励为主)
{一个优点},{1~2个关键改进}。{鼓励收尾}

【练习建议】
1. {suggestion_1}
2. {suggestion_2}

(若配置"带每题得分=是",在此追加一行:Q1 x | Q2 x | …)

输出排版规则

  • 老师版/学生版所有一级反馈大项必须单独另起一行
  • 老师版总体评价:80‑150 汉字,优点 + 1‑2 条关键改进 + 鼓励收尾,不得与练习建议重复
  • 学生版总评:默认 2-3 句,简明鼓励为主(可配1句极简)
  • 问题编号用 Q1、Q2、Q3……
  • 老师版单题评语:80‑150 汉字;仅针对本题作答表现,写本题的内容、语法、表达问题及简短提示,不输出全局性练习建议
  • 练习建议共 2 条(可配),每条 30‑80 汉字,为跨题全局训练方向
  • 禁用emoji、⚠等特殊符号

平台反馈(Canvas 等逐人反馈)

  • 每位学生单独一份,只发给该生本人,不混入他人成绩。
  • 学生版内容 = 总分 + 总评 + 练习建议(按反馈配置)。
  • 批量时按 adapter 逐人推送/导出。

批量处理规则

  1. 进度文件:./progress/{course}_{task}_progress.json
  2. 支持中断后继续执行
  3. 分批处理建议≤50人/批
  4. 失败音频记录于 ./progress/{course}_{task}_failed.json,含学生ID、失败原因、时间戳

核心原则

  1. 综合评分:AI依据内容完整性、准确性、流利度生成基础预评分;准确性维度仅为趋势参考,错误依靠教师确认
  2. 教师修正:教师根据课堂目标进行最终调整
  3. 不确定时不判错:转写存疑或判定不确定时,优先不判定为错误
  4. 鼓励为主:从鼓励出发,微小误差不扣分
  5. 数据诚实:准确性维度数据源(ASR置信度)非专业评价模型,不确定时标记"待复核"交由教师确认
  6. 低置信度规则:低置信下AI预评分仅后台留存,不对外展示,最终成绩完全来自教师人工评分

注意事项

  • 成绩录入使用 submission[posted_grade]
  • Whisper转写仅作参考,必须执行对齐校验
  • 严格按A1/A2/B1能力层级控制纠错数量
  • 评语简洁友好,不使用特殊符号