▋前言
昨天介紹完了語音辨識系統的完整架構,但其實在開發過程中,我們嘗試過多種模型與方法。透過一次次的錯誤修正與迭代,才逐漸建立起最後的成果,今天就來說說過程中我們曾經踩過了哪些坑。
▋內容
在競賽過程中,我們遭遇了以下幾個重大挑戰:
語音轉文字模型選擇
問題:初期我們測試過 Wav2Vec 2.0 Large,在 Common Voice 資料集上的 Word Error Rate (WER) 約 29.9%,但 Whisper Large V2 的 WER 僅 9.0%,差距懸殊。
解法:決定全面改用 Whisper,避免錯誤率過高導致逐字稿無法使用。
語者分離的困境
問題:早期我們嘗試用「空白分割 + 傳統機器學習」方法來切分講者,結果在 重疊語音、笑聲與雜訊 情境下錯誤率高,分離準確率不足 60%。
解法:改用 NeMo + Speaker Embedding(TitaNet-L),並透過 VAD 閾值調整與後處理規則來降低誤切問題。
語者識別的限制
問題:我們原先用傳統特徵 + 高斯混合模型 (GMM) 來做老師/學生分類,但準確率僅約 50%,幾乎等於隨機。
解法:切換到 X-vector embedding + 餘弦相似度方法,最終讓教師辨識準確率提升至 99%。
情緒分類的模糊性
問題:在情緒辨識上,「中性」與「專注」常被混淆,導致情緒曲線不穩定。
解法:改採片段序列建模,並在資料前處理時過濾過短或噪音片段,讓分類更加穩定。
透過這些優化與迭代,我們讓整體系統逐步成形,最終能在課堂錄音資料上 5–6 分鐘就完成完整逐字稿與情緒報告,並達到競賽所需的高準確率,也成為獲獎的重要關鍵。
▋下回預告
下一篇將深入探討 Whisper 的技術細節,帶大家了解它為什麼能在 STT 表現優異。
▋致謝
特別感謝github whisper-diarization的開源貢獻者與討論者們,這個架構給了剛開始不斷碰壁的我們很大的曙光。也要謝謝團隊成員們 Shin-Fu、 Shirley與 Harper在各種錯誤與失敗中,不斷嘗試與驗證。