文本規(guī)范化( TN )將文本從書面形式轉(zhuǎn)換為口頭形式,是文本到語音( TTS )之前的一個重要預(yù)處理步驟。 TN 確保 TTS 可以處理所有輸入文本,而不會跳過未知符號。例如,“ 123 美元”轉(zhuǎn)換為“一百二十三美元”
反向文本規(guī)范化( ITN )是自動語音識別( ASR )后處理管道的一部分。 ITN 將 ASR 模型輸出轉(zhuǎn)換為書面形式,以提高文本可讀性。例如, ITN 模塊將 ASR 模型轉(zhuǎn)錄的“ 123 美元”替換為“ 123 美元?!?/p>
ITN 不僅提高了可讀性,還提高了下游任務(wù)(如神經(jīng)機器翻譯或命名實體識別)的性能,因為這些任務(wù)在訓(xùn)練期間使用書面文本。
圖 1.會話 AI 管道中的 TN 和 ITN
TN 和 ITN 任務(wù)面臨幾個挑戰(zhàn):
標(biāo)記的數(shù)據(jù)稀缺且難以收集。
由于 TN 和 ITN 錯誤會級聯(lián)到后續(xù)模型,因此對不可恢復(fù)錯誤的容忍度較低。改變輸入語義的 TN 和 ITN 錯誤稱為不可恢復(fù)。
TN 和 ITN 系統(tǒng)支持多種 semiotic classes ,即口語形式不同于書面形式的單詞或標(biāo)記,需要規(guī)范化。例如日期、小數(shù)、基數(shù)、度量等。
許多最先進的 TN systems in production 仍然使用 加權(quán)有限狀態(tài)傳感器 ( WFST )基于規(guī)則。 WFST 是 finite-state machines 的一種形式,用于繪制正則語言(或 regular expressions )之間的關(guān)系。對于這篇文章,它們可以由兩個主要屬性定義:
用于文本替換的已接受輸入和輸出表達式之間的映射
直接圖遍歷的路徑加權(quán)
如果存在歧義,則選擇權(quán)重總和最小的路徑。在圖 2 中,“二十三”被轉(zhuǎn)換為“ 23 ”而不是“ 203 ”
圖 2.輸入“二十三”的 WFST 格子
目前, NVIDIA NeMo 為 TN 和 ITN 系統(tǒng)提供以下選項:
Context-independent WFST-based TN and ITN grammars
Context-aware WFST-based grammars + neural LM for TN
Audio-based TN for speech datasets creation
Neural TN and ITN
基于 WFST 的語法(系統(tǒng) 1 、 2 和 3 )
NeMo 文本處理包是一個 Python 框架,它依賴于 Python 包 Pynini 來編寫和編譯規(guī)范化語法。有關(guān)最新支持的語言的更多信息,請參閱 Language Support Matrix 。有關(guān)如何擴展或添加語言語法的更多信息,請參閱 語法定制 。
Pynini 是一個構(gòu)建在 OpenFst 之上的工具包,它支持將語法導(dǎo)出到 OpenFST Archive File (FAR) 中(圖 3 )。 FAR 文件可以在基于 Sparrowhawk 的 C ++生產(chǎn)框架中使用。
圖 3. NeMo 反向文本規(guī)范化開發(fā)和部署示意圖
我們最初版本的 TN / ITN 系統(tǒng)# 1 沒有考慮上下文,因為這會使規(guī)則更加復(fù)雜,這需要廣泛的語言知識,并降低延遲。如果輸入不明確,例如,與“ 1 / 4 個杯子”相比,“火車在 1 / 4 上出發(fā)”中的“ 1 / 4 ”,則系統(tǒng)# 1 會在不考慮上下文的情況下確定地選擇歸一化。
該系統(tǒng)擴展了系統(tǒng)# 1 ,并在規(guī)范化期間合并了上下文。在上下文不明確的情況下,系統(tǒng)輸出多個規(guī)范化選項,使用預(yù)處理語言模型使用 Masked Language Model Scoring 重新搜索(圖 4 )。
圖 4.WFST + LM 淺熔管線
WFST 生成所有可能的標(biāo)準(zhǔn)化表格,并為每個選項分配權(quán)重。
修剪權(quán)重高于閾值“ 401.2 ”的標(biāo)準(zhǔn)化選項。在本例中,我們刪除了“ 1 / 4 ”。它的權(quán)重更高,因為它沒有完全歸一化。
LM 重新排序在其余選項中選擇了最佳選項。
這種方法類似于 ASR 的淺層融合,并結(jié)合了基于規(guī)則和神經(jīng)系統(tǒng)的優(yōu)點。 WFST 仍然限制了不可恢復(fù)的錯誤,而神經(jīng)語言模型在不需要大量規(guī)則或難以獲取數(shù)據(jù)的情況下解決了上下文模糊性。有關(guān)詳細信息,請參閱 Text normalization 。
表 1 比較了 WFST + LM 方法在句子準(zhǔn)確性方面與之前的系統(tǒng)# 1 ( DetWFST )和三個數(shù)據(jù)集上的純神經(jīng)系統(tǒng)( Duplex )。在本文后面,我們將提供有關(guān)系統(tǒng)# 4 的更多詳細信息。
總的來說, WFST + LM 模型是最有效的,特別是在 EngConf 上,這是一個具有模糊示例的自收集數(shù)據(jù)集。
圖 5 顯示了這三種方法對錯誤的敏感性。雖然神經(jīng)方法受不可恢復(fù)錯誤(如幻覺或遺漏)的影響最大,但 WFST + LM 受這些錯誤和類歧義的影響最小。
圖 5.上下文無關(guān)的 WFST 、 Duplex 和 WFST + LM 系統(tǒng)的錯誤模式
基于音頻的 TN (系統(tǒng) 3 )
在創(chuàng)建新的語音數(shù)據(jù)集時,文本規(guī)范化也很有用。例如,“六二七”和“六二十七”都是“ 627 ”的有效規(guī)范化選項。但是,您必須選擇最能反映相應(yīng)音頻中實際內(nèi)容的選項?;谝纛l的文本規(guī)范化提供了此類功能(圖 6 )。
圖 6.基于音頻的標(biāo)準(zhǔn)化分辨率示例
神經(jīng) TN 和 ITN 模型(系統(tǒng) 4 )
與基于規(guī)則的系統(tǒng)相比,神經(jīng)系統(tǒng)的一個顯著優(yōu)勢是,如果存在新語言的訓(xùn)練數(shù)據(jù),那么它們很容易擴展?;谝?guī)則的系統(tǒng)需要花費大量精力來創(chuàng)建,并且由于組合爆發(fā),可能會在某些輸入上工作緩慢。
作為 WFST 解決方案的替代方案, NeMo 為 TN / ITN 提供了 seq2seq Duplex 模型,為 ITN 提供了基于標(biāo)記器的神經(jīng)模型。
雙重 TN 和 ITN
Duplex TN and ITN 是一個基于神經(jīng)的系統(tǒng),可以同時進行 TN 和 ITN 。在較高的層次上,該系統(tǒng)由兩個組件組成:
DuplexTaggerModel: 基于 transformer 的標(biāo)記器,用于識別輸入中的符號跨度(例如,關(guān)于時間、日期或貨幣金額的跨度)。
DuplexDecoderModel :基于變壓器的 seq2seq 模型,用于將符號跨度解碼為適當(dāng)?shù)男问剑ɡ纾?TN 的口語形式和 ITN 的書面形式)。
術(shù)語“雙工”指的是這樣一個事實,即該系統(tǒng)可以訓(xùn)練為同時執(zhí)行 TN 和 ITN 。但是,您也可以專門針對其中一項任務(wù)對系統(tǒng)進行培訓(xùn)。
圖特莫斯塔格
雙工模型是一種順序到順序模型。不幸的是,這種神經(jīng)模型容易產(chǎn)生幻覺,從而導(dǎo)致無法恢復(fù)的錯誤。
Thutmose Tagger 模型將 ITN 視為一項標(biāo)記任務(wù),并緩解了幻覺問題(圖 7 和 8 )。 Thutmose 是一個單通道令牌分類器模型,它為每個輸入令牌分配一個替換片段,或?qū)⑵錁?biāo)記為刪除或復(fù)制而不做更改。
NeMo 提供了一種基于 ITN 示例粒度對齊的數(shù)據(jù)集準(zhǔn)備方法。該模型在谷歌文本規(guī)范化數(shù)據(jù)集上進行訓(xùn)練,并在英語和俄語測試集上實現(xiàn)了最先進的句子準(zhǔn)確性。
表 2 和表 3 總結(jié)了兩個指標(biāo)的評估結(jié)果:
Sentence accuracy :將每個預(yù)測與參考的多個可能變體相匹配的自動度量。所有錯誤分為兩組:數(shù)字錯誤和其他錯誤。當(dāng)至少有一個數(shù)字與最接近的參考變量不同時,會發(fā)生數(shù)字錯誤。其他錯誤意味著預(yù)測中存在非數(shù)字錯誤,例如標(biāo)點符號或字母不匹配。
Word error rate ( WER ): ASR 中常用的自動度量。
d- BERT 代表蒸餾 BERT 。
默認值是默認的 Google 文本規(guī)范化測試集。
Hard 是一個測試集,每個符號類至少有 1000 個樣本。
標(biāo)簽和輸入詞之間的一對一對應(yīng)提高了模型預(yù)測的可解釋性,簡化了調(diào)試,并支持后期處理更正。該模型比序列到序列模型更簡單,更容易在生產(chǎn)設(shè)置中進行優(yōu)化。
圖 7.ITN 作為標(biāo)記:推理示例
輸入單詞的序列由基于 BERT 的標(biāo)記分類器處理,給出輸出標(biāo)記序列。簡單的確定性后處理提供最終輸出。
圖 8.錯誤示例:(左) Thutmose tagger ,(右) Duplex 模型
結(jié)論
文本規(guī)范化和反向文本規(guī)范化對于會話系統(tǒng)至關(guān)重要,并極大地影響用戶體驗。本文結(jié)合 WFST 和預(yù)處理語言模型的優(yōu)點,介紹了一種處理 TN 任務(wù)的新方法,以及一種處理 ITN 任務(wù)的基于神經(jīng)標(biāo)記的新方法。
關(guān)于作者
Yang Zhang 是英偉達人工智能應(yīng)用集團的一名深度學(xué)習(xí)軟件工程師。她目前的重點是自然語言處理、對話管理和文本(去規(guī)范化)。在過去,她一直致力于大型 ASR 模型和語言模型預(yù)培訓(xùn)的可擴展培訓(xùn)。她在卡內(nèi)基梅隆大學(xué)獲得機器學(xué)習(xí)碩士學(xué)位,在德國卡爾斯魯厄理工學(xué)院獲得計算機科學(xué)學(xué)士學(xué)位。
Evelina Bakhturina 是 Nvidia 的一個深學(xué)習(xí)應(yīng)用科學(xué)家,專注于自然語言處理任務(wù)和英偉達 NeMo 框架。她畢業(yè)于紐約大學(xué),獲得數(shù)據(jù)科學(xué)碩士學(xué)位
Alexandra Antonova 是 NVIDIA Conversational AI 團隊( NeMo )的高級研究科學(xué)家,致力于 ASR 模型。她在莫斯科國立大學(xué)學(xué)習(xí)理論和應(yīng)用語言學(xué),在莫斯科物理技術(shù)學(xué)院深造。在加入 NVIDIA 之前,她曾在幾家俄羅斯科技公司工作。在空閑時間,她喜歡讀書。
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2545文章
50445瀏覽量
751063 -
NVIDIA
+關(guān)注
關(guān)注
14文章
4855瀏覽量
102711
發(fā)布評論請先 登錄
相關(guān)推薦
評論