目錄(15 節)

粵語熱詞辨識:人名、地名、品牌,點樣教引擎聽得啱

熱詞唔係「加多啲詞」。本文拆人名、地名、品牌、機構、術語五類專名嘅辨識失敗模式,講詞表容量同分域,再畀一個可以重跑嘅 A/B 驗收流程。

— 港嘢內容團隊約 10 分鐘語音轉文字熱詞專有名詞ASR粵語
分享:

一句答你:熱詞唔係「加多啲詞」咁簡單。佢係一次有代價嘅提示 —— 加得啱,專名命中率上;加得唔啱或者音檔太舊,引擎會反過來「照讀你俾佢嘅詞表」,變成完全冇轉寫。所以詞表要短、要準、要分場景,而且每次加完一定要跑一次 A/B。

「熱詞」呢個詞,好多團隊用得唔一致:有人講緊引擎嘅解碼提示,有人講緊 API 傳入嘅自訂詞彙,有人索性叫「關鍵字」。本文用同一個定義講到底,並且只講一個方向:輸入方向——即係點樣令引擎聽得明你嘅專有名詞。

方向唔同,答案就完全唔同。輸出方向(點樣令 AI 讀啱你啲字)喺《廣東話專有名詞讀音規則》同《廣東話人名讀音完全指南》嗰邊講;詞表有咩容量同點驗,喺同一個 cluster 嘅《廣東話字庫與自訂詞彙實戰》講;測試集點砌、WER 同 CER 點計,喺《廣東話語音轉文字實測》講;至於「點驗證加咗詞真係有用」嘅完整六步流程,喺同一個 cluster 嘅《粵語 ASR 自訂詞彙測試協議》嗰篇。

本文專答一條題:五類專名各自點解錯、錯成咩樣、詞表應該點寫。

重點摘要(Key Takeaways)

  • 熱詞 係指提交俾辨識引擎嘅一組「呢個場景一定會出現嘅專有名詞」提示;自訂詞彙 係同一件事喺 API 層嘅叫法。兩者唔係兩樣嘢。
  • 熱詞唔會令引擎「識得」新詞,佢只會令引擎更偏向揀你俾嘅嗰個讀法。所以對詞表嘅任何一個低頻專名,佢都有效。
  • 五類專名嘅失敗模式唔同:人名怕同音、地名怕生僻字、品牌怕中英夾雜、機構名怕連讀、術語怕縮寫。搞錯類別,詞表就會寫錯。
  • 詞表有硬上限:50 個詞、單詞 ≤30 字、提示總長 ≤200 字;而且分兩本(轉錄頁/會議),唔應該共用。
  • 失效模式係真實存在嘅:音檔壓到 32 kbps 或以下、而詞表又短嘅時候,引擎會「照讀詞表」而唔係轉寫內容。
  • 每次加完詞,一定要有修正數/回歸數兩個數;回歸數唔係零,就唔好上線。

熱詞(ASR 層面)同「加多啲詞」唔係同一件事

先定義清楚兩個詞,之後全文唔會含糊:

熱詞 係指一組「呢段音頻一定會出現嘅專有名詞」提示,交畀辨識引擎,令佢解碼時更傾向輸出你指定嘅寫法。自訂詞彙 係同一件事喺 API 層嘅叫法 —— 詞表入面嘅每個詞,都只係「提示」,唔係「命令」。

呢個分別好重要,因為佢決定咗你點期望。例如你以為熱詞係一本詞典,俾引擎學識新詞;但實際上佢只係一段解碼提示,令某啲詞更常被揀中,譬如你公司嘅內部產品代號,呢類詞引擎本來完全唔會輸出,加咗提示就會明顯偏向你俾嘅寫法。

你以為熱詞係實際上熱詞係實際效果
一本詞典,俾引擎學識新詞一段解碼提示,令某啲詞更常被揀中對低頻專名最有效(公司名、同事名、產品代號)
加得越多越好提示總長有上限,仲會互相干擾加太多會令其他位置變差
永久生效跟住嗰次請求或者嗰個場景生效換場景要換詞表

換句話說,熱詞解決嘅係「呢啲詞引擎唔常見,但今次一定會出現」嘅問題。對常用詞加熱詞,係浪費額度仲增加風險。

五類專名,五種失敗模式

下面嘅錯例係示意(用香港常見專名作例子),唔係量度咗嘅錯誤分佈;真係要知自己場景嘅錯誤分佈,就要用下面嗰套逐詞標記方法跑一次。

