專(zhuān)利名稱(chēng):上下文相關(guān)的漢語(yǔ)語(yǔ)音識(shí)別建模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種語(yǔ)音識(shí)別建模方法,特別是能夠應(yīng)用于嵌入式設(shè)備的上下文相關(guān)的漢語(yǔ)聲學(xué)建模方法。
背景技術(shù):
語(yǔ)音識(shí)別技術(shù)是讓機(jī)器通過(guò)識(shí)別和理解過(guò)程把語(yǔ)音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令的技術(shù)。語(yǔ)音識(shí)別技術(shù)與語(yǔ)音合成技術(shù)相結(jié)合可以使人們能夠甩掉鍵盤(pán),通過(guò)語(yǔ)音命令進(jìn)行操作,與機(jī)器進(jìn)行語(yǔ)音交流。近二十年來(lái),隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,語(yǔ)音識(shí)別技術(shù)取得顯著進(jìn)步,開(kāi)始從實(shí)驗(yàn)室走向市場(chǎng)。人們預(yù)計(jì),未來(lái)10年內(nèi),語(yǔ)音識(shí)別技術(shù)將進(jìn)入工業(yè)、家電、通信、汽車(chē)電子、醫(yī)療、家庭服務(wù)、消費(fèi)電子產(chǎn)品等各個(gè)領(lǐng)域。
但是,在現(xiàn)階段,在語(yǔ)音識(shí)別技術(shù)走向?qū)嶋H應(yīng)用的過(guò)程中,還存在著計(jì)算機(jī)的計(jì)算能力、存儲(chǔ)能力和語(yǔ)音識(shí)別系統(tǒng)識(shí)別率之間的矛盾。怎樣在內(nèi)存有限的嵌入式設(shè)備上進(jìn)行高精度的聲學(xué)建模是關(guān)系到語(yǔ)音識(shí)別系統(tǒng)實(shí)用化的一個(gè)關(guān)鍵性技術(shù)問(wèn)題。
中國(guó)專(zhuān)利公開(kāi)CN1264468A揭示了一種將語(yǔ)音輸入變換成文字的計(jì)算機(jī)執(zhí)行的聽(tīng)寫(xiě)系統(tǒng)。該系統(tǒng)利用文字到語(yǔ)音的結(jié)構(gòu)產(chǎn)生一個(gè)給定單詞的口語(yǔ)譯文,并且這個(gè)給定單詞口語(yǔ)譯文在聲音設(shè)備上輸出,以便語(yǔ)音識(shí)別系統(tǒng)的用戶(hù)知道該語(yǔ)音識(shí)別期望一個(gè)給定單詞將如何發(fā)音。
中國(guó)專(zhuān)利公開(kāi)CN1288225A揭示了一種語(yǔ)音識(shí)別系統(tǒng)和語(yǔ)音識(shí)別控制方法。該發(fā)明的技術(shù)方案是在預(yù)記錄的語(yǔ)音識(shí)別表中預(yù)先存儲(chǔ)作為期望值的操作者的語(yǔ)音。當(dāng)任意未寄存的端子電子設(shè)備連接到控制裝置時(shí),控制裝置寄存電子設(shè)備提供的語(yǔ)音識(shí)別表,并在操作者輸入語(yǔ)音時(shí),由控制裝置把操作者的語(yǔ)音與預(yù)寄存的電子設(shè)備的語(yǔ)音識(shí)別表比較,然后根據(jù)操作者的語(yǔ)音與語(yǔ)音識(shí)別表的比較結(jié)果來(lái)控制電子設(shè)備的輸入/輸出。
中國(guó)專(zhuān)利公開(kāi)CN1264468A中所揭示的語(yǔ)音識(shí)別系統(tǒng)中采用上下文相關(guān)的音素建模方法,這樣建立的聲學(xué)模型雖然具有較高的精度,但是模型的體積比較大,很難直接裝入到嵌入式設(shè)備的內(nèi)存中,難以滿(mǎn)足嵌入式設(shè)備的實(shí)際應(yīng)用需要。
上述公開(kāi)專(zhuān)利中存在的問(wèn)題在于其所需的內(nèi)存較大,不適合于在嵌入式設(shè)備中使用。
發(fā)明內(nèi)容
本發(fā)明結(jié)合漢語(yǔ)的特點(diǎn),提出一種基于狀態(tài)聚類(lèi)的聲母右相關(guān)、韻母左相關(guān)的上下文相關(guān)音素建模方法。使用該建模方法訓(xùn)練出來(lái)的聲學(xué)模型具有較高的模型精度和較小的模型體積,特別適于一些內(nèi)存較小的嵌入式設(shè)備的使用場(chǎng)合。為了進(jìn)一步壓縮聲學(xué)模型的體積,同時(shí)盡量避免損失模型的精度,以保證語(yǔ)音識(shí)別系統(tǒng)在嵌入式設(shè)備中的性能,本發(fā)明采用子空間聚類(lèi)算法對(duì)聲學(xué)模型進(jìn)行壓縮。在基本不損失語(yǔ)音識(shí)別系統(tǒng)性能的前提下,本方法能夠把語(yǔ)音識(shí)別系統(tǒng)的聲學(xué)模型壓縮到原有模型大小的1/10~1/5。
本發(fā)明的目的是提供一種適用于嵌入式設(shè)備的上下文相關(guān)的漢語(yǔ)聲學(xué)建模方法,該方法在初始模型訓(xùn)練過(guò)程中能夠使所有訓(xùn)練樣本的似然概率損失最小,在模型的壓縮過(guò)程中不需要任何訓(xùn)練語(yǔ)料的參與,由此可以方便快捷實(shí)現(xiàn)模型規(guī)模的縮減,并保證模型的精度沒(méi)有大的損失。
本發(fā)明提供了一種適用于嵌入式設(shè)備的上下文相關(guān)的漢語(yǔ)聲學(xué)建模方法,包括步驟(a)將漢語(yǔ)語(yǔ)音的聲母與緊鄰其右側(cè)的韻母相關(guān),而韻母與緊鄰其左側(cè)的聲母相關(guān),創(chuàng)建上下文相關(guān)的基本建模單元;(b)利用狀態(tài)聚類(lèi)法對(duì)模型的參數(shù)進(jìn)行訓(xùn)練,以得到初始隱馬爾可夫(HMM)模型;和(c)利用子空間聚類(lèi)算法對(duì)初始隱馬爾可夫模型進(jìn)行壓縮,以產(chǎn)生最終模型。
另一方面,本發(fā)明可以提供一種計(jì)算機(jī)可讀記錄介質(zhì),用于存儲(chǔ)執(zhí)行上下文相關(guān)的漢語(yǔ)語(yǔ)音識(shí)別建模方法的程序,(a)將漢語(yǔ)語(yǔ)音的聲母與緊鄰其右側(cè)的韻母相關(guān),而韻母與緊鄰其左側(cè)的聲母相關(guān),創(chuàng)建上下文相關(guān)的基本建模單元;(b)利用狀態(tài)聚類(lèi)法對(duì)模型的參數(shù)進(jìn)行訓(xùn)練,以得到初始隱馬爾可夫(HMM)模型;和(c)利用子空間聚類(lèi)算法對(duì)初始隱馬爾可夫模型進(jìn)行壓縮,以產(chǎn)生最終模型。
本發(fā)明主要是針對(duì)漢語(yǔ)發(fā)音的特點(diǎn),提出一種聲母右相關(guān)、韻母左相關(guān)的半音節(jié)Diphone建模方法;以所有訓(xùn)練樣本的似然概率損失最小為目標(biāo),采用狀態(tài)聚類(lèi)的方法進(jìn)行Diphone模型的狀態(tài)輸出分布的共享和模型參數(shù)的訓(xùn)練;采用子空間聚類(lèi)算法進(jìn)行聲學(xué)模型壓縮。針對(duì)模型壓縮這種應(yīng)用的特殊需要,首先采用LBG算法的對(duì)原始高斯模型進(jìn)行聚類(lèi)以生成初始的高斯碼本,然后采用K-Means聚類(lèi)算法對(duì)高斯碼本進(jìn)行優(yōu)化,生成最終的高斯碼本。此方法的主要優(yōu)點(diǎn)是在模型的壓縮過(guò)程中不需要任何訓(xùn)練語(yǔ)料的參與。
通過(guò)參考附圖閱讀說(shuō)明書(shū)將使本發(fā)明的特征和優(yōu)點(diǎn)變得更加清楚,其中圖1是根據(jù)本發(fā)明實(shí)施例的漢語(yǔ)聲學(xué)建模的模型訓(xùn)練的流程圖;圖2是表示常用的隱馬爾可夫的拓?fù)浣Y(jié)構(gòu);圖3是根據(jù)本發(fā)明實(shí)施例的基于狀態(tài)聚類(lèi)的輸出分布共享算法流程圖;圖4是表示隱馬爾可夫狀態(tài)聚類(lèi)輸出分布共享示意圖;和圖5是表示根據(jù)本發(fā)明的基于子空間聚類(lèi)的模型壓縮流程圖。
具體實(shí)施例方式
下面首先說(shuō)明語(yǔ)音識(shí)別的基本原理。
語(yǔ)音識(shí)別包括兩個(gè)基本過(guò)程,即訓(xùn)練過(guò)程和識(shí)別過(guò)程。訓(xùn)練過(guò)程的主要任務(wù)是利用大量語(yǔ)音訓(xùn)練樣本,建立聲學(xué)模型,用于描述聲學(xué)層知識(shí)。在復(fù)雜的識(shí)別系統(tǒng)中,還需要利用大量的文本語(yǔ)料,訓(xùn)練語(yǔ)言模型,用于描述語(yǔ)言層知識(shí)。在識(shí)別過(guò)程中,利用訓(xùn)練過(guò)程中得到的聲學(xué)模型和語(yǔ)言模型,對(duì)待測(cè)語(yǔ)音樣本進(jìn)行解碼,將其識(shí)別為文本。本專(zhuān)利描述的技術(shù)創(chuàng)新主要集中于訓(xùn)練階段的聲學(xué)模型訓(xùn)練過(guò)程。
漢語(yǔ)作為一種語(yǔ)言,有自身獨(dú)特的語(yǔ)言特點(diǎn),利用這些特點(diǎn)進(jìn)行聲學(xué)模型建模,可以在減少模型體積的同時(shí),最大限度地提高模型的性能。
下面把漢語(yǔ)和常見(jiàn)的西方語(yǔ)言英語(yǔ)作一個(gè)比較。最顯著的區(qū)別在于,漢語(yǔ)是一種象形文字,而英語(yǔ)是一種拼音文字。英語(yǔ)中的最小的語(yǔ)言單位是詞,詞可以被不停的創(chuàng)造,詞的數(shù)目也在不停的變化中。每當(dāng)出現(xiàn)一個(gè)新事物或新概念的時(shí)候,通常都需要重新創(chuàng)造出一個(gè)新詞來(lái)描述它。在發(fā)音方面,英語(yǔ)每個(gè)詞的發(fā)音是由一定數(shù)量的音節(jié)相互連接構(gòu)成了整個(gè)詞的發(fā)音,不同音節(jié)之間的耦合作用很強(qiáng)。而漢語(yǔ)的最小構(gòu)成單位是字,這些字可以單獨(dú)或彼此聯(lián)合構(gòu)成詞,來(lái)描述不同的事物和概念??梢?jiàn),“字”是漢語(yǔ)最基本也是相對(duì)獨(dú)立的構(gòu)成單元,這種“字”的概念是英文中沒(méi)有的。在發(fā)音方面,漢語(yǔ)中每個(gè)字都是一個(gè)獨(dú)立的音節(jié),每個(gè)音節(jié)由一個(gè)聲母后接一個(gè)韻母組成。所有漢字的發(fā)音組成408個(gè)不同的音節(jié)。由于漢語(yǔ)在構(gòu)詞時(shí),字是相對(duì)獨(dú)立的,因此其發(fā)音的音節(jié)之間的獨(dú)立性也相對(duì)較強(qiáng)。本發(fā)明正是利用漢語(yǔ)的音節(jié)間的相對(duì)獨(dú)立性來(lái)進(jìn)行高精度的聲學(xué)特征建模的。
圖1是表示聲學(xué)模型訓(xùn)練過(guò)程的概括流程圖。首先,在步驟S11,選擇基本的建模單元,并定義基本建模單元之間的上下文耦合關(guān)系。然后,在步驟S12利用狀態(tài)聚類(lèi)的方法,利用語(yǔ)音訓(xùn)練數(shù)據(jù),對(duì)隱馬爾可夫模型的參數(shù)進(jìn)行訓(xùn)練,得到初始的HMM。接下來(lái),在步驟S13利用子空間聚類(lèi)算法對(duì)初始模型進(jìn)行壓縮,并得到最終的模型。
下面參考附圖1,對(duì)所示流程圖中的各個(gè)步驟的細(xì)節(jié)進(jìn)行具體描述。
1.選擇基本的建模單元在開(kāi)始訓(xùn)練聲學(xué)模型之前,必須首先定義基本的建模單元,也就是確定每個(gè)模型描述的粒度。語(yǔ)音識(shí)別中基本建模單元可以有多種選擇,比如音素、半音節(jié)、音節(jié)或者詞等都可以作為基本建模單元。如前所述,漢語(yǔ)的每個(gè)字都是一個(gè)音節(jié),每個(gè)音節(jié)由聲母和韻母兩個(gè)部分組成,因此漢語(yǔ)語(yǔ)音識(shí)別系統(tǒng)大多以聲韻母為基本的建模單元,稱(chēng)作半音節(jié)建模。我們同樣選擇聲韻母為基本的建模單元,其中聲母有27個(gè),韻母有38個(gè),另外還有一個(gè)靜音。
2.定義基本建模單元之間的上下文相關(guān)性所謂“上下文相關(guān)”是指,在連續(xù)發(fā)音時(shí),每個(gè)基本單元的發(fā)音不僅取決于其本身讀音,還和這個(gè)單元所處的語(yǔ)境有關(guān),簡(jiǎn)言之,就是同當(dāng)前單元前后的若干其他基本單元的發(fā)音相關(guān)。例如,在“中國(guó)(zh-ongg-uo)”和“中央(zh-ong y-ang)”兩個(gè)詞中,由于后面所接的guo和yang發(fā)音不同,那么同一個(gè)基本單元(zh)ong的發(fā)音是不同的。
前面詳細(xì)分析了漢語(yǔ)語(yǔ)言的特點(diǎn),已經(jīng)指出漢語(yǔ)構(gòu)詞時(shí)音節(jié)之間的相對(duì)獨(dú)立性。本發(fā)明正是利用音節(jié)之間的相互獨(dú)立性來(lái)定義基本建模單元的上下文相關(guān)性。我們假設(shè)不同音節(jié)的發(fā)音之間是相互獨(dú)立的,聲母的發(fā)音只和處于同一個(gè)音節(jié)中右邊的韻母有關(guān),同時(shí)韻母的發(fā)音只和處于同一個(gè)音節(jié)中左邊的聲母相關(guān)。
這種上下文相關(guān)性定義,符合漢語(yǔ)發(fā)音的特點(diǎn),一方面可以比較準(zhǔn)確地刻畫(huà)音節(jié)內(nèi)部的協(xié)同發(fā)音現(xiàn)象,另一方面由于只需考慮單邊的語(yǔ)境,可以大大減少模型的數(shù)目。通過(guò)簡(jiǎn)單計(jì)算可知,如果同時(shí)考慮左右兩邊的語(yǔ)境(即triphone建模),那么模型的總個(gè)數(shù)為27×39×39+38×28×28+1=70860個(gè),根據(jù)我們的相關(guān)性定義(也就是Diphone建模),模型的總個(gè)數(shù)下降到27×38+38×27+1=2053個(gè)。模型數(shù)目縮減大大緩解了下一步模型訓(xùn)練和壓縮等各步驟的壓力,使模型更適合于嵌入式系統(tǒng)的使用。
3.以似然概率損失作為距離準(zhǔn)則,采用狀態(tài)聚類(lèi)的方法進(jìn)行模型參數(shù)的訓(xùn)練隱馬爾可夫模型(HMM)是語(yǔ)音識(shí)別中主流的建模方法。常用的從左到右的HMM的拓?fù)浣Y(jié)構(gòu)如圖2所示。其中各個(gè)狀態(tài)從左至右依次排列,狀態(tài)自身或不同狀態(tài)之間可以依據(jù)箭頭的指向按照一定概率跳轉(zhuǎn),每個(gè)狀態(tài)輸出附著一個(gè)概率密度函數(shù)(pdf)。
由于直接采用現(xiàn)有的訓(xùn)練數(shù)據(jù)集對(duì)所有的馬爾科夫模型的模型參數(shù)進(jìn)行估算有一定的困難,而且這樣訓(xùn)練出來(lái)的模型的參數(shù)數(shù)目也會(huì)比較多,模型占用的內(nèi)存量比較大,不能滿(mǎn)足在嵌入式設(shè)備中使用的需要。因此需要采用狀態(tài)聚類(lèi)的辦法,在不同模型的不同狀態(tài)之間進(jìn)行狀態(tài)輸出分布參數(shù)共享,從而減少模型參數(shù)數(shù)目并保證經(jīng)過(guò)共享的狀態(tài)輸出分布的模型參數(shù)都可以得到魯棒的參數(shù)估計(jì)。
狀態(tài)聚類(lèi)算法的過(guò)程如下首先,對(duì)模型狀態(tài)輸出分布進(jìn)行初始化。假設(shè)每個(gè)HMM都包含三個(gè)狀態(tài),它們分別對(duì)應(yīng)某個(gè)基本建模單元的語(yǔ)音觀測(cè)樣本的起始段、中間段和結(jié)束段。同一狀態(tài)所對(duì)應(yīng)的所有樣本構(gòu)成這個(gè)狀態(tài)的特征空間。初始的時(shí)候,使用兩個(gè)混合的高斯混合模型來(lái)描述HMM的各個(gè)狀態(tài)空間。對(duì)于觀測(cè)樣本數(shù)目小于一定閾值的狀態(tài),其特征空間使用方差值固定的高斯混合模型來(lái)描述。
此后,共享模型狀態(tài)的輸出分布。首先定義某個(gè)特定基本建模單元對(duì)應(yīng)的上下文相關(guān)音素模型(all-phone)對(duì)于某個(gè)特定的建模單元,由于此單元所處的上下文語(yǔ)境不同而產(chǎn)生的所有HMM都被稱(chēng)作是這個(gè)建模單元的上下文相關(guān)音素模型。例如,對(duì)于聲母b來(lái)講,b-a、b-an、b-o、b-u等都是b的上下文相關(guān)音素模型。在狀態(tài)聚類(lèi)過(guò)程中,只對(duì)同一建模單元的上下文相關(guān)音素模型中處在同一位置的不同狀態(tài)展開(kāi)聚類(lèi)。
下面結(jié)合圖3具體描述本發(fā)明的基于狀態(tài)聚類(lèi)的輸出分布共享的流程。
在步驟S31,計(jì)算任何兩個(gè)狀態(tài)之間進(jìn)行合并所造成的似然概率的損失。似然概率的損失是用以下的公式(1)計(jì)算Dis=Σk,k∈ClogP(ok)-Σk,k∈C1logP1(ok)-Σk,k∈C2logP2(ok)----(1)]]>如前所述,每個(gè)狀態(tài)的特征空間都使用兩個(gè)混合的高斯混合模型來(lái)描述,P(ok)表示這個(gè)特征空間上的觀測(cè)概率密度函數(shù),ok為輸入觀測(cè)樣本向量。C1和C2分別表示合并前的兩個(gè)狀態(tài)類(lèi),C表示由C1和C2合并以后的所生成的狀態(tài)類(lèi)。
在步驟S32,從步驟S31中計(jì)算過(guò)的所有可能的狀態(tài)合并集合中尋找似然概率損失最小的兩個(gè)狀態(tài)類(lèi)的合并。然后,在步驟S33,判斷這兩個(gè)狀態(tài)類(lèi)的樣本數(shù)目是否大于一個(gè)固定的閾值(M)。如果判斷結(jié)果為肯定,流程則轉(zhuǎn)到步驟S34,將此合并從上述合并的集合中刪除,并在此后返回到步驟S32。如果步驟S33的判斷結(jié)果為否定,即,如果這兩個(gè)狀態(tài)類(lèi)中至少有一個(gè)狀態(tài)類(lèi)的樣本數(shù)目小于該固定的閾值,則在步驟S35將這兩個(gè)狀態(tài)類(lèi)合并起來(lái)生成一個(gè)新的狀態(tài)類(lèi),新的狀態(tài)類(lèi)的特征空間重新用兩個(gè)混合的高斯混合模型進(jìn)行描述。此后,在步驟S36判斷每個(gè)狀態(tài)類(lèi)的對(duì)應(yīng)觀測(cè)樣本數(shù)目是否大于另一個(gè)固定的閾值。如果步驟S36的判斷結(jié)果為肯定,處理流程則進(jìn)行到步驟S37,采用K-Means聚類(lèi)算法對(duì)合并后的各狀態(tài)輸出分布的混合高斯模型進(jìn)行參數(shù)估計(jì)。相反,如果在步驟S36的判斷結(jié)果為否定,即,至少一個(gè)狀態(tài)的樣本數(shù)目不大于該閾值N,流程則返回到步驟S31,繼續(xù)求任意兩個(gè)狀態(tài)合并的似然概率損失。
圖4表示的是合并在一起的狀態(tài)類(lèi)的特征空間共享相同的輸出分布。此外,在上述狀態(tài)聚類(lèi)過(guò)程中,混合高斯模型的高斯混合數(shù)可以被預(yù)先設(shè)定為一個(gè)固定的值,也可以根據(jù)一定的準(zhǔn)則(例如BIC準(zhǔn)則)動(dòng)態(tài)確定。
4.采用子空間聚類(lèi)算法進(jìn)行聲學(xué)模型的壓縮采用狀態(tài)聚類(lèi)方法訓(xùn)練出來(lái)的聲學(xué)模型的體積通常比較大,直接使用于嵌入式系統(tǒng)中還是有一定的困難。因此本發(fā)明還包括了基于子空間聚類(lèi)的模型壓縮技術(shù),利用這種技術(shù),在基本不損失系統(tǒng)識(shí)別性能的前提下,可以把聲學(xué)模型的體積壓縮到原有大小的1/10~1/5。下面將參考圖5詳細(xì)描述這種模型壓縮技術(shù)的具體操作過(guò)程。
首先,在步驟S51定義子空間。在語(yǔ)音識(shí)別中,無(wú)論是識(shí)別和訓(xùn)練都要從語(yǔ)音中提取特征參數(shù),通常是多維向量,這些特征參數(shù)向量的所有可能取值構(gòu)成了一個(gè)原始多維特征空間。所謂“子空間”,是指一些最具有相關(guān)性的特征維組合在一起所生成的特征空間。子空間的劃分可以依據(jù)經(jīng)驗(yàn)法由人為劃定,也可以在原始特征空間上求出各維特征之間的相關(guān)系數(shù),把相關(guān)系數(shù)最大的某幾維特征組合在一起,構(gòu)成一個(gè)特征子空間。通過(guò)定義子空間,原始的特征空間被劃分成若干個(gè)特征子空間。
完成子空間的定義之后,在步驟S52對(duì)原始高斯模型進(jìn)行分解。建立在原始特征空間上的高斯混合模型中的每個(gè)高斯模型就可以表示為建立在各個(gè)子空間上的子高斯模型的乘積P(O)=ΣmMcm(Πk=1KNTied(Ok;μmk,σmk)----(2)]]>上面的公式(2)所表示的就是經(jīng)過(guò)原始特征空間的子空間分解后,當(dāng)原始特征空間的一個(gè)觀測(cè)樣本向量o輸入時(shí)的高斯混合模型的模型打分的P(O)計(jì)算公式。其中,M表示高斯混合模型的混合數(shù),K表示子空間的數(shù)目。NTied(Ok;μmk,σmk)是建立在第k個(gè)子空間上的子高斯模型。ok是觀測(cè)樣本向量o中對(duì)應(yīng)于第k個(gè)子空間的觀測(cè)樣本子向量,參數(shù){μmk,σmk}是原始高斯模型對(duì)應(yīng)于第k個(gè)子空間的子高斯模型參數(shù)。
此后,流程進(jìn)行到步驟S53,即在各個(gè)子空間上對(duì)分解得到的所有子高斯模型進(jìn)行聚類(lèi)。聚類(lèi)的結(jié)果將在每個(gè)子空間上生成一定數(shù)目的高斯碼本,識(shí)別系統(tǒng)最終的聲學(xué)模型就是由這些高斯碼本組合生成的。子高斯模型的聚類(lèi)過(guò)程主要由高斯碼本的初始化和高斯碼本的優(yōu)化更新這兩個(gè)環(huán)節(jié)構(gòu)成。
在步驟S53,進(jìn)行高斯碼本的初始化過(guò)程。在這一過(guò)程中采用LBG算法,對(duì)子空間上所有的原始子高斯模型進(jìn)行聚類(lèi),生成初始高斯碼本。具體操作如下首先生成一個(gè)高斯碼本中心,此中心的均值參數(shù)可以由所有子高斯模型的均值中心直接估算得到,其方差參數(shù)可由所有子高斯模型的方差直接計(jì)算平均值得到。完成高斯碼本中心的初始化之后,便開(kāi)始重復(fù)“二分法分裂-聚類(lèi)-碼本更新”的過(guò)程。在進(jìn)行二分法分裂時(shí),采用擾動(dòng)法把每一個(gè)原有的高斯碼本分裂成兩個(gè)新的高斯碼本。此后,將所有的訓(xùn)練樣本按分裂得到的碼本重新聚類(lèi),并計(jì)算每一類(lèi)的中心,由此得到新的碼本。這種“分裂-聚類(lèi)-碼本更新”的過(guò)程一直重復(fù)下去,直到碼本的數(shù)目達(dá)到預(yù)定值。在聚類(lèi)過(guò)程中,進(jìn)行子高斯模型的重新分類(lèi)時(shí),采用以下公式作為距離準(zhǔn)則,來(lái)衡量任何一個(gè)子高斯模型到高斯碼本中心的距離。通常子高斯模型被劃分到距離它最近的高斯中心所代表的高斯類(lèi)中去。
Dbhat=18(μ2-μ1)T[Σ1+Σ22]-1(μ2-μ1)T+12ln|Σ1+Σ22||Σ1Σ2|----(3)]]>公式(3)中所表示的距離為高斯模型N{μ1∑1}到N{μ2,∑2}之間的距離。
在完成高斯碼本的初始化之后,還要在步驟S54對(duì)初始高斯碼本進(jìn)行優(yōu)化更新過(guò)程。這一過(guò)程就是采用廣義K-means聚類(lèi)算法對(duì)各個(gè)子空間的高斯碼本進(jìn)行重新優(yōu)化。優(yōu)化時(shí)按照公式(3)進(jìn)行子高斯模型的重新劃分,并按照下面的公式(4)和(5)進(jìn)行高斯模型碼本中心的更新μ=n1μ1+n2μ2n1+n2----(4)]]>Σ=n1(μ1-μ)T(μ1-μ)+n2(μ2-μ)T(μ2-μ)n1+n2+n1Σ1+n2Σ2n1+n2----(5)]]>式中{μ,∑}表示更新后的高斯模型的均值方差參數(shù),{μ1,∑1}和{μ2,∑2}表示參加聚類(lèi)的兩個(gè)子高斯模型的模型參數(shù),n1和n2是估算這兩個(gè)高斯分布時(shí)的樣本個(gè)數(shù)。
需要注意的是,在模型壓縮的各個(gè)階段,都沒(méi)有原始語(yǔ)音訓(xùn)練樣本參與,因而與以往的子空間模型壓縮方法相比,本發(fā)明提出的方法使用起來(lái)更靈活、更方便。
本發(fā)明主要應(yīng)用于一些嵌入式設(shè)備的語(yǔ)音識(shí)別系統(tǒng)中。其主要功能是在減少聲學(xué)模型體積的同時(shí),保持原有的語(yǔ)音識(shí)別系統(tǒng)的識(shí)別性能,從而即使在內(nèi)存容量非常小的嵌入式設(shè)備的使用場(chǎng)合中,使高精度的語(yǔ)音識(shí)別系統(tǒng)的構(gòu)建成為可能。
下面將比較本發(fā)明中的模型訓(xùn)練方法與通用的模型算法的性能,從而說(shuō)明本發(fā)明的有效性。
1)連續(xù)語(yǔ)音音節(jié)識(shí)別本試驗(yàn)的主要目的是為了比較本發(fā)明專(zhuān)利中的聲學(xué)模型訓(xùn)練方法與常見(jiàn)聲學(xué)模型訓(xùn)練方法所訓(xùn)練出的模型在模型精度方面的差異。
訓(xùn)練數(shù)據(jù)是863訓(xùn)練數(shù)據(jù)集的83個(gè)男性錄音人。測(cè)試數(shù)據(jù)是863測(cè)試集的標(biāo)準(zhǔn)測(cè)試男聲240句話的測(cè)試語(yǔ)音數(shù)據(jù)。聲學(xué)模型分別采用本發(fā)明中的建模方法訓(xùn)練出的Diphone模型和常見(jiàn)的基于決策樹(shù)的方法訓(xùn)練出的Triphone模型,試驗(yàn)結(jié)果如下表1 Diphone模型和Triphone模型在連續(xù)音節(jié)識(shí)別時(shí)的模型精度比較
2)手機(jī)人名識(shí)別本試驗(yàn)的主要目的是為了測(cè)試本發(fā)明所提出的聲學(xué)模型訓(xùn)練算法所訓(xùn)練出的聲學(xué)模型在一個(gè)人名識(shí)別任務(wù)中的識(shí)別性能。聲學(xué)模型分別采用本發(fā)明專(zhuān)利中的建模方法訓(xùn)練出的經(jīng)過(guò)壓縮后的Diphone模型和常見(jiàn)的基于決策樹(shù)的方法訓(xùn)練出的Triphone模型。訓(xùn)練數(shù)據(jù)仍然是863訓(xùn)練數(shù)據(jù)集的83個(gè)男性錄音人。而測(cè)試數(shù)據(jù)變?yōu)閷?shí)驗(yàn)室環(huán)境下錄制的10人的2500個(gè)人名。
表2 Diphone模型和Triphone模型在人名識(shí)別時(shí)的模型精度比較
3)模型體積比較由于在嵌入式設(shè)備中,內(nèi)存容量非常的小。因此除了單純的模型精度的指標(biāo)之外,模型的大小也是衡量系統(tǒng)性能的一個(gè)綜合的指標(biāo)。
在達(dá)到表2中的結(jié)果時(shí),本發(fā)明的Diphone模型的占用內(nèi)存大小為常用的Triphone模型的1/10。
4)狀態(tài)聚類(lèi)在Diphone模型的構(gòu)建中的作用在生成Diphone模型的時(shí)候,基于狀態(tài)聚類(lèi)的Diphone模型要比基于決策樹(shù)的Diphone模型有更高的模型精度。表3給出基于狀態(tài)聚類(lèi)的Diphone系統(tǒng)和基于決策樹(shù)的Diphone系統(tǒng)在連續(xù)音節(jié)識(shí)別中的識(shí)別率表3基于狀態(tài)聚類(lèi)的Diphone與基于決策樹(shù)的Diphone的模型精度比較
5)基于子空間聚類(lèi)的模型壓縮技術(shù)在減少內(nèi)存方面的貢獻(xiàn)如果每?jī)删S特征組合在一起構(gòu)成一個(gè)特征子空間,那么整個(gè)特征空間可以被劃分成D/2個(gè)特征子空間,這里D表示原始特征空間的維數(shù)。假設(shè)每個(gè)特征子空間采用125個(gè)子高斯模型碼本,那么整個(gè)聲學(xué)模型的大小可以減少為原來(lái)的1/5-1/10。那么這種經(jīng)過(guò)壓縮以后的聲學(xué)模型的模型精度損失可以從下表的試驗(yàn)結(jié)果得出表4基于子空間聚類(lèi)的模型壓縮技術(shù)對(duì)系統(tǒng)性能的影響
從以上的試驗(yàn)數(shù)據(jù)可以看出,采用本發(fā)明的聲學(xué)建模方法與常用的triphone相比,連續(xù)音節(jié)識(shí)別時(shí)的識(shí)別率僅有微小的降低,但其體積卻大大減小。另外,通過(guò)上面表3和4中所列舉的數(shù)據(jù)可以看出,本發(fā)明采用的聚類(lèi)和模型壓縮技術(shù)對(duì)語(yǔ)音識(shí)別準(zhǔn)確率的影響幾乎可以忽略,而其聲學(xué)模型的體積僅為原來(lái)的1/5-1/10,極大地節(jié)省了存儲(chǔ)空間。非常適合應(yīng)用于諸如嵌入式設(shè)備等內(nèi)存較小的設(shè)備。
上面描述的方法可以通過(guò)硬件或軟件來(lái)實(shí)現(xiàn)。執(zhí)行該方法的程序可記錄在諸如軟盤(pán),硬盤(pán),CD-ROM,DVD-ROM之類(lèi)的計(jì)算機(jī)可讀的記錄介質(zhì)上。
雖然參考特定的實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,本發(fā)明并不局限于此,而僅由所附權(quán)利要求限定,本領(lǐng)域技術(shù)人員在不脫離本發(fā)明精神的情況下可對(duì)本發(fā)明的實(shí)施例進(jìn)行各種改變和改進(jìn)。
權(quán)利要求
1.一種漢語(yǔ)語(yǔ)音識(shí)別建模方法,包括步驟(a)將漢語(yǔ)語(yǔ)音的聲母與緊鄰其右側(cè)的韻母相關(guān),而韻母與緊鄰其左側(cè)的聲母相關(guān),創(chuàng)建上下文相關(guān)的基本建模單元;(b)利用狀態(tài)聚類(lèi)法對(duì)模型的參數(shù)進(jìn)行訓(xùn)練,以得到初始隱馬爾可夫(HMM)模型;和(c)利用子空間聚類(lèi)算法對(duì)初始隱馬爾可夫模型進(jìn)行壓縮,以產(chǎn)生最終模型。
2.根據(jù)權(quán)利要求1所述的其中所述的漢語(yǔ)語(yǔ)音識(shí)別建模方法,步驟(b)進(jìn)一步包括步驟(b1)計(jì)算任何兩個(gè)狀態(tài)之間進(jìn)行合并所造成的似然概率的損失;(b2)從步驟b1中計(jì)算過(guò)的所有可能的狀態(tài)合并集合中尋找似然概率損失最小的兩個(gè)狀態(tài)類(lèi)的合并;(b3)判斷這兩個(gè)狀態(tài)類(lèi)的樣本數(shù)目是否大于一個(gè)固定的閾值;(b4)如果在步驟(b3)中判斷樣本數(shù)目大于一個(gè)固定的閾值,將此合并從上述合并的集合中刪除;如果這兩個(gè)狀態(tài)類(lèi)中至少有一個(gè)狀態(tài)類(lèi)的樣本數(shù)目小于該固定的閾值,則將這兩個(gè)狀態(tài)類(lèi)合并起來(lái)生成一個(gè)新的狀態(tài)類(lèi),新的狀態(tài)類(lèi)的特征空間重新用兩個(gè)混合的高斯混合模型進(jìn)行描述;(b5)判斷每個(gè)狀態(tài)類(lèi)的樣本數(shù)目是否大于另一個(gè)固定的閾值,如果大于所述另一個(gè)固定閾值,則采用K-Means聚類(lèi)算法對(duì)合并后的各狀態(tài)輸出分布的混合高斯模型進(jìn)行參數(shù)估計(jì);如果至少一個(gè)狀態(tài)的樣本數(shù)目不大于所述另一個(gè)固定閾值,則返回到步驟(b1)。
3.根據(jù)權(quán)利要求2所述的漢語(yǔ)語(yǔ)音識(shí)別建模方法,其中所述混合高斯模型的高斯混合數(shù)可以被預(yù)先設(shè)定為一個(gè)固定的值,也可以動(dòng)態(tài)確定。
4.根據(jù)權(quán)利要求1所述的漢語(yǔ)語(yǔ)音識(shí)別建模方法,其中步驟(c)采用LBG算法的對(duì)原始模型進(jìn)行聚類(lèi)以生成初始的高斯碼本。
5.根據(jù)權(quán)利要求4所述的漢語(yǔ)語(yǔ)音識(shí)別建模方法,其中步驟(c)還包括采用K-Means聚類(lèi)算法對(duì)高斯碼本進(jìn)行優(yōu)化并生成最終的高斯碼本。
6.根據(jù)權(quán)利要求1所述的漢語(yǔ)語(yǔ)音識(shí)別建模方法,其中步驟(c)還包括步驟從語(yǔ)音中提取特征參數(shù),組合最具有相關(guān)性的特征維以生成子空間;對(duì)原始特征空間上的高斯混合模型中的每個(gè)高斯模型進(jìn)行子空間分解以得到子高斯模型參數(shù);在各個(gè)子空間上對(duì)分解得到的所有子高斯模型進(jìn)行聚類(lèi),以便在每個(gè)子空間上生成具有特定數(shù)目的高斯碼本;組合所得到的高斯碼本以生成最終的聲學(xué)模型。
7.根據(jù)權(quán)利要求6所述的漢語(yǔ)語(yǔ)音識(shí)別建模方法,其中子高斯模型的聚類(lèi)步驟還包括對(duì)子空間上的所有原始子高斯模型進(jìn)行聚類(lèi)以生成初始高斯碼本的步驟。
8.根據(jù)權(quán)利要求所述6的漢語(yǔ)語(yǔ)音識(shí)別建模方法,其中子高斯模型的聚類(lèi)步驟還包括在完成高斯碼本中心的初始化之后,進(jìn)行二分法分裂以便把每一個(gè)原有的高斯碼本分裂成兩個(gè)新的高斯碼本的步驟。
9.一種計(jì)算機(jī)可讀記錄介質(zhì),用于存儲(chǔ)執(zhí)行漢語(yǔ)語(yǔ)音識(shí)別建模方法的程序,所述方法包括步驟(a)將漢語(yǔ)語(yǔ)音的聲母與緊鄰其右側(cè)的韻母相關(guān),而韻母與緊鄰其左側(cè)的聲母相關(guān),創(chuàng)建上下文相關(guān)的基本建模單元;(b)利用狀態(tài)聚類(lèi)法對(duì)模型的參數(shù)進(jìn)行訓(xùn)練,以得到初始隱馬爾可夫(HMM)模型;和(c)利用子空間聚類(lèi)算法對(duì)初始隱馬爾可夫模型進(jìn)行壓縮,以產(chǎn)生最終模型。
全文摘要
一種上下文相關(guān)的漢語(yǔ)語(yǔ)音識(shí)別建模方法,基于漢語(yǔ)的語(yǔ)言特點(diǎn),采用聲母右相關(guān)和韻母左相關(guān)的建模方法,包括步驟(a)將漢語(yǔ)語(yǔ)音的聲母與緊鄰其右側(cè)的韻母相關(guān),而韻母與緊鄰其左側(cè)的聲母相關(guān),創(chuàng)建上下文相關(guān)的基本建模單元;(b)利用狀態(tài)聚類(lèi)法對(duì)模型的參數(shù)進(jìn)行訓(xùn)練,以得到初始隱馬爾可夫模型(HMM);(c)利用子空間聚類(lèi)算法對(duì)初始隱馬爾可夫模型進(jìn)行壓縮,以產(chǎn)生最終模型。
文檔編號(hào)G10L15/00GK1655232SQ20041000413
公開(kāi)日2005年8月17日 申請(qǐng)日期2004年2月13日 優(yōu)先權(quán)日2004年2月13日
發(fā)明者賈磊, 馬龍 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社