基於CTC轉換器的自動拼寫校正端到端語音識別

                           基於CTC轉換器的自動拼寫校正端到端語音識別

                                   Automatic Spelling Correction with Transformer for CTC-based End-to-End

                                                                             Speech Recognition

                                                               Shiliang Zhang, Ming Lei, Zhijie Yan

                                                       Machine Intelligence Technology, Alibaba Group

                                                      {sly.zsl, lm86501, zhijie.yzj}@http://alibaba-inc.com


原文請參見:https://arxiv.org/pdf/1904.10045.pdf ,感謝原作者因譯者才疏學淺,偶有紕漏,望不吝指出。其中因zh垃圾無法顯示數學符號,若需完整版可以在羣內獲取。

本內容由靈聲訊音頻-語音算法實驗室整理翻譯,轉載和使用請與“靈聲訊”聯繫,聯繫方式:音頻/識別/合成算法QQ羣(696554058)


摘要

基於CTC(Connectionist Temporal Classification)的端到端語音識別系統爲了獲得令人滿意的結果,通常需要使用基於WFST解碼的外部語言模型。這對普通話語音識別更爲重要,因爲普通話含同音異義詞,這會導致很多替換錯誤。語言模型引入的語言信息將有助於區分這些替換錯誤。 在這項工作中,我們提出了一種基於轉換器的拼寫校正模型,以此能自動糾正錯誤,尤其是基於CTC的普通話語音識別系統所產生的替代錯誤。具體來說,我們研究了使用基於CTC的系統生成的識別結果作爲輸入,並以真實錄音副本作爲輸出來訓練具有編解碼器結構的轉換器,這與機器翻譯非常類似。在一個2萬小時的普通話語音識別任務中,結果表明,所提出的拼寫糾正模型的CER(字符錯誤率)爲3.41%,與基於CTC的基線系統分別採用和不採用語言模型解碼相比,分別提高了22.9%和53.2%。

索引術語:語音識別,拼寫校正,CTC,端到端,轉換器

1.引用

傳統的基於混合DNN-HMM的語音識別系統通常由聲學模型、詞典和語言模型組成。每個模塊都是單獨訓練的,且都有不同的目標,然後在模型推理過程中將其結合在一起。在最近的研究中,該領域試圖通過在所謂的端到端框架中構建語音識別系統來糾正這種不相交的訓練問題並簡化訓練過程。當前兩種流行的方法是CTC和基於注意力的編解碼器模型。兩種方法都將語音識別看作是一個序列到序列的映射問題,並解決了可變長輸入和輸出序列的問題。一方面,CTC使用的中間標籤,允許重複標籤和空白標籤的出現,用於識別信息量較少的幀,這使得基於CTC的聲學模型能夠自動學習語音幀和目標標籤之間的對齊。另一方面,基於注意力模型使用注意力機制來實現聲學幀和識別字符之間的對齊。兩種方法都不需要幀級訓練目標,簡化了語音識別系統的訓練過程。

CTC假設輸出標籤是條件相互獨立的,這可以看作是一個聲學模型。雖然基於CTC的模型可以通過貪婪搜索解碼算法直接生成識別結果,但是使用基於WFST的解碼在字符或單詞級別結合外部語言模型會更好。另一方面,基於注意力的模型與編解碼器框架可以共同學習聲學、發音和語言模型。因此,人們普遍認爲基於注意力模型在沒有外部解碼的語言模型情況下將比基於CTC的模型獲得更好的性能。然而,基於注意力模型中的語言模型模塊僅在轉錄的音頻文本對上進行訓練。通過在推理時結合外部語言模型可以實現進一步的改進。

普通話是一種聲調語言,具有一種特殊的現象,即同音現象,許多漢字具有相同的發音。因此,替代錯誤是漢語語音識別系統產生的主要錯誤。這些替代錯誤需要語言信息纔能有效區分。 因此,語言模型是基於CTC的普通話語音識別模型的基礎。 如[13]所示,基於CTC的模型分別採用和不採用語言模型解碼,其性能差距是非常大的。然而,伴隨基於CTC的聲學模型的語言模型通常是n-gram語言模型,其歷史語境信息有限。使用具有RNN-LM的N-best打分算法,可以得到進一步的改進。

