智能座艙算法基礎(chǔ)之語(yǔ)音識(shí)別篇
近年來(lái)人工智能技術(shù)快速發(fā)展,比較引人注目的包括智能語(yǔ)音技術(shù)、計(jì)算機(jī)視覺(jué)技術(shù)和自動(dòng)語(yǔ)音識(shí)別技術(shù)等。其中,自動(dòng)語(yǔ)音識(shí)別(ASR),簡(jiǎn)稱(chēng)語(yǔ)音識(shí)別,是重要的組成部分。其主要目標(biāo)是把語(yǔ)音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文字,從而讓機(jī)器具有聽(tīng)覺(jué)功能,能夠直接接收人的口語(yǔ)命令,實(shí)現(xiàn)人機(jī)自然的交互。
語(yǔ)音識(shí)別是一門(mén)交叉學(xué)科,所涉及的領(lǐng)域有音頻信號(hào)處理、聲學(xué)、語(yǔ)言學(xué)、模式識(shí)別、人工智能等。其應(yīng)用領(lǐng)域也非常廣,涉及工業(yè)、軍事、通信、消費(fèi)電子等多個(gè)領(lǐng)域。在高度信息化的今天,語(yǔ)音識(shí)別技術(shù)及其應(yīng)用已成為信息社會(huì)不可或缺的AI基礎(chǔ)設(shè)施。
語(yǔ)音識(shí)別過(guò)程是個(gè)復(fù)雜的過(guò)程,但其最終的任務(wù)歸結(jié)為:找到對(duì)應(yīng)觀察序列O的最可能的詞序列W。主流的語(yǔ)音識(shí)別系統(tǒng)理論是建立在統(tǒng)計(jì)模式識(shí)別基礎(chǔ)之上的,在統(tǒng)計(jì)模型框架下可以用貝葉斯公式來(lái)描述語(yǔ)音識(shí)別問(wèn)題。
根據(jù)貝葉斯決策理論,我們的任務(wù)就是找到一個(gè)最有的單詞序列W,使得它在語(yǔ)音觀察序列O上的后驗(yàn)概率P(W/O)最大,即:
上式中,P(O|W)是聲學(xué)模型概率,它描述的是一段語(yǔ)音信號(hào)對(duì)應(yīng)的聲學(xué)特征0和單詞序列W的相似程度;P(W)是語(yǔ)言模型概率,它描述的是單詞序列W可能出現(xiàn)的概率。
尋找最優(yōu)的單詞序列,即在所有可能的單詞序列候選中尋找W,使其聲學(xué)模型和語(yǔ)言模型的概率乘積P(O|W)P(W)最大。這中間包含三個(gè)問(wèn)題:第一是如何遍歷所有可能的單詞序列;第二是如何計(jì)算聲學(xué)模型概率;第三是如何計(jì)算語(yǔ)言模型概率。
為了解決這三個(gè)問(wèn)題,典型的大詞表連續(xù)語(yǔ)音識(shí)別(VCSR)系統(tǒng)采用如下圖所示的主流框架:
用戶語(yǔ)音輸入后,首先經(jīng)過(guò)前端處理提取聲學(xué)特征,得到一系列的觀察向量;然后將聲學(xué)特征送到解碼器中進(jìn)行搜索,完成所有可能的單詞序列W的遍歷,得到識(shí)別結(jié)果。解碼器在搜索過(guò)程中,需要使用聲學(xué)模型和詞典計(jì)算概率P(Om),使用語(yǔ)言模型計(jì)算概率P(W)。
聲學(xué)模型和語(yǔ)言模型由大量數(shù)據(jù)訓(xùn)練而成;發(fā)音詞典根據(jù)語(yǔ)言學(xué)知識(shí)定義了每個(gè)單詞到發(fā)音單元的映射關(guān)系。整個(gè)系統(tǒng)的鏈路比較長(zhǎng),模塊眾多,需要精細(xì)調(diào)優(yōu)每個(gè)組件才能取得比較好的識(shí)別效果。
一、聲學(xué)模型
人耳接收到聲音后,經(jīng)過(guò)神經(jīng)傳導(dǎo)到大腦分析判斷聲音類(lèi)型,并進(jìn)一步分辨可能的發(fā)音內(nèi)容。
人的大腦從出生開(kāi)始就不斷在學(xué)習(xí)外界的聲音,經(jīng)過(guò)長(zhǎng)時(shí)間潛移默化的訓(xùn)練,最終才聽(tīng)懂人類(lèi)的語(yǔ)言。機(jī)器和人一樣,也需要學(xué)習(xí)語(yǔ)言的共性和發(fā)音的規(guī)律,建立起語(yǔ)音信號(hào)的聲學(xué)模型(AcousticModel,AM),才能進(jìn)行語(yǔ)音識(shí)別。聲學(xué)模型是語(yǔ)音識(shí)別系統(tǒng)中最為重要的模塊之一。聲學(xué)建模包含建模單元選取、模型狀態(tài)聚類(lèi)、模型參數(shù)估計(jì)等很多方面。
音素是構(gòu)成語(yǔ)音的最小單位,它代表著發(fā)音的動(dòng)作,是最小的發(fā)音單元。按照國(guó)際音標(biāo)準(zhǔn)則可以分為元音和輔音兩大類(lèi)。其中元音是由聲帶周期性振動(dòng)產(chǎn)生的,而輔音是氣流的爆破或摩擦產(chǎn)生的,沒(méi)有周期性。
英語(yǔ)中有48個(gè)音素,包含20個(gè)元音和28個(gè)輔音;漢語(yǔ)普通話包含32個(gè)音素,其中有10個(gè)元音和22個(gè)輔音。普通話漢語(yǔ)拼音的發(fā)音體系一般分為聲母和韻母。漢語(yǔ)拼音中原本有21個(gè)聲母和36個(gè)韻母,為了建模方便,經(jīng)過(guò)擴(kuò)充和調(diào)整后,一般包含27個(gè)聲母和38個(gè)韻母(不帶聲調(diào))。另外,普通話是帶調(diào)語(yǔ)言,共包含四聲和額外的輕聲。按照這五種聲調(diào),以上的38個(gè)韻母又可擴(kuò)增為190個(gè)帶聲調(diào)的韻母。
音節(jié)是聽(tīng)覺(jué)能感受到的最自然的語(yǔ)音單位,由一個(gè)或多個(gè)音素按照一定的規(guī)律組合而成。英語(yǔ)音節(jié)可單獨(dú)由一個(gè)元音構(gòu)成,也可以由一個(gè)元音和一個(gè)或多個(gè)輔音構(gòu)成。漢語(yǔ)的音節(jié)由聲母、韻母以及聲調(diào)構(gòu)成,其中聲調(diào)信息包含在韻母中。因此,漢語(yǔ)音節(jié)結(jié)構(gòu)可以簡(jiǎn)化為聲母+韻母,漢語(yǔ)中共有409個(gè)無(wú)調(diào)音節(jié),大約1300個(gè)有調(diào)音節(jié)。
聲學(xué)建模單元的選擇可以采用多種方案,比如采用音節(jié)建模、音素建模或者聲韻母建模等。漢語(yǔ)普通話比較合適采用聲韻母進(jìn)行聲學(xué)建模,因?yàn)椴淮嬖谌哂?,所以不同音?jié)之間可以共享聲韻母信息,如“tā”和“bā”均有韻母“ā”。這種建模單元方案可以充分利用訓(xùn)練數(shù)據(jù),使得訓(xùn)練出來(lái)的聲學(xué)模型更加穩(wěn)健。如果訓(xùn)練數(shù)據(jù)足夠多,則建議采用帶聲調(diào)的聲韻母作為聲學(xué)模型的建模單元。對(duì)于英文來(lái)講,因?yàn)闆](méi)有聲調(diào),可以采用音素單元來(lái)建模。為了表述方便,很多文獻(xiàn)也常常把普通話的聲韻母歸為音素級(jí)別。
音素的上下文會(huì)對(duì)當(dāng)前中心音素的發(fā)音產(chǎn)生影響,使當(dāng)前音素的聲學(xué)信號(hào)發(fā)生協(xié)同變化,這與該音素的單獨(dú)發(fā)音有所不同。單音素建模沒(méi)有考慮這種協(xié)同發(fā)音效應(yīng),為了考慮該影響,實(shí)際操作中需要使用上下文相關(guān)的音素(也被稱(chēng)為“三音子”)作為基本單元進(jìn)行聲學(xué)建模,即考慮當(dāng)前音素的前一個(gè)音素和后一個(gè)音素,使得模型描述更加精準(zhǔn)。
對(duì)三音子進(jìn)行精細(xì)建模需要大量的訓(xùn)練數(shù)據(jù),而實(shí)際上對(duì)于某些三音子而言數(shù)據(jù)很難獲得,同時(shí)精細(xì)建模導(dǎo)致模型建模單元數(shù)量巨大,例如,音素表有50個(gè)音素,則需要的三音子總數(shù)為:50x50x50=125000,模型參數(shù)顯然急劇增加。因此,嚴(yán)格意義上的三音子精細(xì)建模不太現(xiàn)實(shí),往往通過(guò)狀態(tài)綁定策略來(lái)減小建模單元數(shù)目,典型的綁定方法有模型綁定、決策樹(shù)聚下面將著重介紹三類(lèi)聲學(xué)模型,包括基于GMM-HMM的聲學(xué)模型、基于DNN-HMM的聲學(xué)模型以及端到端模型。
1)基于GMM-HMM的聲學(xué)模型HMM是一種統(tǒng)計(jì)分析模型,它是在馬爾可夫鏈的基礎(chǔ)上發(fā)展起來(lái)的,用來(lái)描述雙重隨機(jī)過(guò)程。HMM的理論基礎(chǔ)在1970年前后由Baum等人建立,隨后由CMU的Baker和IBM的Jelinek等人應(yīng)用到語(yǔ)音識(shí)別中,L.R.Rabiner和S.Young等人進(jìn)一步推動(dòng)了HMM的應(yīng)用和發(fā)展。HMM有算法成熟、效率高、易于訓(xùn)練等優(yōu)點(diǎn),自20世紀(jì)80年代開(kāi)始,被廣泛應(yīng)用于語(yǔ)音識(shí)別、手寫(xiě)字識(shí)別和天氣預(yù)報(bào)等多個(gè)領(lǐng)域,目前仍然是語(yǔ)音識(shí)別中的主流技術(shù)。
2)基于DNN-HMM的聲學(xué)模型盡管GMM具有擬合任意復(fù)雜分布的能力,但它也有一個(gè)嚴(yán)重的缺陷,即對(duì)非線性數(shù)據(jù)建模效率低下。因此,很久以前相關(guān)研究人員提出采用人工神經(jīng)網(wǎng)絡(luò)代替GMM,建模HMM狀態(tài)后驗(yàn)概率。但是由于當(dāng)時(shí)計(jì)算能力有限,很難訓(xùn)練兩層以上的神經(jīng)網(wǎng)絡(luò)模型,所以其帶來(lái)的性能改善非常微弱。21世紀(jì)以來(lái),機(jī)器學(xué)習(xí)算法和計(jì)算機(jī)硬件的發(fā)展使得訓(xùn)練多 隱層的神經(jīng)網(wǎng)絡(luò)成為可能。實(shí)踐表明,DNN在各種大型數(shù)據(jù)集上都取得了遠(yuǎn)超過(guò)GMM的識(shí)別性能。因此,DNN-HMM替代GMM-HMM成為目前主流的聲學(xué)建??蚣?。
3)端到端模型傳統(tǒng)語(yǔ)音識(shí)別系統(tǒng)的聲學(xué)建模一般通過(guò)發(fā)音單元、HMM聲學(xué)模型、詞典等信息源,建立從聲學(xué)觀察序列到單詞之間的聯(lián)系。每一部分都需要單獨(dú)的學(xué)習(xí)、訓(xùn)練,步驟較為煩瑣。端到端(End-to-End,E2E)結(jié)構(gòu)使用一個(gè)模型把這三個(gè)信息源囊括在一起,實(shí)現(xiàn)從觀察序列到文字的直接轉(zhuǎn)換。最新的一些進(jìn)展甚至把語(yǔ)言模型的信息也囊括進(jìn)來(lái),取得了更好的性能。自2015年以來(lái),端到端模型日益成為語(yǔ)音識(shí)別的研究熱點(diǎn)。
二、語(yǔ)言模型
主流語(yǔ)言模型一般采用基于統(tǒng)計(jì)的方法,通常是概率模型。計(jì)算機(jī)借助于模型參數(shù),可以估計(jì)出自然語(yǔ)言中每個(gè)句子出現(xiàn)的可能性。統(tǒng)計(jì)語(yǔ)言模型采用語(yǔ)料庫(kù)訓(xùn)練得到,強(qiáng)調(diào)語(yǔ)料庫(kù)是語(yǔ)言知識(shí)的源泉,通過(guò)對(duì)語(yǔ)料庫(kù)進(jìn)行深層加工、統(tǒng)計(jì)和學(xué)習(xí),獲取自然語(yǔ)言文本中的語(yǔ)言學(xué)知識(shí),從而可以客觀地描述大規(guī)模真實(shí)文本中細(xì)微的語(yǔ)言現(xiàn)象。
1)N-gram模型
N-gram統(tǒng)計(jì)語(yǔ)言模型由于其簡(jiǎn)單、容易理解等優(yōu)點(diǎn)在很多領(lǐng)域得以廣泛使用。
2)基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)音模型
包括三種常見(jiàn)的語(yǔ)言模型:前饋神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型、循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型以及長(zhǎng)短期記憶的循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)音模型。
三、解碼器
語(yǔ)音識(shí)別的最終目的是在由各種可能的單詞序列構(gòu)成的搜索空間中,尋找最優(yōu)的單詞序列。這在本質(zhì)上屬于搜索算法貨解碼算法的范疇,即解碼器要完成的任務(wù)。
1)搜索空間
語(yǔ)音識(shí)別尋找最優(yōu)的單詞序列,所有可能的單詞序列候選構(gòu)成了解碼過(guò)程中的搜索空間。
解碼的搜索空間有多種構(gòu)成方式,可以分為動(dòng)態(tài)編譯解碼空間和靜態(tài)編譯解碼空間兩大類(lèi)。動(dòng)態(tài)編譯只是預(yù)先將發(fā)音詞典編譯成狀態(tài)網(wǎng)絡(luò)構(gòu)成搜索空間,其他知識(shí)源在解碼過(guò)程中根據(jù)活躍路徑上攜帶的歷史信息動(dòng)態(tài)集成。而靜態(tài)編譯解碼空間,是把所有知識(shí)源統(tǒng)一編譯在一個(gè)狀態(tài)網(wǎng)絡(luò)中,在解碼過(guò)程中根據(jù)節(jié)點(diǎn)間的轉(zhuǎn)移權(quán)重獲得概率信息。
2)動(dòng)態(tài)搜索空間解碼算法
語(yǔ)音識(shí)別尋找最優(yōu)單詞序列的問(wèn)題可以轉(zhuǎn)化為:在樹(shù)形詞典構(gòu)成的搜索空間中,尋找最優(yōu)狀態(tài)序列的問(wèn)題。這個(gè)問(wèn)題一般使用維特比(Viterbi)算法解決。它的基本思想是,如果一個(gè)路徑集合A中的最大概率大于另外一個(gè)路徑集合B中的最大概率,則A的路徑概率和也大于B的路徑概率和。這個(gè)假設(shè)只能在一定程度上成立,因此會(huì)帶來(lái)一定的精度損失,但是卻能大大降低運(yùn)算量。
3)基于加權(quán)有限狀態(tài)機(jī)(WFST)的解碼器
有AT&T提出的加權(quán)有限狀態(tài)轉(zhuǎn)換器是一種有效編譯靜態(tài)搜索空間并消除冗余信息的算法,它在單一網(wǎng)絡(luò)中實(shí)現(xiàn)了從輸入序列到輸出序列的轉(zhuǎn)換,現(xiàn)已成為語(yǔ)音識(shí)別中最高效的解碼方法。
本文由 @ALICS 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
其實(shí)沒(méi)太懂,不過(guò)算是有所諒解,感謝分享 ??