于重重,吳佳佳,陳運(yùn)兵,錢兆鵬
(1. 北京工商大學(xué)人工智能學(xué)院,北京 102488;2. 普天信息技術(shù)有限公司,北京 100080)
瀕危語言是指瀕臨消亡的一種語言,在轉(zhuǎn)錄語音數(shù)據(jù)、發(fā)音詞典、語言知識或文本注釋等方面具有低資源特性[1]。作為文化的載體和重要組成部分,瀕危語言的保護(hù)是目前國際語言學(xué)界面臨的緊要任務(wù)[2]。保護(hù)瀕危語言資源的有效方法和主要工作是建立語料庫,但是語料處理工作難度極大,一方面是瀕危語言使用人數(shù)少,能夠進(jìn)行語料標(biāo)注的母語人或?qū)I(yè)人才極度稀缺;另一方面是人工標(biāo)注會消耗大量的人力和財(cái)力。近年來,自動語音識別技術(shù)(Auto Speech Recongnition,ASR)為瀕危語言的自動標(biāo)注提供了有效的途徑。然而數(shù)據(jù)資源少、對數(shù)據(jù)的建模困難是低資源語音識別技術(shù)的巨大挑戰(zhàn)[3]。
針對低資源語音識別方法的改進(jìn),國內(nèi)外研究人員已經(jīng)取得了一些研究成果[4-6]。典型的方法有數(shù)據(jù)增強(qiáng)和聲學(xué)模型的優(yōu)化。例如,Thai等人[7]使用生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)模擬說話人的聲學(xué)特征從而生成新的說話人語音用以擴(kuò)充數(shù)據(jù)集,該方法能夠有效降低塞內(nèi)卡語的識別錯(cuò)誤率。對于聲學(xué)模型的優(yōu)化,多任務(wù)學(xué)習(xí)、遷移學(xué)習(xí)和元學(xué)習(xí)是行之有效的方法。例如Fantaye等人[8]通過多任務(wù)學(xué)習(xí)技術(shù)對阿姆哈拉語的音節(jié)、音素等基本聲學(xué)單元進(jìn)行聯(lián)合訓(xùn)練,有效降低了識別錯(cuò)誤率。Yi J等人[9]使用遷移學(xué)習(xí)的方法在IARPA Babel數(shù)據(jù)集上使用從共享隱層模型(SHL-Model)轉(zhuǎn)移的知識訓(xùn)練的目標(biāo)模型詞錯(cuò)誤率降低了10.1%;Hsu等人[10]提出了基于元學(xué)習(xí)的ASR,即通過元學(xué)習(xí)算法(Model-Agnostic Meta Learning,MAML)從六種源任務(wù)中學(xué)習(xí),以獲得共享編碼器初始化參數(shù),此參數(shù)對四種目標(biāo)任務(wù)進(jìn)行快速微調(diào),實(shí)驗(yàn)結(jié)果表明元學(xué)習(xí)ASR識別效果更佳。
盡管如此,針對沒有文字,僅以口語相傳的瀕危語言土家語的相關(guān)研究還很缺乏。于重重等人[11]構(gòu)建了基于動態(tài)雙向長短時(shí)記憶網(wǎng)絡(luò)(Dynamic Bidirection Long Short Time Memmory,DBLSTM)與連接時(shí)序分類模型(Connectionist Temporal Classification,CTC)構(gòu)造端到端的語音識別系統(tǒng)(DBLSTM-CTC),通過修改網(wǎng)絡(luò)層次與結(jié)構(gòu)參數(shù),并提取不同的語音特征進(jìn)行實(shí)驗(yàn),結(jié)果表明在兩種瀕危語言—呂蘇語和土家語的數(shù)據(jù)集上均取得了一定的進(jìn)展,但語料數(shù)據(jù)資源受限,直接采用國際音標(biāo)作為輸出進(jìn)行建模,識別準(zhǔn)確性難以保證;Yu C等人[12]采用遷移學(xué)習(xí)的訓(xùn)練方法以跨語言數(shù)據(jù)來提取共享聲學(xué)特征,以模型遷移來優(yōu)化系統(tǒng),最終識別準(zhǔn)確率相對提高了4.08%。,但由于這兩種端到端方法所采用的編、解碼器間對齊方式未考慮到更全面的上下文語義信息,尤其是詞的位置信息,因此對低資源語言的語音識別能力存在局限性。
Chan W等人[13]提出的多頭注意力機(jī)制,能有效捕獲語言序列中詞的不同子空間位置信息,對編碼器輸出與解碼器輸入之間的關(guān)系進(jìn)行更有效地對齊。因此,本文提出了基于多頭注意力機(jī)制的端到端瀕危語言語音識別模型,能夠更好地捕獲瀕危語言口語詞匯在序列中的位置信息,具有更強(qiáng)的上下文語義學(xué)習(xí)能力。此外,本文使用語音時(shí)域伸縮(Time-Scale-Modification,TSM)技術(shù)[14]改變口語詞匯語速對訓(xùn)練數(shù)據(jù)集進(jìn)行擴(kuò)充,解決語音語料不足的問題以提高模型的識別率。
由于土家語語料不足,導(dǎo)致語音識別效果不佳,因此本文提出了基于TSM技術(shù)擴(kuò)充土家語原始語料的方法。本文根據(jù)瀕危語言土家語中300個(gè)核心詞和2000個(gè)主要詞的口語語料,利用TSM技術(shù)改變語速,從而改變語音的長度,但同時(shí)保持其它頻域信息不變。具體的步驟是首先對一個(gè)口語詞匯語音應(yīng)用TSM技術(shù)分別轉(zhuǎn)換為多條時(shí)域壓縮和時(shí)域拉伸后的語音,然后將這些不同語速的語音與原語音拼接起來,生成一個(gè)長語音,最后將其與句子級語料共同訓(xùn)練語音識別模型,如圖1所示。
圖1 應(yīng)用TSM技術(shù)對瀕危語言口語詞匯處理
上圖中示例為將一個(gè)x幀的原始口語詞匯語音分別對其做1.1倍和0.9倍的語速變化,其中語音變速后分別為y幀和z幀,然后把三段口語詞匯語音拼接為一段新語音,共x+y+z幀。
本文的系統(tǒng)建立在LAS的端到端語音識別模型結(jié)構(gòu)基礎(chǔ)上,該系統(tǒng)結(jié)構(gòu)由編碼網(wǎng)絡(luò)、解碼網(wǎng)絡(luò)和注意力網(wǎng)絡(luò)三個(gè)模塊組成,如圖2所示。
圖2 基于多頭注意力機(jī)制的端到端模型結(jié)構(gòu)
編碼器為深層循環(huán)神經(jīng)網(wǎng)絡(luò),目的是學(xué)習(xí)和挖掘語音特征序列的上下文關(guān)聯(lián)信息,從原始特征中提取高層信息,增強(qiáng)特征的區(qū)分度和表征能力;注意力網(wǎng)絡(luò)中多頭注意力擴(kuò)展了傳統(tǒng)的注意力機(jī)制,使其具有多個(gè)頭,每個(gè)頭可以產(chǎn)生不同的注意分布,這使得每個(gè)頭在接收編碼器輸出時(shí)有不同的關(guān)注范圍,能夠更全面的學(xué)習(xí)到從編碼器中檢索的信息。解碼網(wǎng)絡(luò)根據(jù)注意力網(wǎng)絡(luò)得到的注意力矩陣對所有編碼網(wǎng)絡(luò)的輸出加權(quán)求和得到目標(biāo)向量,再將目標(biāo)向量作為網(wǎng)絡(luò)輸入,計(jì)算輸出序列每個(gè)位置上各個(gè)音素出現(xiàn)的后驗(yàn)概率。整個(gè)網(wǎng)絡(luò)實(shí)現(xiàn)端到端的聲學(xué)特征序列到字符序列的直接轉(zhuǎn)錄,并以字符序列的拼接結(jié)果作為識別的文本內(nèi)容。
2.2.1 編碼器
編碼器與標(biāo)準(zhǔn)的聲學(xué)模型類似,它采用輸入語音信號X的時(shí)頻表示,并使用一組神經(jīng)網(wǎng)絡(luò)將輸入映射到更高級的特征表示henc。聽者編碼器使用多層金字塔式雙向LSTM(pyramid BLSTM, pBLSTM)結(jié)構(gòu),將上萬長度的初始語音序列轉(zhuǎn)化為高級別的段語音序列即抽取語音特征。聽者編碼器的金字塔結(jié)構(gòu)中每層遞減2倍,如式(1)所示
(1)
式中表示第j層第i時(shí)刻的BLSTM單元接受本層上一時(shí)刻的輸入和上一層第2i時(shí)刻與第2i+1時(shí)刻的輸入。金字塔結(jié)構(gòu)中每層遞減2倍,一方面,相對直接輸入原始聲音序列,這樣大大減小了所提取的上下文信息的冗余程度,加快了模型訓(xùn)練的速度;另一方面,pBLSTM結(jié)構(gòu)能夠有效縮減隱含狀態(tài)序列的長度,便于提升模型解碼的速度。
2.2.2 多頭注意力機(jī)制
在編碼器和解碼器中將注意力機(jī)制改進(jìn)為多頭注意力機(jī)制(multi-head attention mechanism,MHA)。多頭注意力機(jī)制是一種將輸入序列的不同位置和計(jì)算表示聯(lián)系起來的機(jī)制,它包括查詢向量Q、鍵向量K和值向量V三個(gè)輸入,其中Q與K數(shù)值相同,注意力的計(jì)算在單個(gè)句子中進(jìn)行,能獲得句內(nèi)單詞間的依賴關(guān)系。本文使用了放縮點(diǎn)積注意力機(jī)制(Scaled Dot-Product attention)來構(gòu)造,其結(jié)構(gòu)如圖3左所示。計(jì)算式(2)如下
(2)
式中Q∈tq×dq、K∈tk×dk、V∈tv×dv,t*表示長度,d*表示維度。這里的點(diǎn)積可以使用高度優(yōu)化的矩陣乘法,能夠提高計(jì)算速度,節(jié)約存儲空間。此外還需用點(diǎn)積結(jié)果除以縮放因子進(jìn)行調(diào)節(jié),這是為了避免在進(jìn)行梯度計(jì)算時(shí)得到非常小的梯度值而引發(fā)梯度消失問題,從而影響模型的訓(xùn)練。這樣通過Softmax函數(shù)后得到Q對K的注意力打分,最后與V點(diǎn)積計(jì)算,捕獲K中被注意的內(nèi)容。
圖3 縮放點(diǎn)積注意力機(jī)制(左)和多頭注意力機(jī)制(右)
縮放點(diǎn)積自注意力機(jī)制對輸入向量進(jìn)行單通道注意力打分計(jì)算,在此基礎(chǔ)上進(jìn)行擴(kuò)展,將Q、K、V三個(gè)輸入向量經(jīng)過h次線性映射到不同的子空間中,分別對每一個(gè)子空間的三個(gè)向量并行執(zhí)行縮放點(diǎn)積注意力計(jì)算,每一個(gè)子空間叫做一個(gè)“頭部”,比如第i個(gè)頭部計(jì)算過程如下:
(3)
(4)
(5)
headi=Attention(Qi,Ki,Vi)
(6)
經(jīng)過獨(dú)立地計(jì)算每個(gè)縮放點(diǎn)積注意力后,將它們的輸出連接起來捕捉所有子空間中的特征信息,并反饋到另一個(gè)線性投影中以獲得最終dmodel維度的輸出,計(jì)算公式如下:
MultiHead(Q,K,V)=Concat(head1,…,headh)Wo
(7)
其中WO∈hdv×dmodel是輸出權(quán)重矩陣,它能夠?qū)⑤敵鼍S度大小恢復(fù)到初始輸入的維度。此外設(shè)dq=dk=dv=dmodel/h,每個(gè)頭部中的輸入向量維度都是由原始輸入平均分配得到,目的是將多頭注意力的計(jì)算量接近于單一的縮放點(diǎn)積注意力。
2.2.3 解碼器
最終,多頭注意力機(jī)制的輸出將輸入到解碼器中,類似于語言模型,輸出為一組假設(shè)詞語的概率分布。兩者之間的計(jì)算包含三個(gè)步驟:
首先由上一時(shí)刻的狀態(tài)si-1、為上一時(shí)刻的輸出yi-1和為上一時(shí)刻的上下文向量ci-1得解碼當(dāng)前時(shí)刻的狀態(tài)Si,計(jì)算公式如下
si=pBiLSTM(si-1,yi-1,ci-1)
(8)
其次由當(dāng)前時(shí)刻的狀態(tài)si得到當(dāng)前時(shí)刻的上下文向量ci,已知h為高級語音特征,計(jì)算公式如下
ci=AttentionContext(si,h)
(9)
最后由如下公式得概率分布
P(yi|X,y
(10)
通過多層RNN網(wǎng)絡(luò),經(jīng)過softmax計(jì)算每一時(shí)刻某個(gè)字符的概率。最后經(jīng)從左到右的beam search的解碼器得到語音標(biāo)簽序列,由如下公式輸出最大可能性字符序列
(11)
式中x是語音特征,y是對應(yīng)標(biāo)簽序列。
音素是構(gòu)成音節(jié)的最小的語音片段。在面對土家語的聲學(xué)建模時(shí)選用音素作為建模單元較為合適,因?yàn)橥良艺Z已具備完善的音位系統(tǒng),其中音素的個(gè)數(shù)固定且相對較少;對于復(fù)雜的語音環(huán)境來說,音素更加穩(wěn)定。本實(shí)驗(yàn)的建模單元是以音素為單位,故本文以音節(jié)錯(cuò)誤率(Syllable Error Rate,SER)作為評估模型的唯一指標(biāo),SER越低表示模型的效果越好。以標(biāo)準(zhǔn)序列為基準(zhǔn),用識別出來的音素與之核對,通過替換、刪除或者插入某些音素來與標(biāo)準(zhǔn)序列保持一致,這些替換、刪除或插入音素的總個(gè)數(shù),除以標(biāo)準(zhǔn)序列音素的總個(gè)數(shù)的百分比即為SER。其計(jì)算公式如下所示
(12)
式中,S(substitution)表示替換的音素?cái)?shù)目,D(deletion)表示刪除的音素?cái)?shù)目,I(insertion)表示插入的音素?cái)?shù)目,N為參考序列中音素總數(shù)。
本文所使用的土家語語料包括300個(gè)核心詞口語語料、2000個(gè)主要詞的口語語料以及27篇口語短篇語料,共有7830個(gè)句子,總計(jì)時(shí)長7小時(shí)8分59秒。語料類型分為四種:詞匯語法、口頭文化、話語講述和話語對話,表1為部分土家語口語語料數(shù)據(jù)信息。
表1 土家語數(shù)據(jù)集部分內(nèi)容
本文使用的土家語口語語料均已經(jīng)過語言學(xué)家利用ELAN軟件進(jìn)行了人工標(biāo)注和存儲。如圖4所示為ELAN軟件的具體標(biāo)注內(nèi)容片段示例。
圖4 土家語語料《秦八代》標(biāo)注內(nèi)容
本實(shí)驗(yàn)每25ms作為一幀提取39維的Mel頻率倒譜系數(shù)(Mel-frequency cepstral coefficients,MFCC)特征作為編碼器的輸入,使用節(jié)點(diǎn)數(shù)為128的BLSTM從輸入特征序列中提取隱含狀態(tài)序列,再用節(jié)點(diǎn)數(shù)為256的pBLSTM對其進(jìn)行時(shí)間維度上的降維,解碼端采用節(jié)點(diǎn)數(shù)為128的LSTM進(jìn)行解碼。
設(shè)定學(xué)習(xí)率為0.001,批處理大小為8,標(biāo)簽平滑量為0.1,梯度算法為Adam,其通過計(jì)算梯度的一階矩估計(jì)和二階矩估計(jì)而對學(xué)習(xí)率作自適應(yīng)性調(diào)整。為了驗(yàn)證本文基于多頭注意力機(jī)制的端到端語音識別模型的優(yōu)勢,采用控制變量法對編解碼器層數(shù)以及注意力頭數(shù)進(jìn)行調(diào)整,實(shí)驗(yàn)設(shè)置對比及結(jié)果如表2所示。
表2 實(shí)驗(yàn)結(jié)果
表中方法LAS-n表示基于LAS模型的土家語語音識別,n的不同表示在此基礎(chǔ)上進(jìn)行的調(diào)整,同理方法MHA-n表示為基于多頭注意力機(jī)制的端到端土家語語音識別。土家語原始口語語料總時(shí)長為7小時(shí)8分59秒,經(jīng)過TSM技術(shù)擴(kuò)充后總時(shí)長為9小時(shí)54分39秒。實(shí)驗(yàn)1和實(shí)驗(yàn)2均為基于LAS模型的瀕危語言土家語的語音識別,LAS使用的是土家語原始口語語料,LAS-1使用的是經(jīng)擴(kuò)充后的語料,實(shí)驗(yàn)結(jié)果表明數(shù)據(jù)的有效增加有利于提升模型的識別率。
以LAS-1作為基線模型,LAS-2在此基礎(chǔ)上增加編碼器層數(shù)使得錯(cuò)誤率降低9.22%,LAS-3在LAS-2上繼續(xù)增加解碼器層數(shù),錯(cuò)誤率進(jìn)一步減少了11.16%,由此可見增加編解碼器的層數(shù)能有效降低識別錯(cuò)誤率。在基線模型上將注意力機(jī)制改進(jìn)為多頭注意力機(jī)制,音節(jié)錯(cuò)誤率降低了8.27%;將使用注意力機(jī)制的LAS-3模型改進(jìn)為使用多頭注意力機(jī)制,錯(cuò)誤率有效降低了4.76%,此時(shí)的實(shí)驗(yàn)結(jié)果為最佳,音素錯(cuò)誤率達(dá)到了45.06%,對比基線模型,音節(jié)錯(cuò)誤率降低了25.24%,這說明多頭注意力機(jī)制能夠關(guān)注更多不同位置的空間信息從而能有效提升模型的表征能力,較好的提高模型的識別能力。
MHA-3在MHA-2的基礎(chǔ)上再增加解碼器層數(shù),導(dǎo)致識別率降低,說明并不是簡單的增加編解碼器層數(shù)就能使得識別效果更好。
圖5 各模型訓(xùn)練過程中損失函數(shù)變化情況
如圖5所示為各模型訓(xùn)練過程中損失函數(shù)的變化情況,對比之下可以看出MHA-2的模型訓(xùn)練效果最佳。由表2可知,識別效果最佳是MHA-2,該模型的編碼端采用3層pBLSTM,時(shí)間分辨率減少23倍,每層節(jié)點(diǎn)為256個(gè)即每個(gè)方向的隱含層狀態(tài)為256個(gè)單元,解碼端采用單向LSTM網(wǎng)絡(luò),每層節(jié)點(diǎn)為128個(gè),多頭注意力機(jī)制的頭個(gè)數(shù)為2,該模型在訓(xùn)練階段的音節(jié)錯(cuò)誤率如圖6所示,橫坐標(biāo)為訓(xùn)練次數(shù),縱坐標(biāo)為SER,由圖可看出在MHA-2模型訓(xùn)練階段SER基本可以穩(wěn)定在50%左右。
圖6 MHA-2訓(xùn)練過程土家語字符錯(cuò)誤率的變化情況
實(shí)驗(yàn)結(jié)果表明,一定范圍內(nèi)增加編、解碼器層數(shù)以及注意力機(jī)制頭數(shù)能夠有效降低語音識別的SER,多頭注意力機(jī)制能夠從更多特征維度去量化編解碼狀態(tài)向量的相關(guān)性從而更好地提取語音信號的特征和對齊信息,也驗(yàn)證了本文動態(tài)增加編、解碼器層數(shù),以及注意力機(jī)制頭數(shù)的有效性。表3中的對比結(jié)果表明,本文所提出的基于多頭注意力機(jī)制的端到端瀕危語言語音識別結(jié)果優(yōu)于前人在瀕危語言土家語語音識別的結(jié)果:
表3 不同模型下的土家語識別率
實(shí)驗(yàn)對比結(jié)果表明,基于多頭注意力機(jī)制的端到端模型通過引入多頭注意力機(jī)制,建立了輸出字符序列在音頻序列的對應(yīng)關(guān)系,彌補(bǔ)了CTC聲學(xué)模型中沒有考慮目標(biāo)序列元素在語音特征序列位置的不足;通過搭建編碼器-解碼器的端到端結(jié)構(gòu),改善了具有低資源屬性的土家語難以建立語言模型的缺陷。本文所提方法相對于BLSTM-CTC和DeepSpeech2的識別錯(cuò)誤率分別減少1.25%和1.13%。
本文針對瀕危語言土家語難以建立語言模型導(dǎo)致語音識別率低的問題,提出基于多頭注意力機(jī)制的端到端語音識別模型,數(shù)據(jù)上進(jìn)行了擴(kuò)充,結(jié)構(gòu)上引進(jìn)了多頭注意力機(jī)制,增強(qiáng)了模型的表征能力。實(shí)驗(yàn)結(jié)果表明該方法在土家語數(shù)據(jù)集上取得了較好的識別效果。本文所提出的方法僅考慮語言序列上的詞位置信息,忽略了聲學(xué)模型中的頻率信息,未來會考慮在這一方向上進(jìn)行深入研究,以進(jìn)一步提升識別效果。本文所作研究對于改善瀕危語言的語音識別方法性能具有重要的研究意義。