專利名稱::自動語音識別方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及自動語音識別(ASR)領(lǐng)域。更具體而言,本發(fā)明涉及用于計算語言模型前看(lookahead)概率的方法和設(shè)備。
背景技術(shù):
:在ASR中使用獨立于聲學(xué)觀測的語言模型LM來限制應(yīng)該如何將語言中的詞連接起來以形成句子。通常使用的語言模型基于其中考慮了n-1個歷史詞的n元(n-gram)。當(dāng)語言模型由于將被應(yīng)用而需要完成的詞時,引入語言模型前看LMLA概率,其允許在一個詞完成之前應(yīng)用語言模型,,語言模型前看(LMLA)可以加速n元解碼過程。LMLA的主要思想為當(dāng)不知道當(dāng)前詞id時使用LMLA概率作為語言得分(linguisticscore),,該技術(shù)導(dǎo)致解碼過程的更有效率的修剪。然而,在常規(guī)方法中產(chǎn)生LMLA概率的計算成^f艮高。當(dāng)采用高階LMLA例如三元LMLA時,在搜索空間中出現(xiàn)的不同三元語境(context)的數(shù)目與二元語境的數(shù)目相比急劇增加。結(jié)果,三元LMLA的計算成本遠(yuǎn)遠(yuǎn)高于二元LMLA,這甚至不能通過使用該技術(shù)減少搜索空間來補償。為了克服該問題,提出了一些好的方法,包括基于節(jié)點的LMLA概率高速緩存(cache)、預(yù)計算LM概率以及完美散列(perfecthashing)。這些方法中的大多數(shù)集中于怎樣有效地高速緩存和查詢LMLA概率。然而,產(chǎn)生LMLA概率本身就是耗時的過程。
發(fā)明內(nèi)容本發(fā)明解決了該問題,并在第一方面提供了一種用于計算在語言模型前看樹中的節(jié)點處的前看概率的系統(tǒng),其中語言的詞匯表的詞位于所述樹的葉處,所述i殳備包括裝置,用于使用第一低階語言模型向所述詞匯表的所述詞中的每一個詞分配語言模型概率;裝置,用于使用第一語言模型計算所述樹中的所有節(jié)點的語言前看概率;裝置,用于確定是否可以使用較高階語言模型計算所述詞匯表的一個或多個詞的所述語言模型概率并使用所述較高階語言模型更新所述詞;以及裝置,用于僅僅更新受到其中語言模型已被更新的詞的影響的節(jié)點處的前看概率。本發(fā)明從較低階LMLA樹產(chǎn)生較高階LMLA概率。所述方法基.于稀少的n元LM。在基于回退(backoff)的LM中,給定詞語境信息,僅僅顯式(explicitly)估計n元概率的一小部分,而通過回退估計來計算剩下的n元概率?;谠撌聦崳瑥腢-l)元LMLA樹開始計算n元LMLA樹。如果n元LMLA樹中的節(jié)點與顯式估計的n元值不相關(guān),那么可以從(n-1)元LMLA樹直接得到該節(jié)點的LMLA概率。4吏用該方法,產(chǎn)生二元LMLA樹的過程加速到3倍,產(chǎn)生三元LMLA樹的過程加速到12倍。常規(guī)方法將計算LM概率和LMLA概率作為兩個獨立的過程處理。然而,LMLA概率的計算和LM概率的計算有很強的關(guān)聯(lián)。利用該關(guān)系,可以極大地加速LMLA概率的計算。本發(fā)明減少了在以統(tǒng)計語言模型和語言模型前看運行的解碼器中計算語言模型(LM)前看概率的數(shù)目。此外,本發(fā)明減少了LM前看的存儲器成本。當(dāng)考慮n元語言模型時,需要比較與詞和出現(xiàn)的之前詞相關(guān)的統(tǒng)計信息。然而,并不總能得到該數(shù)據(jù)。為了解決該問題,得出了回退參數(shù)的概念,其允許當(dāng)不能得到特定的詞的二元數(shù)據(jù)時,從例如用于該詞的一元模;型來估計二元概率。所述系統(tǒng)將優(yōu)選使用回退M用于較低階語言模型。所述系統(tǒng)被配置為存儲或計算該回退參數(shù)。為了確定是否可以使用較高階語言模型計算所述詞匯表的一個或多個詞的所述語言模型概率,所述系統(tǒng)優(yōu)選被配置為確定一個詞是否與預(yù)先識別的詞相結(jié)合出現(xiàn)。所述較高階模型優(yōu)選為二元、三元、四元或更高階n元模型。在優(yōu)選的實施例中,所述系統(tǒng)還包括具有多高速緩存結(jié)構(gòu)的存儲器,其中所述存儲器的高速緩存的數(shù)目等于在所述系統(tǒng)中使用的所述n元模型的階。在第二方面,本發(fā)明提供了一種自動語音識別系統(tǒng),包括裝置,用于接收語音;裝置,用于從所述語音提取聲學(xué)信號并確定在所述語音中包含的詞的第一概率;裝置,用于提供語言模型以確定在所述語音中包含的詞的第二概率,其包括用于計算在上述語言模型前看樹中的節(jié)點處的前看概率的系統(tǒng);以及裝置,用于組合所述第一和第二概率并輸出從所述接收的語音中識別的詞。用于接收語音的裝置可以是麥克風(fēng)、語音記錄等。在第三方面,本發(fā)明提供了一種用于計算在語言模型前看樹中的節(jié)點處的語言模型前看概率的方法,其中語言的詞匯表的詞位于所述樹的葉處.,所述方法包括使用第一低階語言模型向所述詞匯表的所述詞中的每一個詞分配語言模型概率;使用第一語言模型計算所述樹中的所有節(jié)點的語言前看概率;確定是否可以使用較高階語言模型計算所述詞匯表的一個或多個詞的所述語言模型概率并使用所述較高階語言模型概率更新所述詞;以及僅僅更新受到其中語言模型已被更新的詞的影響的節(jié)點處的前看概率。優(yōu)選地,確定較低階語言模型概率使用回退參數(shù)。所述方法為動態(tài)方法,并且需要連續(xù)解碼新的聲學(xué)信號以形成詞。如果需要新LMLA樹,其可以這樣構(gòu)建重新設(shè)定語言模型前看概率至較低階語言模型;確定是否可以使用較高階語言模型計算詞匯表的一個或多個詞的語言模型概率并使用所述較高階語言模型概率更新所述詞;以及僅僅更新受到其中語言模型已被更新的詞的影響的節(jié)點處的前看概率。不必為接收的每一個聲矢量更新LMLA樹。例如,確定了新的矢量不會導(dǎo)致新LM語境,或可以在高速緩存中找到該語境的LMLA樹,便不需要更新LMLA。在第四方面,本發(fā)明提供了一種自動語音識別方法,包括接收語音;從所述語音提取聲學(xué)信號并基于所述聲學(xué)信號確定在所述語音中包含的詞的概率;提供語言模型,該模型包括計算在上述語言模型前看樹中的節(jié)點處的前看概率;以及輸出從所述接收的語音中識別的詞。雖然說明書將集中于語音識別,但本領(lǐng)域的技術(shù)人員可以理解本發(fā)明還可以應(yīng)用于語音到語音翻譯、OCR、手寫識別、或其他使用統(tǒng)計語言賴:;型信息的動態(tài)編程搜索。所述系統(tǒng)甚至可以應(yīng)用于DNA基因組排序。本發(fā)明可以通過硬件或通用計算機中的軟件來實施。此外,本發(fā)明還.可以由硬件和軟件的組合來實施。本發(fā)明還可以通過單處理設(shè)備或處理設(shè)備的分布網(wǎng)絡(luò)來實施。因為本發(fā)明可以通過軟件實施,所以本發(fā)明涵蓋在任何適當(dāng)?shù)妮d體介質(zhì)上為通用計算機提供的計算機代碼。所述載體介質(zhì)包括任何存儲介質(zhì),例如,軟盤、CDROM、磁裝置或可編程的存儲器器件、或任何瞬態(tài)介質(zhì),例如,任何信號,例如電、光或微波信號。圖l為ASR的搜索空間的示意圖;圖2為發(fā)音網(wǎng)絡(luò)的示意圖3為示出了基于詞匯網(wǎng)絡(luò)和二元LM的搜索空間的示意圖;圖4為LM前看概率樹的示意圖5示出了根據(jù)現(xiàn)有技術(shù)的方法計算語言模型前看概率的步驟;圖6示出了根據(jù)本發(fā)明的實施例計算語言模型前看概率的步驟;圖7示出了基于多高速緩存結(jié)構(gòu)的三元LMLA;以及圖8是使用LMLA的常規(guī)信號處理系統(tǒng)的示意圖。具體實施例方式現(xiàn)在將參考下列非限制性的優(yōu)選實施例更詳細(xì)地描述本發(fā)明。在自動語音識別(ASR)期間,首先將有待識別的語音數(shù)字化,然后計算表示語音的語域內(nèi)容的特征。為了將這些特征匹配到識別系統(tǒng)的詞匯表內(nèi)的詞,使用兩種類型的概率分布。一種為聲學(xué)語音學(xué)或聲學(xué)模型,表示將從上述特征得出的聲矢量匹配到已說出的詞的概率,另一種為語言模型。語言模型完全獨立于聲學(xué)觀測并被用于限制如何連接詞匯表的詞以形成完整的句子。本發(fā)明涉及語言模型。然而,為了描述本發(fā)明,首先給出通常的ASR的描述。如這里所使用的,數(shù)語"詞"表示統(tǒng)計語言模型的基礎(chǔ)單元。與"詞"相關(guān)的,詞序列、子詞序列和詞匯的概念如下a.詞序列i.解碼的通常問題為找到在輸入信號中包含的"詞"的序列。"詞"為語言模型(LM)中的統(tǒng)計單位的序列。ii.可以通過稱為n元模型的統(tǒng)計LM建模詞的序列,該n元模型使用最近的n-l個歷史詞來計算當(dāng)前詞的概率。假設(shè)存在詞的序列,基于ii元模型,^V"^的概率可以被計算為《jcp(甲2…,)=np(wf—r''ww)紹np(wf沐'-"+i'.1)(i)豕'鵬》^您i在7>式1中,如果i-n+Kl,詞歷史從w,開始。b.子詞序列對于本專利中考慮的解碼任務(wù),每一個詞可以被表示為l個或多個子詞單元的序列,子詞為,例如,語音中的音素、OCR等中的字母,例如"sa化/sAt/,sang/sAng/"。c.詞匯詞匯為搜索空間中的詞組(wordset)的一般表示,并通常由詞匯網(wǎng)絡(luò)表示,詞匯網(wǎng)絡(luò)中的每一條路徑表示一個詞的子詞序列。廣泛使用的詞匯前綴樹為詞匯網(wǎng)絡(luò)的特殊情況。解碼的主務(wù)f壬務(wù)為從極大的搜索空間選擇具有最大似然的詞序列。對于基于隱馬爾科夫模型(HMM)的大詞匯表連續(xù)語音識別(LVCSR),解碼問題為,在給出了聲學(xué)特征序列時,組合詞匯、聲學(xué)模型和語言模型信息并以給定的時間從其中每一節(jié)點關(guān)聯(lián)于一個HMM狀態(tài)的格狀搜索空間尋找最佳路徑(具有最大后驗似然),即,最佳HMM狀態(tài)序列。圖I示出了ASR的搜索空間(Ney及Ortmanns2000)的實例。圖2示出了發(fā)音網(wǎng)絡(luò)。出于效率原因,通常將ASR的發(fā)音詞匯組織為其中每一個圓弧表示一個音位模型的發(fā)音網(wǎng)絡(luò)。音位模型可以依賴或獨立于語境。廣泛使用的發(fā)音前綴樹為發(fā)音網(wǎng)絡(luò)的特殊情況。圖3示出了H.Ney和S.Ortmanns在2000年8月的ProceedingsoftheIEEE,ppl224畫pp1240中的"ProgressinDynamicProgrammingSearchforLVCSR"中所采用的ASR的搜索空間的示意圖。在圖3中,詞匯網(wǎng)絡(luò)包含3個詞A、B、C和靜音(silence)。在每個幀t中,以相同詞結(jié)束的所有假設(shè)被重新組合并按照對應(yīng)的詞歷史凈皮傳播到新的詞匯網(wǎng)絡(luò)中。給定聲學(xué)特征序列,解碼原理可以被表達(dá)為<formula>formulaseeoriginaldocumentpage12</formula>其中<為搜索空間中的詞序列,《為從幀1到幀T的聲學(xué)特征序列,以及《為從幀1到幀T的HMM狀態(tài)序列。在使用SLM信息的時間同步維特比(viterbi)解碼中,對于每一個幀t,動態(tài)編程過程可以分為兩部分,在詞內(nèi)的過程和在詞的邊界處的過程。如果采用二元解碼,在詞內(nèi)的過程可以表示為j口下<formula>formulaseeoriginaldocumentpage12</formula>其中,么(r,力為前趨(predecessor)v的結(jié)束于時間t且處于詞匯網(wǎng)絡(luò)的狀態(tài)s的最佳局部路徑的得分,系統(tǒng)使用fi力,"來傳#^設(shè)。Ad)為前趨v的結(jié)束于時間t且處于詞匯網(wǎng)絡(luò)的狀態(tài)s的最佳局部路徑中的最后的歷史詞的結(jié)束時間。系統(tǒng)使用足仏力存儲追溯信息?!?仏力為假設(shè)(t,s)和前驅(qū)v的最優(yōu)前趨狀態(tài)。在詞的邊界處,LM得分必須被加到局部路徑的總得分,然后,應(yīng)該重新組合在時間t以詞w結(jié)束的所用假設(shè),即,<formula>formulaseeoriginaldocumentpage12</formula>其中Sw為詞匯網(wǎng)絡(luò)中的詞w的終點狀態(tài)。在增加了LM得分之后,使用新的得分以執(zhí)行下一步驟的動態(tài)編程過程,即,<formula>formulaseeoriginaldocumentpage12</formula>通過修剪除去得分小的假設(shè)。修剪方法包括聲束修剪、語言模型束修-剪和直方圖修剪等。對于每一幀t,聲束修剪選擇最佳狀態(tài)假設(shè),并且僅僅保留其得分接近最佳得分的假設(shè),即,<formula>formulaseeoriginaldocumentpage13</formula>(6》如果<formula>formulaseeoriginaldocumentpage13</formula>(7)那么狀態(tài)假設(shè)(t,s,v)將被修剪掉,其中Ac為修剪閾值。語言模型修剪僅僅被應(yīng)用于到達(dá)當(dāng)前幀t的詞邊界的假設(shè)。這可以被描述為<formula>formulaseeoriginaldocumentpage13</formula>(8)如果化<formula>formulaseeoriginaldocumentpage13</formula>(9)詞邊界處的假設(shè)(t,s=0,v)將被修剪掉。如之前所述,本發(fā)明涉及語言模型,并且具體而言涉及LM前看技術(shù)。上述解碼算法基于詞匯發(fā)音網(wǎng)絡(luò),其中直到到達(dá)其他詞不能分享的第一圓弧系統(tǒng)才可以獲得詞ID。因此,詞ID通常鄰近詞匯發(fā)音網(wǎng)絡(luò)的尾部。因為語言模型限制了如何連接詞,所以當(dāng)檢測詞ID時僅僅可以非常晚地將其并入到解碼過程中。然而,為了盡可能早地引入LM得分,S.Ortmanns、H.Ney和A.Eiden在1996年10月的"Language-ModelLook-aheadforLargeVocabularySpeechRecognition",Proc.Int.Conf.SpokenLanguageProcessing,Philadelphia,PA,pp2095-pp2098,中提出了LM前看技術(shù)。給定LM語境,對于LM前看網(wǎng)絡(luò)中的每一個節(jié)點,將LM前看概率限定為從該特定的節(jié)點可以達(dá)到的所有詞的最大LM概率,即,<formula>formulaseeoriginaldocumentpage13</formula>(10)其中,W(n)表示從節(jié)點n可以到達(dá)的詞的組。LM前看的基本思想為將LM前看概率并入到動態(tài)編程過程中以獲得更有效的修剪。沒有LM前看技術(shù),在詞內(nèi)的假設(shè)的得分不包含當(dāng)前詞的LM得分,因為當(dāng)前詞ID是未知的。當(dāng)使用LM前看技術(shù)時,將LM前看概率并入到假設(shè)的原始得分中,并基于這些新的得分進(jìn)行修剪。圖4是LM前看概率樹的圖。LM前看網(wǎng)絡(luò)為例如在圖2中示出的類型的發(fā)音網(wǎng)絡(luò)的副本。在圖4的LM前看樹中,給定特定的LM語境,每一個節(jié)點包含其LM前看概率??梢酝ㄟ^去除僅具有一個后繼節(jié)點的所有節(jié)點來壓縮LM前看網(wǎng)絡(luò)。計算LM前看概率的常規(guī)方法采用動態(tài)編程過程。因為LM前看網(wǎng)絡(luò)中的每一個葉節(jié)點對應(yīng)于單獨的詞,所以首先,LM前看網(wǎng)絡(luò)中的葉節(jié)點的LM前看概率4皮分配為不同的詞的真實LM概率。然后,對于每一個特定的節(jié)點,通過其后繼節(jié)點的最大LM前看概率來確定LM前看概率。可以從底部到頂部遞歸計算整個LM前看網(wǎng)絡(luò)的LM前看概率,即,其中,s(n)為節(jié)點n的后繼節(jié)點的組。典型地,LM前看概率必須在解碼過程期間即時產(chǎn)生。因此,計算LM前看概率的效率會極大影響解碼速度。雖然動態(tài)編程過程提供了計算LM前看概率的有效方法,但是其會導(dǎo)致過量的計算次數(shù)。圖5示出了LM前看概率的計算。計算可以分為兩部分,即,圖5a示出的第一部分和圖5b示出的第二部分。第一部分基于LM語境例如詞的n元模型概率計算詞匯表中的每一個詞的LM概率。第二部分通過為每一個節(jié)點求和從特定節(jié)點可以達(dá)到的所有詞的LM概率來為LM前看網(wǎng)絡(luò)中的每一個節(jié)點分配LM前看概率。通過動態(tài)編程過程分配LM前看概率。假定詞匯表包含V個詞,LM前看網(wǎng)絡(luò)包含M個節(jié)點。這意味著對于發(fā)生在搜索空間中的每一個LM歷史,LVCSR系統(tǒng)必須在步驟1中查詢V個概率,在步驟2中產(chǎn)生M個前看概率。在LVCSR系統(tǒng)中,V和M的值非常大。典型地在識別一個句子的期間,在搜索空間中存在幾百個二元語境和幾千個三元語境。對于更高階的n元,例如,4元,搜索空間中的LM語境的數(shù)目甚至更大。對于每一個LM語境,必須進(jìn)行上述的LM概率計算。因此,使用常規(guī)方法計算LM前看概率時,CPU成^艮高。同時,如果高速緩存出現(xiàn)在搜索空間中的LM前看概率,假定LM前看網(wǎng)絡(luò)包含M個節(jié)點,并且在搜索空間中出現(xiàn)N個不同的LM語境,那么,需要存儲MxN個LM概率。在LVCSR系統(tǒng)中,當(dāng)使用高階n元解碼時,M和N都很大,因此進(jìn)行LM前看的存儲器成本同樣很高。圖6示意性地示出了才艮據(jù)本發(fā)明的實施例計算LM前看概率的方法。在實施例中,使用低階LM前看信息以減小較高階LM前看的計算。參考圖5描述的方法沒有使用低階LM前看信息,LM前看網(wǎng)絡(luò)中的每一個節(jié)點必須,皮分配一個LM前看概率。在根據(jù)本發(fā)明的實施例的方法中,僅僅需要更新小子集的節(jié)點的LM前看概率,而對于LM前看網(wǎng)絡(luò)中的大多數(shù)節(jié)點,可以直接從低階LM前看網(wǎng)絡(luò)復(fù)制其LM前看概率?;诨赝?backoff)的n元模型的可以械束達(dá)為如下<formula>formulaseeoriginaldocumentpage15</formula>其中,f(.)為從n元文件中讀取的折扣(discounted)LM概率,C()為訓(xùn)練語料(trainingcorpus)中出現(xiàn)的事件的頻率,回退(h)為使得所有w的概率的和等于1的歷史h的回退參數(shù),以及h'表示h的較低階歷史。公式12指示了當(dāng)在n元數(shù)據(jù)中不能找到歷史-詞對時,可以使用較低階模型作為回退估計。實際而言,對于大詞匯表應(yīng)用,給定歷史h,可以在訓(xùn)練數(shù)據(jù)中找到的不同的歷史-詞對的數(shù)目遠(yuǎn)小于詞匯表V的尺寸。這意味著,對于每個詞歷史h,大多數(shù)的n元概率通過回退估計給出??梢允褂迷摤F(xiàn)象加速語言建模的計算。當(dāng)考慮11元語言模型時,需要比較與詞和出現(xiàn)的之前的詞相關(guān)的統(tǒng)計信息。然而,并不總能得到該數(shù)據(jù)。為了解決該問題,得出了回退參數(shù)的概念,其允許當(dāng)不能獲得特定的詞的二元數(shù)據(jù)時,通過例如用于該詞的一元模型來估計二元概率。例如,在圖6的實施例中,回退參數(shù)計算如下n元LM可被計算為/(沐f)*勘efe^f(A)o幼酵ise作為概率,其應(yīng)該滿足^]尸(,)=1(b)才艮據(jù)/〉式a,7>式1>可以#皮重新寫為由此,可以通過下式計算回退參數(shù)可以提前計算并存儲回退參數(shù)。節(jié)點n中的LM前看的定義為從n可以到達(dá)的所有詞的最大LM概率其可以被束示為tt(I=maxP(沐IA)《13)其中W(n)表示從節(jié)點n可以到達(dá)的詞的組。根據(jù)公式(12),可以將LM前看的定義重新寫為I旬-max{Tj(打IA%(I》)}(:14》其中<formula>formulaseeoriginaldocumentpage17</formula>并且<formula>formulaseeoriginaldocumentpage17</formula>因此,LMLA樹中的節(jié)點可以4皮分為兩部分,即,<formula>formulaseeoriginaldocumentpage17</formula>給定詞歷史h,僅僅需要使用顯式n元估計來計算與M相關(guān)的LMLA概率,而使用回退估計計算與]\2相關(guān)的其余的LMLA概率?;谏鲜龇治?,給出了用于計算LMLA概率的新的方法。根據(jù)上述分析,LM前看的計算可以分為4個步驟。步驟l:產(chǎn)生低階LM前看網(wǎng)絡(luò),r,對于T中的每一個節(jié)點njA)=maxP(wf的f17、步驟2:用歷史h的回退^lt乘以低階LM前看概率,以產(chǎn)生新的LM前看網(wǎng)絡(luò)(樹),f,對于f中的每一個節(jié)點n矛(打IA)=(力)雄P(沐I&')<工8)步驟3:對于在訓(xùn)練語料中的與LM語境h共同出現(xiàn)的每一個詞w,用n元模型中的折扣LM概率代替f的葉節(jié)點中的回退LM概率,即,如果C(h,w)>0,使用/(wl^代替f中的/0|的""£*#(/0。步驟4:對于,={^|(:仇*)>0》中的每一個詞w,使用動態(tài)編程過程,更新從其可以到達(dá)w的節(jié)點中的LM前看概率。圖6示出了基于新方法的LMLA概率的計算。圖6a示出了步驟l和2,圖6b示出了步驟3和4。計算LMLA概率的新方法從回退LMLA樹開始。圖6中的LMLA樹包含8個葉,即,8個單獨的詞。給定LM語境h,假定僅僅兩個詞w,和W3具有顯式LM概率,新方法僅僅需要計算從其可以到達(dá)Wi和Ws的節(jié)點,即,圖6中的黑節(jié)點,的LMLA概率,而可以從回退LMLA樹直接復(fù)制其余的LMLA概率,即,灰節(jié)點中的LMLA概率。實施例的方法通過僅僅計算LM前看樹中的節(jié)點的子集,即,屬于公式17中的N!的節(jié)點,而不是像舊方法一樣更新每個節(jié)點,顯著減少了CPU成本。對于特定的LM語境h,詞組W={w|C(h,w)>0}遠(yuǎn)小于整個識別詞匯庫。因此&中的節(jié)點僅僅是LM前看樹中的節(jié)點的小的子集。由此,可以非常有效率地計算高階LM前看概率例如三元前看概率。傳統(tǒng)方法保持一個緩沖器以高速緩存出現(xiàn)在搜索空間中的LM前看網(wǎng)絡(luò),以便可以在將來重新使用這些LM前看網(wǎng)絡(luò)。在提出的方法中,為了計算n元LM前看概率,不僅需要高速緩存n元前看網(wǎng)絡(luò)而且需要高速緩存n-:l元前看網(wǎng)絡(luò)。在計算n元前看概率之前,進(jìn)行檢測以觀察需要的n元前看網(wǎng)絡(luò)是否已經(jīng)高速緩存在n元前看緩沖器中。如果沒有,在n-l元前看緩沖器中搜索對應(yīng)的n-l元前看網(wǎng)絡(luò)。然后,使用提出的方法從n-l元前看網(wǎng)絡(luò)產(chǎn)生n元前看網(wǎng)絡(luò)。當(dāng)計算n-l元前看網(wǎng)絡(luò)時也進(jìn)行相同的相似的操作,即,需要高速緩存n-2元前看網(wǎng)絡(luò)以產(chǎn)生n-l元前看網(wǎng)絡(luò)。迭代地進(jìn)行該操作,總是緩存較低階前看網(wǎng)絡(luò)以產(chǎn)生較高階前看網(wǎng)絡(luò)。使用實施例的方法,可以顯現(xiàn)減小計算LM前看概率的CPU成本。在常規(guī)方法中,對于LM前看樹中的每一個節(jié)點,都需要計算對應(yīng)的LM前看概率。在提出的方法中,僅僅需要更新LM前看樹的子集節(jié)點的LM前看概率。將節(jié)點(w)(Node(w))限定為通過其可以到達(dá)詞w的節(jié)點的組。于是,LM前看網(wǎng)絡(luò)中需要更新LM前看概率的所有節(jié)點可以表達(dá)為<formula>formulaseeoriginaldocumentpage18</formula>對于特定的LM語境h,詞組W={w|C(h,w)>0}遠(yuǎn)小于整個識別詞匯表。因此,組N中的節(jié)點的數(shù)目遠(yuǎn)小于LM前看網(wǎng)絡(luò)中的總節(jié)點數(shù)目。實施例的方法還可以減少存儲器成本。乍一看,提出的方法需要高速緩存較高階和較低階前看網(wǎng)絡(luò),所以存儲成本高。然而,用于高速緩存較低階前看網(wǎng)絡(luò)的緩沖器的大小遠(yuǎn)小于用于高速緩存較高階前看網(wǎng)絡(luò)的緩沖器。另一方面,提出的方法遠(yuǎn)快于常規(guī)方法,因此僅僅需要高速緩存最頻繁出現(xiàn)的前看網(wǎng)絡(luò),在要求時才產(chǎn)生剩余的較不頻繁的前看網(wǎng)絡(luò)而不會具有太大的CPU成本。因為最頻繁出現(xiàn)的前看網(wǎng)絡(luò)相比于出現(xiàn)在搜索空間中的所有前看網(wǎng)^僅占據(jù)存儲器的一小部分,因此提出的方法實際上減小了存儲器成本。此外,常規(guī)方法高速緩存搜索空間中的所有LM前看網(wǎng)絡(luò)。在提出的方法中,對于每一個n元語境,系統(tǒng)可以檢查在模型中是否真的存在基于該語境的n元概率。如果沒有為特定n元語境存儲n元概率,便不需要存儲與該語境相關(guān)的n元前看網(wǎng)絡(luò),n-l元前看網(wǎng)^#被直接使用。因此,在根據(jù)本發(fā)明的實施例的方法中,可以進(jìn)一步減小存儲的n元前看網(wǎng)絡(luò)。1.實施例的方法顯著加速了LM前看概率的計算。2.實施例的方法可以減小三元或更高階n元前看的存儲器成本。在實施例的方法中,較高階LMLA概率的計算依賴于較低階LMLA概率的值,設(shè)計多高速緩存結(jié)構(gòu)以執(zhí)行高階LMLA。系統(tǒng)所具有的高速緩存的數(shù)目與解碼器采用的LM的階相同。每一階的LMLA概率具有一個高速緩存。如果在高速緩存中不存在需要的LMLA樹,使用對應(yīng)的回退桐從低階LMLA高速緩存來產(chǎn)生需要的LMLA樹。圖7示出了基于多高速緩存的三元LMLA的框架結(jié)構(gòu)。基于多高速緩存結(jié)構(gòu),三元LMLA被分為5個步驟步驟1:解碼器從LMLA評分模塊請求節(jié)點n的LMLA得分和詞歷史WjWi,LMLA評分模塊檢查請求的LMLA概率是否已存在于三元LMLA高速緩存中,如果是,那么就返回該LMLA概率,否則,到步驟2。步驟2:使用二元詞歷史Wi查尋二元LMLA高速緩存,如果Wj的LMLA緩沖已存在于高速緩存中,進(jìn)行到步驟4,否則,到步驟3。步驟3:使用一元LMLA緩沖器,產(chǎn)生并高速緩存Wi的二元LMLA緩沖。步驟4:使用Wi的二元LMLA緩沖器,產(chǎn)生并高速緩存wjWi的三元LMLA緩沖。步驟5:將請求的LMLA概率返回到解碼器。將圖6的方法用于具有WSJ20K詞匯表系統(tǒng)的三元LMLA。訓(xùn)練語音為WSJ0和WSJ1語料、SI284訓(xùn)練組。詞匯表為具有語言數(shù)據(jù)聯(lián)盟(LDC)提供的約20k個詞的封閉詞匯表(closedvocabulary)。聲學(xué)賴;型包含6000綁定(tied)HMM狀態(tài),每一狀態(tài)具有10高斯混合分量。語音特征矢量為33維,包括10C-MFCKL、1LOG能量(energy)及其一階和二階時間導(dǎo)數(shù)。LM是利用具有約40M個詞的WSJ87-89文本語料訓(xùn)練的三元語言模型。LMLA的配置MIPSLMLA的CPU成本常規(guī)二元LMLA605425.8%新方法的二元LMLA53287.5%常規(guī)三元LMLA958965.8%新方法的三元LMLA528010.0%表1常規(guī)方法和新方法之間的LMLA的CPU成本比較表1示出了基于相同束寬的具有不同配置的LMLA的CPU成本。可以看出,本發(fā)明提出的方法極大地減小了LMLA概率的計算成本。產(chǎn)生二元LMLA樹的處理加速到3倍,產(chǎn)生三元LMLA樹的處理加速到12倍。當(dāng)使用三元LMLA時,在搜索空間中出現(xiàn)的不同三元語境的數(shù)目遠(yuǎn)大于二元語境的數(shù)目。在舊的方法中,三元LMLA的益處不能補償由于LMLA所產(chǎn)生的額外的計算,系統(tǒng)甚至比二元LMLA系統(tǒng)更it。另一方面,因為新方法計算LMLA概率比常規(guī)方法快得多,因此當(dāng)使用新方法時,三元LMLA相比于二元LMLA進(jìn)一步提速了系統(tǒng)。表2示出了基于新方法的三元LMLA和二元LMLA的性能。為了獲得相同的WER,基于三元LMLA的解碼總是比使用二元LMLA的解碼快。在快速解碼中三元更有效率,當(dāng)束寬度為160時,三元LMLA的WER比二元LMLA好1%,當(dāng)束寬度增加到200時,差異減小到0.3%。如在部分4中所述,新方法中的三元LMLA基于多高速緩存結(jié)構(gòu),在該結(jié)構(gòu)中從二元LMLA概率產(chǎn)生三元LMLA概率,并從一元LMLA概率產(chǎn)生二元LMLA概率。表3示出了基于WSJ20K任務(wù)中的一個測試話語的不同階的LMLA的計算量??梢钥闯?,即使產(chǎn)生了多出三倍的三元LMLA樹,也僅僅占用了1.26%的CPU成本,而二元LMLA占據(jù)了7.63%的CPU成本。這主要由于三元數(shù)據(jù)的稀少。因為三元數(shù)據(jù)相比于二元數(shù)據(jù)非常稀少,在三元LMLA中將更新的節(jié)點遠(yuǎn)小于二元LMLA中的節(jié)點。因此,大多數(shù)的計算成本來自二元LMLA,即使其不經(jīng)常被調(diào)用。<table>tableseeoriginaldocumentpage21</column></row><table>表2:基于新方法的三元LMLA和二元LMLA的比較結(jié)果<table>tableseeoriginaldocumentpage21</column></row><table>表3:基于新方法的不同階的LMLA的計算量。如前所述,本發(fā)明還可以應(yīng)用于其中需要結(jié)合語言模型動態(tài)處理輸入信號的一系列系統(tǒng)。圖8示出了^f出系統(tǒng),其中在輸入單元l提供輸入信號的。然后,將單元l的輸出提供給單元3,在單元3中聲學(xué)模型或其他模型可以產(chǎn)生在確定的輸入信號中的可能的詞的第一概率分布。例如,在語音識別時,該單元將提供聲學(xué)語音學(xué)模型。單元5提供可以限制如何在語言中連接詞的語言模型。在語言模型和聲學(xué)模型單元3之間可以存在通訊。最終,解碼器7產(chǎn)生輸出,在語音識別的情況下,所述輸出為詞。該系統(tǒng)可以為語音-語音翻譯系統(tǒng)的一部分,在所述翻譯系統(tǒng)中使用TTS系統(tǒng)等進(jìn)一步將所述輸出翻譯并輸出為語音。同樣,該系統(tǒng)可以用于OCR,其中,輸入單元1處的輸入將為掃描的文本而不是語音,并且代替提供聲學(xué)模型,單元3將輸出掃描的文本中的詞的概率。語言模型5的操作方式與之前描述的相同。解碼器7將輸出計算機可以讀和處理的文本用于詞處理等等的。相似地,可以將該系統(tǒng)應(yīng)用于其中輸入為手寫文本的手寫分析,并且單元3解碼手寫文本。同樣語言模型的操作方式與上面描述的相同。最后,該系統(tǒng)還可以用于例如DNA基因組測序的非常規(guī)語言模型。權(quán)利要求1.一種用于計算在語言模型前看樹中的節(jié)點處的前看概率的系統(tǒng),其中語言的詞匯表的詞位于所述樹的葉處,所述設(shè)備包括裝置,用于使用第一低階語言模型向所述詞匯表的所述詞中的每一個詞分配語言模型概率;裝置,用于使用所述第一低階語言模型計算所述樹中的所有節(jié)點的語言前看概率;裝置,用于確定是否可以使用較高階語言模型計算所述詞匯表的一個或多個詞的所述語言模型概率并使用所述較高階語言模型更新所述詞;以及裝置,用于僅僅更新受到其中語言模型已被更新的詞的影響的節(jié)點處的前看概率。2.根據(jù)權(quán)利要求l的系統(tǒng),其中用于使用較低階語言模型分配語言模型概率的所述裝置被配置為使用回退參數(shù)。3.根據(jù)權(quán)利要求l的系統(tǒng),其中用于確定是否可以使用較高階語言模型計算所述詞匯表的一個或多個詞的所述語言模型概率的所述裝置被配置為確定詞是否已經(jīng)與預(yù)先識別的詞相結(jié)合出現(xiàn)。4.根據(jù)權(quán)利要求l的系統(tǒng),其中所述較高階模型為二元、三元、四元或更高階n元模型。5.根據(jù)權(quán)利要求4的系統(tǒng),還包括具有多高速緩存結(jié)構(gòu)的存儲器,其中所述存儲器的高速緩存的數(shù)目等于在所述系統(tǒng)中使用的所述n元模型的階。6.—種自動語音識別系統(tǒng),包括裝置,用于接收語音;裝置,用于從所述語音提取聲學(xué)信號并確定在所述語音中包含的詞的第一概率;裝置,用于提供語言模型以確定在所述語音中包含的詞的第二概率,包括根據(jù)上述權(quán)利要求中的任何一項的用于計算在語言模型前看樹中的節(jié)點處的前看概率的系統(tǒng);以及裝置,用于組合所述第一和第二概率并輸出從所接收的語音中識別的詞。7.—種語音到語音翻譯系統(tǒng),包括權(quán)利要求6的自動語音識別系統(tǒng)和用于將輸出的詞翻譯為另一語言的裝置。8.—種OCR系統(tǒng),包括裝置,用于接收掃描的文本;裝置,用于確定在所述文本中包含的詞的第一概率;裝置,用于提供語言模型以確定在所述文本中包含的詞的第二概率,包括根據(jù)權(quán)利要求1到5中的任何一項的用于計算在語言模型前看樹中的節(jié)點處的前看概率的系統(tǒng);以及裝置,用于組合所述第一和第二概率并以計算機可以讀取的形式輸出從所述掃描的文本中識別的詞。9.一種手寫識別系統(tǒng),包括裝置,用于接收手寫的文本;裝置,用于確定在所述文本中包含的詞的第一概率;裝置,用于提供語言模型以確定在所述文本中包含的詞的笫二概率,包括根據(jù)權(quán)利要求1到5中的任何一項的用于計算在語言模型前看樹中的節(jié)點處的前看概率的系統(tǒng);以及裝置,用于組合所述第一和第二概率并輸出從所述手寫的文本中識別的詞。10.—種用于計算在語言模型前看樹中的節(jié)點處的語言才莫型前看概率的方法,其中語言的詞匯表的詞位于所述樹的葉處,所述方法包括使用第一低階語言模型向所述詞匯表的所述詞中的每一個詞分配語言模型概率;使用所述第一語言模型計算所述樹中的所有節(jié)點的語言前看概率;確定是否可以使用較高階語言模型計算所述詞匯表的一個或多個詞的語言模型概率并使用較高階語言模型概率更新所述詞;以及僅僅更新受到其中語言模型已被更新的詞的影響的節(jié)點處的前看概率。11.根據(jù)權(quán)利要求10的方法,其中確定較低階語言模型概率使用回退12.根據(jù)權(quán)利要求10的方法,其中確定是否可以使用較高階語言模型計算所述詞匯表的一個或多個詞的語言模型概率確定詞是否已經(jīng)與預(yù)先識別的詞相結(jié)合出現(xiàn)。13.根據(jù)權(quán)利要求10的方法,其中所述較高階模型為二元、三元、四元或更高階n元模型。14.根據(jù)權(quán)利要求10的方法,還包括通過將所述語言模型前看概率重新設(shè)定至較低階語言模型來解碼序列信號;確定是否可以使用較高階語言模型計算所述詞匯表的一個或多個詞的語言模型概率并使用較高階語言模型概率更新所述詞;以及僅僅更新受到其中語言模型已被更新的詞的影響的節(jié)點處的前看概率。15.—種自動i吾音識別方法,包括接收語音;從所述語音提取聲學(xué)信號并基于所述聲學(xué)信號確定在所述語音中包含的詞的概率;提供語言模型,包括根據(jù)權(quán)利要求10到14中的任何一項的計算在語言模型前看樹中的節(jié)點處的前看概率;以及輸出從所接收的語音中識別的詞。16.—種語音到語音翻譯方法,包括權(quán)利要求15的自動語音識別方法和將輸出的詞翻譯為另一語言。17.—種OCR方法,包括接收掃描的文本;確定在所述文本中包含的詞的第一概率;提供語言模型以確定在所述文本中包含的詞的第二概率,包括根據(jù)權(quán)利要求10到14中的任何一項的用于計算在語言模型前看樹中的節(jié)點處的前看概率的方法;以及組合所述第一和第二概率并以計算機可以讀取的形式輸出從所述掃描的文本中識別的詞。18.—種手寫識別方法,包括接收手寫的文本;確定在所述文本中包含的詞的第一概率;提供語言模型以確定在所述文本中包含的詞的第二概率,包括根據(jù)權(quán)利要求10到14中的任何一項的用于計算在語言模型前看樹中的節(jié)點處的前看概率的方法;以及組合所述第一和第二概率并輸出從所述手寫的文本中識別的詞。19.一種載體介質(zhì),其被配置為記載用于控制計算機以實施權(quán)利要求10到18中的任何一項的方法的計算機可讀指令。全文摘要一種用于計算在語言模型前看樹中的節(jié)點處的前看概率的系統(tǒng),其中語言的詞匯表的詞位于所述樹的葉處,所述設(shè)備包括裝置,用于使用第一低階語言模型向所述詞匯表的所述詞中的每一個詞分配語言模型概率;裝置,用于使用第一語言模型計算所述樹中的所有節(jié)點的語言前看概率;裝置,用于確定是否可以使用較高階語言模型計算所述詞匯表的一個或多個詞的語言模型概率并使用所述較高階語言模型更新所述詞;以及裝置,用于僅僅更新受到其中語言模型已被更新的詞的影響的節(jié)點處的前看概率。文檔編號G10L15/18GK101548285SQ200880000950公開日2009年9月30日申請日期2008年10月2日優(yōu)先權(quán)日2007年10月4日發(fā)明者陳浪舟申請人:株式會社東芝