免費全文 多模態應用 進階

語音轉文字之後:標點、分段與講者辨識

原始逐字稿幾乎不能直接用。後處理決定了它的實用價值。

多模態應用教程封面

語音辨識的輸出常常是一長串沒有標點、沒有分段的文字。直接餵給下游任務,效果會明顯打折。

三個必要的後處理

  1. 標點還原:多數辨識模型已內建,品質不好時可用語言模型再過一次。
  2. 分段:依語者變換與停頓長度切段,長段落對摘要與檢索都不利。
  3. 講者辨識:多人會議必須區分講者,否則摘要會把不同人的意見混為一談。

保留時間戳

[
  {"start": 12.4, "end": 18.9, "speaker": "S1",
   "text": "這個功能我們預計下個月上線。"},
  {"start": 19.2, "end": 25.1, "speaker": "S2",
   "text": "時程會不會太趕?測試需要兩週。"}
]

時間戳是逐字稿最有價值的欄位之一。有了它,摘要中的每個重點都能跳回原始音檔的位置,可驗證性完全不同。

專有名詞的處理

人名、產品名、專業術語是語音辨識最容易出錯的部分。實務做法是準備一份詞彙表,在辨識時作為提示提供,或在後處理階段做模糊比對修正。

# 後處理:用編輯距離修正已知詞彙
from difflib import get_close_matches

def fix_terms(text, vocab, cutoff=0.8):
    for word in set(re.findall(r'[A-Za-z]{3,}', text)):
        m = get_close_matches(word, vocab, n=1, cutoff=cutoff)
        if m and m[0] != word:
            text = text.replace(word, m[0])
    return text
中文逐字稿要注意繁簡問題。許多辨識模型預設輸出簡體,務必在後處理統一轉成臺灣正體用詞,不只是字形轉換。
下一步

這個主題還有更深入的實戰教程

VIP 專區收錄 50 篇進階內容:架構設計、生產環境取捨、成本與合規。 每週五新增 3 篇。

看訂閱方案 → 先逛逛 VIP 專區