在這項工作中,我們提出了基於拼寫校正模型的轉換器,它能糾正基於CTC語音識別系統產生的錯誤。具體來說,我們研究了使用基於CTC系統生成的結果作爲輸入,以實際本地轉錄作爲編解碼結構轉換器的輸出進行訓練,這類似於機器翻譯。在推理期間,拼寫校正模型將初步識別結果作爲輸入,使用貪婪搜索算法生成最終結果。 我們有調查了各種基於CTC的系統作爲前端:不同聲學建模單元(音節,2000字,4000字,6000字),不同的優化標準(CTC,CTC-sMBR)和解碼方法(貪婪搜索,WFST搜索)。此外,我們建議擴增多樣性訓練數據,使用N-best列表和SGDR [19]優化,這將使性能有顯著提高。

我們評估了一項2萬小時的普通話語音識別任務,該任務由大約2000萬個成對的句子組成。研究結果表明,所提出的拼寫校正模型能使貪婪搜索的CTC系統的字錯誤率從7.28%提高到4.89%。通過擴展N-best列表作爲訓練數據,它可以進一步提高到4.21%。作爲比較,使用基於WFST的解碼與外部詞級語言模型的訓練的CTC-sMBR系統的CER爲4.42%。此外,通過聯合使用基於字的聲學建模單元、DFSMN-CTC-sMBR聲學模型、基於WFST的解碼和N-best數據擴展,所提出的拼寫糾正模型可以實現CER爲3.41%,相對提高22.9%。我們的分析表明,基於轉換器的拼寫糾正模型能夠利用句子級的語言信息,顯著降低識別結果中的替換錯誤。

2.相關工作

識別錯誤的自動校正不僅對提高ASR系統的性能至關重要,而且對避免錯誤向後處理(如機器翻譯、自然語言處理)的傳播也至關重要。[20]概述了以前關於ASR糾錯的工作。 然而,大多數研究僅限於檢測錯誤[21,22,23],且很少有研究涉及ASR誤差的校正過程。在[24]中,利用共現分析方法建立了ASR誤差檢測器和校正器。[25]提出了一種基於Microsoft N-gram數據集的ASR後期編輯糾錯方法。最近,[26,27]提出使用基於注意力的序列到序列模型自動糾正ASR錯誤,這與我們的工作非常相似。

3.我們的方法

                            

圖1展示了所提出的方法的整個系統,它由三個部分組成:監聽器,解碼器和拼寫器。對於監聽器,我們使用基於DFSMN-CTC-sMBR [15]的聲學模型。對於解碼器,在給定監聽器生成的概率序列的情況下,基於解碼策略生成初步的識別結果,對貪婪搜索[10]和WFST搜索進行了比較。此外,我們還研究瞭如何利用候選N-best擴展初步識別結果的多樣性。最後,解碼器產生的輸出用於訓練基於轉換器的拼寫器。

3.1 監聽器

3.1.1 DFSMN-CTC-SMBR

DFSMN[28]是一種改進的FSMN[29]結構,它能夠通過引入跳過連接來構建極深的體系結構。如圖2所示,它是一個DFSMN,包含10個DFSMN組件,然後是兩個全連接的ReLU層、一個線性層和一個softmax輸出層。對於基於CTC的聲學模型,softmax輸出對應於聲學模型單元和空白單元。 DFSMN中的關鍵元素是可學習的類FIR存儲塊,用於將長上下文信息編碼爲固定大小的表示。 因此,DFSMN能夠在不使用循環反饋的情況下對連續信號中的長期依賴性進行建模。l-th內存塊中的操作採用以下形式:

                                             

這裏,表示線性投影層的輸出,表示存儲塊的輸出。 和 分別記錄了存儲塊的回顧順序和先行順序。 s1是回望濾波器的步長因子,s2是超前濾波器的步長因子。

                                                      

