Problem
使用者原始請求(已依隱私要求 redact 私有路徑):
「我在想 bestASR 好像可以排除這些常見幻覺,[一份第三方課程材料 — 依隱私要求不引用來源、不列路徑] 這裡面的方法都可以用上來(但不能直接 cite 它,因為有隱私問題)。」
whisperkit / Whisper 家族 backend 在靜音或音樂段會產生「幻覺」——decoder 在沒有語音輸入時仍硬解出一段看似合理、實際不存在的文字。中文語料最常見的是 YouTube 創作者的罐頭結尾字幕。
2026-07-15 用 whisperkit large-v3-turbo(measured CER 12.9%)轉一段約 28 分鐘的錄音時,3 個靜音段(06:39–07:09、11:54–12:24、19:19–19:49)都被塞入同一句幻覺:
请不吝点赞 订阅 转发 打赏支持明镜与点点栏目
這是已知的 Whisper artifact(訓練語料混入大量 YouTube 影片字幕所致),不是音檔真實內容。
Type
feature
Expected
轉錄輸出(尤其 srt / txt)能在 emission 前自動濾掉這類幻覺,不必等下游 srt-proofread 才清乾淨。可用的通用 ASR 技術(皆為公開社群知識,Whisper / faster-whisper 官方與 HuggingFace 討論串均有記載,可獨立成立):
- Hallucination denylist(幻覺黑名單):維護一份已知幻覺片語清單(
请…点赞订阅 家族、「感謝觀看」「字幕 by …」「請訂閱」「明鏡與點點欄目」等),cue 文字精確或高相似度命中即剝除;清單可依語言擴充。
no_speech_threshold / avg_logprob 過濾:Whisper 每段輸出 no_speech_prob 與 avg_logprob,靜音幻覺通常 no-speech 機率高、logprob 低,可據此 drop。
compression_ratio_threshold:重複型幻覺的壓縮比異常(過度重複),可偵測剔除。
- VAD / 靜音門檻(silence gating):先用 voice activity detection 切掉無語音段,根本不餵給 decoder,從源頭消除多數靜音幻覺。
- 空 / 近重複 cue collapse:連續空白或高度重複的 cue 合併或移除。
建議落點:post-decode / SRT emission 後處理層,或 decode 參數調校層。可做成預設開啟的清理 + opt-out flag(如 --hallucination-filter <off|denylist|full>,預設 denylist)。
Actual
目前幻覺原封不動寫進 SRT,得靠下游 srt-proofread(top-down + context)才清掉。ASR / emission 層沒有內建過濾,每份逐字稿都要多一道人工/校對成本。
Impact
- 逐字稿品質:靜音段的假內容誤導讀者,也會污染後續 diarization / context-ingest。
- 影響所有 Whisper 家族 backend(whisperkit large-v3-turbo 等),中文語料尤甚。
- 有現成 evidence(2026-07-15 轉錄的 3 個幻覺 cue、同一句 boilerplate)可當 regression fixture。
隱私備註
使用者提到手邊有一份第三方課程材料整理了相關方法,但依其明確要求不引用該來源、不列出路徑。本 issue 描述的技術均為公開的通用 ASR 知識(Whisper decode 參數、VAD、denylist 皆見於官方文件與開源社群),不依賴該課程即可實作。
Current Status
- Phase: closed
- Updated: 2026-07-16
- Complexity: Plan
- Next:
/idd-plan #98
Problem
whisperkit / Whisper 家族 backend 在靜音或音樂段會產生「幻覺」——decoder 在沒有語音輸入時仍硬解出一段看似合理、實際不存在的文字。中文語料最常見的是 YouTube 創作者的罐頭結尾字幕。
2026-07-15 用
whisperkit large-v3-turbo(measured CER 12.9%)轉一段約 28 分鐘的錄音時,3 個靜音段(06:39–07:09、11:54–12:24、19:19–19:49)都被塞入同一句幻覺:這是已知的 Whisper artifact(訓練語料混入大量 YouTube 影片字幕所致),不是音檔真實內容。
Type
feature
Expected
轉錄輸出(尤其
srt/txt)能在 emission 前自動濾掉這類幻覺,不必等下游srt-proofread才清乾淨。可用的通用 ASR 技術(皆為公開社群知識,Whisper / faster-whisper 官方與 HuggingFace 討論串均有記載,可獨立成立):请…点赞订阅家族、「感謝觀看」「字幕 by …」「請訂閱」「明鏡與點點欄目」等),cue 文字精確或高相似度命中即剝除;清單可依語言擴充。no_speech_threshold/avg_logprob過濾:Whisper 每段輸出no_speech_prob與avg_logprob,靜音幻覺通常 no-speech 機率高、logprob 低,可據此 drop。compression_ratio_threshold:重複型幻覺的壓縮比異常(過度重複),可偵測剔除。建議落點:post-decode / SRT emission 後處理層,或 decode 參數調校層。可做成預設開啟的清理 + opt-out flag(如
--hallucination-filter <off|denylist|full>,預設denylist)。Actual
目前幻覺原封不動寫進 SRT,得靠下游
srt-proofread(top-down + context)才清掉。ASR / emission 層沒有內建過濾,每份逐字稿都要多一道人工/校對成本。Impact
隱私備註
使用者提到手邊有一份第三方課程材料整理了相關方法,但依其明確要求不引用該來源、不列出路徑。本 issue 描述的技術均為公開的通用 ASR 知識(Whisper decode 參數、VAD、denylist 皆見於官方文件與開源社群),不依賴該課程即可實作。
Current Status
/idd-plan #98