馬曉亮 安玲玲 鄧從健,3,4 杜德泉 張國新
(1.西安電子科技大學(xué) 廣州研究院,廣東 廣州 510555;2.中國電信股份有限公司 廣州分公司,廣東 廣州 510620;3.馬曉亮勞模和創(chuàng)新工匠工作室,廣東 廣州 510620;4.廣州云趣信息科技有限公司,廣東 廣州 510665;5.中國電信股份有限公司 廣東分公司,廣東 廣州 510080)
自動語音識別(Automatic Speech Recognition,ASR)是指通過計算機將人類語音信號轉(zhuǎn)錄為具體命令和書面形式的文字進(jìn)行輸出的過程[1],是使人與機器之間的交流變得更順暢的一種技術(shù)。早在2004年,王琦[2]就提出,應(yīng)將ASR技術(shù)作為關(guān)鍵技術(shù)融入新一代呼叫中心的系統(tǒng)結(jié)構(gòu)中,解決電話用戶按鍵輸入范圍有限、操作不方便的問題。ASR技術(shù)是智能語音客服系統(tǒng)的基礎(chǔ),如互動式語音應(yīng)答、用戶身份校驗等功能,都需要準(zhǔn)確識別用戶的語音并轉(zhuǎn)為文本,才能進(jìn)入后續(xù)的知識庫檢索、用戶需求分流、數(shù)據(jù)核驗等處理流程[3]。
ASR 技術(shù)最早可以追溯到20 世紀(jì)50 年代,貝爾實驗室建立了世界第一個孤立的用于識別英文數(shù)字的語音識別系統(tǒng)Audrey[4]。20 世紀(jì)90 年代起,ASR技術(shù)逐漸被廣泛應(yīng)用,劍橋大學(xué)發(fā)布的開源工具包HTK 更是加速推動了ASR 技術(shù)的應(yīng)用[5]。但是,ASR 技術(shù)的應(yīng)用也伴隨產(chǎn)生了新的問題。自20 世紀(jì)90 年代初以來,研究人員使用不同語言的標(biāo)準(zhǔn)語音數(shù)據(jù)庫進(jìn)行自動語音識別研究,但大部分的數(shù)據(jù)集是在受控環(huán)境下記錄的(如廣播新聞和會議類型的語音數(shù)據(jù)),而呼叫中心領(lǐng)域的語音數(shù)據(jù)由于環(huán)境噪聲、頻繁的交替講話、語音重疊或不流暢、非語音事件等因素,使得能夠適用于呼叫中心領(lǐng)域語音識別的數(shù)據(jù)集很少。Madhab[6]針對呼叫中心領(lǐng)域創(chuàng)建了一個真實的對話語音數(shù)據(jù)集,其中包含環(huán)境噪聲等多類真實要素,用于實現(xiàn)真實通話環(huán)境中通話內(nèi)容的準(zhǔn)確識別。
目前,ASR技術(shù)已應(yīng)用在生活的各個方面,為社會生活提供了極大的便利[7-9]。但是,通用ASR引擎均是針對日常場景構(gòu)建的,行業(yè)關(guān)鍵詞識別準(zhǔn)確率較低,難以滿足語音識別在細(xì)分行業(yè)中應(yīng)用的精準(zhǔn)度要求,為后續(xù)業(yè)務(wù)組件開發(fā)增加了難度。一種解決方案是根據(jù)行業(yè)特點構(gòu)建一個專用于細(xì)分行業(yè)的ASR 引擎[10],但這種方案需基于目前通用的ASR 引擎重新進(jìn)行行業(yè)化訓(xùn)練,成本高且適用性窄;另一種解決方案是在現(xiàn)有ASR引擎的基礎(chǔ)上對ASR轉(zhuǎn)寫后文本進(jìn)行糾錯[11-15]。
對ASR轉(zhuǎn)寫后文本進(jìn)行糾錯的相關(guān)研究存在兩類問題:一是基于日常場景數(shù)據(jù)集訓(xùn)練的ASR文本糾錯模型[16-17]對ASR 識別錯誤的細(xì)分行業(yè)專業(yè)術(shù)語的糾正準(zhǔn)確率較低;二是存在行業(yè)差異,如鐵路信號領(lǐng)域的ASR文本糾錯方法是針對簡短、專業(yè)性較強的鐵路車務(wù)術(shù)語設(shè)計[18-19],而客服通話是客戶與專業(yè)人員之間的交流,通話內(nèi)容既有專業(yè)術(shù)語也有日常對話,將其他行業(yè)的技術(shù)直接遷移至呼叫中心領(lǐng)域應(yīng)用可能無法取得預(yù)期效果。
目前,學(xué)術(shù)界與工業(yè)界均沒有針對呼叫中心領(lǐng)域的ASR轉(zhuǎn)寫后優(yōu)化技術(shù)的相關(guān)研究。為了同時兼顧成本與效率,以一種低成本的方式滿足細(xì)分行業(yè)的實際工程需求,文中提出一種基于行業(yè)詞表的ASR轉(zhuǎn)寫后優(yōu)化技術(shù),通過在目前流行的基于統(tǒng)計方法建立的ASR引擎之外加入一個優(yōu)化模塊,即構(gòu)建一個規(guī)則化的知識體,分段式地對通用ASR轉(zhuǎn)寫結(jié)果進(jìn)行糾錯,優(yōu)化其在細(xì)分行業(yè)內(nèi)應(yīng)用的轉(zhuǎn)寫精準(zhǔn)度,并以呼叫中心為例對所提出的語音識別優(yōu)化技術(shù)進(jìn)行實驗驗證,以期幫助客服人員快速地理解、響應(yīng)并解決客戶提出的問題,滿足客戶需求,提升客服人員的工作效率。
文中提出的ASR轉(zhuǎn)寫后優(yōu)化技術(shù)路線如圖1所示。首先,利用通用ASR對客戶通話語音進(jìn)行識別,得到客戶通話文本,以此為基礎(chǔ)進(jìn)行語音識別糾錯,即根據(jù)細(xì)分行業(yè)糾錯詞表進(jìn)行專業(yè)性詞語的錯誤識別與替換,最終輸出經(jīng)優(yōu)化后的語音識別結(jié)果。
圖1 分時段轉(zhuǎn)寫糾錯技術(shù)流程Fig.1 Flow chart of time-segment translation error correction technology
細(xì)分行業(yè)糾錯詞表的構(gòu)建主要由文本摘要提取、掩碼語言模型(Masked Language Model,MLM)預(yù)測分詞兩個模塊構(gòu)成,下面做一詳細(xì)介紹。
文本摘要提取模塊的作用是從通用ASR轉(zhuǎn)寫結(jié)果中提取細(xì)分行業(yè)關(guān)鍵詞,并對關(guān)鍵詞打標(biāo)簽。首先,利用通用ASR將音頻轉(zhuǎn)寫為文本,該文本為初始文本。然后,利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[20]進(jìn)行一次或多次卷積,從初始文本中提取重要特征,形成轉(zhuǎn)寫文本摘要。最后,利用分詞工具對轉(zhuǎn)寫文本的摘要進(jìn)行分詞,并剔除停用詞,同時按詞頻排序,獲得音頻關(guān)鍵詞,這些關(guān)鍵詞可以作為細(xì)分行業(yè)用詞的正確標(biāo)簽。
采 用BERT(Bidirectional Encoder Representation from Transformers)模型[21]結(jié)合MLM 算法[22]實現(xiàn)詞表、詞語的預(yù)測識別,模型框架如圖2所示。
圖2 細(xì)分行業(yè)糾錯詞表的模型框架Fig.2 Model frame for building a reference word list in a segmented industry
經(jīng)過預(yù)訓(xùn)練的BERT 是一個蘊含豐富語義知識的大規(guī)模語言模型,利用呼叫中心細(xì)分行業(yè)數(shù)據(jù)對BERT 進(jìn)行訓(xùn)練后的模型即可用于呼叫中心行業(yè)的詞語預(yù)測。在通用ASR 轉(zhuǎn)寫的文本中隨機選取詞語進(jìn)行掩蔽(即用[Mask]標(biāo)記替換原詞),利用訓(xùn)練后的BERT 預(yù)測[Mask]標(biāo)記位置的原詞,將預(yù)測結(jié)果與文本摘要的分詞結(jié)果進(jìn)行比對,比對結(jié)果一致的詞標(biāo)識為正確,比對結(jié)果不一致的詞進(jìn)行自動+人工輔助糾錯,同時將糾錯詞對按照【錯誤詞-正確詞】的對應(yīng)關(guān)系記錄在細(xì)分行業(yè)糾錯詞表中。
使用預(yù)測分詞技術(shù)自動生成糾錯詞表,不僅提升了勞動效率,而且糾錯詞表準(zhǔn)確率達(dá)87.2%。具體工程實現(xiàn)和生產(chǎn)實例中,在人工輔助下準(zhǔn)確率達(dá)100%(結(jié)果詳見第3節(jié))。
文中采用Soft-Masked BERT 模型來實現(xiàn)文本糾錯[23]。如圖3 所示,該模型結(jié)構(gòu)包含5 個部分,分別是輸入層、檢測網(wǎng)絡(luò)(Detection Network)、軟遮蔽(Soft Masking)、糾錯網(wǎng)絡(luò)(Correction Network)和Softmax分類器。
首先,輸入層將輸入序列S=(s1,s2,…,sn)轉(zhuǎn)換為包含每個字符的字向量、位置向量和片段向量之和的向量E=(e1,e2,…,en)。然后,檢測網(wǎng)絡(luò)通過雙向門控循環(huán)單元輸出每個字符識別正誤的概率標(biāo)簽,概率標(biāo)簽范圍為[0,1],越接近0 表示識別錯誤的概率越大,反之則識別錯誤的概率越小。概率pi的計算公式如下:
其中,σ為sigmoid函數(shù),Wd為全連接的權(quán)重矩陣,為雙向門控循環(huán)單元最后一層的隱藏狀態(tài),bd為偏置參數(shù)。在軟遮蔽層,對輸入向量和檢測網(wǎng)絡(luò)的輸出概率pi進(jìn)行加權(quán)求和處理,得到軟遮蔽向量。第i個字符的軟遮蔽向量的計算公式如下:
式中,emask是以誤差率為權(quán)重的遮蔽向量。進(jìn)入糾正網(wǎng)絡(luò),由BERT 模型處理輸入序列,其中BERT包含12 個編碼層,每個編碼層由多頭注意力機制與前饋神經(jīng)網(wǎng)絡(luò)構(gòu)成。將BERT 最后一個編碼層的所有隱藏狀態(tài)和輸入向量相加進(jìn)行殘差連接,殘差連接的結(jié)果輸入到全連接層中映射為向量。最后,將生成的向量送入Softmax 分類器,從候選詞表中輸出概率最大的字符,即為糾正后的正確字符。
1.3.1 模型訓(xùn)練
使用廣州12345政務(wù)熱線真實電話錄音轉(zhuǎn)文本數(shù)據(jù)(普通話版本)作為模型訓(xùn)練集。為了避免短句過多導(dǎo)致模型在訓(xùn)練過程中損失n-gram 信息的問題,對訓(xùn)練集進(jìn)行了預(yù)處理,計算分析訓(xùn)練數(shù)據(jù)的句子長度,對部分短句子進(jìn)行拼接處理,經(jīng)過融合打亂處理后,訓(xùn)練集的長句與短句的比例為8∶2(結(jié)果詳見第3.3節(jié))。
模型訓(xùn)練過程中,采取每3 輪1 次梯度歸零策略,即采取梯度累加策略。每次獲得1個批樣本數(shù)據(jù)就計算1次梯度,該次梯度不清空;累加到第3次后,根據(jù)累加的梯度更新網(wǎng)絡(luò)參數(shù),然后清空梯度,進(jìn)行新一輪循環(huán)。這有助于在減少內(nèi)存消耗的同時獲得增大批樣本數(shù)量的效果,提升訓(xùn)練效果。
1.3.2 引入糾錯詞表
在Soft-Masked BERT 模型外,增加細(xì)分行業(yè)糾錯詞表作為知識體。對Softmax 分類器輸出的第一次糾正后字符,使用糾錯詞表進(jìn)行錯詞替換,完成二次糾錯,進(jìn)一步提升糾錯效果。
根據(jù)權(quán)威的ASR 行業(yè)公開評測項目SpeechIO TIOBE在2022年第3季度公布的結(jié)果[24],對音頻采樣率為16 kHz的互聯(lián)網(wǎng)識別場景,當(dāng)前領(lǐng)先的公共語音識別服務(wù)的字準(zhǔn)確率已達(dá)95%以上。由于電話呼叫中心音頻采樣率為8 kHz,加之細(xì)分行業(yè)數(shù)據(jù)的專業(yè)性,通用ASR在實際客服領(lǐng)域存在對行業(yè)專有用詞識別精度低的問題。文中結(jié)合廣州12345政務(wù)熱線真實電話錄音,將所提出的基于行業(yè)詞表的自動語音轉(zhuǎn)寫后優(yōu)化技術(shù)加以訓(xùn)練并校正。
實驗硬件配置為4 核CPU、8 G 內(nèi)存、GeForce GTX 1660 顯卡,操作系統(tǒng)為Centos7.6,編程環(huán)境為Python3.7.0,深度學(xué)習(xí)框架為PyTorch 1.2.0。
(1)訓(xùn)練集
使用廣州12345 政務(wù)熱線真實電話錄音(普通話版本)作為訓(xùn)練集進(jìn)行模型訓(xùn)練,共1 638.4 M。對部分長度較短的句子進(jìn)行拼接處理,確定最佳的訓(xùn)練集長短句比例,以提升模型訓(xùn)練效果。
(2)驗證集
使用廣州12345政務(wù)熱線真實電話錄音(普通話版本)作為驗證集,進(jìn)行模型參數(shù)調(diào)優(yōu),共409.6 M。
(3)測試集
使用廣州12345 政務(wù)熱線真實電話錄音(普通話版本)作為測試集,進(jìn)行模型調(diào)優(yōu)后的結(jié)果對比,共14.8 M。
選擇清華THASR與阿里ALIASR這兩個在國際上領(lǐng)先的通用ASR模型作為基線模型,利用文中提出的技術(shù)對基線模型的語音識別結(jié)果進(jìn)行優(yōu)化與對比,評估所提出的轉(zhuǎn)寫后優(yōu)化技術(shù)的效果。
2.4.1 Soft-Masked BERT模型評價指標(biāo)
采用準(zhǔn)確率、精確率、召回率和綜合評價指標(biāo)F1來評價Soft-Masked BERT 模型的糾錯效果,各指標(biāo)的定義及計算方式為
準(zhǔn)確率(Accuracy)A:
查準(zhǔn)率(Precision)P:
召回率(Recall)R:
綜合評價指標(biāo)F1:
式中,NTP為將“正確”預(yù)測為“正確”(True Positive)的字?jǐn)?shù),NTN為將“錯誤”預(yù)測為“錯誤”(True Negative)的字?jǐn)?shù),NFP為將“錯誤”預(yù)測為“正確”(False Positive,即誤報)的字?jǐn)?shù),NFN為將“正確”預(yù)測為“錯誤”(False Negative,即漏報)的字?jǐn)?shù)。
2.4.2 ASR轉(zhuǎn)寫結(jié)果評價指標(biāo)
文中主要采用插入錯誤率RI、刪除錯誤率RD、替換錯誤率RS以及字準(zhǔn)確率Rw來評價不同ASR 轉(zhuǎn)寫結(jié)果的準(zhǔn)確率,各評價指標(biāo)定義如下:
式中,N為真實樣本字?jǐn)?shù),D為刪除的錯誤字?jǐn)?shù),I為插入的錯誤字?jǐn)?shù),S為替換的錯誤字?jǐn)?shù)(為使識別出來的字序列和標(biāo)準(zhǔn)的字序列之間保持一致,需要替換、刪除或者插入某些字)。
經(jīng)過測試驗證,使用MLM 預(yù)測分詞技術(shù)生成的行業(yè)糾錯詞表準(zhǔn)確率達(dá)87.2%,具體結(jié)果如表1所示。
表1 糾錯詞表準(zhǔn)確率實驗結(jié)果Table1 Experimental results of the accuracy of error correction vocabulary %
在糾錯模型訓(xùn)練中,為了避免短句過多損失n-gram信息的問題并確定長短句的最佳比例,通過拼接增加長句比例進(jìn)行了對比實驗,結(jié)果如表2所示??梢钥闯觯L短句比例為8∶2時訓(xùn)練模型的效果最好,準(zhǔn)確率達(dá)85.1%。
表2 長短句比例對模型訓(xùn)練效果的影響Table 2 Effect of the proportion of long-to-short sentences on model training results
Soft-Masked BERT 模型的參數(shù)設(shè)置會影響最終的糾錯準(zhǔn)確率,因此,進(jìn)一步對模型進(jìn)行調(diào)優(yōu)實驗,結(jié)果如表3-5所示。
表3 遮蔽率調(diào)優(yōu)實驗結(jié)果Table 3 Experimental results of mask rate optimization
3.3.1 遮蔽率調(diào)優(yōu)結(jié)果
表3 所示為遮蔽率(Mask Rate)調(diào)優(yōu)實驗結(jié)果??梢钥闯觯诒温试O(shè)置為15%時,模型的糾錯結(jié)果最優(yōu)。
3.3.2 丟失率調(diào)優(yōu)結(jié)果
表4所示為丟失率(Dropout)調(diào)優(yōu)實驗結(jié)果。可以看出,丟失率設(shè)置為10%時,模型的糾錯結(jié)果最優(yōu)。
表4 丟失率調(diào)優(yōu)實驗結(jié)果Table 4 Experimental results of dropout optimization
3.3.3 學(xué)習(xí)率調(diào)優(yōu)結(jié)果
表5 所示為學(xué)習(xí)率(Learning Rate)調(diào)優(yōu)實驗結(jié)果??梢钥闯?,學(xué)習(xí)率設(shè)置為1×10-4時,模型的糾錯結(jié)果最優(yōu)。
表5 學(xué)習(xí)率調(diào)優(yōu)實驗結(jié)果Table 5 Experimental results of learning rate optimization
直接使用通用Soft-Masked BERT 模型與加入糾錯詞表的模型進(jìn)行對比,結(jié)果表明,引入糾錯詞表后,模型的準(zhǔn)確率由85.1%上升到了92.9%,提高幅度達(dá)7.8個百分點。
利用文中提出的轉(zhuǎn)寫后優(yōu)化技術(shù)對清華THASR、阿里ALIASR 兩個通用ASR 模型進(jìn)行優(yōu)化,分別得到表6所示的清華糾錯THASR-E、阿里ALIASR-E的語音識別結(jié)果。
表6 不同ASR在普通話數(shù)據(jù)集的實驗結(jié)果Table 6 Experimental results of different ASR on mandarin datasets
從表6 可以看出,通用模型THASR 與ALIASR的字準(zhǔn)確率在80%~ 85%之間,采用文中技術(shù)優(yōu)化后,THASR-E 與ALIASR-E 的字準(zhǔn)確率較通用模型均提高約10 個百分點,表明文中提出的轉(zhuǎn)寫后優(yōu)化技術(shù)對于提升語音識別結(jié)果的準(zhǔn)確率有顯著效果,而且不依賴于ASR引擎,有良好的適應(yīng)性。
選擇廣州12345實際客服通話錄音轉(zhuǎn)寫文本進(jìn)行ASR轉(zhuǎn)寫后優(yōu)化案例分析。案例中共有313條語句,總字?jǐn)?shù)為5 770,其中通用ASR 轉(zhuǎn)寫結(jié)果中有506 個錯誤的字,應(yīng)用文中提出的轉(zhuǎn)寫后優(yōu)化技術(shù)從中檢測到489 個錯誤字,并對其中470 個錯誤字進(jìn)行糾正,在原始ASR 轉(zhuǎn)寫結(jié)果基礎(chǔ)上實現(xiàn)了92.9%的提升。
選取部分糾錯示例進(jìn)行詳細(xì)分析,結(jié)果如表7所示??梢钥闯觯闹刑岢龅霓D(zhuǎn)寫后優(yōu)化技術(shù)可以對通用ASR引擎轉(zhuǎn)寫錯誤的政務(wù)熱線行業(yè)用詞進(jìn)行有效糾錯。
表7 實際12345客服通話轉(zhuǎn)寫糾錯示例結(jié)果Table 7 Results of the examples of correcting the translation of real 12345 customer service calls
目前,一些通用ASR產(chǎn)品在細(xì)分行業(yè)內(nèi)的應(yīng)用已經(jīng)十分廣泛,但針對通用場景所構(gòu)建的ASR引擎在窄帶低采樣的語音環(huán)境下無法準(zhǔn)確識別細(xì)分行業(yè)內(nèi)的專業(yè)術(shù)語,導(dǎo)致語音識別準(zhǔn)確率難以滿足行業(yè)需求。重新構(gòu)建一個細(xì)分行業(yè)專用ASR引擎需要花費較高成本,而且已有的語音識別后文本糾錯技術(shù)也存在不適用于呼叫中心細(xì)分行業(yè)的問題。有鑒于此,文中提出了一種兼顧工程實現(xiàn)成本與效率的ASR轉(zhuǎn)寫后優(yōu)化技術(shù),以模板匹配方式高效地實現(xiàn)了對通用ASR識別結(jié)果的糾錯。
該技術(shù)通過文本摘要技術(shù)和MLM 預(yù)測分詞技術(shù),構(gòu)建了一個詞量約為3 000 的細(xì)分行業(yè)糾錯詞表,用于解決現(xiàn)存專業(yè)詞匯識別不準(zhǔn)確的問題,通過對通用ASR轉(zhuǎn)寫結(jié)果進(jìn)行快速糾錯,在不產(chǎn)生較大延遲的前提下,提升呼叫中心客服場景中通話語音轉(zhuǎn)寫為文本的準(zhǔn)確率。選取清華THASR、阿里ALIASR 兩個通用ASR 作為基線模型在廣州12345政務(wù)熱線真實電話錄音數(shù)據(jù)集上進(jìn)行測試,結(jié)果表明,文中提出的優(yōu)化后轉(zhuǎn)寫技術(shù)可將字準(zhǔn)確率提高約10 個百分點,且糾錯速度較快,不會產(chǎn)生明顯延遲,具有良好的適用性,可幫助客服人員快速地理解、響應(yīng)并解決客戶提出的問題與需求,提升客服人員的工作效率。
本研究的貢獻(xiàn)可以概括如下:
1)以人工與自動化結(jié)合的方式優(yōu)化通用ASR轉(zhuǎn)寫結(jié)果,相比純?nèi)斯せ蚣冏詣踊姆椒?,文中方法有效實現(xiàn)了運行效率與準(zhǔn)確性的兼顧;
2)通過對通用ASR輸出結(jié)果進(jìn)行優(yōu)化,在實際應(yīng)用可接受的延遲時間內(nèi),以較高的工程效率提高了語音識別準(zhǔn)確率;
3)采用自監(jiān)督學(xué)習(xí)的掩碼語言模型高效構(gòu)建了呼叫中心細(xì)分行業(yè)糾錯詞表,有效節(jié)省了人工標(biāo)注數(shù)據(jù)所需花費的時間成本與勞動資源。
后續(xù)研究中,擬將ASR轉(zhuǎn)寫后優(yōu)化技術(shù)應(yīng)用到方言環(huán)境的轉(zhuǎn)寫糾錯研究中,提升方言環(huán)境下細(xì)分行業(yè)的語音轉(zhuǎn)寫成功率。