智能座艙算法基礎(chǔ)之語音識別篇

1 評論 3788 瀏覽 2 收藏 14 分鐘

近年來人工智能技術(shù)快速發(fā)展,比較引人注目的包括智能語音技術(shù)、計(jì)算機(jī)視覺技術(shù)和自動語音識別技術(shù)等。其中,自動語音識別(ASR),簡稱語音識別,是重要的組成部分。其主要目標(biāo)是把語音信號轉(zhuǎn)變?yōu)橄鄳?yīng)的文字,從而讓機(jī)器具有聽覺功能,能夠直接接收人的口語命令,實(shí)現(xiàn)人機(jī)自然的交互。

語音識別是一門交叉學(xué)科,所涉及的領(lǐng)域有音頻信號處理、聲學(xué)、語言學(xué)、模式識別、人工智能等。其應(yīng)用領(lǐng)域也非常廣,涉及工業(yè)、軍事、通信、消費(fèi)電子等多個(gè)領(lǐng)域。在高度信息化的今天,語音識別技術(shù)及其應(yīng)用已成為信息社會不可或缺的AI基礎(chǔ)設(shè)施。

語音識別過程是個(gè)復(fù)雜的過程,但其最終的任務(wù)歸結(jié)為:找到對應(yīng)觀察序列O的最可能的詞序列W。主流的語音識別系統(tǒng)理論是建立在統(tǒng)計(jì)模式識別基礎(chǔ)之上的,在統(tǒng)計(jì)模型框架下可以用貝葉斯公式來描述語音識別問題。

根據(jù)貝葉斯決策理論,我們的任務(wù)就是找到一個(gè)最有的單詞序列W,使得它在語音觀察序列O上的后驗(yàn)概率P(W/O)最大,即:

上式中,P(O|W)是聲學(xué)模型概率,它描述的是一段語音信號對應(yīng)的聲學(xué)特征0和單詞序列W的相似程度;P(W)是語言模型概率,它描述的是單詞序列W可能出現(xiàn)的概率。

尋找最優(yōu)的單詞序列,即在所有可能的單詞序列候選中尋找W,使其聲學(xué)模型和語言模型的概率乘積P(O|W)P(W)最大。這中間包含三個(gè)問題:第一是如何遍歷所有可能的單詞序列;第二是如何計(jì)算聲學(xué)模型概率;第三是如何計(jì)算語言模型概率。

為了解決這三個(gè)問題,典型的大詞表連續(xù)語音識別(VCSR)系統(tǒng)采用如下圖所示的主流框架:

用戶語音輸入后,首先經(jīng)過前端處理提取聲學(xué)特征,得到一系列的觀察向量;然后將聲學(xué)特征送到解碼器中進(jìn)行搜索,完成所有可能的單詞序列W的遍歷,得到識別結(jié)果。解碼器在搜索過程中,需要使用聲學(xué)模型和詞典計(jì)算概率P(Om),使用語言模型計(jì)算概率P(W)。

聲學(xué)模型和語言模型由大量數(shù)據(jù)訓(xùn)練而成;發(fā)音詞典根據(jù)語言學(xué)知識定義了每個(gè)單詞到發(fā)音單元的映射關(guān)系。整個(gè)系統(tǒng)的鏈路比較長,模塊眾多,需要精細(xì)調(diào)優(yōu)每個(gè)組件才能取得比較好的識別效果。

一、聲學(xué)模型

人耳接收到聲音后,經(jīng)過神經(jīng)傳導(dǎo)到大腦分析判斷聲音類型,并進(jìn)一步分辨可能的發(fā)音內(nèi)容。

人的大腦從出生開始就不斷在學(xué)習(xí)外界的聲音,經(jīng)過長時(shí)間潛移默化的訓(xùn)練,最終才聽懂人類的語言。機(jī)器和人一樣,也需要學(xué)習(xí)語言的共性和發(fā)音的規(guī)律,建立起語音信號的聲學(xué)模型(AcousticModel,AM),才能進(jìn)行語音識別。聲學(xué)模型是語音識別系統(tǒng)中最為重要的模塊之一。聲學(xué)建模包含建模單元選取、模型狀態(tài)聚類、模型參數(shù)估計(jì)等很多方面。

音素是構(gòu)成語音的最小單位,它代表著發(fā)音的動作,是最小的發(fā)音單元。按照國際音標(biāo)準(zhǔn)則可以分為元音和輔音兩大類。其中元音是由聲帶周期性振動產(chǎn)生的,而輔音是氣流的爆破或摩擦產(chǎn)生的,沒有周期性。

