更好的中英文混合語音識別系統

語言: CN / TW / HK

文/商迎新 王偉戌 王強強 )    

研究背景 

語音作為人與人交流的直接媒介,承載著人們日常生活中的大部分資訊來源。基於近年來通訊技術與物聯網的發展,各式各樣的語音助手、智慧傢俱等軟硬體層出不窮,人機互動技術的發展及人們對其需求日益攀升。語音識別技術在人機互動上扮演著重要的角色,任何因其導致的識別錯誤都可能在人機互動系統中的各個模組上傳播,並最終導致互動失敗。因此針對語音識別的研究具有重要的學術價值和應用價值。

混合語言現象常常出現在能夠流利使用多種語言的群體中。英文作為全球的通用語言,就時常以各種形式與其他語言混合在一起。然而現有的大多數最先進的語音識別系統都專注於單語種語音識別,即它們一次只能處理一種語言,這樣的系統無法識別中英混合語言的語音。隨著語音技術開始滲透到人類生活的方方面面,混合語言的現象受到越來越多的關注。因此,開發用於中英文混合語言的自動語音識別(CSSR)系統尤為重要。

行業現狀 

中英文混合語音識別演算法屬於多語言語音識別領域。但與常規多語言語音識別不同,常規多語言語音識別僅針對一句話中出現一種語言,而混合語言語音識別則是指同一句話中說話人會在兩種語言間切換使用。儘管語言學家對混合語言現象已經研究了長達半個多世紀,隨著近年來語音技術的不斷突破,對混合語言語音識別的研究近二十年才被人們重視。針對中英文混合語音識別也是近十多年來才開始研究。

其技術難點主要表現為:嵌入語受主體語影響形成的非母語口音現象嚴重、不同語言音素構成之間的差異給混合聲學建模帶來巨大困難、帶標註的混合語音訓練資料極其稀缺。傳統語音框架基於單一語種基礎建模單元,如漢語是基於拼音的聲母韻母、英語則是英文的音素,這種技術架構對指定語種的語言學知識依賴較大,難以擴充套件到多語種識別。

由於不同語言之間的聲學單元相互獨立,且聲學屬性不同,常規基於聲學單元建模的 DNN-HMM 語音識別模型無法很好的建模不同語言之間聲學屬性的聯絡。而端到端模型無需對於聲學單元建模,轉而採用字元建模,模糊了建模單元與聲學屬性之間的關聯。並且由於端到端模型能夠考慮幀的上下文資訊,可以有效建模語言轉換點的聲學屬性。因此最近幾年的研究[1][2]偏向於採用端到端方式搭建混合語言語音識別系統。

基於深度學習的端到端模型靈活且複雜,相較於傳統語音識別,融合多工學習也能夠提升模型效能。考慮到混合語言語音識別系統的特有屬性,有學者提出可以鑑於 LID 模型[3][4]能夠判別語言之間的差異性,以進行分類。中英文混雜識別聯合語種識別受到越來越多的關注,在識別文字內容的同時進行語言分類,以增強對不同語言的分辨能力。本文從[5][6]獲取靈感,在端到端網路模型基礎之上新增語種資訊進行聯合訓練,期望增強模型對不同語言的識別以及判別能力。

作業幫實踐 

3.1 實驗細節介紹

為了便於後續討論,首先介紹我們實驗所採用的資料集、模型訓練建模單元以及最終評價指標。

(1)我們的訓練語料為作業幫標註的約 1000 小時的老師上課的英文授課混合資料集,並在其中隨機取 30 小時作為訓練開發集,6.7 小時作為測試集,其餘資料作為訓練集。

(2)中文訓練最小單元以漢字建模,但英文字母只有 26 個,因此以子詞[7]替代字母作為英文的建模單元。從聲學層面上,中文字元對應的音訊長度遠大於英文字母對應的長度,因此採用子詞能夠增大英文建模單元所對應的聲學時長,從而減小中英文建模之間的差異,增強模型訓練魯棒性。

