博客專欄

EEPW首頁 > 博客 > 拼寫、常識、語法、推理錯誤都能糾正,云從提出基于BART的語義糾錯方法

拼寫、常識、語法、推理錯誤都能糾正,云從提出基于BART的語義糾錯方法

發(fā)布人:機器之心 時間:2021-04-18 來源:工程師 發(fā)布文章

云從科技語音組提出了一種基于 BART 預(yù)訓(xùn)練模型的語義糾錯技術(shù)方案,它不僅可以對 ASR 數(shù)據(jù)中常見的拼寫錯誤進行糾正,還可以對一些常識錯誤、語法錯誤,甚至一些需要推理的錯誤進行糾正。

近些年來,隨著自動語音識別(ASR)技術(shù)的發(fā)展,識別準(zhǔn)確率有了很大的提升。但是,在 ASR 轉(zhuǎn)寫結(jié)果中,仍然存在一些對人類來說非常明顯的錯誤。我們并不需要聽音頻,僅通過觀察轉(zhuǎn)寫的文本便可發(fā)現(xiàn)。對這類錯誤的糾正往往需要借助一些常識和語法知識,甚至推理的能力。得益于最近無監(jiān)督預(yù)訓(xùn)練語言模型技術(shù)的發(fā)展,基于純文本特征的糾錯模型可以有效地解決這類問題。

本文提出的語義糾錯系統(tǒng)分編碼器和****兩個模塊,編碼器著重于理解 ASR 系統(tǒng)輸出文本的語義,****的設(shè)計重在使用規(guī)范的詞匯重新表達。

1.png

論文鏈接:https://arxiv.org/abs/2104.05507

引言

文本糾錯是一項提升 ASR 識別準(zhǔn)確率的重要方法,常見的文本糾錯有語法糾錯,拼寫糾錯等。由于 ASR 系統(tǒng)轉(zhuǎn)寫的錯誤分布與上述的錯誤分布差異較大,所以這些模型往往并不適合直接用在 ASR 系統(tǒng)中。這里,云從科技語音組提出了一種基于 BART 預(yù)訓(xùn)練模型 [1] 的語義糾錯(SC)技術(shù)方案,它不僅可以對 ASR 數(shù)據(jù)中常見的拼寫錯誤進行糾正,還可以對一些常識錯誤、語法錯誤,甚至一些需要推理的錯誤進行糾正。在我們一萬小時數(shù)據(jù)的實驗中,糾錯模型可以將基于 3gram 解碼結(jié)果的錯字率(CER)相對降低 21.7%,取得與 RNN 重打分相近的效果。在 RNN 重打分的基礎(chǔ)上使用糾錯,可以進一步取得 6.1% 的 CER 相對降低。誤差分析結(jié)果表明,實際糾錯的效果比 CER 指標(biāo)顯示的要更好。

模型

1)ASR 語義糾錯系統(tǒng)設(shè)計

ASR 語義糾錯流程如圖 1 所示。語義糾錯模塊可以直接應(yīng)用在第一遍解碼結(jié)果上,作為重打分模塊的替代方案。另外,它也可以接在重打分模型之后,進一步提升識別準(zhǔn)確率。

1.png

Figure1 集成語義糾錯模型的 ASR 系統(tǒng)

2)基線 ASR 系統(tǒng)

作者選取的 baseline 聲學(xué)模型結(jié)構(gòu)為 pyramidal FSMN[2],在 1 萬小時普通話音頻數(shù)據(jù)上訓(xùn)練。在第一遍解碼中使用的 WFST 由 3gram 語言模型,發(fā)音詞典,雙音素結(jié)構(gòu)以及 HMM 結(jié)構(gòu)構(gòu)成。在重打分中分別使用 4gram 和 RNN,訓(xùn)練數(shù)據(jù)為這些音頻對應(yīng)的參考文本。聲學(xué)模型和語言模型使用 Kaldi 工具 [3] 訓(xùn)練。

3)語義糾錯模型結(jié)構(gòu)