五類專名辨識失敗模式對照表:人名、地名、品牌與產品名、機構名、術語與縮寫嘅典型錯法、成因同詞表寫法
同一個「加詞」動作,對五類專名要寫成五種唔同嘅形狀。
類別典型錯法點解會錯詞表應該點寫
人名嘉詠 → 嘉泳;偉強 → 偉祥同音字多,語言模型只識得常見嗰個寫全名(三個字),唔好只寫姓;確認讀音後先入表(逐字讀音可以用中大審音配詞字庫逐個核)
地名鰂魚涌 → 鯡魚涌;石硤尾 → 石橋尾生僻字 + 地方字形唔標準用官方中文名;同音但唔同字嘅地方要人手核(口語俗稱可以喺粵典查返)
品牌/產品名Canto-Gen → 甘圖琴;QR code → Q R 扣中英夾雜,引擎有時逐字當英文、有時當近音中文英文原形照抄;唔好加中文近音(處理港式英文夾雜可以參考canto-hk-g2p點樣做 G2P)
機構/職銜證監會 → 證監灰;庫務局 → 庫務菊連讀 + 連字,聲調被拉平逐個詞分開寫,唔好寫成一句
術語/縮寫KPI → 開 P I;Q3 → Q 三縮寫被拆成中文字保留英文原形;確認引擎有冇「字母讀法」設定

機構名 嗰行值得再講多兩句:香港嘅機構名好多名本身係縮寫或者官方英文名(SFC、HKMA、ICAC),引擎有時會讀成中文近音,有時會逐個字母讀。你要事先決定想要邊一種,並且喺詞表之外,用語言或者後處理規則兜住。呢度亦都係連讀規則介入嘅位置 —— 連讀點樣改變聲調同音段,可以對返語言學學會嘅粵拼答問入面對變調同連讀嘅講法。

術語/縮寫 嗰行嘅關鍵係「保留原形」:如果你嘅場景係客服或者內部會議,縮寫應該讀英文;如果你嘅場景係對外廣播,可能要讀中文全名。呢個係場景決定,唔係引擎決定。

詞表要點寫:容量、形狀、分域

詞表有硬上限,而且係三層(全部係現行產品規格):

限制數值點解咁定
每本詞庫詞數上限50 個詞太多會互相干擾,命中率反而跌
單詞長度上限30 字超過通常係句子,唔係專名
提示總長上限200 字提示句有長度限制,唔係無限塞

形狀上,有幾條規則好實用:

  • 寫全名,唔好寫部分。人名寫「嘉詠」而唔係「陳嘉詠」,同音干擾會大好多。
  • 唔好放常用詞。「公司」「開會」「報告」本身唔會錯,加落去只會推高佢哋嘅機會率,影響其他位置。
  • 唔好放句子。詞表係詞,唔係句;譬如「陳總今日會上會講」咁樣一條,應該拆成「陳總」同其他真正嘅專名,唔好原句入表。
  • 同一個詞唔好寫三種大小寫。去重之後額度先用得嚟。
  • 中英夾雜分開處理。英文品牌名同中文近音唔應該同時出現喺同一個詞條。
  • 預期讀音要可以核。你話「陳嘉詠」應該讀「can4 gaai1 weng2」,就要有辦法核返呢個讀音;如果核唔到,呢個詞就唔應該入表。用 G2P 工具(例如PyCantonese)可以批量由文字反查讀音,作為核對嘅第一步。

另外有一件事好多人忽略:詞表分兩本。轉錄頁(playground)同會議批次轉寫(meeting)係兩個 scope,詞表唔互通。同一間公司,會議入面嘅人名同客服錄音入面嘅產品名,可以完全唔同 —— 共用一本只會令兩邊都唔夠用。

供應狀態講清楚: 詞庫功能現階段係 Beta,按帳號開通,唔係所有帳戶預設見到。介面喺語音轉錄頁;如果登入後見唔到詞庫入口,即係你嘅帳號未開通,可以聯絡我哋申請。

一個真實嘅失效模式:引擎照讀詞表

呢個係本文最實用嘅一段,因為好多團隊會以為「加咗詞就一定變准」,然後喺某次匯報上撞到最難解釋嘅 bug。

【實測】我哋用小樣本測試過:加詞之後目標詞會修正,而且回歸數可以維持喺零(具體樣本數同百分比屬未公開嘅測試資料)。同一批測試亦重現咗一個失效模式 —— 當音檔壓到 32 kbps 或以下、而詞表又短嘅時候,引擎會唔轉寫內容,而係「照讀」你俾佢嘅詞表。呢個形態喺同一批音檔上重複出現過,可以當係一個可靠嘅預警訊號。

實際症狀係咁嘅:明明講緊一段對話,份逐字稿出嚟嘅係「證監會、庫務局、GEM。」—— 全部係你詞表入面嘅詞,就係嗰個錯誤輸出嘅形狀。