(2)在語音識別系統的評估中,若單元為字元,則該錯誤率稱為字元錯誤率 (Character Error Rate, CER)。若單元為單詞,則稱為詞錯誤率  (Word Error Rate, WER)。中英文混合語音識別系統由於包含兩種語言,則中文部分計算 CER,英文部分計算 WER,稱為混合錯誤率(Mix Error Rate, MER)。

3.2 基線識別模型

混合語言語音識別本質上還是語音識別任務,為了方便說明結果,我們的基線識別系統採用語音識別框架 Wenet[8],Wenet 網路結構設計借鑑 Espnet 的 joint loss 框架,這一框架採取 Conformer Encoder + CTC/attention loss,利用幀級別的 CTC loss 和 label 級別 attention-based auto-regression loss 聯合訓練整個網路。這一框架是目前語音領域比較流行的框架之一。我們的實驗也在其網路模型基礎之上進行改進並對比實驗效果。

3.3 語種資訊聯合訓練

將語種資訊加入中英文混合語言語音識別的網路模型訓練,設 X 為聲學模型的特徵序列,Y 為模型的預測輸出的中文字元或者英文字詞,Z 為語種預測的輸出類別 ,則最終的模型損失函式由之前的公式(1)增加為公式(2)。

3.3.1 幀級別語種 loss 聯合訓練

在混合語言語音識別中,不同語言的具有相似發音的單元很有可能被識別錯誤,因此我們考慮對識別系統加入語言識別。整體框架如下圖所示,Wenet 編碼器由基於 Attention 的解碼器、CTC 和 LID 模組共享。它將輸入序列 X 轉換為高維特徵 H。基於 Attention 的解碼器和 CTC 生成輸出序列 Y,而 LID 模組則輸出每一幀的語種 ID。

我們預先將資料集進行幀級別語種對齊,在實驗中,我們利用的是之前訓練過的中英文混合資料得到的 chain 模型,得到中英文混合資料的幀級別 LID-label,在訓練過程中,將語種資訊的預測和 label 的交叉墒作為語種的損失函式進行聯合訓練,最終目標函式為公式(2)所示。

3.3.2 token 級別語種 loss 聯合訓練

考慮到幀級別模型語種資訊獲取需要提前對中英文混合資料進行對齊,如果對齊不準,最終錯誤會累積。雖然模型在解碼時,可以推斷出語種資訊,但是在模型訓練中未加入此資訊,因此在這直接進行 token 級別的語種資訊聯合訓練,網路框架如下圖所示。

在這裡,我們探討了兩種 LID 的 loss 新增方式,一種是與語音識別任務共享相同的注意力模型(LID-shared),另一種是單獨學習一個獨立的注意力模型(LID-indep)。兩種方法都使用與等式 (2) 中相同的目標函式。

3.3.3 語種資訊聯合訓練實驗總結

1、3.3.2 介紹過,token 級別的語種資訊新增有兩種方式,即是否與識別系統共用 Attention,為了更有效率的對比兩種方式的優劣性,我們先在小資料集上進行對比,在 1000 小時訓練集中隨機抽取 70 小時作為訓練集,進行實驗對比,效果如下表

由以上表格可以看出,LID-indep 效果較好。因此後續新增 token 級別的語種資訊時,都採用 LID-indep 方式 ,並將係數設定為 0.2。

2、利用全部資料進行訓練,為了方便進行記錄,將幀級別新增語種資訊訓練模型稱為 LID-frame。為了驗證加入語種資訊訓練正確,我們還統計了 LID 的識別準確度 T-LID-ACC。以免中英文佔比分佈不均勻,這裡統計的是 F1 score 。實驗結果如下表:

從以上表格來看,LID-indep 在測試集上效果要優於基線模型,相對提升約 1.76%,並且語種判別準確度也達到了 98%,證明了新增 token 級別語種資訊聯合訓練的有效性;

