專利名稱:使用切換狀態(tài)空間模型的多模變分推導(dǎo)的語音識別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及模式識別,尤其涉及語音識別。
背景技術(shù):
模式識別系統(tǒng),例如語音識別系統(tǒng),接受輸入信號并試圖對該信號進(jìn)行解碼以找到該信號所表征的模式。例如,在語音識別系統(tǒng)中,語音信號(通常被稱為測試信號)由識別系統(tǒng)接收并解碼以標(biāo)識該語音信號表征的單詞串。
許多語音識別系統(tǒng)使用隱含馬爾可夫模型,其中語音單元,也被稱為聲學(xué)單元或語音單元,由單層連接狀態(tài)所表征。使用訓(xùn)練信號,對每個語音單元確定占據(jù)狀態(tài)以及狀態(tài)間轉(zhuǎn)移的概率分布。為了解碼語音信號,該信號被劃分成幀,而每個幀被變換成特征矢量。特征矢量然后被用來和狀態(tài)的分布進(jìn)行比較,以標(biāo)識可以由該幀表征的最可能的HMM狀態(tài)序列。然后選擇對應(yīng)這個序列的語音單元。
雖然基于HMM的識別系統(tǒng)在許多相對簡單的語音識別任務(wù)中表現(xiàn)良好,但是它們沒有直接為語音的某些重要動態(tài)方面建模(并且眾所周知,對諸如對話語音這樣的較難任務(wù)表現(xiàn)不好)。結(jié)果是,它們不能適應(yīng)用來訓(xùn)練的語音信號和被解碼的語音信號之間的動態(tài)清晰度差異。
HMM系統(tǒng)的替代已經(jīng)被提出。具體地說,已經(jīng)建議語音信號的統(tǒng)計定義軌跡或生成相關(guān)參數(shù)的行為應(yīng)該被直接建模。由于生成相關(guān)值不能被直接測量,這些模型被稱為隱含動態(tài)模型(HDM)。隱含動態(tài)模型是被稱為切換狀態(tài)空間模型的一類模型的一個例子,切換狀態(tài)空間模型提供兩種類型的隱含狀態(tài)。兩種隱含狀態(tài)形成兩個一階馬爾可夫鏈,其中,連續(xù)鏈在離散鏈上調(diào)節(jié)。
切換狀態(tài)空間模型的一個問題是難以訓(xùn)練它們,因為諸如期望值最大化算法這樣的普通訓(xùn)練算法對切換狀態(tài)空間模型變得難以處理。具體地說,隨著語音信號每個幀的增加,這個計算量以指數(shù)級上升。
所以,需要一種使切換狀態(tài)空間模型的參數(shù)可以被有效訓(xùn)練的訓(xùn)練系統(tǒng)。
發(fā)明內(nèi)容
一種為切換狀態(tài)空間模型設(shè)置后驗概率參數(shù)的方法以定義包含幀序列中至少兩個但少于幀序列中所有幀的窗開始。為窗中每個幀確定單獨的后驗概率參數(shù)。然后該窗被移位,使得它包括幀序列中一個或多個后續(xù)幀。然后為移位后的窗中的每個幀確定單獨的后驗概率參數(shù)。
在本發(fā)明的另一個方面,切換狀態(tài)空間模型的模型參數(shù)被存儲,而語音信號被轉(zhuǎn)化為一組觀測矢量,其中每個矢量和語音信號的單獨幀相關(guān)聯(lián)。對語音信號的每個幀,該幀中離散隱含狀態(tài)的每個路徑的路徑分?jǐn)?shù)被確定。該路徑分?jǐn)?shù)然后用于選擇該幀中每一離散隱含狀態(tài)中的單個路徑。
圖1是可以在其中實現(xiàn)本發(fā)明的一個計算環(huán)境的框圖。
圖2是可以在其中實現(xiàn)本發(fā)明的另一個計算環(huán)境的框圖。
圖3是在本發(fā)明的實施例中使用重疊窗設(shè)置后驗概率參數(shù)的方法的流程圖。
圖4是示出在本發(fā)明的實施例中的重疊窗的示意圖。
圖5是在本發(fā)明的一個實施例中的語音識別系統(tǒng)的框圖。
具體實施例方式
圖1示出可以在其中實現(xiàn)本發(fā)明的合適的計算系統(tǒng)環(huán)境100的例子。計算系統(tǒng)環(huán)境100只是合適的計算環(huán)境的一個例子,但不意味著是本發(fā)明的使用范圍或功能的任何局限。計算環(huán)境100也不應(yīng)該被解釋為對示例性操作環(huán)境100中所示的任何一個組件或組件的組合有任何依賴或要求。
本發(fā)明在許多其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置上可以運(yùn)作。適合使用本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于,個人計算機(jī)、服務(wù)器計算機(jī)、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型機(jī)、大型計算機(jī)、電話系統(tǒng)、包括任何上述系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
本發(fā)明可以在例如由計算機(jī)執(zhí)行的程序模塊等計算機(jī)可執(zhí)行的指令的通用上下文中被描述。一般而言,程序模塊包括完成特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。本發(fā)明被設(shè)計成在由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備完成任務(wù)的分布式計算環(huán)境中實現(xiàn)。在分布式計算環(huán)境中,程序模塊可以處在本地和遠(yuǎn)程計算機(jī)存儲媒質(zhì)兩者中,包括內(nèi)存存儲器設(shè)備。
參考圖1,實現(xiàn)本發(fā)明的示例性系統(tǒng)包括計算機(jī)110形式的通用計算設(shè)備。計算機(jī)110的組件可以包括但不限于,處理單元120、系統(tǒng)存儲器130和把包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件耦合到處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干類型總線結(jié)構(gòu)中的任一種,包括存儲器總線或存儲器控制器、外圍總線和使用任何一種總線體系結(jié)構(gòu)的局部總線。作為例子但不是限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(VESA)局部總線和外設(shè)部件互連(PCI)總線即Mezzanine總線。
計算機(jī)110通常包括各種計算機(jī)可讀媒質(zhì)。計算機(jī)可讀媒質(zhì)可以是可以由計算機(jī)110訪問的任何可用媒質(zhì),包括易失和非易失媒質(zhì)、可移動和不可移動媒質(zhì)。作為例子但不是限制,計算機(jī)可讀媒質(zhì)可以包括計算機(jī)存儲媒質(zhì)和通信媒質(zhì)。計算機(jī)存儲媒質(zhì)包括以任何方法或技術(shù)實現(xiàn)來存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信息的易失和非易失、可移動和不可移動媒質(zhì)。計算機(jī)存儲媒質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲器、磁盒、磁帶、磁盤存儲器或其它磁存儲設(shè)備、或其它任何可以用來存儲所需信息并可以由計算機(jī)110訪問的媒質(zhì)。通信媒質(zhì)通常在諸如載波或其它傳輸機(jī)制這樣的已調(diào)制數(shù)據(jù)信號中包含計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任何信息傳遞媒質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指其一個或多個特征以在信號中編碼信息的方式被設(shè)置或改變的信號。作為例子但不是限制,通信媒質(zhì)包括諸如有線網(wǎng)絡(luò)或直接有線連接這樣的有線媒質(zhì),和諸如聲學(xué)、射頻、紅外或其它無線媒質(zhì)這樣的無線媒質(zhì)。上面任何媒質(zhì)的組合也應(yīng)該被包括在計算機(jī)可讀媒質(zhì)的范圍內(nèi)。
系統(tǒng)存儲器130包括易失和/或非易失存儲器形式的計算機(jī)存儲媒質(zhì),例如只讀存儲器(ROM)131和隨機(jī)存取存儲器(RAM)132。基本輸入/輸出系統(tǒng)133(BIOS),包含有例如在啟動時幫助在個人計算機(jī)110中的元件之間傳輸信息的基本例程,被存儲在ROM 131中。RAM 132通常包含處理單元120立刻可以訪問和/或正在操作的數(shù)據(jù)和/或程序模塊。作為例子但不是限制,圖1示出操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機(jī)110也可以包括其它可移動/不可移動、易失/非易失計算機(jī)存儲媒質(zhì)。只是作為例子,圖1示出對不可移動、非易失磁媒質(zhì)進(jìn)行讀寫的硬盤驅(qū)動器141、對可移動、非易失磁盤152進(jìn)行讀寫的磁盤驅(qū)動器151和對諸如CD-ROM或其它光媒質(zhì)這樣的可移動、非易失光盤156進(jìn)行讀寫的光盤驅(qū)動器155??梢员挥迷谑纠圆僮鳝h(huán)境的其它計算機(jī)存儲媒質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常通過接口140這樣的不可移動存儲接口被連接到系統(tǒng)總線121,而磁盤驅(qū)動151和光盤驅(qū)動155通常通過接口150這樣的可移動存儲接口被連接到系統(tǒng)總線121。
如上所述如圖1所示的驅(qū)動和它們的關(guān)聯(lián)計算機(jī)存儲媒質(zhì),為計算機(jī)110提供計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖1中,示出硬盤驅(qū)動器141存儲操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以和操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同或不同。操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147在這里被給以不同標(biāo)號來說明它們至少是不同的拷貝。
用戶可以通過諸如鍵盤162、麥克風(fēng)163和定點設(shè)備161(例如是指鼠標(biāo)、跟蹤球或觸摸板)這樣的輸入設(shè)備向計算機(jī)110輸入命令和信息。其它輸入設(shè)備(未示出)可以包括操縱桿、游戲墊、圓盤式衛(wèi)星天線和掃描儀等。這些和其它輸入設(shè)備通常通過被耦合到系統(tǒng)總線的用戶輸入接口160被連接到處理單元120,但也可以通過其它接口和總線結(jié)構(gòu)被連接,例如并行端口、游戲端口或通用串行總線(USB)。顯示器191或其它類型的顯示設(shè)備也通過視頻接口190這樣的接口被連接到系統(tǒng)總線121。除了顯示器之外,計算機(jī)也可以包括其它外圍輸出設(shè)備,例如揚(yáng)聲器197和打印機(jī)196,它們可以通過輸出外圍接口195被連接。
計算機(jī)110可以在使用邏輯連接到一個或多個遠(yuǎn)程計算機(jī),例如遠(yuǎn)程計算機(jī)180的連網(wǎng)環(huán)境中操作。遠(yuǎn)程計算機(jī)180可以是個人計算機(jī)、手持設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它普通的網(wǎng)絡(luò)節(jié)點,并通常包括上面相對計算機(jī)110描述的許多或全部元件。圖1中描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可以包括其它網(wǎng)絡(luò)。這些聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)和因特網(wǎng)中很常見。
當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)110通過網(wǎng)絡(luò)接口或適配器170被連接到LAN 171。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)110通常包括調(diào)制解調(diào)器172或通過諸如因特網(wǎng)這樣的WAN 173建立通信的其它裝置。調(diào)制解調(diào)器172,可以是內(nèi)置的或外置的,可以通過用戶輸入接口160或其它合適機(jī)制被連接到系統(tǒng)總線121。在聯(lián)網(wǎng)環(huán)境中,相對計算機(jī)110描述的程序模塊或其中一部分可以被存儲在遠(yuǎn)程存儲器存儲設(shè)備中。作為例子但不是限制,圖1示出遠(yuǎn)程應(yīng)用程序185駐留在存儲設(shè)備181中??梢岳斫?,所示網(wǎng)絡(luò)連接是示例性的,而在計算機(jī)之間建立通信鏈路的其它裝置也可以被使用。
圖2是移動設(shè)備200的框圖,它是一個示例性計算環(huán)境。移動設(shè)備200包括微處理器202、存儲器204、輸入/輸出(I/O)組件206以及與遠(yuǎn)程計算機(jī)或其它移動設(shè)備通信的通信接口208。在一個實施例中,上述組件被耦合,以通過合適的總線210相互通信。
存儲器204被實現(xiàn)為諸如隨機(jī)存取存儲器(RAM)等具有電池備份模塊(未示出)的非易失電子存儲器,使得存儲在存儲器204的信息在移動設(shè)備200的總電源關(guān)閉時不會丟失儲器204的一部分較佳地被分配為可尋址存儲器用于程序執(zhí)行,存儲器204的另外一部分較佳地被用作存儲,比如模擬盤驅(qū)動器上的存儲。
存儲器204包括操作系統(tǒng)212、應(yīng)用程序214和對象存儲216。在操作中,較佳地由處理器202從內(nèi)存204中執(zhí)行操作系統(tǒng)212。在一個較佳實施例中,操作系統(tǒng)212為可從微軟公司購買的WindowsCE商標(biāo)操作系統(tǒng)。操作系統(tǒng)212較佳地被設(shè)計成用于移動設(shè)備,并實現(xiàn)可由應(yīng)用程序214通過一組所展現(xiàn)的應(yīng)用編程接口和方法來使用的數(shù)據(jù)庫特征。對象存儲216中的對象至少部分地響應(yīng)于對所展現(xiàn)的應(yīng)用編程接口和方法的調(diào)用,由應(yīng)用程序214和操作系統(tǒng)212維護(hù)。
通信接口208表示允許移動設(shè)備200發(fā)送和接收信息的眾多設(shè)備和技術(shù)。僅舉幾個例子,這些設(shè)備包括有線和無線調(diào)制解調(diào)器、衛(wèi)星接收器和廣播調(diào)諧器。移動設(shè)備200也可以被直接連接到計算機(jī)以與其交換數(shù)據(jù)。在這種情況下,通信接口208可以是紅外收發(fā)器或串行或并行通信連接,它們每個都可以傳輸流信息。
輸入/輸出組件206包括各種輸入設(shè)備,例如觸敏屏幕、按鈕、滾軸和麥克風(fēng),也包括各種輸出設(shè)備,例如音頻發(fā)生器、振動裝置和顯示器。上面列出的設(shè)備都作為例子,而不需要在移動設(shè)備200中都出現(xiàn)。另外,在本發(fā)明范圍內(nèi),其它輸入/輸出設(shè)備也可以在移動設(shè)備200上附加或出現(xiàn)。
本發(fā)明提供語音的生成模型。在這個模型下,語音被表示為說話人在語音學(xué)上實現(xiàn)語音單元序列的語言定義的嘗試的輸出。在這個嘗試期間,說話人產(chǎn)生遵循向著和當(dāng)前語音單元相關(guān)聯(lián)的目標(biāo)統(tǒng)計定義的軌跡(使用具有遞歸噪聲的狀態(tài)-空間公式表示)的生成相關(guān)值。在本發(fā)明的實施例下,這個軌跡被模型化為切換狀態(tài)-空間模型。
本發(fā)明的模型是隱含軌跡模型的具體形式,其中該軌跡以在每個幀上增加的噪聲來遞歸定義。這個切換狀態(tài)-空間模型有兩種類型的隱含變量(也被稱為狀態(tài))離散的和連續(xù)的。狀態(tài)被認(rèn)為是隱含的,因為它們不能被直接測量。每種類型的隱含狀態(tài)形成一馬爾可夫鏈,其中,連續(xù)的隱含狀態(tài)鏈在離散的隱含狀態(tài)鏈上調(diào)節(jié)。
這兩種不同類型的隱含狀態(tài)產(chǎn)生包括兩層的模型描述隱含連續(xù)的生成相關(guān)參數(shù)(例如聲道共振頻率)的動態(tài)或軌跡模型分量,和把生成相關(guān)參數(shù)轉(zhuǎn)化為諸如梅爾頻率倒譜系數(shù)這樣的可觀測聲學(xué)特征的映射模型分量。狀態(tài)-空間模型中的狀態(tài)方程預(yù)測生成相關(guān)參數(shù)的連續(xù)狀態(tài)值序列(x1,...,xn,...,xN)。映射模型或觀測方程預(yù)測給定連續(xù)隱含狀態(tài)值時的聲學(xué)觀測矢量序列yn。
遞歸定義的軌跡和映射模型可以簡潔地用兩個等式表示xn=Asxn-1+as+w 等式1yn=Csxn+cs+v等式2其中n是幀數(shù)下標(biāo),s是隱含離散狀態(tài),它表示語音單元,x是隱含生成相關(guān)狀態(tài),y是聲學(xué)特征矢量,As和Cs是語音單元相關(guān)系統(tǒng)矩陣,as是語音單元相關(guān)控制輸入(它可以等價地表示為語音單元相關(guān)目標(biāo)),cs是語音單元相關(guān)常數(shù),而w和v是高斯噪聲項。
在一個實施例下,等式1和2的模型按照概率分布來表示p(sn=s|sn-1=s′)=πss′等式3p(xn|sn=s,xn-1)=N(xn|Asxn-1+as,Bs) 等式4p(yn|sn=s,xn)=N(yn|Csxn+cs,Ds) 等式5其初始條件為p(s0=s)=πs0]]>p(x0|s0=s)=N(x0|as0,Bs0)]]>其中Bs、Bs0和Ds是精度矩陣(協(xié)方差矩陣的逆),它們都基于和噪聲項w和v相關(guān)聯(lián)的方差。
一般而言,訓(xùn)練等式3-5的模型參數(shù)需要一個迭代的兩步驟過程。第一個步驟被稱為推導(dǎo),在這期間,后驗概率p(s1:N,x1:N|y1:N)在給定一組初始模型參數(shù)時被算出。在第二個步驟期間,被稱為學(xué)習(xí)或參數(shù)估算,模型參數(shù)被更新。這些步驟被重復(fù),直到模型參數(shù)收斂或達(dá)到某個最大迭代次數(shù)。在進(jìn)行廣義的期望值最大化訓(xùn)練時,E-步驟是推導(dǎo)步驟而M-步驟是學(xué)習(xí)步驟。
等式3-5的模型的推導(dǎo)步驟不能直接完成,因為后驗計算是難以處理的。本發(fā)明的一個實施例通過使用HMM后驗來逼近后驗分布,從而克服這個問題。具體地,后驗p(s1:N,x1:N|y1:N)使用如下定義的HMM后驗來逼近q(s1:N,x1:N|y1:N)=Πn=1Nq(xn|sn,y1:N)·q(sn|sn-1,y1:N)·q(x0|s0,y1:N)q(s0|y1:N)]]>等式6通過最小化逼近和實際后驗分布之間的偏差,發(fā)明人已經(jīng)發(fā)現(xiàn)概率q(xn|sn,y1:N)遵循高斯分布q(xn|sn,y1:N)=N(xn|ρs,nГs,n)等式7其中均值ρs,n和精度Гs,n是由下式給出Γs,n=CsTDsCs+Bs+Σs′ηs′s,n+1As′TBs′As′]]>等式8Γs,nρs,n=Bs(AsΣs′η‾s′s,n-1ρs′,n-1+as)]]>+Σs′ηs′s,n+1As′TBs′(ρs′,n+1-as′)]]>公式9+CsTDs(yn-cs)]]>其中ηs′s,n-1是給定時間n的狀態(tài)s時,從時間n-1的狀態(tài)s′轉(zhuǎn)移到時間n的狀態(tài)s的后驗轉(zhuǎn)移概率ηs′s,n-1=q(sn-1=s′|sn=s,y1:N),而ηs′s,n+1是從時間n的狀態(tài)s轉(zhuǎn)移到時間n+1的狀態(tài)s′的后驗轉(zhuǎn)移概率ηs′s,n+1=q(sn-1=s′|sn=s,y1:N)。
后驗轉(zhuǎn)移概率用為n=N,...,1描述的后向傳遞來遞歸計算zs,n=Σs′exp(fss′,n)zs′,n+1]]>等式10ηss′,n=1zs,nexp(fss′,n)zs′,n+1]]>等式11對n=0z0=Σsexp(fs,0)zs,1]]>等式12其中fs′s,n=12{log|Ds2π|-<CsTDsCs,Γs,n-1+ρs,nρs,nT>-2(cs-yn)TDsCsρs,n-(cs-yn)TDs(cs-yn)]]>-log|Γs,n2π|+<Γs,n,Γs,n-1+ρs,nρs,nT>-ρs,nTΓs,nρs,n+log|Bs2π|]]>-<AsTBsAs,Γs′,n-1+ρs′,n-1ρs′,n-1T>-2(as-ρs,n)TBsAsρs′,n-1-<Bs,Γs,n-1+ρs,nρs,nT>]]>+2asTBsρs,n-asTBsas+2logπs′s}]]>
等式13fs,0=12{log|Ds2π|-<CsTDsCs,(Bs0)-1+as0(as0)T>]]>-log|(Bs0)-12π|+<Bs0,(Bs0)-1+as0(as0)T>-(as0)TBs0as0+log|Bs2π|]]>等式14-<Bs,(Bs0)-1+as0(as0)T>+2asTBsas0-asTBsas+2logπs0}]]>其中< >表示通過累加兩個等尺寸的矢量或矩陣的元素范圍乘積而得到的標(biāo)量,s′是總和的語音單元的下標(biāo)。
因為等式9中當(dāng)前ρs,n的計算取決于上一時間點n-1的ρs,n-1和下一時間點n+1的ρs,n+1,所以覆蓋全部幀的ρs,n的值的一組聯(lián)立方程的解對計算這些值是需要的。這通常通過將這組聯(lián)立方程組織成矩陣形式并進(jìn)行矩陣求逆來完成。這個計算有O((NS)3)級的復(fù)雜度,其中N是時間點的數(shù)量,而S是每個時間點可能的狀態(tài)的數(shù)量。對任何合理的語音信號,這個計算都變得太費(fèi)時間而不能夠在實際系統(tǒng)中實現(xiàn)。
在本發(fā)明中,降低這個計算的復(fù)雜度的方法在圖3的流程圖中被示出。在圖3的步驟300,模型參數(shù)的初始值被存儲。這些初始值可以被隨機(jī)設(shè)置或基于給定共振峰的已知特征以及共振峰和觀測矢量的期望關(guān)系時的合理估算被設(shè)置。在步驟301,語音信號幀被轉(zhuǎn)換成觀測矢量。在步驟302,對語音信號的每個幀,使用快速共振峰跟蹤器來建立ρs,n的初始估算。注意,在時間點n的每個初始ρs,n對所有狀態(tài)s都相同。本實施例基于隱含生成相關(guān)參數(shù)是與共振峰相似的聲道共振值的假設(shè),為初始估計使用共振峰跟蹤器。在隱含生成相關(guān)參數(shù)是不同類型的值時,不同的技術(shù)可以用來估算ρs,n的初始值。
在步驟303,使用ρs,n的初始值,以利用等式10-12來確定后驗轉(zhuǎn)移概率。一旦轉(zhuǎn)移概率已經(jīng)被確定,在步驟304,從語音信號的第二幀開始,選擇語音信號的M幀的窗,其中M小于總幀數(shù)N。圖4示出包括幀402、404、406和408的窗400的例子。在步驟306,為在M幀的窗內(nèi)的每個幀n的每個狀態(tài)計算Гs,n和ρs,n。為了進(jìn)行這個計算,需要在窗前的幀和在窗后的幀的ρs,n的值。對第一個窗,這兩個值都從由共振峰跟蹤器產(chǎn)生的ρs,n的初始估算取得。對第一個窗后面的每個窗,在窗前的幀的ρs,n的值從對上個窗執(zhí)行的計算取得。在窗后的幀的ρs,n的值繼續(xù)從由共振峰跟蹤器確定的初始值取得。
由于窗比整個語音信號小得多,這個計算比橫越整個語音信號的上述計算花少得多的時間。在一個實施例中,這個計算涉及使用矩陣求逆解一組聯(lián)立方程。
在對窗中每個幀確定了Гs,n和ρs,n的值后,在步驟308,過程確定是否有任何更多幀要被處理。如果還有更多幀,在步驟308把窗移位J幀。然后過程返回到步驟306,以計算由移位后的窗覆蓋的M幀的Гs,n和ρs,n值。
在圖4中,移位后的窗的例子被示出為窗410,它橫越幀406、408、412和414。注意,在這個實施例中,移位后的窗410部分重疊窗400。這有助于降低Гs,n和ρs,n值的非連續(xù)性。
因為ρs,n的值取決于轉(zhuǎn)移概率,而轉(zhuǎn)移概率的值取決于ρs,n,所以在本發(fā)明的一些實施例中,進(jìn)行多次迭代,其中轉(zhuǎn)移概率的值基于新的ρs,n在步驟302被更新,然后ρs,n的值基于被更新的轉(zhuǎn)移概率在步驟306被更新。在步驟312,過程確定更新這些值的另一次迭代是否需要進(jìn)行。如果需要另外的迭代,過程返回到步驟302。如果不需要更多的迭代,過程在步驟314結(jié)束。
圖3的過程所進(jìn)行的計算比計算ρs,n的現(xiàn)有技術(shù)更有效率。特別是,圖3的過程有O((MS)2N/J)級的計算復(fù)雜度,比現(xiàn)有技術(shù)中O((NS)3)的復(fù)雜度要小得多。
在推導(dǎo)步驟完成后,Гs,n和ρs,n的值被用在學(xué)習(xí)步驟中,以設(shè)置模型參數(shù)Θ={πss′,A1:S,a1:S,B1:S,C1:S,c1:S,D1:S}的值,按照πs′s由單獨訓(xùn)練的語言模型或音位結(jié)構(gòu)模型設(shè)置,音位結(jié)構(gòu)模型描述不同音素如何一個接著一個。如果沒有這種知識,這個模型可以是統(tǒng)一的。
As=[1Σnγs,n(Σnγs,nρs,n)(ΣnΣs′ηs′s,nγs′,n-1ρs′,n-1)T-Σnρs,nΣs′ηs′s,nγs′,n-1ρs′,n-1T]]]>[1Σnγs,n(ΣnΣs′ηs′s,nγs′,n-1ρs′,n-1)(ΣnΣs′ηs′s,nγs′,n-1ρs′,n-1)T-ΣnΣs′ηs′s,nγs′,n-1(Γs′,n-1-1+ρs′,n-1ρs′,n-1T)]-1]]>等式15as=1Σnγs,n(Σnγs,nρs,n-AsΣnΣs′ηs′s,nγs′n-1ρs′,n-1)]]>等式16Bs-1=1Σnγs,n{1Σnγs,n(Γs,n-1+ρs,nρs,nT)-[Σnρs,n(Σs′ηs′s,nγs′,n-1ρs′,n-1)T]AsT-(Σnγs,nρs,n)asT}]]>-As[Σnρs,n(Σs′ηs′s,nγs′,n-1ρs′,n-1)ρs,nT]+As[ΣnΣs′ηs′s,nγs′,n-1(Γs′,n-1-1+ρs′,n-1ρs′,n-1T)]AsT]]>等式17+As(ΣnΣs′ηs′s,nγs′,n-1ρs′,n-1)asT-as(Σnγs,nρs,n)T]]>+as[Σn(Σs′ηs′s,nγs′,n-1ρs′,n-1)T]AsT}+asasT]]>
Cs=[1Σnγs,n(Σnγs,nyn)(Σnγs,nρs,n)T-Σnγs,nynρs,nT]]]>等式18[1Σnγs,n(Σnγs,nyn)(Σnγs,nρs,n)T-Σnγs,n(Γs,n-1+ρs,nρs,nT)]-1]]>cs=1Σnγs,n(Σnγs,nyn-CsΣnγs,nρs,n)]]>等式19Ds-1=1Σnγs,n{Σnγs,nynynT-(Σnγs,nynρs,nT)CsT-(Σnγs,nyn)csT-Cs(Σnγs,nynρs,nT)T]]>+Cs[Σnγs,n(Γs,n-1+ρnρs,nT)]CsT+Cs(Σnγs,nρs,n)csT-cs(Σnγs,nyn)T]]>等式20+cs(Σnγs,nρs,n)TCsT}+cscsT]]>其中γs,n由前向傳遞來遞歸地確定γs,n=Σs′ηss′,nγs′,n-1]]>等式21推導(dǎo)和學(xué)習(xí)步驟可以被迭代多次以完成訓(xùn)練。
語音識別在訓(xùn)練了模型參數(shù)后,模型參數(shù)和逼近可以被用來進(jìn)行語音識別。這涉及給定表征語音信號的觀測特征矢量序列時,標(biāo)識最可能的語音單元序列,例如音素。
在過去,語音識別需要確定γs,n,它提供在整個語音分段之中時間n的狀態(tài)的概率,需要后向-前向遞歸。結(jié)果是,語音識別不能隨著語音幀的接收以維特比解碼器直接實現(xiàn)。在維特比解碼中,為進(jìn)入幀n的狀態(tài)的每條路徑生成路徑分?jǐn)?shù)。有到狀態(tài)的最高路徑分?jǐn)?shù)的路徑被保留,而到那個狀態(tài)的其余路徑則被刪除,不作進(jìn)一步考慮。在本發(fā)明的一個實施例中,提供路徑分?jǐn)?shù)的新公式,它使語音被解碼而不需要明確或直接確定γs,n。
本發(fā)明中的路徑分?jǐn)?shù)基于發(fā)明人的發(fā)現(xiàn)來構(gòu)建p~(yn|sn=s′,sn-1=s)=efs′s,n/πs′s]]>等式22p~(sn=s′|sn-1=s)=πs′s]]>等式23等式22和23可以被組合以形成從狀態(tài)s′進(jìn)入狀態(tài)s的路徑分?jǐn)?shù),定義如下Path_Score=efs′s,n]]>等式24圖5提供在其中使用這個路徑分?jǐn)?shù)的語音識別系統(tǒng)的框圖。在圖5中,通過上面論述的訓(xùn)練過程確定的生成模型參數(shù)作為生成模型528存儲。
在說話人500對麥克風(fēng)504說話時識別開始。麥克風(fēng)504也接收來自一個或多個噪聲源502的加性噪聲。由麥克風(fēng)504檢測到的音頻信號被轉(zhuǎn)換成電信號,電信號被提供給模-數(shù)轉(zhuǎn)換器506。
模-數(shù)轉(zhuǎn)換器506把來自麥克風(fēng)504的模擬信號轉(zhuǎn)換為一系列數(shù)字值。在一個實施例中,模-數(shù)轉(zhuǎn)換器506以16kHz和每樣點16比特對模擬信號進(jìn)行采樣,從而產(chǎn)生每秒32千字節(jié)的語音數(shù)據(jù)。這些數(shù)字值被提供給幀構(gòu)造器507,在一個實施例中,幀構(gòu)造器507每隔10毫秒把數(shù)字值分組成25毫秒幀。
由幀構(gòu)造器507創(chuàng)建的幀被提供給特征提取器508,它從每個幀提取特征。特征提取模塊的例子包括執(zhí)行線性預(yù)測編碼(LPC)、LPC導(dǎo)出的倒譜、感知線性預(yù)測(PLP)、聽覺模型特征提取、梅爾頻率倒譜系數(shù)(MFCC)特征提取的模塊。注意,本發(fā)明不限于這些特征提取模塊,在本發(fā)明的上下文中,其它模塊也可以被使用。
特征矢量系列被提供給訓(xùn)練器524,它順序地確定Гs,n和ρs,n組,每組和圖4所示的重疊窗相關(guān)聯(lián)。具體地,訓(xùn)練器524使用上述等式8和9中的生成模型528的參數(shù)和在窗的當(dāng)前位置中出現(xiàn)的幀的觀測矢量。窗后面的幀的觀測矢量沒有被用來確定窗中幀的Гs,n和ρs,n值。對在一個以上窗中出現(xiàn)的幀,出現(xiàn)該幀的最后一個窗的計算被用作該幀的Гs,n和ρs,n值。在等式8和9的計算中,后驗轉(zhuǎn)移概率由等式10-12設(shè)置。使用加窗技術(shù),當(dāng)前系統(tǒng)可以近似地在時間上順序操作。
一旦幀的Гs,n和ρs,n值被確定,它們就被置于后驗逼近模型527中。然后解碼器512基于特征矢量流、詞典514、語言模型516、逼近模型527和生成模型528標(biāo)識最可能的單詞序列。
具體地,解碼器512使用等式24的路徑分?jǐn)?shù)為當(dāng)前窗中不會被下一個窗重疊的每個幀確定和選擇到每個狀態(tài)的最可能的路徑。由于這種類型的維特比解碼在現(xiàn)有技術(shù)的HMM系統(tǒng)中被普遍使用,本發(fā)明的解碼器能夠利用已經(jīng)開發(fā)以提高維特比解碼效率的技術(shù),包括剪除到某些狀態(tài)的最可能路徑的各種剪除技術(shù),從而減少必須被確定的路徑分?jǐn)?shù)的數(shù)量。換言之,該剪除移除了為某些狀態(tài)選擇的最佳路徑,從而產(chǎn)生沒有路徑進(jìn)入的狀態(tài)。
假設(shè)單詞的最可能序列被提供給置信度測量模塊520。置信度測量模塊520部分基于第二聲學(xué)模型(未示出)標(biāo)識哪些單詞最可能被語音識別器錯誤識別。然后,置信度測量模塊520向輸出模塊522提供假設(shè)單詞序列,還提供指示哪些單詞可能被錯誤標(biāo)識的標(biāo)識符。本領(lǐng)域內(nèi)技術(shù)人員會理解,置信度測量模塊520在本發(fā)明的實現(xiàn)中不是必須的。
雖然本發(fā)明是參考特定實施例描述的,本領(lǐng)域的技術(shù)人員會理解,可以進(jìn)行形式和細(xì)節(jié)上的改動而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種設(shè)置一切換狀態(tài)空間模型的后驗概率參數(shù)的方法,所述后驗概率基于與幀序列相關(guān)聯(lián)的輸入值為所述幀序列提供一組隱含狀態(tài)的似然性,其特征在于,所述方法包括定義一包含至少兩個但少于所述幀序列中全部幀的窗;為所述窗中的每個幀確定一單獨后驗概率參數(shù);移位所述窗,從而使它包括所述幀序列中至少一個后續(xù)幀,以形成一移位后的窗;以及為所述移位后的窗中的每個幀確定一單獨后驗概率參數(shù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述移位后的窗包括在移位前的所述窗中存在的至少一個幀。
3.如權(quán)利要求1所述的方法,其特征在于,為窗中的每個幀確定單獨后驗概率參數(shù)包括為所述窗中的所有幀解一組聯(lián)立方程。
4.如權(quán)利要求3所述的方法,其特征在于,所述隱含狀態(tài)是連續(xù)的。
5.如權(quán)利要求4所述的方法,其特征在于,為每個幀確定單獨后驗概率參數(shù)還包括為一組不同于所述連續(xù)隱含狀態(tài)的離散隱含狀態(tài)的每一個確定單獨后驗概率參數(shù)。
6.如權(quán)利要求4所述的方法,其特征在于,所述后驗概率在給定離散隱含狀態(tài)和輸入值時提供連續(xù)隱含狀態(tài)的概率。
7.如權(quán)利要求5所述的方法,其特征在于,它還包括在移位所述窗前,使用為幀確定的所述后驗概率參數(shù)來生成在所述幀期間進(jìn)入離散隱含狀態(tài)的路徑分?jǐn)?shù)。
8.如權(quán)利要求7所述的方法,其特征在于,生成路徑分?jǐn)?shù)包括生成一路徑分?jǐn)?shù)作為維特比解碼器的一部分。
9.一種解碼語音信號以標(biāo)識語音單元序列的方法,其特征在于,所述方法包括儲存一其中有離散隱含狀態(tài)和連續(xù)隱含狀態(tài)的切換狀態(tài)空間模型的模型參數(shù),所述連續(xù)隱含狀態(tài)取決于所述離散隱含狀態(tài),把所述語音信號轉(zhuǎn)換成一組觀測矢量,每個觀測矢量和所述語音信號的單獨幀相關(guān)聯(lián);對所述語音信號的每個幀,為到所述幀中的每個離散隱含狀態(tài)的至少一條路徑確定一路徑分?jǐn)?shù),使用所述路徑分?jǐn)?shù)選擇到所述幀中的每個離散隱含狀態(tài)的單個路徑。
10.如權(quán)利要求9所述的方法,其特征在于,所述離散隱含狀態(tài)代表語音單元。
11.如權(quán)利要求9所述的方法,其特征在于,確定路徑分?jǐn)?shù)包括基于一在給定離散隱含狀態(tài)和觀測矢量時描述連續(xù)隱含狀態(tài)的概率的后驗概率參數(shù)來確定路徑分?jǐn)?shù)。
12.如權(quán)利要求11所述的方法,其特征在于,它還包括為所述當(dāng)前幀中的離散隱含狀態(tài)確定一后驗概率參數(shù)。
13.如權(quán)利要求12所述的方法,其特征在于,確定后驗概率參數(shù)包括定義一包含少于所述語音信號全部幀的幀窗。
14.如權(quán)利要求13所述的方法,其特征在于,它還包括通過解一組連立方程,為所述窗中每個幀中每個離散隱含狀態(tài)確定單獨后驗概率參數(shù)。
15.如權(quán)利要求9所述的方法,其特征在于,它還包括為從先前幀中的所述一組離散隱含狀態(tài)進(jìn)入所述當(dāng)前幀中的離散隱含狀態(tài)的每一路徑確定路徑分?jǐn)?shù)。
16.如權(quán)利要求15所述的方法,其特征在于,它還包括為所述當(dāng)前幀中每個離散隱含狀態(tài)確定路徑分?jǐn)?shù)。
17.如權(quán)利要求16所述的方法,其特征在于,它還包括剪除進(jìn)入狀態(tài)的至少一個所選擇的路徑,使得所述路徑不再被認(rèn)為是通過離散隱含狀態(tài)序列的可能路徑的一部分。
全文摘要
一種有效設(shè)置切換狀態(tài)空間模型的后驗概率參數(shù)的方法通過定義包含至少兩個但少于全部幀的窗開始。為窗中的每個幀確定個別后驗概率參數(shù)。然后所述窗在時間上從左到右順序移位,使得它包括幀序列中一個或多個后續(xù)幀。然后為移位后的窗中的每個幀確定個別后驗概率參數(shù)。該方法精密地逼近更嚴(yán)格的解,但將計算成本節(jié)省了兩到三個數(shù)量級。另外,發(fā)明了一種確定切換狀態(tài)空間模型中的最佳離散狀態(tài)序列的方法,該方法在逐幀基礎(chǔ)上直接利用觀測矢量,并在時間上從左到右操作。
文檔編號G10L15/10GK1645476SQ20051000593
公開日2005年7月27日 申請日期2005年1月20日 優(yōu)先權(quán)日2004年1月20日
發(fā)明者H·阿蒂亞斯, L·李, 鄧立 申請人:微軟公司