英語中有48個(gè)音素,包含20個(gè)元音和28個(gè)輔音;漢語普通話包含32個(gè)音素,其中有10個(gè)元音和22個(gè)輔音。普通話漢語拼音的發(fā)音體系一般分為聲母和韻母。漢語拼音中原本有21個(gè)聲母和36個(gè)韻母,為了建模方便,經(jīng)過擴(kuò)充和調(diào)整后,一般包含27個(gè)聲母和38個(gè)韻母(不帶聲調(diào))。另外,普通話是帶調(diào)語言,共包含四聲和額外的輕聲。按照這五種聲調(diào),以上的38個(gè)韻母又可擴(kuò)增為190個(gè)帶聲調(diào)的韻母。

音節(jié)是聽覺能感受到的最自然的語音單位,由一個(gè)或多個(gè)音素按照一定的規(guī)律組合而成。英語音節(jié)可單獨(dú)由一個(gè)元音構(gòu)成,也可以由一個(gè)元音和一個(gè)或多個(gè)輔音構(gòu)成。漢語的音節(jié)由聲母、韻母以及聲調(diào)構(gòu)成,其中聲調(diào)信息包含在韻母中。因此,漢語音節(jié)結(jié)構(gòu)可以簡化為聲母+韻母,漢語中共有409個(gè)無調(diào)音節(jié),大約1300個(gè)有調(diào)音節(jié)。

聲學(xué)建模單元的選擇可以采用多種方案,比如采用音節(jié)建模、音素建?;蛘呗曧嵞附5?。漢語普通話比較合適采用聲韻母進(jìn)行聲學(xué)建模,因?yàn)椴淮嬖谌哂?,所以不同音?jié)之間可以共享聲韻母信息,如“tā”和“bā”均有韻母“ā”。這種建模單元方案可以充分利用訓(xùn)練數(shù)據(jù),使得訓(xùn)練出來的聲學(xué)模型更加穩(wěn)健。如果訓(xùn)練數(shù)據(jù)足夠多,則建議采用帶聲調(diào)的聲韻母作為聲學(xué)模型的建模單元。對于英文來講,因?yàn)闆]有聲調(diào),可以采用音素單元來建模。為了表述方便,很多文獻(xiàn)也常常把普通話的聲韻母歸為音素級別。

音素的上下文會對當(dāng)前中心音素的發(fā)音產(chǎn)生影響,使當(dāng)前音素的聲學(xué)信號發(fā)生協(xié)同變化,這與該音素的單獨(dú)發(fā)音有所不同。單音素建模沒有考慮這種協(xié)同發(fā)音效應(yīng),為了考慮該影響,實(shí)際操作中需要使用上下文相關(guān)的音素(也被稱為“三音子”)作為基本單元進(jìn)行聲學(xué)建模,即考慮當(dāng)前音素的前一個(gè)音素和后一個(gè)音素,使得模型描述更加精準(zhǔn)。

對三音子進(jìn)行精細(xì)建模需要大量的訓(xùn)練數(shù)據(jù),而實(shí)際上對于某些三音子而言數(shù)據(jù)很難獲得,同時(shí)精細(xì)建模導(dǎo)致模型建模單元數(shù)量巨大,例如,音素表有50個(gè)音素,則需要的三音子總數(shù)為:50x50x50=125000,模型參數(shù)顯然急劇增加。因此,嚴(yán)格意義上的三音子精細(xì)建模不太現(xiàn)實(shí),往往通過狀態(tài)綁定策略來減小建模單元數(shù)目,典型的綁定方法有模型綁定、決策樹聚下面將著重介紹三類聲學(xué)模型,包括基于GMM-HMM的聲學(xué)模型、基于DNN-HMM的聲學(xué)模型以及端到端模型。

1)基于GMM-HMM的聲學(xué)模型HMM是一種統(tǒng)計(jì)分析模型,它是在馬爾可夫鏈的基礎(chǔ)上發(fā)展起來的,用來描述雙重隨機(jī)過程。HMM的理論基礎(chǔ)在1970年前后由Baum等人建立,隨后由CMU的Baker和IBM的Jelinek等人應(yīng)用到語音識別中,L.R.Rabiner和S.Young等人進(jìn)一步推動了HMM的應(yīng)用和發(fā)展。HMM有算法成熟、效率高、易于訓(xùn)練等優(yōu)點(diǎn),自20世紀(jì)80年代開始,被廣泛應(yīng)用于語音識別、手寫字識別和天氣預(yù)報(bào)等多個(gè)領(lǐng)域,目前仍然是語音識別中的主流技術(shù)。