同時 LID-frame 效果要比基線系統差,分析原因可能有以下幾個方面:(1)幀級別的對齊 label 構建存在誤差,傳統混合語言語音 chain 模型的識別效果較差,會造成錯誤累積;(2)在訓練過程中,Wenet 會對資料進行語速增強,即隨機對音訊進行(0.9,1.0,1.1)倍變速,由於幀級別的 label 需要提前對齊,因此訓練過程中只能關閉掉資料增強部分,模型魯棒性變差,因此效果要低於基線模型。

3.4 混合語言錯誤型別分析

在驗證新增語種資訊訓練的有效性基礎之上,我們進行識別 case 分析,統計錯誤率分類佔比,確定下一步優化策略。下表格是中英文錯誤單獨統計的 MER。

由上表格可以看出,混合語言語音識別中,無論是中文還是英文,均是替換錯誤佔比較高,因此我們統計下替換錯誤的型別如下表(其中 E 代表英文,C 代表中文,SE →E 則代表英文單詞替換為英文單詞)。

Sub

Test(%)

SE →E

7.8

SE →c

1.1

Sc →E

2.87

Sc →c

0.15

 

SAME_SUB

 

3.729

 

DIFF_SUB

 

0.268

經過細緻的錯誤分類,我們可以看出,不同語種之間的相互替換佔比較低,替換錯誤主要發生在同類語種之間,尤其是英文單詞替換為英文單詞的佔比較高為 7.8%,接下來我們通過新增語言模型輔助,期望降低英文同類語言的替換錯誤。

3.5 語言模型增強

WeNet 中的 LM 支援方案,其中語言模型需要自己構建,依靠 ctc wfst search 生成 n-best,wfst search 為依靠傳統解碼圖的傳統解碼方式。需要注意的是由於我們的建模單元是漢字加英文子詞,因此構建的詞典 L 是漢字對映為詞語,英文子詞對映為英文單詞,英文詞典的構建需要和訓練時分詞方式保持一致。T 為端到端訓練時的建模單元 ,G 為語言模型即將 n-gram 的語言模型轉為 WFST 形式的表示,最終構建 TLG 進行解碼。以下是在 LID-indep 模型基礎之上新增語言模型的效果。

Model

Test(%)

LID-indep

5.74

LID-indep + TLG

5.587

由上圖表明,我們新增 TLG 實驗的有效性,在測試集上錯誤率相對下降約 2.71%,同時計算下測試集的替換錯誤如下表

Sub

Test(%)

 

SAME_SUB

 

3.388

 

DIFF_SUB

 

0.223

新增 TLG 同時也降低了中英文同類替換錯誤,由之前的 3.729 下降到 3.388,0.268 下降到 0.223,分別相對下降約 9.14% 和 2%,降低了混合語言測試集的替換錯誤。進一步驗證了新增語言模型的有效性。

3.6 最終實驗對比

在模型訓練期間,詞典是由訓練文字產生,因此訓練文字和開發集中幾乎不含有<UNK>,在實際業務場景中是不合理的,因此在後續我們添加了約 50 小時的帶有<UNK> 的資料,來增強模型魯棒性,實驗步驟和前面介紹的一致。最終實驗結果如下表所示。

Model

Test(%)

 

CTC+Attention

 

5.843

CTC+Attention+LID-indep

 

5.743

CTC+Attention+LID-indep+<UNK>資料

 

5.56

CTC+Attention+LID-indep+UNK資料 + TL  

5.42

 

另外,考慮到在實際的業務場景中,我們幾乎不關注感嘆詞的識別情況,也不在意<他她它>的對錯與否,因此將參考文字和識別結果中的感嘆詞過濾,統一<他她它>,重新將基線模型效果和最終實驗效果進行測試,結果如下表所示

Model

Test(%)

CTC+Attention

MER:5.46

CH_WER 4.52

EN_WER 12.14

 