研究者提出的語義糾錯模型基于 Transformer [4]結(jié)構(gòu),它包含 6 層 encoder layer 和 6 層 decoder layer,建模單位為 token。在使用 Teacher forcing 方法訓(xùn)練過程中,ASR 輸出的文本輸入到模型的輸入側(cè),對應(yīng)的參考文本輸入到模型的輸出側(cè),分別使用輸入嵌入矩陣和輸出嵌入矩陣進行編碼,使用交叉熵作為損失函數(shù)。在語義糾錯模型推理過程中使用束搜索(beam search)進行解碼,beam 寬度設(shè)置為 3。

3.png

Figure 2 基于 Transformer 的語義糾錯模型

實驗

1,糾錯訓(xùn)練數(shù)據(jù)準(zhǔn)備

我們基線 ASR 模型的訓(xùn)練集為 1 萬小時普通話語音數(shù)據(jù),包含約 800 條轉(zhuǎn)寫文本。側(cè)試集由 5 小時混合語音數(shù)據(jù)組成,包含 Aishell, Thchs30 等側(cè)試集。為了對 ASR 系統(tǒng)識別的錯誤分布充分采樣,我們在構(gòu)建糾錯模型訓(xùn)練數(shù)據(jù)集時采用了以下幾個技巧:

使用弱聲學(xué)模型生成糾錯訓(xùn)練數(shù)據(jù),這里采用 10% 的語音數(shù)據(jù)單獨訓(xùn)練一個小的聲學(xué)模型,用于生成訓(xùn)練數(shù)據(jù);

對 MFCC 特征增加擾動,將 MFCC 特征隨機乘上一個 0.8 到 1.2 之間的系數(shù);

將帶噪聲的特征輸入到弱聲學(xué)模型,取 beam search 前 20 條結(jié)果,并根據(jù)錯字率閾值篩選樣本。最后,我們將篩選后的解碼結(jié)果和他們對應(yīng)的參考文本配對,作為糾錯模型訓(xùn)練數(shù)據(jù)。通過對全量音頻數(shù)據(jù)解碼,將閾值設(shè)置在 0.3,我們獲得了約 3 千萬糾錯樣本對。

2,輸入輸出表示層

在語義糾錯模型中,輸入和輸出的文本使用相同詞典。但是輸入文本中的錯字相對于其規(guī)范的用法蘊含更多的語義,而輸出文本中僅使用規(guī)范的字詞進行表達。因此,將輸入和輸出側(cè)的 token 采用獨立的表示,更符合糾錯任務(wù)的需求。表一的結(jié)果證明了我們的這個推論。實驗結(jié)果表明在輸入輸出嵌入矩陣共享權(quán)重時,糾錯模型會帶來負(fù)面效果。當(dāng)輸入輸出 token 采用獨立的表示時,系統(tǒng)的 CER 可以取得 5.01% 的相對降低。

4.png

3,BART vs BERT 初始化

這里,研究者預(yù)訓(xùn)練語言模型技術(shù),將它從大規(guī)模語料中學(xué)習(xí)到的語義知識遷移到糾錯場景中,使得糾錯模型在相對較小的訓(xùn)練集上獲得較好的魯棒性和泛化性。我們對比隨機初始化,BERT[5]初始化和 BART[1]初始化方法。在初始化過程中,因為 BART 預(yù)訓(xùn)練任務(wù)和模型結(jié)構(gòu)于 Transformer 相同,因此參數(shù)可以直接復(fù)用。在 BERT 初始化中,Transformer 的編碼器和****都適用 BERT 的前 6 層網(wǎng)絡(luò)參數(shù)[6]。

5.png

表二結(jié)果顯示 BART 初始化可以將基線 ASR 的錯字率降低 21.7%,但是 BERT 初始化的模型相對隨機初始化模型的提升非常有限。我們推側(cè)這可能是因為 BERT 和語義糾錯模型的結(jié)構(gòu)以及訓(xùn)練目標(biāo)差異過大,知識沒有得到有效地遷移。