2)基于DNN-HMM的聲學(xué)模型盡管GMM具有擬合任意復(fù)雜分布的能力,但它也有一個(gè)嚴(yán)重的缺陷,即對非線性數(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ò)模型,所以其帶來的性能改善非常微弱。21世紀(jì)以來,機(jī)器學(xué)習(xí)算法和計(jì)算機(jī)硬件的發(fā)展使得訓(xùn)練多 隱層的神經(jīng)網(wǎng)絡(luò)成為可能。實(shí)踐表明,DNN在各種大型數(shù)據(jù)集上都取得了遠(yuǎn)超過GMM的識別性能。因此,DNN-HMM替代GMM-HMM成為目前主流的聲學(xué)建??蚣?。

3)端到端模型傳統(tǒng)語音識別系統(tǒng)的聲學(xué)建模一般通過發(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)展甚至把語言模型的信息也囊括進(jìn)來,取得了更好的性能。自2015年以來,端到端模型日益成為語音識別的研究熱點(diǎn)。

二、語言模型

主流語言模型一般采用基于統(tǒng)計(jì)的方法,通常是概率模型。計(jì)算機(jī)借助于模型參數(shù),可以估計(jì)出自然語言中每個(gè)句子出現(xiàn)的可能性。統(tǒng)計(jì)語言模型采用語料庫訓(xùn)練得到,強(qiáng)調(diào)語料庫是語言知識的源泉,通過對語料庫進(jìn)行深層加工、統(tǒng)計(jì)和學(xué)習(xí),獲取自然語言文本中的語言學(xué)知識,從而可以客觀地描述大規(guī)模真實(shí)文本中細(xì)微的語言現(xiàn)象。

1)N-gram模型

N-gram統(tǒng)計(jì)語言模型由于其簡單、容易理解等優(yōu)點(diǎn)在很多領(lǐng)域得以廣泛使用。

2)基于神經(jīng)網(wǎng)絡(luò)的語音模型

包括三種常見的語言模型:前饋神經(jīng)網(wǎng)絡(luò)語言模型、循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型以及長短期記憶的循環(huán)神經(jīng)網(wǎng)絡(luò)語音模型。

三、解碼器

語音識別的最終目的是在由各種可能的單詞序列構(gòu)成的搜索空間中,尋找最優(yōu)的單詞序列。這在本質(zhì)上屬于搜索算法貨解碼算法的范疇,即解碼器要完成的任務(wù)。

1)搜索空間

語音識別尋找最優(yōu)的單詞序列,所有可能的單詞序列候選構(gòu)成了解碼過程中的搜索空間。

解碼的搜索空間有多種構(gòu)成方式,可以分為動態(tài)編譯解碼空間和靜態(tài)編譯解碼空間兩大類。動態(tài)編譯只是預(yù)先將發(fā)音詞典編譯成狀態(tài)網(wǎng)絡(luò)構(gòu)成搜索空間,其他知識源在解碼過程中根據(jù)活躍路徑上攜帶的歷史信息動態(tài)集成。而靜態(tài)編譯解碼空間,是把所有知識源統(tǒng)一編譯在一個(gè)狀態(tài)網(wǎng)絡(luò)中,在解碼過程中根據(jù)節(jié)點(diǎn)間的轉(zhuǎn)移權(quán)重獲得概率信息。

2)動態(tài)搜索空間解碼算法

語音識別尋找最優(yōu)單詞序列的問題可以轉(zhuǎn)化為:在樹形詞典構(gòu)成的搜索空間中,尋找最優(yōu)狀態(tài)序列的問題。這個(gè)問題一般使用維特比(Viterbi)算法解決。它的基本思想是,如果一個(gè)路徑集合A中的最大概率大于另外一個(gè)路徑集合B中的最大概率,則A的路徑概率和也大于B的路徑概率和。這個(gè)假設(shè)只能在一定程度上成立,因此會帶來一定的精度損失,但是卻能大大降低運(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)已成為語音識別中最高效的解碼方法。

本文由 @ALICS 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 其實(shí)沒太懂,不過算是有所諒解,感謝分享 ??

    來自廣東 回復(fù)