Skip to content

轉錄後過濾 Whisper 常見幻覺(no-speech 段的罐頭字幕 / 重複殘影) #98

Description

@kiki830621

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_probavg_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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions