對應原題(Common ‧ Multimodal, Speech and Voice AI)

  • Cascaded ASR+LLM+TTS versus native speech-to-speech: argue both sides. — Asked at: ElevenLabs
  • How do you evaluate ASR quality beyond WER, and TTS quality when there is no single correct output? — Asked at: ElevenLabs
  • How do you handle code-switching and accents in a production ASR system? — Asked at: Sarvam AI, Abridge
  • Design a diarisation system and explain how you attribute roles, not just clusters. — Asked at: Abridge

🎯 什麼情境該想到我

當你「要做語音產品的架構選擇,或要證明語音品質有沒有變好」的時候。

⚙️ Part 1:級聯 vs 原生語音對語音

★ 題目說 “argue both sides” —— 這是明確在測「你會不會只站一邊」。兩邊都要有具體理由,最後給判準。

級聯:  語音 ─▶ ASR ─▶ 文字 ─▶ LLM ─▶ 文字 ─▶ TTS ─▶ 語音
                      ★ 有文字中繼                    

原生:  語音 ─────────▶ [ 單一模型 ] ─────────▶ 語音
                      ★ 沒有文字中繼

級聯的理由

✅ 優勢說明
模組化每段可獨立替換、升級、除錯。ASR 不好就換 ASR
★ 可觀測與可稽核有文字中繼 → 可記錄、可審查、可套護欄、可做 evals。受監管產業(醫療、金融)幾乎只能這樣
可控在文字層做 RAG、工具呼叫、內容過濾、結構化輸出
生態成熟各段都有多家成熟選擇,不被單一供應商綁定
成本可控各段分別優化(便宜的 ASR + 便宜的小 LLM + 便宜的 TTS)
❌ 劣勢說明
延遲累加雖可重疊,仍多了兩次模態轉換(見 即時語音 Agent)
★ 資訊損失ASR 把語音壓成文字,丟掉語氣、情緒、重音、猶豫、笑聲、語速、環境音——這些常常就是意圖的關鍵
錯誤傳播ASR 錯一個字,後面全部建立在錯誤上
TTS 只能從文字猜語調它不知道使用者剛才是開心還是生氣

原生語音對語音的理由

✅ 優勢說明
★ 保留副語言資訊情緒、語氣、重音、笑聲——模型能感知,也能在回應中表現
延遲更低少了兩次模態轉換與中間的等待
輪替更自然可以「邊聽邊想」,處理停頓、重疊、附和更自然
口音與非標準發音更穩健不需要先「正確轉寫」才能理解
❌ 劣勢說明
★ 可觀測性差沒有文字中繼 → 難稽核、難除錯、難套護欄、難建評估集
工具與 RAG 整合較難生態仍在發展
輸出難以驗證沒有文字可以做格式檢查或事實驗證
模型選擇少、訓練資料稀缺供應商鎖定風險高
合規障礙受監管產業可能直接不接受「沒有逐字稿」的系統

★ 判準(答題的收尾)

情境選擇
需要稽核、合規、工具整合、RAG級聯
追求自然度、情感、極低延遲的閒聊型體驗原生
★ 混合原生處理對話層,但同時跑一路 ASR 產生逐字稿供稽核與護欄;關鍵動作(下單、轉帳)走文字驗證路徑

面試答法:「這是可控性 vs 自然度的取捨。
我會問:這個產品的失敗成本是什麼? 如果說錯話的代價高(醫療、金融),級聯的可稽核性壓倒一切;
如果是陪伴或娛樂,原生的自然度值得。截至 2026-10,混合架構是最實用的答案(判斷)。」

⚙️ Part 2:評估

ASR:WER 之外

WER 的四個問題:

問題說明
★ 所有錯誤等權重「的」漏掉和藥名錯了扣一樣的分。★ 對 Abridge 這種醫療場景,這個缺陷是致命的
對標準化敏感數字寫法(「三點」vs「3:00」)、標點、大小寫會嚴重影響分數
不反映下游任務WER 8% 的逐字稿可能完全足以產生正確的摘要
跨語言不可比中文用 CER(字元錯誤率),和英文的 WER 不是同一個尺度

更該看的指標:

指標說明
★ 實體錯誤率(entity WER)只看關鍵實體:藥名、劑量、人名、金額、日期、產品編號。
★ 這才是和業務對齊的指標
任務導向指標下游任務的成功率(意圖分類正確率、摘要品質、工單欄位抽取正確率)
語意相似度用 embedding 比對,容忍無關緊要的差異
★ 分群體 WER依口音、語言、性別、年齡、噪音環境分層(見 PII、紅隊與公平性稽核)
串流特有‧ 部分結果的延遲
‧ ★ flicker(部分結果反覆改寫) —— 畫面上的字一直變很干擾,但 WER 完全量不到

TTS:沒有單一正確答案時怎麼評

類型方法
主觀(黃金標準)MOS(1–5 平均意見分數)、CMOS(A/B 對照,比絕對分數穩定)、MUSHRA
★ 可理解度把合成的音訊用 ASR 轉回文字,算 WER —— 一個便宜又客觀的自動代理指標
說話者相似度聲音複製場景:speaker embedding 的餘弦相似度
韻律客觀量測F0 統計、語速、停頓分布與參考的差異
自動 MOS 預測有模型可預測 MOS,但它們自己也不準,只能當粗篩
★ 線上行為聽完率、打斷率、重播率 —— 真實使用者的行為是最終仲裁

★ 「可理解度用 ASR 回轉」這一招值得記:它把一個主觀問題轉成客觀問題,而且可以自動化進 CI。
但它只測得出「聽不聽得懂」,測不出「好不好聽」 —— 自然度最後還是要人聽。

⚙️ Part 3:語碼轉換與口音

問題:「幫我 book 一個 meeting」「這個 case 要不要 follow up」——
多數 ASR 要先指定語言,語碼轉換就直接崩(要嘛把英文當中文音譯,要嘛整句辨識失敗)。

手段說明
多語言模型不做語言偵測,直接用多語訓練的模型
★ 訓練資料要有真實的語碼轉換不是把中文句和英文句拼起來——真實的語碼轉換有特定的切換模式與發音(中文語境下的英文發音和母語者不同)
逐段/逐詞的語言判斷而非整句一個語言標籤
★ 領域詞彙注入(contextual biasing)把藥名、產品名、人名、專有名詞清單餵給 ASR 並提高其權重。
★ 這是實務上投報率最高的一招 —— 不用重訓模型,直接改善關鍵實體的正確率
口音訓練資料多樣性、針對性微調、分群體評估(見上)
LLM 後處理用 LLM 修正 ASR 輸出。⚠️ 小心它會「修掉」正確的罕見詞——把真實的藥名改成常見詞。要限制修改範圍並保留原始輸出

⚙️ Part 4:Diarisation 與角色歸屬

標準流程

① VAD 找出語音段
② 切成短段(1–2 秒)
③ 每段算 speaker embedding(聲紋)
④ 聚類 → speaker_0 / speaker_1 / speaker_2
⑤ 處理重疊語音

指標:DER(Diarisation Error Rate)= 漏檢 + 誤檢 + 說話者混淆。

★ 但題目問的是「角色」不是「聚類」

聚類只告訴你「有兩個人」,Abridge 需要知道「哪個是醫師、哪個是病人」。
這是兩個不同的問題,而且後者無法從聲學特徵得出。

方法說明可靠度
★ 聲紋註冊(enrollment)醫師的聲紋事先已知 → 直接比對★ 最可靠。有固定角色的場景優先用
★ 語意線索用 LLM 讀逐字稿判斷:誰在問診斷問題、誰在描述症狀、誰用專業術語、誰開處方高(但要有足夠內容)
通道分離多支麥克風 / 多軌錄音最可靠(如果硬體支援)
先驗規則誰先開口、誰說得多、誰的段落較長低,只能當輔助
外部資訊排班表、會議邀請名單、預約紀錄高

★ 實務組合:聲紋註冊處理已知的人(醫師)+ 語意判斷處理未知的人(病人、家屬)+ 低信心時標記給人工確認。
並且要分開報告兩個指標:DER(分得對不對)與 role accuracy(角色貼對沒有)。

難點

  • 重疊語音 —— 兩人同時說話,多數系統直接失敗
  • 短語句 —— 一兩個字的回應(「嗯」「對」)聲紋資訊不足
  • 相似聲音 —— 同性別、同年齡層
  • 背景人聲 —— 候診室、開放辦公室

⚠️ 注意 / 什麼時候不適用

  • ★ 指標要和業務對齊。報 WER 給產品經理沒有用;報「藥名錯誤率」才有用。
  • 所有語音指標都要分群體看。整體 WER 5% 可能掩蓋某個口音群體 20%。
  • contextual biasing 的詞表會過大而失效。太多偏置詞會造成誤觸發(把普通詞聽成藥名)。要控制規模並評估。
  • 診間/客服錄音是高度敏感的 PII(見 PII、紅隊與公平性稽核)—— 保存、傳輸、標註流程都要合規。
  • 原生語音模型的護欄手段仍不成熟。要上線受監管場景前,確認有可稽核的路徑。
  • MOS 分數不可跨研究比較(受試者、指導語、設備都不同)。只在自己的實驗內做相對比較。
  • 不要只用乾淨錄音評估。真實環境有噪音、回音、斷線、多人——評估集必須包含。

🧪 我實際套用的紀錄

  • 2026-09-20:從面試題庫展開,尚未實際套用。

🔗 相關