三個可以即刻做嘅動作:

  1. 提高音檔碼率。同步轉寫嘅檔案上限係 4.5 MB,長音檔要壓成 16 kHz mono Opus 16k;如果你自己可以控制,寧願用較高碼率,唔好過度壓縮。
  2. 延長詞表覆蓋範圍。詞表短 + 音檔舊,係最容易撞正呢個模式嘅組合。
  3. 喺輸出端做安全網。我哋喺交稿之前會剝走「朗誦殘渣」—— 如果成段輸出全部都係詞表入面嘅詞(連續多個、用頓號連埋),就當係朗誦殘渣剝走;保守起見,貼住正文嘅自然並列句唔會被剝,寧願漏唔好錯。

【獨家觀察】呢個失效模式嘅成因唔神秘:解碼提示本質上係「請多啲呢啲詞」嘅訊號。當聲學資訊本身已經薄(低碼率),引擎手上冇乜線索可以拒絕呢個提示,於是就照單全收。換句話說,詞表係喺聲學線索充足嘅時候幫手,喺聲學線索不足嘅時候反過來搗亂。

點知加詞有冇用:先睇一個指標

加詞之後最常出現嘅兩種結果:① 目標詞修好 ② 其他本來正確嘅字變錯。第二種更危險,因為你唔會即刻發現。

回歸(regression) 係指加詞之後,原本正確嘅字變成錯 —— 你只會盯住目標詞,所以呢種副作用最容易被漏掉。所以最少要計兩個數:修正數(由錯變對嘅目標詞數)同回歸數(由對變錯嘅非目標詞數)。回歸數唔係零,就唔好上線。

有回歸就逐個詞剔除,通常元兇係太短、太常見、或者同其他詞撞音嗰幾個。完整嘅六步 A/B 流程、測試集設計、逐詞對錯表同判定閘,喺開頭提到嘅《粵語 ASR 自訂詞彙測試協議》一文,本文唔重複。

詞表之外:仲有三樣嘢影響辨識

熱詞只解決「揀字」層面,仲有三樣嘢係你控制到、而且影響更大:

  • 音檔本身。碼率、單聲道定雙聲道、有冇底噪,直接決定引擎聽唔聽得清。語音轉錄嘅落載同壓縮方法,睇《會議音檔上載指南》同《廣東話語音轉文字上架》嗰邊講嘅實際做法。- 上下文長度。一句入面嘅詞比三句入面嘅詞易聽得多。開會時每句獨立抽出嚟轉寫,準確度一定差過保留前後文。
  • 講者同場景。同一個詞喺唔同 scope 嘅價值唔同(會議 vs 客服),所以詞表唔應該跨場景共用。

常見問題 FAQ

熱詞同「關鍵字」係同一樣嘢嗎?

係同一件事嘅唔同叫法:引擎入面叫熱詞,API 層叫自訂詞彙/詞表。本文用「熱詞」講原理,用「詞表」講你實際要填嗰樣嘢。

加咗詞會唔會令其他字變差?

有可能,呢個叫回歸。所以每次加詞都要跑 A/B,而且明確要求回歸數 = 0。有回歸就逐個詞剔除。

詞表可以放幾多個詞?

每本詞庫 50 個詞、單詞 ≤30 字、提示總長 ≤200 字。超出會被截斷或者丟棄,所以唔好把成個客戶資料庫倒入去。

人名讀音唔確定,應該唔應該放入詞表?

唔應該。除非你已經攞到對方確認(客戶、助理、同事本人),否則放低頻人名但讀音錯咗,等於教引擎穩穩咁讀錯。你未確認嘅詞,應該住喺另一張待確認清單,唔好入正式詞表。

熱詞可以令引擎聽到字典以外嘅新詞嗎?

唔可以。熱詞只影響「同一個音、寫法唔同」嘅取捨。真正冇出現過嘅生僻音,佢幫唔到你 —— 嗰個要靠詞典同讀音資料,唔係靠提示。

想試下自己嘅專有名詞?

先睇語音轉文字嘅產品範圍同收費,再喺語音轉錄頁跑一段你嘅錄音試下。 錄音檔太細或者太長會上唔到閘門,壓縮同切件嘅做法睇《音檔壓縮上載指南:mp3 轉文字 廣東話,16kHz mono Opus 點揀先唔會被拒》。詞庫入口需要帳號開通,可以上面嗰個聯絡表格申請。想先打好字庫三層同詞表基礎,睇本 cluster 嘅字庫實戰文;想知完整嘅測試集砌法同評分表,睇《廣東話語音轉文字實測》一文。

相關文章


本文由港嘢內容團隊編輯審閱(editorial review,2026-10-25)。想了解我哋嘅背景,可以睇關於港嘢;詞庫開通同技術問題,可以用上面同一張聯絡表格。

相關文章