CTC [10]是序列標記問題的損失函數,其通過去除定時和對齊信息將具有定時信息的標籤序列轉換爲較短的標籤序列。主要思想是在訓練期間引入額外的CTC空白( - )標籤,然後移除空白標籤併合並重復標籤以在解碼期間獲得唯一的相應序列。 對於一組目標標籤,Ω及其擴展CTC目標集定義爲。給定輸入序列x及其對應的輸出標籤序列y。 CTC路徑,π定義爲Ω上的序列其中T是輸入序列x的長度。 標記序列y可以由一組所有可能的CTC路徑表示,其被映射到具有序列到序列映射函數F的y,。 因此,給定輸入x的參考標記序列y的對數似然可以被計算爲所有可能CTC路徑的概率的集合:

                                                               

然後可以通過最小化最大似然估計來進行模型訓練。此外,利用序列級判別訓練準則,如sMBR準則等,可以進一步優化CTC訓練後的聲學模型[30,28]。

3.1.2 聲學建模單元

在[15]中,研究了以CI-IF、CD-IF、音節和混合字符-音節爲建模單元的DFSMN-CTC-sMBR聲學模型在普通話語音識別中的性能。實驗結果表明,混合高頻漢字和音節的混合字音節建模單元是漢語語音識別的最佳選擇。對於混合字符音節,將低頻字符映射到音節中來處理OOV問題。在這項工作中,我們不把低頻字符映射成音節,而是把它們映射成具有相同發音的高頻字符。因此,我們提出了一個純粹的基於漢字的建模單元,沒有OOV用於普通話語音識別。具體而言,我們將前2000、4000和6000個漢字作爲聲學建模單元,分別表示爲char- 2k、char-4k和char-6k。在我們的文本數據集中,覆蓋率分別爲95.58%、99.54%和99.86%。

3.2 解碼器

3.2.1 貪婪搜索

對基於貪婪搜索[10]的解碼,選擇每個時間步的最可能符號作爲輸出。 最佳CTC路徑可以用如下公式生成:

                                                

此外,CTC路徑可以通過映射函數F映射到令牌序列。

                                                         

對於基於CTC聲學模型的漢字單元,令牌序列是最終識別結果。 對於音節或其他建模單元,它仍然需要另一個映射函數。

3.2.2 WFST搜索

在[12]中提出了一種基於WFST的譯碼方法,該方法能夠有效地將詞彙和語言模型結合到CTC譯碼中。搜索圖由語言模型WFST G、詞彙表WFST L和令牌WFST T組成。令牌WFST T將一系列幀級CTC標籤映射到單個詞彙單元。FST操作的總體順序(oder/order)爲:

                                                     

其中o、det、min分別表示組成、確定和最小化。搜索圖S編碼從語音幀上發出的CTC標籤序列到最終的轉錄的映射。然後使用波束搜索從搜索圖中導出最佳解碼路徑。

3.2.3 N-best數據擴展

對於貪婪搜索和基於WFST搜索的解碼,我們通常將最佳路徑作爲識別結果。 在我們的工作中,我們發現訓練數據的多樣性對拼寫校正模型的性能很重要。 因此,我們研究使用N-best列表來擴展訓練數據的多樣性。 對基於WFST的解碼,我們可以輕鬆地從解碼點陣中獲得前N個路徑。 而對基於貪婪搜索的解碼,我們提出了一種基於閾值的路徑保留方法。 在每個時間步驟,除了保留具有最高後驗概率(p1)的令牌之外,我們還基於兩個閾值(upper_th; lower_th)判斷是否保留第二令牌(後驗概率,p2)。 如果lower_th <p1 <upper_th且lower_th <p2,我們將保留兩個令牌。 否則,我們只保留前一個令牌。 基於不同的閾值,我們將生成不同的CTC路徑,這些路徑可以使用公式(4)進一步映射到令牌序列。