此外,糾錯模型對于語言模型重打分后的輸出再進行糾正,識別率可以獲得進一步提升。相對 4gram,RNN 重打分之后的結(jié)果,CER 可以分別相對降低 21.1% 和 6.1%。

6.png

4,糾錯模型 vs 大語言模型

一般而言,ASR 系統(tǒng)使用更大的語言模型可以獲得更好的識別效果,但也會消耗更多的內(nèi)存資源并降低解碼效率。這里,我們在語音數(shù)據(jù)參考文本的基礎(chǔ)上,加入大量爬蟲或者開源的純文本語料,新訓(xùn)練 3gram, 4gram 和 RNN 語言模型,并稱之為大語言模型?;€ ASR 系統(tǒng)中使用的稱為為小模型。對比發(fā)現(xiàn),在小模型基礎(chǔ)上加上糾錯的識別準(zhǔn)確率超越了單獨使用大模型的效果。另外,在大模型的基礎(chǔ)上使用語義糾錯,識別率可以獲得進一步提升。

7.png

部分糾錯示例如下:

8.png

5,誤差分析

在對 300 條糾正失敗的例子進行誤差分析時,我們發(fā)現(xiàn)語義糾錯實際效果要比 CER 指標(biāo)評估的明顯要好,有約 40% 的錯誤幾乎不影響語義,比如,一些音譯的外國人名或者地名有多種表達方式,一些人稱代詞因為缺乏上下文,會造成“她他它“的混用,還有一些是不影響語義的語氣詞替換。另外有 30% 的錯誤因為上下文信息不足,不適合基于純文本特征的模型做糾正。剩下有 30% 的錯誤為語義糾錯模型的語義理解或表達能力不足所致。

9.png

總結(jié)

本文提出了一種基于 BART 的語義糾錯模型,它具有良好的泛化性,對多種 ASR 系統(tǒng)的識別結(jié)果有一致性地提升。另外,研究者通過實驗驗證了在文本糾錯任務(wù)中,輸入輸出采用獨立表示的重要性。為了更充分地對 ASR 系統(tǒng)識別錯誤分布進行采樣,本文提出了一種簡單有效的糾錯數(shù)據(jù)生成策略。

最后,我們提出的語義糾錯方法雖然取得了一定收益,但還有可以優(yōu)化的空間,比如:

1,引入聲學(xué)特征,有助于模型辨識文本是否存在錯誤,降低誤觸率。

2,引入更多上下文信息,可以消除文本中一些語義上的歧義或者缺失的信息。

3,針對垂直業(yè)務(wù)場景進行適配,提升一些專業(yè)術(shù)語的識別準(zhǔn)確率。

參考文獻

[1]M. Lewis et al., “BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension,” 2019, [Online]. Available: http://arxiv.org/abs/1910.13461.

[2]X. Yang, J. Li, and X. Zhou, “A novel pyramidal-FSMN architecture with lattice-free MMI for speech recognition,” vol. 1, Oct. 2018, [Online]. Available: http://arxiv.org/abs/1810.11352.

[3]D. Povey et al., “The Kaldi Speech Recognition Toolkit,” IEEE Signal Process. Soc., vol. 35, no. 4, p. 140, 2011.

[4]A. Vaswani et al., “Attention Is All You Need,” Jun. 2017, doi: 10.1017/S0140525X16001837.

[5]J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova, “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” 2018, [Online]. Available: http://arxiv.org/abs/1810.04805.

[6]O. Hrinchuk, M. Popova, and B. Ginsburg, “Correction of Automatic Speech Recognition with Transformer Sequence-to-sequence Model,” ICASSP 2020 - 2020 IEEE Int. Conf. Acoust. Speech Signal Process., pp. 7074–7078, Oct. 2019, [Online]. Available: http://arxiv.org/abs/1910.10697.

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: 自動語音識別

技術(shù)專區(qū)

關(guān)閉