CTC+Attention+LID-indep+UNK資料 +TLG

MER:5.08

CH_WER 4.23

EN_WER 11.14

 

 

 

最終將感嘆詞去掉後,和基線模型相比較,混合錯誤率相對降低約 6.96%,中文錯誤率相對降低約 6.41%,英文錯誤率相對降低約 8.24%。

總結與展望 

在優化中英文混合語言識中,我們通過三個方面來提升中英文混合的識別效果。

第一是模型訓練層面,在 Wenet 的基礎之上,我們對比了不同語種資訊加入方式的優劣性,並從中選出最適合匹配基線模型的方式,測試集效果提升相對約 1.76%;

第二是資料方面,為了更貼合實際業務場景,很多未在模型訓練詞典中的詞可以識別出來,因此我們加入了部分<UNK>資料,進一步提升識別系統的可用性,相對提升約 3.1%;

第三是考慮到中英文語言文字的連貫性,進一步通過語言模型來增強混合語言語音識別模型,構建 TLG,進一步相對提升約 2.5% 。最終相對基線模型提升約 7.8%。

最終在實際應用方面,我們去除了感嘆詞和將<他她它>進行統一後,對比測試基線模型效果,從整體對比,混合錯誤率相對降低約 6.96%,中文錯誤率相對降低約 6.41%,英文錯誤率相對降低約 8.24%。

同時,實驗也還有很多不足之處,後續會考慮從不同訓練方式層面來提升中英文混合語言語音識別模型的識別效果。例如訓練模型引數調優、預訓練[9]以及無監督[10]的方式生成大量混合資料文字等。

【參考文獻】

[1] Shan, Changhao,  et  al.  "Investigating  end-to-end  speech  recognition  for  mandarin-english code-switching." in Proc. of the 2019 IEEE International Conference on Acoustics, Speech and  Signal Processing (ICASSP). IEEE, 2019

[2] Emre Yılmaz, Samuel Cohen, Xianghu Yue, David van Leeuwen, and Haizhou Li, “Multi-graph decoding for code-switching ASR,” in Twentieth Annual Conference of the International Speech Communication Association  (INTERSPEECH). ISCA, 2019, pp. 3750–3754.

[3] Chan, Joyce YC, et al. "Detection of language boundary in code-switching utterances by bi-phone probabilities." in Proc. of the 2004 International Symposium on Chinese Spoken Language Processing. IEEE, 2004.

[4] Weiner, Jochen, et al. "Integration of language identification into a recognition system for spoken  conversations  containing  code-switches." Spoken  Language  Technologies  for  Under-Resourced Languages. 2012.

[5] Zeng Z, Khassanov Y, Pham V T, et al. On the end-to-end solution to mandarin-english code-switching speech recognition[J]. arXiv preprint arXiv:1811.00241, 2018.

[6] Luo N, Jiang D, Zhao S, et al. Towards end-to-end code-switching speech recognition[J]. arXiv preprint arXiv:1810.13091, 2018.

[7] A. Zeyer, K. Irie, R. Schlu ̈ter, and H. Ney, “Improved training of end-to-end attention models for speech recognition,” arXiv preprint arXiv:1805.03294, 2018.

[8] Yao Z, Wu D, Wang X, et al. Wenet: Production oriented streaming and non-streaming end-to-end speech recognition toolkit[J]. arXiv preprint arXiv:2102.01547, 2021.

[9] Xinyuan Zhou, Emre Yilmaz, Yanhua Long, Yijie Li and Haizhou Li.  "Multi-

Encoder-Decoder Transformer for Codeswitching Speech Recognition." in Proc. of the 21st Annual  Conference  of  the  International  Speech  Communication  Association  (INTERSPEECH). ISCA, 2020.

[10] Guo, Pengcheng, et al. "Study of semi-supervised approaches to improving english-mandarin code-switching speech recognition." arXiv preprint arXiv:1806.06200 (2018).