[摘要]語音識別是通過計算機將語音自動轉(zhuǎn)換成文字的技術(shù),是一種以語音為基礎(chǔ)的人與機器之間的交互方法,在生產(chǎn)生活方面都有廣泛的應(yīng)用。語音識別的工作流程主要包括特征提取—識別建模及模型訓(xùn)練—解碼得到結(jié)果。隨著移動終端設(shè)備的智能化和硬件性能的飛速發(fā)展,傳感器種類不斷豐富,研究并加以利用這些最新的軟件環(huán)境和硬件設(shè)備,使得野外數(shù)據(jù)采集更為高效準(zhǔn)確是數(shù)字勘查技術(shù)的發(fā)展趨勢。采用基于語音識別的、方便快速又智能的方法來提高技術(shù)人員野外數(shù)據(jù)采集的效率,對于革新傳統(tǒng)意義上的野外數(shù)據(jù)采集具有重要意義。
[關(guān)鍵詞]語音識別;聲學(xué)模型;神經(jīng)網(wǎng)絡(luò);數(shù)據(jù)采集
[資助項目]中國核工業(yè)地質(zhì)局基礎(chǔ)項目《鈾礦勘查大數(shù)據(jù)匯聚與挖掘利用》(202104)。
語音識別(ASR)是通過計算機將語音自動轉(zhuǎn)換成文字的技術(shù)[1],與語言理解、語言生成和語音合成等技術(shù)密不可分,是一種以語音為基礎(chǔ)的人與機器之間的交互方法[2]。語音識別技術(shù)的形成與發(fā)展涉及眾多學(xué)科,包括語言學(xué)、語音學(xué)、聲學(xué)、神經(jīng)生物學(xué)、模式識別理論、信息理論等。語音識別技術(shù)的3個關(guān)鍵要素為數(shù)據(jù)、算法和芯片,大量優(yōu)質(zhì)的數(shù)據(jù)、精準(zhǔn)快速的算法及高性能語音識別芯片是提升識別效果的核心[3]。
1.應(yīng)用場景
目前語音識別在智能家居、智能車載、智能客服機器人等領(lǐng)域有廣泛的應(yīng)用,未來將會深入到學(xué)習(xí)、生活、工作的各個環(huán)節(jié)。國內(nèi)外許多公司都在傾力研究此技術(shù),并不斷推出實際產(chǎn)品,比如科大訊飛的翻譯器譯唄,百度的智能行車助手CoDriver,科大訊飛與奇瑞推出的飛魚汽車助理,搜狗與四維圖新推出的飛歌導(dǎo)航,云知聲、思必馳推出的智能語控車載產(chǎn)品等,在同聲互譯、行車導(dǎo)航、語音操控等方面取得了不錯的應(yīng)用效果。
2.語音識別的原理
語音識別的主要工作流程包括特征提取—識別建模及模型訓(xùn)練—解碼得到結(jié)果。
2.1特征提取
2.1.1采樣
聲音實際上是一種波,我們通過聲波采樣形成非壓縮的純波形文件,常用的.wav音頻文件就是一種非壓縮的波形文件。人類語音的頻率范圍位于16kHz以內(nèi),每秒16000個采樣的采樣頻率足以覆蓋。如果將一段語音每秒采樣16000次,把聲波在每秒鐘1/16000處的振幅用數(shù)字進行表示,則會形成一個數(shù)列。將這些數(shù)字繪制為簡單的折線圖,我們就得到了原始聲波的形狀(圖1)[4]。
2.1.2分幀
分幀就是把聲波按等間距切割成小段,每小段稱為一幀。分幀后,聲波就變成了小段的波形(圖2)[4]。
2.1.3特征提取
波形在時域上的描述能力極為有限,需要將波形進行轉(zhuǎn)換。目前常用的轉(zhuǎn)換方法是梅爾頻率倒譜系數(shù)算法(MFCC)[13],其原理是依照人耳生理特性,把每段波形轉(zhuǎn)換成一個多維向量,而這個向量就是語音信息的具象化表達(dá)。該過程被稱為聲學(xué)特征提取。
聲波由不同頻率的低、中、高音組合在一起,需要通過傅里葉變換(FourierTransform)將聲波從低音到高音分解成一個個頻段,然后將每個頻段中的能量(與振幅的平方成正比)相加,最終得到的結(jié)果便是從低音到高音每個頻段的重要程度(色塊的顏色深淺表示重要程度)(圖3)[4],從而為本幀創(chuàng)建了一個“指紋”。
對聲音的每幀(每20ms)重復(fù)這個過程,將會得到一個頻譜(圖4),每一列從左到右都是一個20毫秒的切片,這是能夠輸入到神經(jīng)網(wǎng)絡(luò)中去的數(shù)據(jù)呈現(xiàn)方式(圖5)[4]。就神經(jīng)網(wǎng)絡(luò)的工作方式而言,從頻譜中尋找規(guī)律要比從原始聲波中尋找規(guī)律容易得多。
2.2識別建模及模型訓(xùn)練
2.2.1識別單元
(1)音素:人類每個詞匯的發(fā)音都由音素組成,在語言學(xué)上不同語種的音素劃分方式是不同的,例如,英語主要采用一種由39個音素組成的音素集,而漢語的音素集則由聲母和韻母組成。在進行語音識別時,音素區(qū)分的方式基本相同,一般使用能夠兼顧前后各一個音素的三音子作為建模單元。
(2)狀態(tài):三音子作為建模單元還可以被分解為更細(xì)的粒度,稱之為“狀態(tài)”。一般情況下,一個三音子對應(yīng)三個狀態(tài)。在識別過程中,計算機首先將幀識別為狀態(tài),然后把狀態(tài)組合為音素,再把音素拼接成單詞。如圖6所示,圖中每一豎條為一幀,數(shù)幀對應(yīng)一個狀態(tài);相鄰三個狀態(tài)構(gòu)成一個音素;數(shù)個音素拼接成一個單詞[4]。
2.2.2識別建模
語音識別是由計算機尋找、比對與音頻匹配度最高的文字,進而將音頻序列轉(zhuǎn)換為文字序列的過程。其匹配度可以用概率來表示,可分為3個部分:轉(zhuǎn)移概率(狀態(tài)之間跳轉(zhuǎn)的概率)、觀測概率(幀和狀態(tài)之間匹配的概率)、語言概率(符合詞匯組合規(guī)律的概率)。識別建模主要包括聲學(xué)模型、語言模型,聲學(xué)模型負(fù)責(zé)計算音頻與音素的對應(yīng)概率(轉(zhuǎn)移概率和觀測概率),語言模型負(fù)責(zé)計算音素與文字的對應(yīng)概率(語言概率)。
(1)聲學(xué)模型
在聲學(xué)模型中通常使用隱馬爾科夫模型(HMM)來獲取轉(zhuǎn)移概率,通過高斯混合模型(GMM)獲取觀測概率。隨著神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展,深度神經(jīng)網(wǎng)絡(luò)(DNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)等機器學(xué)習(xí)模型在觀測概率的建模中也得到了廣泛應(yīng)用[3]。
A.高斯混合模型(GMM)
GMM-HMM混合模型是語音識別系統(tǒng)中典型的并且截止到現(xiàn)在仍被廣泛使用的模型[6],利用HMM對語音單元(如音素)的演化進行建模,利用GMM來表示聲學(xué)輸入與語音單元之間的關(guān)系[12]。GMM是一種輕量化、淺層次的學(xué)習(xí)模型[7],其優(yōu)點是參數(shù)量小,訓(xùn)練的收斂速度快,更加符合終端設(shè)備的應(yīng)用場景;缺點是建模能力有限,在語境信息的利用上存在瓶頸。
B.深度神經(jīng)網(wǎng)絡(luò)(DNN)
DNN是比較典型的深層學(xué)習(xí)結(jié)構(gòu),也是最早用于聲學(xué)建模的神經(jīng)網(wǎng)絡(luò)[7]。在數(shù)據(jù)表示上,DNNHMM混合模型比GMM-HMM混合模型更加高效,使得語音識別率有了大幅提升。DNN-HMM混合模型以其高識別率和相對較低的訓(xùn)練成本,成為一些特定語音識別場景中常用的聲學(xué)建模方式。DNN模型對輸入的特征長度有一定要求,受該條件約束DNN需要采用固定長度的滑動窗來提取特征。
C.循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)
RNN在語音序列建模過程中,具備記憶和向前追溯的能力,使其在進行狀態(tài)分析和音素組合時能夠最大限度地利用音頻的上下文信息(語境信息),其識別結(jié)果具有更高的準(zhǔn)確性和可靠性。RNN模型使用的神經(jīng)網(wǎng)絡(luò)層數(shù)更深、更為復(fù)雜,運行時向前追溯和計算的過程會增加額外的時間成本,這也是RNN模型在語音識別實時率要求較高的場景下應(yīng)用受限的主要原因[9]。
D.卷積神經(jīng)網(wǎng)絡(luò)(CNN)
CNN可以通過使用相對較小的卷積核、建立更深的神經(jīng)網(wǎng)絡(luò)層,對頻譜圖中頻率軸和時間軸上的信息同時進行卷積,進而實現(xiàn)對可變長度語境信息的利用。面對不同的語速環(huán)境,CNN、RNN相比于DNN表現(xiàn)出更強的適應(yīng)性和穩(wěn)定性,從而取得了更好的識別效果。CNN作為DNN的延伸越來越得到廣泛的應(yīng)用,但是CNN需要進行大量的參數(shù)訓(xùn)練,需要投入的人力物力等訓(xùn)練成本更高[8]。
各個聲學(xué)模型都有其優(yōu)勢和局限性(表1),分別適用于不同的應(yīng)用場景。但是在實際應(yīng)用過程中,其語音識別的環(huán)境往往更加復(fù)雜,單一模型難以解決多方面的應(yīng)用需求,而混合模型能夠發(fā)揮各個模型的優(yōu)勢。目前,混合模型已成為聲學(xué)模型建模的一種常用解決方案。
(2)語言模型
語言模型對語音識別的準(zhǔn)確性至關(guān)重要,在無語言模型約束的情況下,僅由聲學(xué)模型得到的識別結(jié)果是一種基于單詞匯最大概率的無序組合,不符合詞組的正常使用習(xí)慣。語言模型是通過對日常使用的詞組(文本)進行大量訓(xùn)練,使機器逐漸掌握詞組的使用規(guī)則和規(guī)律,進而作為一種約束條件對聲學(xué)模型的識別結(jié)果進行校正,得到最佳的詞組序列組合。在語音識別和搜索引擎中,常用N-Gram模型作為語言模型。隨著神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展,RNN、CNN等建模方法也逐漸應(yīng)用于語言模型的建立。
(3)模型訓(xùn)練
如前所述,聲學(xué)模型是由大量參數(shù)組成的,這些參數(shù)的產(chǎn)生是通過對大量語音數(shù)據(jù)進行識別“訓(xùn)練”和修正后得到的結(jié)果。近年來,神經(jīng)網(wǎng)絡(luò)在模型訓(xùn)練中得到了廣泛應(yīng)用。神經(jīng)網(wǎng)絡(luò)是一種層疊式結(jié)構(gòu),可分為輸入層、隱層、輸出層等三層,每層均由“神經(jīng)元”組成。輸入層的神經(jīng)元為所提取的語音信號特征,隱層的神經(jīng)元通過樣本訓(xùn)練構(gòu)建,輸出層的神經(jīng)元為語音識別詞匯。進行模型訓(xùn)練時,首先提取詞匯的語音特征作為輸入,并對詞匯進行編號作為目標(biāo)輸出;再通過隱層的概率計算和匹配,得到輸出層的結(jié)果;然后求取實際輸出和目標(biāo)輸出的誤差,如果二者誤差高于設(shè)定的閾值,需要對神經(jīng)元間的鏈接權(quán)值進行修正并繼續(xù)訓(xùn)練,直至誤差低于所設(shè)閾值時停止訓(xùn)練,保存隱層神經(jīng)元的訓(xùn)練參數(shù)及各神經(jīng)元間的鏈接權(quán)值(圖7)[10]。
2.3解碼
解碼是將輸入聲學(xué)模型中的語音幀序列與語言模型中的詞組進行匹配的過程,需要建立聲音信號與文本結(jié)果間的匹配關(guān)系。通常是把聲學(xué)模型、語言模型、詞典展布在一個網(wǎng)絡(luò)中,通過維特比(Viterbi)算法(一種動態(tài)規(guī)劃剪枝算法)來尋找全局最優(yōu)路徑,以最大后驗概率從這個網(wǎng)絡(luò)空間選擇一條或多條最優(yōu)路徑作為識別結(jié)果(最優(yōu)的輸出字符序列)[3]。
3.在地學(xué)領(lǐng)域的應(yīng)用
3.1應(yīng)用趨勢
隨著移動終端設(shè)備的智能化和硬件性能的飛速發(fā)展,傳感器種類不斷豐富,研究并加以利用這些最新的軟件環(huán)境和硬件設(shè)備,使得野外數(shù)據(jù)采集更為高效準(zhǔn)確是數(shù)字勘查技術(shù)的發(fā)展趨勢。近年來,語音識別技術(shù)正逐步應(yīng)用于地學(xué)領(lǐng)域,如中國地質(zhì)調(diào)查局的野外數(shù)據(jù)采集系統(tǒng)(DGSS)、中國核工業(yè)地質(zhì)局的鉆孔數(shù)據(jù)采集系統(tǒng)(QuantyU_PAD),均引進了語音識別技術(shù),用于野外數(shù)據(jù)采集時快速錄入數(shù)據(jù)。
語音識別的應(yīng)用打破了紙質(zhì)書寫緩慢、鍵盤輸入不便的困境,提高了野外工作信息的采集效率,改善了便攜式采集設(shè)備的用戶體驗。采用基于語音識別的、方便快速又智能的方法來提高技術(shù)人員野外數(shù)據(jù)采集的效率,對于革新傳統(tǒng)意義上的野外數(shù)據(jù)采集具有重要意義。
3.2現(xiàn)階段存在的問題及下一步的解決方案
3.2.1專業(yè)術(shù)語的識別率低
語音識別建立在龐大的數(shù)據(jù)量基礎(chǔ)上,其整體識別率很高,在理想實驗中正確率可達(dá)到98%以上[11],已能滿足大多數(shù)用戶的日常需求。但這種高識別率是由日常使用的高頻詞匯拉升起來的,專業(yè)術(shù)語所占詞匯量的比例要遠(yuǎn)遠(yuǎn)低于常用詞匯,實際應(yīng)用顯示,語音識別在地學(xué)領(lǐng)域的術(shù)語識別率尚未達(dá)到理想效果。從識別建模及模型訓(xùn)練的原理中我們可以看出,識別結(jié)果本質(zhì)上是一個概率結(jié)果,取決于詞匯在龐大參考數(shù)據(jù)內(nèi)出現(xiàn)的頻率,那么對于占比不高的專業(yè)術(shù)語,其識別率就不易提高。另外,由于應(yīng)用場景的不同,相同的發(fā)音在不同領(lǐng)域?qū)?yīng)的理想輸出結(jié)果應(yīng)是不同的,以漢語發(fā)音的“chángshí”為例,在教育領(lǐng)域、文學(xué)領(lǐng)域,其對應(yīng)的理想輸出結(jié)果是“常識”;而在地學(xué)領(lǐng)域,其對應(yīng)的理想輸出結(jié)果應(yīng)為“長石”。再如漢語發(fā)音“cìyuán”,在數(shù)學(xué)領(lǐng)域、物理學(xué)領(lǐng)域,其對應(yīng)的理想輸出結(jié)果是“次元”;而在地學(xué)領(lǐng)域,其對應(yīng)的理想輸出結(jié)果應(yīng)為“次圓”。
目前,在移動設(shè)備上語音識別分為在線、離線兩種模式:在線模式與云端數(shù)據(jù)相連,聲學(xué)模型、語言模型較為完備,識別結(jié)果相對精確,經(jīng)鉆孔編錄實際應(yīng)用測試,準(zhǔn)確率可達(dá)87%左右,基本已能滿足生產(chǎn)工作需求,但對專業(yè)術(shù)語的識別仍未達(dá)到理想效果,需要用戶再次介入修改;離線模式啟用離線語音包,容量小,基于有限的聲學(xué)模型、語言模型,識別速度、輸出結(jié)果不盡如人意,應(yīng)用測試的準(zhǔn)確率僅有70%,甚至更低,在地學(xué)領(lǐng)域離投入生產(chǎn)應(yīng)用還有很大的差距。
讓機器根據(jù)語義去判斷使用者所處的專業(yè)領(lǐng)域,反饋理想的術(shù)語識別結(jié)果,需要人工智能與大數(shù)據(jù)的高度融合,是未來的發(fā)展趨勢,需要建立更為龐大、更為復(fù)雜的識別模型,其實現(xiàn)周期很長。面向不同領(lǐng)域建立專屬的語言模型、詞典庫,配合機器學(xué)習(xí)與模型訓(xùn)練,將識別結(jié)果限制在一個可控的范圍內(nèi),是提高專業(yè)術(shù)語識別準(zhǔn)確率最直接的途徑。另一方面,由于野外施工環(huán)境的復(fù)雜多變,在沒有網(wǎng)絡(luò)信號接入的情況下,移動設(shè)備只能啟用離線模式,那么硬件的儲存空間和運算速度將會成為限制離線識別率的瓶頸,研發(fā)大容量、高性能、低價位的芯片是提高離線識別率、普及便攜式采集設(shè)備的突破口。
3.2.2缺乏有效的降噪手段
地質(zhì)行業(yè)大多處于露天工作環(huán)境,大風(fēng)天氣或現(xiàn)場施工產(chǎn)生的噪音會不同程度地影響識別效果。傳統(tǒng)降噪是基于統(tǒng)計意義上面的一個處理,難以做到瞬時噪聲的精準(zhǔn)估計,這個本身就是一個近似的、粗略模糊化的處理,即不可避免的對噪聲欠估計或者過估計,本身難把握。強噪聲環(huán)境中系統(tǒng)無法正確判別干擾雜音與用戶聲源的情況下,將會把用戶聲音中的一部分或大部分一同當(dāng)作噪聲過濾掉而不進行判別,這就導(dǎo)致了識別系統(tǒng)呆滯或識別效果不佳。只有用戶不斷提高音量,才有可能得到識別結(jié)果,嚴(yán)重影響了用戶體驗。
現(xiàn)階段,系統(tǒng)算法能夠起到的作用是有限的,要想進一步改善降噪效果,還需要從硬件上著手。波束賦形技術(shù)是目前使用相對廣泛的降噪技術(shù),與傳統(tǒng)降噪不同,波束賦形更加強調(diào)聲源。通過建立指向軸并轉(zhuǎn)向聲源的方向,利用多個麥克風(fēng)的相位差,降低聲源方向以外的噪聲。配合噪聲抑制功能,可以進一步降低殘留在指向軸上的固定噪音[14]。該技術(shù)支持在窄間距范圍內(nèi)安裝2個麥克風(fēng)甚至多個麥克風(fēng)組成的陣列,可以應(yīng)用于筆記本電腦、平板電腦、手機、錄音筆等便攜式設(shè)備上,是一種硬件與算法相結(jié)合的降噪方式。
4.結(jié)論
語音識別正逐步成為信息技術(shù)中人機接口的關(guān)鍵技術(shù)[5],它使得人們能夠甩掉鍵盤,通過語音命令進行操作。語音識別技術(shù)在地學(xué)領(lǐng)域得到了一定程度的應(yīng)用,但也發(fā)現(xiàn)了一些切實存在的問題。由于工作環(huán)境和識別需求的特殊性,造成地質(zhì)生產(chǎn)應(yīng)用過程中語音識別的準(zhǔn)確度尚未達(dá)到理想效果。今后需根據(jù)地質(zhì)工作的實際需求,建立具有針對性的識別模型,充分運用人工智能、機器學(xué)習(xí)及云計算和芯片的新技術(shù),實現(xiàn)人工智能模型的遷移學(xué)習(xí),節(jié)省成本,提高效率,全面提升語音識別的速度與精度。
[參考文獻]
[1]何湘智.語音識別的研究與發(fā)展[J].計算機與現(xiàn)代化,2002(3):3-6.
[2]楊勝捷,朱灝耘,馮天祥,等.基于Kaldi的語音識別算法[J].電腦知識與技術(shù),2019,15(2):163-166.
[3]李萬鴻.論語音識別三大關(guān)鍵技術(shù)[EB/OL].
[4]郭少悲.語音識別技術(shù)基礎(chǔ)理解[EB/OL].
[5]淺談?wù)Z音識別技術(shù)的發(fā)展趨勢與應(yīng)用前景[EB/OL].
[6]楊洋,汪毓鐸.基于改進卷積神經(jīng)網(wǎng)絡(luò)算法的語音識別[J].應(yīng)用聲學(xué),2017,37(6):940-946.
[7]侯一民,李永平.基于卷積神經(jīng)網(wǎng)絡(luò)的孤立詞語音識別[J].計算機工程與設(shè)計,2019,40(6):1751-1756.
[8]楊鶴標(biāo),龔文彥.基于卷積神經(jīng)網(wǎng)絡(luò)的反向傳播算法改進[J].計算機工程與設(shè)計,2019,40(1):126-130.
[9]張舸,張鵬遠(yuǎn),潘接林,等.基于異構(gòu)計算的語音識別解碼加速方法[J].網(wǎng)絡(luò)新媒體技術(shù),2019,8(3):34-38.
[10]冀瑞國.神經(jīng)網(wǎng)絡(luò)在語音識別中的應(yīng)用[J].電子技術(shù)與軟件工程,2019,249.
[11]周玨嘉,相非,崔寶秋,等.AI下的智能語音開放創(chuàng)新平臺[J].信息技術(shù)與標(biāo)準(zhǔn)化,2019,1-2:21-23.
[12]楊鴻武,周剛.基于改進混合CTC/attention架構(gòu)的端到端普通話語音識別[J].西北師范大學(xué)學(xué)報(自然科學(xué)版),2019,55(3):48-53.
[13]許元洪,郭瓊.數(shù)據(jù)挖掘技術(shù)在語音識別中的應(yīng)用[J].應(yīng)用技術(shù)學(xué)報,2019,19(1):84-87.
[14]潘麗杰,徐本亮,朱琪,等.基于雙麥克風(fēng)降噪技術(shù)的語音識別系統(tǒng)[J].現(xiàn)代電子技術(shù),2016,39(2):137-142.