專利名稱:基于hmm的文字-音素分析器及其訓(xùn)練方法
技術(shù)領(lǐng)域:
本發(fā)明與語音處理有關(guān),具體地說,與語音識(shí)別系統(tǒng)和技術(shù)有關(guān)。
背景技術(shù):
在有些語音識(shí)別系統(tǒng)中,詞的隱式Markov模型(Hidden Markovmodels,HMM)通過級(jí)聯(lián)音素的HMM得到。為了在這樣的系統(tǒng)中構(gòu)建詞模型,必須知道與詞相應(yīng)的音素串。在很多情況下,可以在語音詞典中找到一個(gè)詞的音素串(即,讀音)。然而,通常在語音詞典內(nèi)不包括許多正當(dāng)?shù)脑~(例如,姓氏、商號(hào)名稱等)。因此,往往需要有可以自動(dòng)為一個(gè)書寫的詞產(chǎn)生一個(gè)音素串的文字-音素分析器(text-to-phoneme parser)。
圖1為例示一個(gè)傳統(tǒng)的HMM過程的示意圖;圖2為例示按照本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的文字-音素分析系統(tǒng)的方框圖;圖3和4為例示按照本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的訓(xùn)練一個(gè)基于HMM的文字-音素分析系統(tǒng)的方法的流程圖的兩個(gè)部分;圖5為例示按照本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的兩維Viterbi搜索表的示意圖;以及圖6為例示按照本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的一個(gè)經(jīng)修改的HMM過程的示意圖。
具體實(shí)施例方式
下面,將結(jié)合例示可以實(shí)現(xiàn)本發(fā)明的一些具體實(shí)施例的附圖進(jìn)行詳細(xì)說明。這些實(shí)施例說明得非常詳細(xì),足以使熟悉該技術(shù)領(lǐng)域的人員能實(shí)現(xiàn)本發(fā)明??梢岳斫?,本發(fā)明的這些實(shí)施例雖然有所不同,但并非是相互排斥的。例如,在這里結(jié)合一個(gè)實(shí)施例說明的具體功能、結(jié)構(gòu)或特征可以在其他實(shí)施例內(nèi)實(shí)現(xiàn),這并不背離本發(fā)明的精神實(shí)質(zhì)和專利保護(hù)范圍。此外,還可以理解,在每個(gè)所揭示的實(shí)施例內(nèi)的各個(gè)組成部分的位置或排列也可以更改,這也不背離本發(fā)明的精神實(shí)質(zhì)和專利保護(hù)范圍。因此,以下詳細(xì)說明并不是限制性的,本發(fā)明的專利保護(hù)范圍僅由所附權(quán)利要求書給出。在這些附圖中,相似的數(shù)字所標(biāo)注的是這些圖中的相同或類似的功能。
本發(fā)明與訓(xùn)練和實(shí)現(xiàn)利用隱式Markov模型(HMM)的文字-音素分析器的方法和結(jié)構(gòu)有關(guān)。與采用決策樹技術(shù)的分析器不同,基于HMM的文字-音素分析器不需要在一個(gè)訓(xùn)練期期間使用專家語言知識(shí)。基于HMM分析器所用的存儲(chǔ)器還顯著地比決策樹分析器的小。此外,決策樹分析器通常為一個(gè)給定的詞產(chǎn)生單個(gè)讀音,而基于HMM的文字-音素分析器能為一個(gè)詞產(chǎn)生多個(gè)不同的讀音及這些讀音的相應(yīng)可靠性信息??梢钥吹?,這些特色可用來改善語音識(shí)別的精確度。這些創(chuàng)造性的原理可以用于多種語言,特別是對(duì)于具有比較復(fù)雜的決定文字和語音之間關(guān)系的規(guī)則的語言(例如,英語)最為有益。
音素表示用來構(gòu)造詞的基本聲音。在一個(gè)采用HMM的語音系統(tǒng)中,用一個(gè)詞的字母和音素來形成這個(gè)詞的HMM。詞的音素與HMM的隱狀態(tài)相應(yīng),服從一價(jià)Markov過程。圖1為例示一個(gè)傳統(tǒng)的HMM過程10應(yīng)用于詞“right”的示意圖。圖的上部是詞的字母,排列成一系列字母串(即,“R”,“IGH”和“T”)。圖的下部是構(gòu)成所說出的詞的音素(即,“R”,“AY”和“T”)。具有“—”符號(hào)的方框表示空音素(即,無聲音素)。作為HMM過程10的一部分,將詞的音素說成“發(fā)出(emite)”相應(yīng)的字母串。發(fā)出相應(yīng)的字母串的情況在圖1中用箭頭12表示。Markov過程還考慮到在詞內(nèi)相繼音素之間的轉(zhuǎn)移。這些轉(zhuǎn)移在圖1中用箭頭14表示。
圖2為例示按照本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的文字-音素分析系統(tǒng)20的方框圖。如圖所示,系統(tǒng)20包括文字輸入單元22、基于HMM的文字-音素分析器24和概率數(shù)據(jù)庫26。文字輸入單元22用來將書寫詞遞交給基于HMM的文字-音素分析器24處理。文字輸入單元22可以包括例如計(jì)算機(jī)鍵盤或其他使用戶可以輸入詞的手動(dòng)數(shù)據(jù)輸入裝置。其他類型的文字輸入裝置也是可以的?;贖MM的文字-音素分析器24對(duì)書寫詞進(jìn)行分析,確定這個(gè)詞的一個(gè)或多個(gè)音素串。所產(chǎn)生的音素串于是可以用來導(dǎo)出一個(gè)或多個(gè)用于相應(yīng)詞的Markov模型。為了為一個(gè)輸入詞產(chǎn)生一個(gè)音素串,基于HMM的文字-音素分析器24利用存儲(chǔ)在概率數(shù)據(jù)庫26內(nèi)的概率信息。除了其他信息,概率數(shù)據(jù)庫26通常包括與對(duì)于一個(gè)給定的語音詞典的轉(zhuǎn)移概率(transition probability)和發(fā)出概率(emission probability)有關(guān)的信息?;贖MM的文字-音素分析器24在Markov過程期間利用這信息確定對(duì)于輸入詞的一個(gè)或多個(gè)具有最高似然性的音素串。
在圖2的系統(tǒng)20可以使用前,需要對(duì)系統(tǒng)進(jìn)行“訓(xùn)練”,以在數(shù)據(jù)庫26內(nèi)形成概率信息。這個(gè)訓(xùn)練將表征對(duì)象語言的字母與音素之間的統(tǒng)計(jì)關(guān)系。在訓(xùn)練過程開始前,可以就對(duì)象語言的組成作若干假設(shè)。一個(gè)這樣的假設(shè)是對(duì)單個(gè)音素可以發(fā)出的字母串的長度作出限制。例如,在至少是英語實(shí)施例中,假設(shè)單個(gè)音素只可以發(fā)出一個(gè)到四個(gè)字母的字母串。另一個(gè)這樣的假設(shè)是假設(shè)兩個(gè)音素可以組合成發(fā)出單個(gè)字母(例如,在詞“sex”中,音素“K”和“S”可以組合成發(fā)出字母“x”)。這樣的組合在這里稱為“雙音素(diphone)”。通常,雙音素在訓(xùn)練開始前是不知道的,因此需要在訓(xùn)練期間確定。還可以作出其他一些假設(shè)。
圖3和4為例示按照本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的訓(xùn)練一個(gè)基于HMM的文字-音素分析系統(tǒng)的方法的流程圖的兩個(gè)部分。在至少一個(gè)實(shí)現(xiàn)中,這種方法有些或全部用在一個(gè)或多個(gè)數(shù)字處理設(shè)備(例如通用微處理器、數(shù)字信號(hào)處理器(DSP)、精簡指令系統(tǒng)計(jì)算機(jī)(RISC)、復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)、現(xiàn)場可編程門陣列(FPGA)和/或其他設(shè)備)內(nèi)執(zhí)行的軟件實(shí)現(xiàn)。為了啟動(dòng)訓(xùn)練過程,首先要準(zhǔn)備一本包括對(duì)一個(gè)給定的詞匯表的讀音的語音詞典(方框32)。這本詞典可以是例如任何市售的語音詞典。在一個(gè)實(shí)現(xiàn)中,使用的是Carnegie Mellon大學(xué)(CMU)的語音詞典。CMU語音詞典包括大約127,000個(gè)英文詞與它們相應(yīng)的語音讀音。CMU語音詞典還定義了英語中的39個(gè)各別音素。當(dāng)然,也可以是使用其他詞典。
對(duì)語音詞典的詞根據(jù)詞典內(nèi)相應(yīng)讀音進(jìn)行沿線分段(Linearsegmentation)(方框34)。在沿線分段期間,每個(gè)詞沿線分成一些段,段的數(shù)目等于相應(yīng)詞典讀音內(nèi)這個(gè)詞的音素的數(shù)目。如果音素的數(shù)目超過詞內(nèi)字母的數(shù)目,可以假設(shè)存在雙音素。根據(jù)沿線分段的結(jié)果,可以產(chǎn)生一個(gè)初始音素發(fā)出概率矩陣和雙音素發(fā)出概率矩陣(方框36)。音素發(fā)出概率矩陣包括由特定的音素發(fā)出特定的字母串的概率(即P(字母串|音素))。雙音素發(fā)出概率矩陣包括由特定的音素對(duì)發(fā)出特定的字母的概率(即,P(字母|音素1,音素2))。在一種方法中,每個(gè)概率可以利用沿線分段信息通過簡單的計(jì)數(shù)來確定。例如,P(字母串|音素)將等于在沿線分段信息內(nèi)與這個(gè)音素一起出現(xiàn)這個(gè)字母串的數(shù)目除以這個(gè)音素出現(xiàn)的總數(shù)。類似,P(字母|音素1,音素2)將等于在沿線分段信息內(nèi)與這個(gè)音素對(duì)(即,音素1,音素2)一起出現(xiàn)這個(gè)字母的數(shù)目除以出現(xiàn)這對(duì)音素的總數(shù)。
用這兩個(gè)初始發(fā)出概率矩陣執(zhí)行有監(jiān)督分段(supvisedsegmentation),將詞典內(nèi)的每個(gè)詞分段成它的相應(yīng)一些音素(方框38)。這種分段稱為“有監(jiān)督”分段,因?yàn)樗抢靡粋€(gè)已知的音素串進(jìn)行分段的。在一種方法中,有監(jiān)督分段利用Viterbi搜索技術(shù)執(zhí)行。圖5為例示可用來執(zhí)行對(duì)詞“位置”執(zhí)行Viterbi搜索的二維表66的示意圖。如圖所示,表66的水平軸列出了詞的各個(gè)字母(每個(gè)列一個(gè)字母),而垂直軸列出了從語音詞典得到的詞的各個(gè)音素(每個(gè)行一個(gè)音素)。從左下角的方塊68開始,形成一系列通過表66的路徑,以尋找一條“最可能”表示相應(yīng)詞的恰當(dāng)分段的路徑。為了保證因果性,Viterbi過程最好在表66中按列從左至右執(zhí)行,在一個(gè)列內(nèi)的所有音素都考慮過后再進(jìn)至下一列。用來自初始音素發(fā)出概率矩陣和初始雙音素發(fā)出概率矩陣的信息確定表66內(nèi)各條路徑的概率得分(Probabilityscore)。如果采用對(duì)數(shù)概率,這些得分通常將是一些概率和。如果采用傳統(tǒng)的概率,這些得分通常將是一些概率積。在以下討論中,假設(shè)采用對(duì)數(shù)概率。
來看圖5,在方塊68內(nèi),輸入的是音素“L”發(fā)出字母“L”的概率(圖中示為L|L,其中第二個(gè)L為音素)。在方塊70內(nèi),輸入的是音素對(duì)“L,OW”將發(fā)出字母“L”(即雙音素)的概率。在方塊72內(nèi),輸入音素“L”將發(fā)出字母串“LO”的概率。在方塊74內(nèi),輸入的是(a)音素“L”發(fā)出字母“L”的概率與(b)音素“OW”發(fā)出字母“O”的概率之和。顯然,已經(jīng)從方塊68到方塊74建立了一條路徑,而這和表示到達(dá)這個(gè)方塊的路徑的得分。在表66內(nèi)有兩條路徑可通達(dá)方塊76。在一種搜索方法中,計(jì)算出每條路徑的得分,然后為這個(gè)方塊錄下這兩個(gè)得分中較高的得分以及相應(yīng)的路徑信息。第一條從方塊68至方塊76的路徑涉及音素對(duì)“OW,K”發(fā)出字母“O”。這條路徑的得分為(a)音素“L”將發(fā)出字母“L”的概率(從方塊68得到)與(b)音素對(duì)“OW,K”將發(fā)出字母“O”的概率之和。第二條路徑是從方塊70至方塊76,涉及音素“K”發(fā)出字母“O”。這條路徑的得分為(a)音素“L,OW”將發(fā)出字母“L”的概率(從方塊7 0得到)與(b)音素“K”將發(fā)出字母“O”的概率之和。計(jì)算出這兩條路徑的得分后,錄下較高的得分以及相應(yīng)的路徑信息。
在方塊78內(nèi),輸入音素“L”將發(fā)出字母串“LOC”的概率,作為得分。與方塊76相似,有兩條路徑可以通達(dá)方塊80。第一條路徑從方塊68通達(dá),得分為(a)音素“L”將發(fā)出字母“L”的概率(從方塊68得到)與(b)音素“OW”將發(fā)出字母“OC”的概率之和。第二條路徑從方塊72通達(dá),得分為(a)音素“L”將發(fā)出字母串“LO”的概率(從方塊72得到)與(b)音素“OW”將發(fā)出字母“C”的概率之和。同樣,錄下較高的得分以及相應(yīng)的路徑信息。有三條路徑可以通達(dá)方塊82。第一條路徑從方塊74通達(dá),得分為方塊74的得分與音素“K”將發(fā)出字母“C”的概率之和。第二條路徑從方塊70通達(dá),得分為方塊70的得分與音素“K”將發(fā)出字母串“OC”的概率之和。第三條路徑從方塊72通達(dá),得分為方塊72的得分與音素對(duì)“OW,K”將發(fā)出字母“C”的概率之和。然后,錄下這三個(gè)得分中最高的得分以及相應(yīng)的路徑信息。
可用同樣的基本程序來完成表格66的其余各項(xiàng)。例如,為了確定方塊84的得分,必須考慮五條可能的路徑(即從方塊86,88,90,92與94通達(dá))。這五個(gè)候選得分計(jì)算如下得分(方塊84)=得分(方塊86)+logP(OCAT|SH)得分(方塊84)=得分(方塊88)+logP(CAT|SH)
得分(方塊84)=得分(方塊90)+logP(AT|SH)得分(方塊84)=得分(方塊92)+logP(T|SH)得分(方塊84)=得分(方塊94)+logP(T|EY,SH)將這五個(gè)候選得分中最高的得分選為方塊84的得分,并錄下相應(yīng)的路徑信息。在一種方法中,在搜索期間填入兩個(gè)數(shù)組。第一個(gè)數(shù)組(即,得分(字母,音素))記錄通達(dá)表66內(nèi)每個(gè)方塊的最佳路徑的得分。第二個(gè)數(shù)組(即,psi(字母,音素))記錄數(shù)組內(nèi)每個(gè)方塊是從哪個(gè)方塊通過最佳路徑到達(dá)這個(gè)方塊的。
表66填好后,執(zhí)行一個(gè)回溯過程(backtracking process),以確定通過表66的最佳路徑。從表66最后一列中的最后一行開始,用ps i數(shù)組來確定所以得到高分的路徑。所確定的路徑與對(duì)這個(gè)對(duì)象詞的最優(yōu)分段相應(yīng)。對(duì)于語音詞典內(nèi)的每個(gè)詞都執(zhí)行這個(gè)Viterbi過程。再來看圖3,對(duì)這些詞執(zhí)行了有監(jiān)督分段后,用有監(jiān)督分段的結(jié)果產(chǎn)生新的音素發(fā)出概率矩陣和雙音素發(fā)出概率矩陣(方框40)。可以再次如前面所說明的那樣采用簡單的計(jì)數(shù)策略。然后在一個(gè)迭代過程中重復(fù)有監(jiān)督分段和再生概率矩陣的循環(huán),直到滿足預(yù)定條件(方框42)。通常,全部詞典詞的得分之和將隨著每個(gè)相繼循環(huán)單調(diào)遞增。在一種方法中,分段和概率矩陣重新計(jì)算的循環(huán)執(zhí)行到得分之和停止增大(或者以低于預(yù)定速度增大)。在另一種方法中,就執(zhí)行預(yù)定次循環(huán)。其他終止迭代過程的條件也是可行的。
在本發(fā)明的至少一個(gè)實(shí)施例中,在產(chǎn)生新的音素發(fā)出概率矩陣和新的雙音素發(fā)出概率矩陣(見方框40)期間采用“退火(annealing)”。也就是說,將概率矩陣內(nèi)所有低于一個(gè)預(yù)定門限值的元都設(shè)置為這個(gè)門限值(或另一個(gè)值)。在隨后的分段和矩陣再生期間也可以采用退火。在一種可行的技術(shù)中,在概率矩陣初始再生期間采用第一門限值(例如,為0.15),而對(duì)于每個(gè)后繼的循環(huán)采用越來越低的門限值。
在訓(xùn)練過程中,此時(shí)就已從原來的實(shí)體得出了音素發(fā)出概率矩陣和雙音素發(fā)出概率矩陣。過程確定了一些雙音素后,將它們連同相應(yīng)的計(jì)數(shù)信息一起列入雙音素發(fā)出概率矩陣。在典型情況下最常出現(xiàn)的雙音素涉及音素對(duì)“K,S”發(fā)出字母“X”。次常出現(xiàn)的雙音素通常涉及音素對(duì)“Y,UW”發(fā)出字母“U”。還可以確定許多其他雙音素,包括許多低計(jì)數(shù)的雙音素?,F(xiàn)在,對(duì)所確定的雙音素進(jìn)行刪節(jié),以減少由系統(tǒng)辨別的正當(dāng)雙音素的總數(shù)(方框44)。在一種方法中,在刪節(jié)過程期間選擇雙音素中預(yù)定個(gè)計(jì)數(shù)最高的雙音素(例如,10個(gè)雙音素)。在另一種方法中,選擇所有計(jì)數(shù)大于預(yù)定值的雙音素。其他刪節(jié)技術(shù)也是可行的。
來看圖4,現(xiàn)在通過添加經(jīng)刪節(jié)的雙音素建立一個(gè)擴(kuò)展的音素集(方框46)。例如,在一個(gè)實(shí)現(xiàn)中,將刪節(jié)后的10個(gè)雙音素和空音素添入CMU語音詞典的39個(gè)音素,從而產(chǎn)生一個(gè)擴(kuò)展的音素集。此后,這些雙音素將被處理為普通的音素,因此允許發(fā)出具有一個(gè)到四個(gè)字母的字母串。利用這個(gè)擴(kuò)展的音素集,再次對(duì)詞典內(nèi)的每個(gè)詞進(jìn)行有監(jiān)督分段(方框48)。這次的有監(jiān)督分段可以包括例如類似于圖5所示的Viterbi搜索。然而,這次Viterbi搜索現(xiàn)在將限于經(jīng)刪節(jié)的雙音素集,而不是考慮所有可能的雙音素。此外,如果Viterbi搜索表在它的對(duì)于一個(gè)特定的詞的垂直軸內(nèi)包括一個(gè)正當(dāng)雙音素,這個(gè)搜索過程現(xiàn)在必須認(rèn)為這個(gè)雙音素可以發(fā)出長度為一個(gè)到四個(gè)字母的字母串而不是象前面那樣單個(gè)字母。否則,可以按與前面所說明的類似的方式計(jì)算出每個(gè)方塊的得分。對(duì)于詞典內(nèi)的每個(gè)詞,填好相應(yīng)的相應(yīng)后再用回溯來確定通過表的最佳路徑。即使一個(gè)詞的詞典讀音包括一個(gè)形成一個(gè)正當(dāng)雙音素的音素對(duì),Viterbi過程也不會(huì)自動(dòng)地這樣解釋這個(gè)音素對(duì)。也就是說,這個(gè)音素對(duì)將只解釋為一個(gè)雙音素,如果得分最高的路徑將它認(rèn)作一個(gè)雙音素的話。
有監(jiān)督分段完成后,用分段結(jié)果產(chǎn)生一個(gè)新的音素發(fā)出概率矩陣(方框50)。此時(shí)還產(chǎn)生一個(gè)音素“轉(zhuǎn)移”概率矩陣。除了原來的音素之外,音素發(fā)出概率矩陣還包括經(jīng)刪節(jié)的雙音素的發(fā)出概率。音素轉(zhuǎn)移概率矩陣將基于給定上個(gè)音素時(shí)將出現(xiàn)一個(gè)特定的音素的概率(即,P(音素|上個(gè)音素)。如前面那樣,可用一種簡單計(jì)數(shù)方法來產(chǎn)生這些矩陣。在另一種方法中,音素轉(zhuǎn)移概率矩陣初始化成所有的轉(zhuǎn)移概率都具有相同的值。然后,這些初始值可以在分段和矩陣再生的后續(xù)各循環(huán)期間改變。產(chǎn)生了新的音素發(fā)出概率矩陣和音素轉(zhuǎn)移概率矩陣后,這兩個(gè)矩陣或者其中一個(gè)矩陣可以象前面所說明的那樣予以退火。
用這新的音素發(fā)出概率信息和新的音素轉(zhuǎn)移概率信息再次對(duì)詞典詞執(zhí)行有監(jiān)督分段(方框52)。同樣,可以執(zhí)行Viterbi搜索來分段詞。然而,在搜索期間產(chǎn)生的得分現(xiàn)在將涉及轉(zhuǎn)移概率以及發(fā)出概率。例如,如圖5所示,為了產(chǎn)生方塊84的得分,必需考慮以下候選得分得分(方塊84)=得分(方塊86)+logP(OCAT|SH)+logP(SH|音素86)得分(方塊84)=得分(方塊88)+logP(CAT|SH)+logP(SH|音素88)得分(方塊84)=得分(方塊90)+logP(AT|SH)+logP(SH|音素90)得分(方塊84)=得分(方塊92)+logP(T|SH)+logP(SH|音素92)其中音素86是與通達(dá)方塊86的最佳路徑關(guān)聯(lián)的音素,音素88是與通達(dá)方塊88的最佳路徑關(guān)聯(lián)的音素,音素90是與通達(dá)方塊90的最佳路徑關(guān)聯(lián)的音素,而音素92是與通達(dá)方塊92的最佳路徑關(guān)聯(lián)的音素。如果音素對(duì)“EY,SH”是一個(gè)正當(dāng)?shù)碾p音素,就還要考慮對(duì)于這個(gè)雙音素(對(duì)于長度從1到4個(gè)字母的字母串)的附加候選得分。選擇最高的候選得分,與相應(yīng)的路徑信息一起錄下。對(duì)于詞典內(nèi)的每個(gè)詞,如上面所說明的那樣產(chǎn)生一個(gè)Viterbi搜索表。然后,用回溯來確定通過這個(gè)表的最佳路徑,以確定對(duì)這個(gè)詞的適當(dāng)分段。
利用最新分段的結(jié)果,產(chǎn)生經(jīng)更新的音素發(fā)出概率矩陣和音素轉(zhuǎn)移概率矩陣(方框54)。如上所述,可以采用計(jì)數(shù)方法。例如,在一個(gè)實(shí)現(xiàn)中,對(duì)于所有的音素產(chǎn)生以下計(jì)數(shù)計(jì)數(shù)(字母串|音素)和計(jì)數(shù)(音素|上個(gè)音素)。然后,用計(jì)數(shù)信息產(chǎn)生概率矩陣。于是可以重復(fù)這個(gè)有監(jiān)督分段和矩陣再生循環(huán)直到滿足預(yù)定條件(方框56)。例如,可以重復(fù)這個(gè)循環(huán)直到所有的詞的得分之和停止增大(或者以低于預(yù)定速度增大)或者執(zhí)行了預(yù)定次循環(huán)。在這些循環(huán)中的一個(gè)或多個(gè)循環(huán)期間可以執(zhí)行退火,如前面所述。最后,產(chǎn)生最終的音素發(fā)出概率矩陣和音素轉(zhuǎn)移概率矩陣。這些矩陣存儲(chǔ)起來供在將來的文字-音素分析操作期間使用(方框58)。
在以上的討論中,假設(shè)使用的是傳統(tǒng)的Markov過程(諸如圖1所例示的)。在本發(fā)明的至少一個(gè)實(shí)施例中,使用了經(jīng)修改的HMM過程。例如,圖6例示了一個(gè)按照本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的廣義HMM過程100。如圖6所示,首先假設(shè)前一個(gè)音素(例如,為空音素110)導(dǎo)出后一個(gè)音素(例如,音素“R”112)。然后,假設(shè)這前、后音素導(dǎo)出一個(gè)字母串(例如,字母“R”114)。這在圖6中示為箭頭102和104。再假設(shè)這后一個(gè)音素(例如,音素“R”112)和字母串(例如,字母“R”114)導(dǎo)出下一個(gè)音素(例如,音素“AY”116)。這在圖6中示為箭頭106和108。這個(gè)過程從左至右進(jìn)行,音素i和音素i+1導(dǎo)出字母串i+1,而音素i+1和字母串i+1導(dǎo)出音素i+2。
為了實(shí)現(xiàn)圖6所示的廣義HMM過程100,可以定義一個(gè)“廣義”發(fā)出概率矩陣和一個(gè)“廣義”轉(zhuǎn)移概率矩陣。廣義發(fā)出概率矩陣可以包括例如給定一個(gè)音素和前一個(gè)音素時(shí)將導(dǎo)出特定字母串的概率(即,P(字母串|音素,前一音素))。廣義轉(zhuǎn)移概率矩陣可以包括例如給定前一音素和前一字母串時(shí)將出現(xiàn)特定音素的概率(即,P(音素|前一音素,前一字母串))。在本發(fā)明的至少一個(gè)實(shí)施例中,圖3和4所示的訓(xùn)練方法修改成可以產(chǎn)生上述廣義發(fā)出概率矩陣和廣義轉(zhuǎn)移概率矩陣。例如,在圖4的方框54,可以用最新的有監(jiān)督分段的結(jié)果產(chǎn)生廣義發(fā)出概率矩陣和廣義轉(zhuǎn)移概率矩陣而不是產(chǎn)生音素發(fā)出概率矩陣和音素轉(zhuǎn)移概率矩陣。然后,可以執(zhí)行分段和矩陣再生的附加循環(huán),以進(jìn)一步改善廣義發(fā)出概率矩陣和廣義轉(zhuǎn)移概率矩陣。最后產(chǎn)生的最終矩陣存儲(chǔ)起來供以后在文字-音素分析操作期間使用。
訓(xùn)練結(jié)束后,可用在訓(xùn)練階段期間產(chǎn)生的概率矩陣執(zhí)行文字-音素分析。也就是說,可用這兩個(gè)矩陣產(chǎn)生與書寫詞相應(yīng)的一個(gè)或多個(gè)音素串。所分析的各個(gè)詞不必是在訓(xùn)練期間所用的語音詞典中的詞。相反,按照本發(fā)明設(shè)計(jì)的文字-音素分析器可用來分析多種多樣的通常不包括在語音詞典內(nèi)的詞,諸如人名之類。在一種方法中,在一個(gè)要分析的書寫詞輸入后,就對(duì)這個(gè)字進(jìn)行“無監(jiān)督”分段。這種分段稱為“無監(jiān)督的”是因?yàn)椴⒉粚?duì)基礎(chǔ)音素串的先驗(yàn)知識(shí)有所假設(shè)。分段可以用與前面所說明的分段操作類似的方式進(jìn)行。也就是說,可以用一個(gè)Viterbi搜索表,這個(gè)表在水平軸上列出了書寫詞的字母而在垂面軸上列出了音素。然而,在表的垂直軸上列出的是擴(kuò)展的音素集內(nèi)的所有音素,而不是用這個(gè)詞本身的音素(因?yàn)檫@些音素此時(shí)是不知道的)。搜索過程以本質(zhì)上與前面所說明的相同的方式進(jìn)行。在按列從左至右轉(zhuǎn)移的同時(shí)產(chǎn)生各個(gè)方塊的得分。還為這些方塊錄下了路徑信息。在完成這個(gè)表時(shí),就可以確定最高總分,再用回溯來確定相應(yīng)路徑。這條路徑與輸入詞的最可能的音素串相應(yīng)。
在采用廣義HMM過程時(shí),文字-音素分析(解碼)可以如下這樣進(jìn)行。分析器對(duì)水平軸包括需分析的字母而垂直軸包括廣義音素(所有音素都參與)的一個(gè)表進(jìn)行操作。為表定義了三個(gè)逐字母(即按列)填入的數(shù)組。這些數(shù)組為“得分”數(shù)組、“psiP”數(shù)組和“psiL”數(shù)組。變量得分[I][P]紀(jì)錄了通過表到達(dá)第I個(gè)字母和第P個(gè)音素這個(gè)方塊的最佳路徑的得分。變量psiL[I][P]紀(jì)錄了路徑的最后一段由音素P發(fā)出的字母的數(shù)目(在一個(gè)實(shí)施例中為從一個(gè)到四個(gè)字母)。給定了psiL[I][P],就知道最佳路徑是從字母I-psiL[I][P]開始的。因此需要確定開始這條路徑的音素的正身。這個(gè)音素用psiP[I][P]表示。從[I-3][P2]方塊到達(dá)[I][P1]方塊的路徑的得分由以下遞推關(guān)系給出得分[I][P1]=得分[I-3][P2]+logP[P1|P2,接P2的字母串]+logP(3個(gè)字母I-2,I-1,I|P1,P2)其中第一個(gè)logP項(xiàng)為廣義轉(zhuǎn)移項(xiàng),元“接P2的字母串”從psiL[I-3][P2]得出,而第二個(gè)logP項(xiàng)為廣義發(fā)出項(xiàng)。選擇的是得分最高的路徑。例如,如果以上得分是最高分,于是設(shè)置psiL[I][P1]=3,而psiP[I][P1]=P2。
為了分析一個(gè)給定的詞,必須首先“進(jìn)入”這個(gè)詞和最后“退出”這個(gè)詞。在本發(fā)明的一個(gè)實(shí)施例中,在要分析的詞的前、后各安插了一個(gè)空字母。例如,詞“RIGHT”表示為“_RIGHT_”(下劃線表示一個(gè)空字母)。在詞“_RIGHT_”內(nèi),第一個(gè)下劃線與附標(biāo)I=0相應(yīng),“R”與附標(biāo)I=1相應(yīng),諸如此類。所有的進(jìn)入路徑都是從方塊[I=0][音素=0]開始。一個(gè)可能的進(jìn)入路徑通過以下遞推給出得分[I=1][P1=R]=得分[I=0][音素=0]+logP[P1=R|P2=0,字母串=空]+logP(字母串=R|P1=R,P2=空)所有的退出路徑結(jié)束于方塊[I=6][P1=空]。一個(gè)可能的退出路徑通過以下遞推給出得分[I=6][P1=空]=得分[I5][P2T+logP(P1=空|P2=T,字母串=T)+logP(字母=空|P1=空,P2=T)如果分析的是詞“RIGHT”,表內(nèi)就有七個(gè)列,包括詞的前、后各一個(gè)空字母。按列從I=1開始直至I=6(空退出字母)填入“得分”和“psi”。對(duì)于空字母只允許空音素(如以上退出等式所示)。填好這些數(shù)組后,用回溯從方塊[I=6][P1=空]開始找到最佳分析。
在本發(fā)明的至少一個(gè)實(shí)施例中,在分析過程期間產(chǎn)生與一個(gè)書寫詞相應(yīng)的N個(gè)音素串(其中,N為大于1的正整數(shù))。這N個(gè)最佳音素串可以介紹給用戶,例如允許用戶為這個(gè)輸入詞從這N個(gè)備選音素串中選擇一個(gè)音素串(即,讀音)。為了產(chǎn)生這N個(gè)最佳串,必須保持這N個(gè)通達(dá)搜索表內(nèi)每個(gè)方塊的最佳路徑的徑跡。然后,對(duì)在表最后一列內(nèi)的N個(gè)最佳得分執(zhí)行回溯??梢詫⒎治銎鳛橐粋€(gè)給定的詞提供的N個(gè)最佳音素串組織成一個(gè)讀音網(wǎng)絡(luò)。這種組織在變換成這個(gè)詞的聲學(xué)模型時(shí)需要較小的存儲(chǔ)器。
為了減少在分析器內(nèi)存儲(chǔ)器的使用,可以限制為書寫詞的每個(gè)字母(即,搜索表的每個(gè)列)保存的最佳路徑的數(shù)目。例如,在搜索表每個(gè)列內(nèi),可以只為一小部分音素保存最佳路徑信息,而不是為在垂直軸內(nèi)列出的所有音素(例如,在一個(gè)實(shí)施例中為49個(gè)音素)保存最佳路徑。在測試這種方法中,發(fā)現(xiàn)在為一個(gè)表的每個(gè)列只保存10條最佳路徑的情況下幾乎感覺不到有性能下降。同時(shí),達(dá)到了將存儲(chǔ)器的使用減少為五分之一。在搜索N個(gè)最佳音素串時(shí)可以得到類似的結(jié)果。
在以上說明中,已經(jīng)結(jié)合所揭示的實(shí)施例確定了不同的數(shù)據(jù)結(jié)構(gòu)(例如,矩陣、數(shù)組等)。應(yīng)該看到,在這些實(shí)施例中的數(shù)據(jù)組織和存儲(chǔ)的具體格式并不是限制性的。
雖然以上是結(jié)合一些具體實(shí)施例對(duì)本發(fā)明進(jìn)行說明的,但熟悉該技術(shù)領(lǐng)域的人員很容易理解,在不背離本發(fā)明的精神實(shí)質(zhì)和專利保護(hù)范圍的情況下可以作出各種修改和變動(dòng)。所有這樣的修改和變動(dòng)都應(yīng)列入所附權(quán)利要求書給出的本發(fā)明的專利保護(hù)范圍。
權(quán)利要求
1.一種訓(xùn)練一個(gè)文字-音素分析系統(tǒng)的方法,所述方法包括下列步驟根據(jù)一本語音詞典內(nèi)的讀音產(chǎn)生第一信息,所述第一信息確定了多個(gè)可能的雙音素;根據(jù)出現(xiàn)頻率信息刪節(jié)所述多個(gè)可能的雙音素,產(chǎn)生一些經(jīng)刪節(jié)的雙音素;形成一個(gè)包括所述經(jīng)刪節(jié)的雙音素作為正當(dāng)音素的一個(gè)擴(kuò)展的音素集;以及根據(jù)所述擴(kuò)展的音素集產(chǎn)生第二信息,供在執(zhí)行文字-音素分析中使用。
2.權(quán)利要求1的方法,其中所述第一信息包括雙音素發(fā)出信息。
3.權(quán)利要求1的方法,其中所述第一信息包括音素發(fā)出信息。
4.權(quán)利要求1的方法,其中所述產(chǎn)生第一信息的步驟包括對(duì)所述語音詞典內(nèi)的詞執(zhí)行有監(jiān)督分段。
5.權(quán)利要求4的方法,其中所述執(zhí)行有監(jiān)督分段的步驟包括對(duì)一個(gè)第一詞執(zhí)行Viterbi搜索,以根據(jù)所述第一詞在所述語音詞典內(nèi)所標(biāo)的一組音素確定所述第一詞的最佳分段。
6.權(quán)利要求1的方法,其中所述產(chǎn)生第一信息的步驟包括對(duì)所述語音詞典內(nèi)的詞執(zhí)行有監(jiān)督分段和概率產(chǎn)生的循環(huán)。
7.權(quán)利要求1的方法,其中所述刪節(jié)可能的雙音素的步驟包括從所述多個(gè)可能的雙音素中選擇一些具有最高出現(xiàn)次數(shù)的雙音素。
8.權(quán)利要求1的方法,其中所述語音詞典標(biāo)出了一個(gè)初始的音素集;以及所述形成一個(gè)擴(kuò)展的音素集的步驟包括將所述經(jīng)刪節(jié)的雙音素添入所述初始的音素集。
9.權(quán)利要求1的方法,其中所述產(chǎn)生第二信息的步驟包括為所述擴(kuò)展的音素集內(nèi)的音素產(chǎn)生音素發(fā)出概率。
10.權(quán)利要求1的方法,其中所述產(chǎn)生第二信息的步驟包括為所述擴(kuò)展的音素集內(nèi)的音素產(chǎn)生音素轉(zhuǎn)移概率。
11.權(quán)利要求1的方法,其中所述產(chǎn)生第二信息的步驟包括產(chǎn)生在給定一個(gè)當(dāng)前音素和前一個(gè)音素時(shí)將導(dǎo)出一個(gè)特定字母串的概率。
12.權(quán)利要求1的方法,其中所述產(chǎn)生第二信息的步驟包括產(chǎn)生在給定前一個(gè)音素和一個(gè)由所述前一個(gè)音素發(fā)出的字母串時(shí)將導(dǎo)出一個(gè)特定音素的概率。
13.權(quán)利要求1的方法,其中所述產(chǎn)生第二信息的步驟包括對(duì)所述語音詞典內(nèi)的詞執(zhí)行有監(jiān)督分段。
14.權(quán)利要求1的方法,其中所述產(chǎn)生第二信息的步驟包括對(duì)所述語音詞典內(nèi)的詞執(zhí)行有監(jiān)督分段和概率產(chǎn)生的循環(huán)。
15.一種供在訓(xùn)練一個(gè)文字-音素分析系統(tǒng)中使用的方法,所述方法包括下列步驟根據(jù)已知的詞讀音對(duì)詞進(jìn)行分段,產(chǎn)生分段結(jié)果;用所述分段結(jié)果產(chǎn)生概率信息,所述概率信息包括多個(gè)概率值;標(biāo)出所述概率信息內(nèi)低于一個(gè)第一門限值的概率值;以及將所述標(biāo)出的概率值改變?yōu)橐粋€(gè)預(yù)定值。
16.權(quán)利要求15的方法,其中所述預(yù)定值是所述第一門限值。
17.權(quán)利要求15的方法,所述方法還包括下列步驟在改變所述標(biāo)出的概率值后根據(jù)所述概率信息重新對(duì)所述詞進(jìn)行分段,產(chǎn)生新的分段結(jié)果。
18.權(quán)利要求17的方法,所述方法還包括下列步驟用所述新的分段結(jié)果產(chǎn)生新的概率信息,所述新的概率信息包括多個(gè)概率值;檢測在所述新的概率信息內(nèi)低于一個(gè)第二門限值的概率值;以及將所檢測到的概率值改變?yōu)橐粋€(gè)第二預(yù)定值。
19.權(quán)利要求18的方法,其中所述第二門限值小于所述第一門限值。
20.權(quán)利要求15的方法,其中所述概率信息包括音素發(fā)出概率。
21.權(quán)利要求15的方法,其中所述概率信息包括在給定一個(gè)當(dāng)前音素和前一個(gè)音素時(shí)將導(dǎo)出一個(gè)特定字母串的概率。
22.權(quán)利要求15的方法,其中所述概率信息包括雙音素發(fā)出概率,所述雙音素發(fā)出概率包括一個(gè)給定的音素對(duì)將發(fā)出一個(gè)特定字母的概率。
23.權(quán)利要求15的方法,其中所述概率信息包括音素轉(zhuǎn)移概率。
24.權(quán)利要求23的方法,其中所述音素轉(zhuǎn)移概率包括在給定前一個(gè)音素時(shí)將導(dǎo)出一個(gè)特定音素的概率。
25.權(quán)利要求23的方法,其中所述音素轉(zhuǎn)移概率包括在給定前一個(gè)音素和一個(gè)由所述前一個(gè)音素發(fā)出的字母串時(shí)將導(dǎo)出一個(gè)特定音素的概率。
26.權(quán)利要求23的方法,其中所述對(duì)詞進(jìn)行分段的步驟包括對(duì)詞根據(jù)一個(gè)語音詞典內(nèi)的相應(yīng)讀音進(jìn)行分段。
27.一種供在訓(xùn)練一個(gè)文字-音素分析系統(tǒng)中使用的方法,所述方法包括下列步驟對(duì)詞根據(jù)已知的詞讀音進(jìn)行分段,產(chǎn)生分段結(jié)果;以及用所述分段結(jié)果產(chǎn)生概率信息,所述概率信息包括廣義轉(zhuǎn)移概率信息,所述廣義轉(zhuǎn)移概率信息包括在給定前一個(gè)音素和一個(gè)由所述前一個(gè)音素發(fā)出的字母串時(shí)將導(dǎo)出一個(gè)特定音素的概率。
28.權(quán)利要求27的方法,其中所述概率信息包括廣義發(fā)出概率信息,所述廣義發(fā)出概率信息包括在給定一個(gè)當(dāng)前音素和前一個(gè)音素時(shí)將導(dǎo)出一個(gè)特定字母串的概率。
29.權(quán)利要求27的方法,其中所述對(duì)詞進(jìn)行分段的步驟包括對(duì)詞根據(jù)一個(gè)語音詞典內(nèi)的相應(yīng)讀音進(jìn)行分段。
30.權(quán)利要求27的方法,其中所述對(duì)詞進(jìn)行分段的步驟包括為一個(gè)第一詞確定一條通過一個(gè)Viterbi搜索表的最佳路徑。
31.權(quán)利要求27的方法,所述方法還包括下列步驟重復(fù)所述對(duì)詞進(jìn)行分段和產(chǎn)生概率信息的步驟,直到滿足一個(gè)預(yù)定的條件。
32.一種文字-音素分析系統(tǒng),所述系統(tǒng)包括一個(gè)包括廣義轉(zhuǎn)移概率信息的概率數(shù)據(jù)庫,所述廣義轉(zhuǎn)移概率信息包括在給定前一個(gè)音素和一個(gè)由所述前一個(gè)音素發(fā)出的字母串時(shí)將出現(xiàn)一個(gè)特定音素的概率;以及一個(gè)根據(jù)所述概率數(shù)據(jù)庫內(nèi)的信息為一個(gè)書寫的輸入字產(chǎn)生至少一個(gè)音素串的文字-音素分析器。
33.權(quán)利要求32的文字-音素分析系統(tǒng),其中所述概率數(shù)據(jù)庫包括廣義發(fā)出概率信息,所述廣義發(fā)出概率信息包括在給定一個(gè)當(dāng)前音素和前一個(gè)音素時(shí)將導(dǎo)出一個(gè)特定字母串的概率。
34.權(quán)利要求32的文字-音素分析系統(tǒng),其中所述概率數(shù)據(jù)庫包括根據(jù)一個(gè)語音詞典內(nèi)的詞讀音產(chǎn)生的概率信息。
35.權(quán)利要求32的文字-音素分析系統(tǒng),其中所述文字-音素分析器產(chǎn)生所述書寫的輸入詞的N個(gè)最佳音素串,其中N為一個(gè)大于1的整數(shù)。
全文摘要
本發(fā)明提供了一種用一個(gè)概率數(shù)據(jù)庫內(nèi)的概率信息為一個(gè)書寫的輸入詞產(chǎn)生一個(gè)或多個(gè)音素串的基于HMM的文字-音素分析器。本發(fā)明還提供了訓(xùn)練這種文字-音素分析器的技術(shù)。
文檔編號(hào)G10L13/08GK1613107SQ02826819
公開日2005年5月4日 申請(qǐng)日期2002年10月29日 優(yōu)先權(quán)日2001年11月6日
發(fā)明者M·格利尼亞斯蒂 申請(qǐng)人:D·S·P·C·技術(shù)有限公司