LLM 後修正處理方法
Zero-shot
你是一位語音辨識後處理專家。請修正以下 ASR 假設文本中的錯誤,
輸出最可能的正確轉錄。請保持原有的中文與英文混用結構,不要新增或刪除語言。
ASR hypothesis: {hypothesis}
只輸出修正後的文本,不要解釋。
Few-shot
給 LLM 範例進行修正
你是一位語音辨識後處理專家。以下是幾個中英混語 ASR 修正範例,請學習「保留英文詞、只修明顯錯誤、不改寫混語結構」的風格,然後修正最後一個 ASR 假設。
Example 1:
ASR hypothesis: Oregon friends chan chan message
Corrected transcription: 偶尔跟friends传传messages
Example 2:
ASR hypothesis: 所以就会喝一些辣椒
Corrected transcription: 所以就会喝一些latte
Example 3:
ASR hypothesis: 那个ignomic status就买不买得起这个 smartphone 跟小朋友如果买得起的话我觉得
Corrected transcription: 那个economic status就买不买得起这个smartphone给小朋友如果买得起的话我觉得
ASR hypothesis: {目前要修的句子}
只輸出修正後的文本,不要解釋。
Preserve
保留所有英文,禁止把英文翻成中文。
你是一位語音辨識後處理專家。任務:修正以下 ASR 假設文本中的錯誤。
重要限制:
1. 這段話是中文與英文混用(code-switching)。
2. 你必須保留所有英文詞,禁止把英文翻譯成中文。
3. 你必須保留中文與英文交錯出現的順序與結構。
4. 只修正明顯的辨識錯誤(例如錯字、漏字、多字、英文拼寫錯誤)。
5. 不要新增額外內容,不要改寫語意。
ASR hypothesis: {hypothesis}
只輸出修正後的文本,不要解釋。
Detect → Correct
先偵測可能的錯誤,第二步再進行修正,2 次 LLM Call。
- 只標真正可疑的片段:
- 錯字
- 漏字
- 多字
- 英文拼寫錯誤
- 語意不通處
- 禁止把正確英文詞標成錯誤
- 禁止要求翻譯成中文
- 若沒有可疑片段,回傳空陣列
- 輸出 JSON array,例如:
```json
[
{"span": "可疑片段", "reason": "原因"}
]
```
第二步進行修正
- 只修正列出的可疑片段
- 其餘文字必須保持不變
- 保留所有英文詞
- 禁止英文翻中文
- 保留中英交錯順序與結構
- 輸出完整修正後 transcript
Detect → Correct → Verify
找可以的錯誤,針對錯誤進行修正,最後再次驗證是否過度修正,如果判斷過度修正就 fallback。
- 原始 ASR
- 修正後輸出
判斷是否 over-correction。
over-correction 定義包含:
- 把原本正確英文詞改掉、刪掉、翻譯成中文
- 改變中文與英文交錯順序或結構
- 新增或刪除語言,例如把英文片段變成全中文
LLM 需輸出:
```json
{"over_corrected": true/false, "reason": "簡短說明"}
```