在我們的工作中,我們還研究使用僅文本數據的數據擴充來擴展訓練數據。 我們嘗試根據概率分佈向原始文本添加插入,刪除和替換錯誤。 不幸的是,這種方法效果不佳。 我們懷疑構造的錯誤不能真正模擬聲學模型產生的錯誤類型。

3.3拼寫器

對於拼寫校正模型(拼寫器),我們使用具有編碼 - 解碼器架構的轉換器,這與[18]中的機器翻譯模型非常相似。基於CTC的前端聲學模型,採用不同的解碼和數據擴展方法,得到初步的識別結果作爲輸入,並以真實錄音副本作爲輸出,對拼寫器進行訓練。我們使用OpenNMT工具包[31]來訓練具有默認設置的基於Transformer的拼寫器。特別地,我們比較了兩種轉換器結構,即小轉換器和大轉換器。具體配置如表1所示。

                                    

4.實驗

4.1 實驗裝置

我們在大規模普通話語音識別任務上進行實驗,該任務包括大約2萬小時的訓練數據和大約2000萬個句子。測試集包含大約10小時的數據用於評估所有模型的性能。所有實驗中使用的聲學特性都是在25ms窗長上以10ms幀移計算的80維log-mel濾波器組(FBK)能量。我們將連續的幀疊加在一個5(2+1+2)的上下文窗口中,生成400維的特性,然後將輸入幀率下采樣到30ms。在基於WFST的解碼中,使用了一種經過文本數據訓練的刪減三元語言模型。根據字錯誤率(CER)進行評估。對於所有的實驗,我們使用與[32]相同的DFSMN架構。基於CTC的聲學模型使用16個GPU進行分佈式訓練,基於轉換器的拼寫器使用2個GPU進行訓練。

4.2 CTC基線系統

表2中顯示了具有不同聲學建模單元和解碼方法的各種基於CTC的基線ASR系統的性能。基於CTC的WFST搜索模型比貪婪搜索模型的性能要好得多,說明了語言信息的重要性。基於漢字建模單元的CTC模型具有不同的字符數(2k、4k、6k),在使用基於WFST的解碼時可以達到相似的性能,均優於基於音節的CTC模型。然而,當使用貪婪搜索進行解碼時,基於char4k和char6k的CTC模型明顯優於基於char2k的CTC模型。這一實驗結果也說明了語言信息的重要性。在sMBR訓練中,我們發現基於WFST的譯碼提高了性能,而基於貪婪搜索的譯碼降低了性能。這是由於訓練和解碼之間的不匹配,因爲基於sMBR的訓練使用基於WFST的解碼來生成訓練格。

                                            

4.3 帶拼寫器的貪婪搜索CTC

首先,我們使用基於貪婪搜索的解碼來評估表2中基線CTC模型輸出訓練的拼寫者的表現。表3和表2中exp2和exp3的實驗結果的比較表明,良好的初步識別結果將導致更好的最終結果。此外,訓練數據的數量對性能至關重要。如表3所示,將訓練數據從100萬(1M)句增加到2000(20M)萬句,相對提高20%以上。因此,我們也研究瞭如何在這項工作中擴展訓練數據。由於基於轉換器的大型拼寫器性能優於小型拼寫器,我們將在接下來的實驗中使用大型拼寫器。

在3.2.3節中,我們引入了基於閾值的數據擴展方法,用於基於CTC的聲學模型和貪婪搜索。在該實驗中,我們使用表3中具有不同閾值的基線模型來生成各種訓練數據,表示爲D(AM upper_th lower_th)。尤其,我們使用CTC模型(exp3)和CTC-sMBR模型(exp4)生成六個數據集,表示爲D1(CTC 1.0 1.0),D2(CTC 0.5 0.1),D3(CTC 0.6 0.1),D4(CTC- sMBR 1.0 1.0),D5(CTC-sMBR 0.5 0.3),D6(CTC-sMBR 0.6 0.3)。 不同的數據配置和實驗結果如表4所示。受SGDR[19]的啓發,我們建議用拼寫器訓練4遍,並在每次通過後進行重置。

