无参考文本的测试集,更需要约束“看起来合理”的冲动。
导航方言识别不仅要处理口音和地名,还要避免生成循环、整句重复、异常长度和异常字符。测试集缺少真值时,人工把文本改得更通顺并不能证明 CER 更低。
Problem
批量推理可能因 CUDA 进程退出丢失长时间进度;单一解码策略对异常样本不够稳健;同时不能让重试、后处理或地名规则变成不可追踪的黑箱。
项目面向川渝导航语音,当前路线冻结为 Whisper-small 稳健推理:正常样本一次解码,异常结果受约束重试,仍失败时回退旧模型,再经过确定性规范化与质量门禁生成结果。
导航方言识别不仅要处理口音和地名,还要避免生成循环、整句重复、异常长度和异常字符。测试集缺少真值时,人工把文本改得更通顺并不能证明 CER 更低。
批量推理可能因 CUDA 进程退出丢失长时间进度;单一解码策略对异常样本不够稳健;同时不能让重试、后处理或地名规则变成不可追踪的黑箱。
检测单字死循环、短语循环、整句重复、异常长度与异常字符速率。
固定分片计划,完成一个分片立即保存;恢复时跳过已通过校验的分片。
分别记录重试、模型回退、文本规则、质量失败与最终构建校验。
每一步都有明确输入、失败路径和持久化证据。
测试音频按计划拆分,支持断点恢复。
正常样本使用一次贪心解码。
识别重复、长度和字符异常。
受约束重试,必要时加载旧模型。
生成 JSONL、审计与 SHA-256。
当前不再继续训练,避免测试集输出反向影响模型或规则。
只有重试仍异常时才加载旧 Whisper,避免两个模型长期占用显存。
safe 档只处理导航、叫车、车型和常见术语;实验性地名规则保持独立。
最终输出重新检查 UTF-8、JSONL、ID 对应、字段集合和明显生成异常。
| 挑战 | 解决方式 | 留下的证据 |
|---|---|---|
| 生成循环与整句重复 | 动态长度上限、beam search、no-repeat n-gram 与重复惩罚重试 | robust-audit.jsonl |
| GPU 任务意外退出 | 分片子进程、自动降为 batch size 1、有限次数重试与 Resume | plan.json + 分片 predictions |
| 后处理误改风险 | safe / extended 候选隔离,规则逐条记录,不人工挑句 | correction-audit.jsonl |
占位图仅说明建议素材类型,不代表识别结果或性能。
可使用按钮、分页圆点或键盘左右方向键切换。