每次通過的訓練步驟由訓練數據量確定。 對於模型推理,我們使用基於CTC的模型的結果和貪婪搜索作爲輸入,並通過使用貪婪搜索生成最終識別結果。 結果表明,該優化方法將實現更好的收斂性能。 更重要的是,即使使用CTC-sMBR模型生成的訓練數據,數據擴展也將顯着提高拼寫器的性能。結果,我們可以實現4.21%的字符錯誤率(CER),相對於基線貪心搜索解碼CTC模型(表4.2中的exp3)有42.17%的相對改進。它也可以優於使用基於WFSTb解碼的外部語言模型解碼的CTC-sMBR模型。

                              

4.4 WFST用拼寫器搜索CTC

在本實驗中,我們使用DFSMN-CTC-sMBR監聽器(表4.2中的exp4)和基於WFST的解碼器來生成初步識別結果,然後將其與地面實況轉錄配對以訓練拼寫器。我們還使用解碼格中的N最佳列表擴展訓練數據。特別地,我們保留了導致三個訓練集的前1,5和10路徑,表示爲N-best(1),N-best(5)和N-best(10)。這三個訓練集分別包含大約2000萬(20M),55M和84M的句子。我們在表5中列出了實驗配置和結果。在推理期間,來自基於WFST的解碼器的最佳路徑被饋送到拼寫器中以通過貪婪搜索生成最終識別結果。實驗結論與第3.4節中基於貪婪搜索CTC的實驗相同,即基於N-best的數據擴展方法和基於SGDR的多遍訓練都可以顯着提高性能。 最終,用N-best(10)訓練集訓練的拼寫器的CER達到3.41%,而基於WFST的解碼的基線DFSMN-CTC-sMBR系統的爲4.42%(表2)。

4.5 分析

爲了理解拼寫器的作用,如圖3所示,我們繪製了有拼寫器和沒有拼寫器的系統識別結果中的插入,刪除和替換錯誤的數量。結果表明,無論是否使用外部語言模型進行解碼,拼寫器都可以自動糾正前端監聽器所產生的許多替換錯誤。圖4顯示了測試集中的一些代表性示例。結果表明,拼寫器能夠利用句子層面的語言信息,從訓練集中學習知識庫,這有助於區分普通話中的同音詞。此外,我們還對拼寫器進行了廣泛的評估。圖5顯示了13個測試集中有和沒有拼寫器的基線DFSMN-CTC-sMBR系統的性能。我們將測試集與基線系統的CER(%)從高到低排序。結果表明,通常基線越好,使用拼寫器就可以獲得越多的性能提升。這是因爲拼寫者需要利用上下文信息。如果原始識別結果中存在許多錯誤,則會增加糾錯的難度。

                            

                         

5.總結

在這項工作中,我們提出了一種基於轉換器的拼寫校正模型,該模型具有編碼 - 解碼器架構,可自動校正基於CTC的語音識別系統所產生的錯誤。 實驗結果表明,拼寫器能夠利用句子級語言信息,有助於顯着減少識別結果中的替換誤差。 此外,我們建議使用基於N-best的數據擴展方法擴展訓練數據的多樣性,從而獲得超過10%的相對改進。在一個2萬小時的普通話語音識別任務中,結果表明,所提出的拼寫糾正模型的誤碼率爲3.41%,相對於分別使用和不使用語言模型解碼的基於CTC的基準系統,分別提高了22.9%和53.2%。至於今後的工作,我們將研究如何利用純文本數據,這將極大地擴展訓練數據的多樣性。

 

靈聲訊

譯於:2019-09-20


音頻/識別/合成算法QQ羣(696554058),具體資料在羣文件中;

本內容由靈聲訊音頻-語音算法實驗室整理創作,轉載和使用請與“靈聲訊”聯繫,要是覺得回答滿意請點贊加關注,靈聲訊爲你提供專業的音頻服務。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章