專利名稱:歧義消除語言模型的制作方法
背景技術(shù):
本發(fā)明涉及語言建模。更特別地,本發(fā)明涉及創(chuàng)建及使用一種用于使諸如輸入語音的字符識(shí)別期間的歧義最小化的語言模型。
準(zhǔn)確的語音識(shí)別不只需要一種聲學(xué)模型來選擇用戶所說的正確的單詞。換句話說,如果一個(gè)語音識(shí)別器必須選擇或確定所發(fā)音的是哪一個(gè)單詞,如果所有的單詞都具有相同的發(fā)音,則該語音識(shí)別器將顯然不能滿意地執(zhí)行。一種語言模型提供了一種指定詞匯表中哪一個(gè)單詞序列是可能的的方法或裝置,或者通常,提供了有關(guān)各種單詞序列相似性的信息。
語音識(shí)別經(jīng)常被看作是一種自上至下的語言處理形式。語言處理的兩種一般形式包括“自上至下”和“自下至上”。自上至下語言處理是以語言的最大單元開始來識(shí)別,例如一個(gè)句子,通過將其分類為比較小的單元來處理,例如詞組,依次再分為更小的單元,例如單詞。相反,自下至上語言處理是以單詞開始,并從那里開始構(gòu)造較大的詞組和/或句子。語言處理的這兩種形式都可以從語言模型中得到幫助。
一種公知的分類技術(shù)是使用一種N個(gè)字符列語言模型。因?yàn)镹個(gè)字符列可以結(jié)交大量的數(shù)據(jù),N個(gè)單詞的相關(guān)性通常提供句法和語義的壓制的淺部結(jié)構(gòu)。盡管N個(gè)字符列語言模型對(duì)于一般的口授可以執(zhí)行的很好,但是同音異義字會(huì)產(chǎn)生很大的錯(cuò)誤。一個(gè)同音異義字是諸如字符或音節(jié)這樣的語言代碼的一個(gè)元素,也就是發(fā)音類似但具有不同拼寫的兩個(gè)或多個(gè)元素之一。例如,當(dāng)一個(gè)用戶正拼寫字符時(shí),由于一些字符發(fā)音相同語音識(shí)別模塊會(huì)輸出錯(cuò)誤的字符。同樣的,對(duì)于當(dāng)發(fā)音的時(shí)候聽起來互相類似的不同字符語音識(shí)別模塊也會(huì)輸出錯(cuò)誤的字符(例如“m”和“n”)。
歧義問題在如日語或漢語等語言中尤其普遍,其主要是以漢字寫入系統(tǒng)來書寫。這些語言的字符是很多復(fù)雜的表示聲音和意思的象形文字。這些字符形成了有限的音節(jié),依次產(chǎn)生大量同音異義字,大大增加了通過口授生成文件所需的時(shí)間。特別是,在文件中必須識(shí)別錯(cuò)誤的同音異義字字符并插入正確的同音異義字字符。
因此有一種持續(xù)的需求去開發(fā)新的方法,用于使在發(fā)同音異義字和具有不同意思的相似發(fā)音的語音時(shí)的歧義最小化。隨著技術(shù)的發(fā)展,在更多的應(yīng)用中都提供有語音識(shí)別,這就必須要得到一種更準(zhǔn)確的語言模型。
發(fā)明概述語音識(shí)別器通常使用一種如N個(gè)字符列語言模型的語言模型來提高準(zhǔn)確性。本發(fā)明的第一個(gè)方面包括生成一種語言模型,其在一個(gè)講話者正識(shí)別一個(gè)字符或多個(gè)字符(例如一個(gè)音節(jié))例如當(dāng)拼寫一個(gè)單詞時(shí)特別有用。該語言模型有助于同音異義字和聽起來互相類似的不同字符的歧義消除。該語言模型由包含一個(gè)字符串(可以是單個(gè)字符)的相關(guān)元素、一個(gè)具有字符串的單詞詞組(可以是單個(gè)單詞)和一個(gè)上下文標(biāo)記的訓(xùn)練語料庫構(gòu)造。使用一個(gè)單詞表或字典,通過為每一個(gè)包含單詞詞組、上下文標(biāo)記和單詞詞組的一個(gè)字符串的單詞詞組形成一個(gè)局部的句子或詞組可以自動(dòng)生成訓(xùn)練語料庫。在另一個(gè)實(shí)施例中,為單詞詞組的每一個(gè)單詞符生成一個(gè)詞組。
本發(fā)明的另一個(gè)方面是一種使用上述用于識(shí)別所說的字符的語言模型的系統(tǒng)或模塊。當(dāng)說一個(gè)字符串時(shí)結(jié)合相關(guān)的單詞詞組中的上下文標(biāo)記,語音識(shí)別模塊確定用戶正在拼寫或識(shí)別字符的方式。該語音識(shí)別模塊將只輸出被識(shí)別的字符,而不輸出上下文標(biāo)記或相關(guān)的單詞詞組。在又一個(gè)實(shí)施例中,語音識(shí)別模塊比較被識(shí)別的字符和一個(gè)被識(shí)別的單詞詞組以驗(yàn)證已被識(shí)別的正確的字符。如果被識(shí)別的字符不在被識(shí)別的單詞詞組中,則輸出的字符是被識(shí)別單詞詞組的一個(gè)字符。
附圖的簡要說明附
圖1是一個(gè)語言處理系統(tǒng)的方框圖。
附圖2是一個(gè)典型的計(jì)算環(huán)境的方框圖。
附圖3是一個(gè)典型的語音識(shí)別系統(tǒng)的方框圖。
附圖4是本發(fā)明的一種方法的流程圖。
附圖5是用于實(shí)現(xiàn)附圖4的方法的模塊框圖。
附圖6是一種語音識(shí)別模塊和一種可選的字符驗(yàn)證模塊的方框圖。
說明性實(shí)施例的詳細(xì)描述附圖1示出了一種語言處理系統(tǒng)10,其接收一個(gè)語言輸入12,并處理該語言輸入12以提供一個(gè)語言輸出14。例如,該語言處理系統(tǒng)10可以被具體化為一種接收由用戶所說或所記錄的語言的語言輸入12的語音識(shí)別系統(tǒng)或模塊。語言處理系統(tǒng)10處理所說的語言并提供以文字輸出形式的識(shí)別單詞和/或字符作為一個(gè)輸出。
在處理期間,語音識(shí)別系統(tǒng)或模塊10可以訪問一個(gè)語言模型16以確定是哪個(gè)單詞,特別是,是所說語言中的哪一個(gè)同音異義字或其他相似發(fā)音的元素。語言模型16對(duì)一種特定的語言編碼,如英語、漢語、日語等等。在所釋的實(shí)施例中,語言模型16可以作為一種統(tǒng)計(jì)語言模型,如一種N個(gè)字符列語言模型,上下文無關(guān)文法,或上述的混合,所有這些都是本領(lǐng)域公知的。本發(fā)明的一個(gè)主要方面是一種創(chuàng)建和構(gòu)造語言模型16的方法。另一個(gè)主要方面是在語音識(shí)別中使用該方法。
在詳細(xì)討論本發(fā)明以前,先概述一下操作環(huán)境是很有用的。附圖2和相關(guān)的論述對(duì)實(shí)現(xiàn)本發(fā)明所在的一個(gè)適當(dāng)?shù)挠?jì)算環(huán)境20提供了一個(gè)簡要概括的說明。該計(jì)算環(huán)境20只是一個(gè)合適的計(jì)算環(huán)境的一個(gè)例子,并不會(huì)對(duì)本發(fā)明的使用范圍或功能有任何限制。該計(jì)算環(huán)境20也不應(yīng)解釋為與圖示典型操作環(huán)境20中的各部分之一或合成有任何依賴或需求。
本發(fā)明以許多其他通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來操作。適合本發(fā)明使用的公知計(jì)算系統(tǒng)、環(huán)境、和/或配置的例子包括,但不局限于,個(gè)人計(jì)算機(jī),服務(wù)器計(jì)算機(jī),手持或膝上設(shè)備,多處理器系統(tǒng),基于微處理器的系統(tǒng),置頂盒,可編程消費(fèi)電子設(shè)備,網(wǎng)絡(luò)PC,小型機(jī),大型機(jī),包括任何上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境及類似設(shè)備。此外,本發(fā)明可以用在電話系統(tǒng)中。
本發(fā)明可以以通常的計(jì)算機(jī)可執(zhí)行指令的上下文來說明,如程序模塊,由計(jì)算機(jī)執(zhí)行。通常,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等執(zhí)行特殊任務(wù)或?qū)崿F(xiàn)特殊的抽象數(shù)據(jù)類型。本發(fā)明還應(yīng)用在分布式計(jì)算環(huán)境中,其中由通過通訊網(wǎng)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地或遠(yuǎn)程的包含存儲(chǔ)器存儲(chǔ)設(shè)備的計(jì)算機(jī)存儲(chǔ)介質(zhì)中。通過程序和模塊所執(zhí)行的任務(wù)在下面并借助于附圖加以說明。
參考附圖2,用于實(shí)現(xiàn)本發(fā)明的典型系統(tǒng)包括一個(gè)以計(jì)算機(jī)30為形式的通用計(jì)算設(shè)備。計(jì)算機(jī)30的構(gòu)成包括,但不局限于,一個(gè)處理部件40,一個(gè)系統(tǒng)存儲(chǔ)器50,和一條耦合包含系統(tǒng)存儲(chǔ)器的各系統(tǒng)部件到處理部件40的系統(tǒng)總線41。該系統(tǒng)總線41可以是包括一個(gè)存儲(chǔ)器總線或存儲(chǔ)控制器、一條外部總線,和一條使用任意一種總線結(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)總線,視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線,以及被稱為附加板總線的外設(shè)部件互連(PCI)總線。
計(jì)算機(jī)30典型地包括一種多種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是任何通過計(jì)算機(jī)30可以被訪問的可用的介質(zhì),包括易失性的和非易失性的介質(zhì),可移動(dòng)的和非可移動(dòng)的介質(zhì)。為了示例,并不局限于此,計(jì)算機(jī)可讀介質(zhì)可以包含計(jì)算機(jī)存儲(chǔ)介質(zhì)和通訊介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括在用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的任何方法和技術(shù)中所實(shí)現(xiàn)的易失性的和非易失性的,可移動(dòng)的和非可移動(dòng)的介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不局限于,RAM、ROM、EEPROM、閃速存儲(chǔ)器或其他存儲(chǔ)技術(shù)、CD-ROM、數(shù)字化通用光盤(DVD)或其他光盤存儲(chǔ)器、盒式磁帶、磁帶、磁盤存儲(chǔ)器或其他磁盤存儲(chǔ)設(shè)備,或任何其他可以用于存儲(chǔ)所需信息并可由計(jì)算機(jī)20訪問的介質(zhì)。通訊介質(zhì)典型地包含計(jì)算機(jī)可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其他在已調(diào)制數(shù)據(jù)信號(hào)中的數(shù)據(jù)如載波或其他傳輸結(jié)構(gòu),并包括任何信息發(fā)送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”是指一種具有一個(gè)或多個(gè)字符組或以這種方式所改變的來編碼信號(hào)中的信息的信號(hào)。作為示例,但不局限于此,通訊介質(zhì)包括有線介質(zhì)如有線網(wǎng)或直接有線連接、和無線介質(zhì)如聲音、FR、紅外線和其他無線介質(zhì)。上述任意組合都可以包含在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
系統(tǒng)存儲(chǔ)器50包括以易失性和/或非易失性存儲(chǔ)器如只讀存儲(chǔ)器(ROM)51和隨機(jī)存儲(chǔ)器(RAM)52為形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)。一個(gè)基本輸入/輸出系統(tǒng)53(BIOS)典型地被存儲(chǔ)在ROM51中,它包含基本例程,幫助轉(zhuǎn)換計(jì)算機(jī)30內(nèi)各部件間的信息,如啟動(dòng)期間。RAM52典型地包含可即時(shí)被訪問和/或由處理部件40操作的數(shù)據(jù)和/或程序模塊。作為示例,但不局限于此,附圖2示出了操作系統(tǒng)54,應(yīng)用程序55,其他程序模塊56和程序數(shù)據(jù)57。
計(jì)算機(jī)30還包括其他可移動(dòng)/非可移動(dòng)、易失性/非易失性的計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅僅作為示例,附圖2示出了一種從非可移動(dòng)、非易失性磁介質(zhì)中讀取或向其寫入的硬盤驅(qū)動(dòng)器61,一個(gè)從一個(gè)可移動(dòng)、非易失性磁盤72讀取或向其寫入的磁盤驅(qū)動(dòng)器71,和一個(gè)從一個(gè)可移動(dòng)、非易失性光盤76如CD ROM或其他光學(xué)介質(zhì)中讀取或向其寫入的光盤驅(qū)動(dòng)器75。其他可以用于典型操作環(huán)境中的可移動(dòng)/非可移動(dòng),易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不局限于,盒式磁帶、閃存卡、數(shù)字化通用光盤,數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM和類似部件。硬盤驅(qū)動(dòng)器61典型地通過一個(gè)如接口60的非可移動(dòng)存儲(chǔ)器接口與系統(tǒng)總線41相連,磁盤驅(qū)動(dòng)器71和光盤驅(qū)動(dòng)器75典型地通過一個(gè)如接口70的可移動(dòng)存儲(chǔ)器接口與系統(tǒng)總線41相連。
上述討論并示于圖2中的驅(qū)動(dòng)器和他們相關(guān)的計(jì)算機(jī)存儲(chǔ)介質(zhì)提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他用于計(jì)算機(jī)30的數(shù)據(jù)的存儲(chǔ)器。在圖2中,例如,硬盤驅(qū)動(dòng)器61圖示存儲(chǔ)有操作系統(tǒng)64,應(yīng)用程序65,其他程序模塊66和程序數(shù)據(jù)67。注意這些部分既可以相同也可以不同于操作系統(tǒng)54,應(yīng)用程序55,其他程序模塊56和程序數(shù)據(jù)57。操作系統(tǒng)64,應(yīng)用程序65,其他程序模塊66和程序數(shù)據(jù)67在此給出不同的標(biāo)記來說明,至少,他們是不同的版本。
一個(gè)用戶通過如鍵盤82這樣的輸入設(shè)備,麥克風(fēng)83,和一個(gè)諸如鼠標(biāo)、跟蹤球或觸摸墊這樣的定點(diǎn)設(shè)備81,可以輸入命令和信息到計(jì)算機(jī)30中。其他輸入設(shè)備(未示出)可以包括一個(gè)操縱桿、游戲墊、衛(wèi)星反射器、掃描儀或類似設(shè)備。這些和其他輸入設(shè)備通常通過一個(gè)與系統(tǒng)總線耦合的用戶輸入接口80與處理部件40相連,但是也可以通過其他接口和總線結(jié)構(gòu)連接,如并行端口,游戲端口或通用串行總線(USB)。一個(gè)顯示器84或其他類型的顯示設(shè)備也通過一個(gè)接口如視頻接口85與系統(tǒng)總線41相連。除了顯示器,計(jì)算機(jī)還可以包括其他外圍輸出設(shè)備如揚(yáng)聲器87和打印機(jī)86,外圍輸出設(shè)備通過一個(gè)輸出外設(shè)接口88連接。
計(jì)算機(jī)30使用本地連接到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)如遠(yuǎn)程計(jì)算機(jī)94而操作于網(wǎng)絡(luò)環(huán)境中。遠(yuǎn)程計(jì)算機(jī)94可以是一臺(tái)個(gè)人計(jì)算機(jī),一個(gè)手持設(shè)備,一臺(tái)服務(wù)器,一個(gè)路由器,一個(gè)網(wǎng)絡(luò)PC機(jī),一個(gè)統(tǒng)計(jì)設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點(diǎn),并典型地包括許多或所有上述與計(jì)算機(jī)30相關(guān)的部件。圖2中描述的邏輯連接包括一個(gè)局域網(wǎng)(LAN)91和一個(gè)廣域網(wǎng)(WAN)93,還可以包括其他網(wǎng)絡(luò)。這種聯(lián)網(wǎng)環(huán)境在辦公、企業(yè)范圍計(jì)算機(jī)網(wǎng)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)中很普遍。
當(dāng)用于LAN聯(lián)網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)30通過一個(gè)網(wǎng)絡(luò)接口或適配器90連接到LAN91。當(dāng)用于WAN聯(lián)網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)30典型地包括一個(gè)調(diào)制解調(diào)器92或其他用于在WAN93上建立通訊的裝置,如因特網(wǎng)。調(diào)制解調(diào)器92,可以是內(nèi)置的或外置的,通過用戶輸入接口80或其他合適的結(jié)構(gòu)與系統(tǒng)總線41相連。在一個(gè)網(wǎng)絡(luò)環(huán)境中,描述的與計(jì)算機(jī)30或其中的某些部分相關(guān)的程序模塊可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例,但不局限于此,附圖2示出了駐留在遠(yuǎn)程計(jì)算機(jī)94中的遠(yuǎn)程應(yīng)用程序95??梢岳斫獾剿镜木W(wǎng)絡(luò)連接是典型的,可以使用其他建立計(jì)算機(jī)間通訊鏈路的裝置。
一種語音識(shí)別系統(tǒng)100的一個(gè)典型實(shí)施例如圖3所示。該語音識(shí)別系統(tǒng)100包括麥克風(fēng)83,一個(gè)模數(shù)(A/D)轉(zhuǎn)換器104,一個(gè)訓(xùn)練模塊105,特征提取模塊106,一個(gè)詞典存儲(chǔ)模塊110、一個(gè)沿著senone樹的聲音模型112,一個(gè)樹狀搜索引擎114,語言模型16和一個(gè)通用語言模型111。應(yīng)當(dāng)注意整個(gè)系統(tǒng)100,或語音識(shí)別系統(tǒng)100的一部分,可以在圖2所示環(huán)境中實(shí)現(xiàn)。例如,麥克風(fēng)83通過一個(gè)合適的接口,并通過A/D轉(zhuǎn)換器104可以作為計(jì)算機(jī)30的一個(gè)輸入設(shè)備。訓(xùn)練模塊105和特征提取模塊106既可以是計(jì)算機(jī)30中的硬件模塊,也可以是存儲(chǔ)在圖2公開的任意信息存儲(chǔ)設(shè)備中的軟件模塊,并通過處理部件40或其他合適的處理器訪問。此外,詞典存儲(chǔ)模塊110,聲音模型112和語言模型16和111最好也存儲(chǔ)在如2所示的任意存儲(chǔ)設(shè)備中。而且,樹狀搜索引擎114在處理部件40中實(shí)現(xiàn)(可以包括一個(gè)或多個(gè)處理器)或通過由計(jì)算機(jī)30使用的一個(gè)專用的語音識(shí)別處理器來執(zhí)行。
在圖示的實(shí)施例中,在語音識(shí)別期間,以音頻聲音信號(hào)的形式由用戶提供語音作為系統(tǒng)100的輸入給麥克風(fēng)83。麥克風(fēng)83轉(zhuǎn)換音頻語音信號(hào)為一個(gè)模擬電子信號(hào),并提供給A/D轉(zhuǎn)換器104。A/D轉(zhuǎn)換器104轉(zhuǎn)換該模擬語音信號(hào)為一串?dāng)?shù)字信號(hào),并提供給特征提取模塊106。在一個(gè)實(shí)施例中,特征提取模塊106是一種傳統(tǒng)的對(duì)數(shù)字信號(hào)執(zhí)行光譜分析并為每一個(gè)頻譜的頻段計(jì)算量值的陣列處理器。在一個(gè)圖示的實(shí)施例中,該信號(hào)以大約16kHz的采樣頻率通過A/D轉(zhuǎn)換器104提供給特征提取模塊106。
特征提取模塊106將從A/D轉(zhuǎn)換器104接收的數(shù)字信號(hào)分成包含多個(gè)數(shù)字樣本的幀。每一個(gè)幀的持續(xù)時(shí)間大約是10毫秒。然后這些幀由特征提取模塊106編碼成一個(gè)反映多個(gè)頻段頻譜特征的特征向量。在離散和半連續(xù)隱含式馬爾科夫模型的情況下,特征提取模塊106還使用向量量化技術(shù)和從訓(xùn)練數(shù)據(jù)中獲得的編碼簿編碼該特征向量為一個(gè)或多個(gè)代碼字。因此,特征提取模塊106提供其輸出用于每一個(gè)所說的話的特征向量(或代碼字)。特征提取模塊106以大約每10毫秒一個(gè)特征向量或(代碼字)的頻率提供特征向量(或代碼字)。
然后利用正被分析的特定幀的特征向量(或代碼字)依照隱含式馬爾科夫模型計(jì)算輸出概率的分布。這些概率分布后面會(huì)用于執(zhí)行一個(gè)維特比解碼過程或類似類型的處理技術(shù)中。
在從特征提取模塊106接收到代碼字之后,樹狀搜索引擎114訪問存儲(chǔ)在聲學(xué)模型112中的信息。該模型112存儲(chǔ)有聲學(xué)模型,如隱含式馬爾科夫模型,其表示由語音識(shí)別系統(tǒng)100檢測(cè)的語音部件。在一個(gè)實(shí)施例中,聲學(xué)模型112包括一個(gè)與隱含式馬爾科夫模型中的每一個(gè)馬爾科夫狀態(tài)相關(guān)的senone樹。隱含式馬爾科夫模型在一個(gè)圖示實(shí)施例中表示音素?;诼晫W(xué)模型112中的senone,樹狀搜索引擎114確定由從特征提取模塊106接收的特征向量(或代碼單詞)表示的最相似的音素,及從系統(tǒng)用戶接收的說話方式的表示。
樹狀搜索引擎114還訪問存儲(chǔ)在模塊110中的詞典。由基于其聲學(xué)模型112的訪問的樹狀搜索引擎114接收的信息被用于搜索詞典存儲(chǔ)模塊110以確定一個(gè)最可能表示從特征提取模塊106接收的代碼字或特征向量的單詞。同時(shí),搜索引擎114訪問語言模型16和111。在一個(gè)實(shí)施例中,語言模型16是用于識(shí)別由輸入語音表示的最相似字符或多個(gè)字符的一個(gè)單詞的N個(gè)字符列,其包含一個(gè)字符(多個(gè)字符),上下文標(biāo)記和一個(gè)單詞詞組以識(shí)別字符。例如,輸入語音可以是“N as inNancy”,其中“N”(也可以是小寫)是所需的字符,“as in”是上下文標(biāo)記,“Nancy”是一個(gè)與字符“N”相關(guān)的單詞詞組以闡明或識(shí)別所需的字符。至于詞組“N as in Nancy”,語音識(shí)別系統(tǒng)100的輸出可能只有字符“N”。換句話說,語音識(shí)別系統(tǒng)100在分析完關(guān)于詞組“N as in Nancy”的輸入語音數(shù)據(jù)之后,確定用戶已經(jīng)選擇拼寫字符。因此,上下文標(biāo)記和相關(guān)的單詞詞組從輸出的文本中被忽略了。搜索引擎114在必要時(shí)可以刪除上下文標(biāo)記和相關(guān)的單詞詞組。
應(yīng)當(dāng)注意在該實(shí)施例中,語言模型111為一個(gè)用于識(shí)別由一般口授的輸入語音表示的最相似的單詞的一個(gè)單詞N個(gè)字符列。例如,當(dāng)語音識(shí)別系統(tǒng)100具體表現(xiàn)為一個(gè)口授系統(tǒng)時(shí),語言模型111提供用于一般口授的最相似單詞的指示;然而,當(dāng)用戶使用具有上下文標(biāo)記的詞組時(shí),來自語言模型16的輸出會(huì)比用于相同詞組的語言模型111具有較高值。語言模型16的較高值被用作用戶正以上下文標(biāo)記和單詞詞組進(jìn)行識(shí)別的系統(tǒng)100中的一個(gè)指示。因此,對(duì)于一個(gè)具有上下文標(biāo)記的輸入詞組,搜索引擎114或其他語音識(shí)別系統(tǒng)100的處理部件會(huì)忽略上下文標(biāo)記和單詞詞組,而僅輸出所需的字符。以下將繼續(xù)討論語言模型16的使用。
盡管在此描述的語音識(shí)別系統(tǒng)100使用HMM模型和senone樹,應(yīng)當(dāng)理解這只是一個(gè)說明性的實(shí)施例。本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,語音識(shí)別系統(tǒng)100可以有許多形式,其所需的就是使用語言模型16的特征并提供用戶所說的文本作為輸出。
眾所周知,一種統(tǒng)計(jì)的N個(gè)字符列語言模型為一個(gè)單詞產(chǎn)生一種概率估算,假定直到那單詞的單詞序列。(即假定單詞的歷史記錄H)。N個(gè)字符列語言模型只考慮歷史記錄H中對(duì)下一單詞的概率有影響的前(n-1)個(gè)單詞。例如,一個(gè)雙陣列(或2個(gè)陣列)語言模型考慮對(duì)下一個(gè)單詞有影響的前一個(gè)單詞。因此,在一個(gè)N個(gè)字符陣列語言模型中,一個(gè)單詞出現(xiàn)的概率表示如下P(w/H)=P(w/w1,w2,…w(n-1)) (1)其中w是一個(gè)重要的詞;w1是位于單詞w前面位于n-1位置的單詞;w2是位于單詞w前面位于n-2位置的單詞;且w(n-1)是序列中單詞w前面的第一個(gè)單詞。
同時(shí),一個(gè)單詞序列的概率基于每一個(gè)給定其歷史記錄的單詞的概率的增加來確定。因此,一個(gè)單詞序列(w1…wm)的概率表示如下P(w1Λwm)=Πi=1m(P(wi20/Hi))---(2)]]>N個(gè)字符列模型通過應(yīng)用一個(gè)N字符列算法到一個(gè)文本訓(xùn)練數(shù)據(jù)語料庫中(詞組、句子、語句段、段落等等的一個(gè)集合)來獲得。一個(gè)N字符列算法可以使用,例如,熟知的統(tǒng)計(jì)技術(shù)例如Katz技術(shù),或二項(xiàng)式后端分布補(bǔ)償技術(shù)。在使用這些技術(shù)中,該算法估算單詞w(n)將跟隨一個(gè)單詞序列W1,W2,…,W(n-1)的概率。這些概率值共同形成N個(gè)字符列語言模型。以下所述本發(fā)明的某些方面可以用于構(gòu)造一個(gè)標(biāo)準(zhǔn)的統(tǒng)計(jì)型N字符列模型。
本發(fā)明的第一個(gè)主要方面如圖4中所示,作為一種創(chuàng)建一個(gè)用于語言處理系統(tǒng)以指示字符的語言模型的方法140。也可以參照?qǐng)D5,一種包括具有用于實(shí)現(xiàn)方法140的具有指令的模塊的系統(tǒng)或裝置142。通常,方法140包括,對(duì)于一個(gè)單詞詞組表的每一個(gè)單詞詞組,在步驟144將該單詞詞組的字符串和該單詞詞組與表示識(shí)別該字符串的上下文標(biāo)記相聯(lián)系。應(yīng)當(dāng)注意該字符串可以包括一個(gè)單一字符。同樣,一個(gè)單詞詞組可以包含一個(gè)單一的單詞。例如,對(duì)于一個(gè)等于一個(gè)字符的字符串和一個(gè)等于一個(gè)單詞的單詞詞組,步驟144將該單詞的一個(gè)字符與單詞表141中用于每一個(gè)單詞的上下文標(biāo)記相聯(lián)系。一個(gè)上下文標(biāo)記通常是由講話者使用的特定語言中的一個(gè)單詞或單詞詞組,以識(shí)別單詞詞組中的一個(gè)語言元素。在英文中上下文標(biāo)記的例子包括“as in”,“for example”,“as found in”,“l(fā)ike”,“such as”等等。類似的單詞或單詞詞組在其他語言中也可以找到,例如日語中的の和漢語中的的。在一個(gè)實(shí)施例中,步驟144包括構(gòu)造一個(gè)單詞詞組143的語料庫。每一個(gè)單詞詞組包括一個(gè)字符串、單詞詞組和上下文標(biāo)記。典型地,當(dāng)一個(gè)單一字符與一個(gè)單詞關(guān)聯(lián)時(shí),使用第一個(gè)字符,盡管也可以使用該單詞的另一個(gè)字符。這種單詞詞組的例子包括“N as in Nancy”,“P as in Paul”,和“Z as in zebra”。
在另一個(gè)實(shí)施例中,單詞的另一個(gè)字符與單詞和上下文標(biāo)記關(guān)聯(lián),而在某些語言中,例如漢語,其中許多單詞只包括一、二或三個(gè)字符,這對(duì)將該單詞的每一個(gè)字符與上下文標(biāo)記中的單詞相關(guān)聯(lián)是很有幫助的。如上指出的,關(guān)聯(lián)所需字符與對(duì)應(yīng)的單詞和上下文標(biāo)記的一種簡單的方法是形成相同的單詞詞組。因此,給定一個(gè)單詞表141,一個(gè)用于訓(xùn)練語言模型的單詞詞組143的語料庫可以很容易生成所有所需的上下文標(biāo)記。
基于語料庫143,語言模型16利用傳統(tǒng)構(gòu)造模型146來構(gòu)造,如一個(gè)N字符列構(gòu)造模型,實(shí)現(xiàn)公知的用于構(gòu)造語言模型16的技術(shù)。塊148表示在方法140中構(gòu)造語言模型16,其中語言模型16包括,但不局限于,一個(gè)N字符列語言模型,一個(gè)上下文無關(guān)文法或上述的混合。
生成的詞組可以被指定一個(gè)合適的數(shù)值,將依據(jù)語言模型的形成產(chǎn)生一個(gè)合適的概率值。在上述例子中,“N as in Nancy”比詞組“N as in notch”更可能被說。因此,本發(fā)明的又一個(gè)特征包括對(duì)語言模型中每一個(gè)相關(guān)的字符串和單詞詞組校正概率得分。概率得分可以針對(duì)語言模型16的生成來調(diào)節(jié)。在另一個(gè)實(shí)施例中,概率得分可以通過包括在語料庫143中足夠數(shù)量的相同的單詞詞組而校正來為相關(guān)的字符和單詞詞組在語言模型中產(chǎn)生一個(gè)合適的概率值。概率值也可以是單詞詞組使用的似然性的一個(gè)函數(shù)。通常,存在比其他單詞使用更頻繁來識(shí)別一個(gè)字符或多個(gè)字符的單詞詞組。這種單詞詞組可以被指定或另外在語言模型中提供一個(gè)較高的概率值。
圖6示出了一種語音識(shí)別模塊180和語言模型16。語音識(shí)別模塊180可以是上述類型;然而,應(yīng)當(dāng)理解語音識(shí)別模塊180并不局限于該實(shí)施例,而是可以有很多形式。如上述所指明的,語音識(shí)別模塊180接收表示輸入語音的數(shù)據(jù)并訪問語言模型16以確定輸入語音是否包括具有上下文標(biāo)記的詞組。在檢測(cè)到一個(gè)具有上下文標(biāo)記的單詞詞組時(shí),語音識(shí)別模塊180只提供與上下文標(biāo)記和單詞詞組相關(guān)的單個(gè)或多個(gè)字符作為輸出,而不是上下文標(biāo)記或單詞詞組。換句話說,盡管語音識(shí)別模塊檢測(cè)到完整的詞組“N as in Nancy”,語音識(shí)別模塊也只提供“N”作為輸出。該輸出在口授系統(tǒng)中尤其有用,其中講話者單獨(dú)地選擇以指示所需的單個(gè)或多個(gè)字符。
在這一點(diǎn)上,應(yīng)當(dāng)注意上述語言模型16實(shí)質(zhì)上由相關(guān)的字符串、單詞詞組和上下文標(biāo)記構(gòu)成,因此允許語言模型16對(duì)具有這種形式的輸入語音感應(yīng)。在圖3的實(shí)施例中,通用語言模型111可以被用作沒有字符串、單詞詞組和上下文標(biāo)記的特定形式的輸入語音。然而,應(yīng)當(dāng)理解在這兩種實(shí)施例中語言模型16和111如果需要的話可以合并。
對(duì)于輸入語音的接收和對(duì)語言模型16的訪問,語音識(shí)別模塊180為輸入語音確定一個(gè)識(shí)別的字符串和一個(gè)識(shí)別的單詞詞組。在許多情況,識(shí)別的字符串由于使用語言模型16將是正確的。然而,在又一個(gè)實(shí)施例中,可以包含一個(gè)字符驗(yàn)證模塊182來校正由語音識(shí)別模塊180造成的錯(cuò)誤中的至少一部分。字符驗(yàn)證模塊182訪問由語音識(shí)別模塊180確定的識(shí)別字符串和識(shí)別單詞詞組并比較識(shí)別的字符串和識(shí)別的單詞詞組,特別是,驗(yàn)證識(shí)別的字符串存在于識(shí)別的單詞詞組中。如果識(shí)別的字符串不在識(shí)別的單詞詞組中,很明顯發(fā)生了錯(cuò)誤,盡管該錯(cuò)誤既可能源自講話者由于口授了錯(cuò)誤的詞組如“M as in Nancy”,也可能是語音識(shí)別模塊180誤解了識(shí)別的字符串或識(shí)別的單詞詞組。在一個(gè)實(shí)施例中,字符驗(yàn)證模塊182可以假定該錯(cuò)誤更可能在識(shí)別的字符串中,因此,用存在于識(shí)別的單詞詞組中的字符替代識(shí)別的字符串。以識(shí)別的單詞詞組的字符代替識(shí)別的字符串可以依據(jù)識(shí)別的字符串與識(shí)別的單詞詞組中的字符之間聲音的相似性的比較來進(jìn)行。因此,字符驗(yàn)證模塊182可以訪問屬于說的時(shí)候獨(dú)立的字符的聲音的存儲(chǔ)數(shù)據(jù)。利用存在于識(shí)別的單詞詞組中的字符,字符驗(yàn)證模塊182比較在識(shí)別的單詞詞組中存儲(chǔ)的每一個(gè)字符的聲音數(shù)據(jù)和識(shí)別的字符串。提供最接近的字符作為輸出。對(duì)于本領(lǐng)域普通技術(shù)人員來說,字符驗(yàn)證模塊182可以包含在語音識(shí)別模塊180中;然而,為了解釋的目的,字符驗(yàn)證模塊182單獨(dú)以圖示說明。
盡管本發(fā)明參考優(yōu)選實(shí)施例作了說明,本領(lǐng)域普通技術(shù)人員在不背離本發(fā)明精神和范圍的情況下可以在形式和描述上作出各種修改。
權(quán)利要求
1.一種創(chuàng)建用于語音識(shí)別系統(tǒng)的語言模型以指示字符的方法,該方法包括對(duì)于單詞詞組表中的每一個(gè)單詞詞組,將該單詞詞組的字符串和該單詞詞組與表示識(shí)別該字符串的上下文標(biāo)記相關(guān)聯(lián);構(gòu)造一個(gè)語言模型作為相關(guān)單詞詞組和字符串的一個(gè)功能。
2.權(quán)利要求1的方法,其中該語言模型包括一個(gè)統(tǒng)計(jì)語言模型。
3.權(quán)利要求2的方法,其中該語言模型包括一個(gè)N字符列語言模型。
4.權(quán)利要求2的方法,其中該語言模型包括一個(gè)上下文無關(guān)文法。
5.權(quán)利要求1的方法,其中關(guān)聯(lián)包括構(gòu)造一個(gè)相關(guān)字符串、單詞詞組和上下文標(biāo)記的語料庫,并且其中構(gòu)造語言模型包括訪問該語料庫。
6.權(quán)利要求1的方法,其中關(guān)聯(lián)包括將每一個(gè)單詞詞組的第一個(gè)字符與該單詞詞組相關(guān)聯(lián)。
7.權(quán)利要求6的方法,其中關(guān)聯(lián)包括將至少一部分單詞詞組的另一個(gè)字符,而不是第一個(gè)字符,與對(duì)應(yīng)的單詞詞組相關(guān)聯(lián)。
8.權(quán)利要求7的方法,其中關(guān)聯(lián)包括至少一部分單詞詞組的每一個(gè)字符與對(duì)應(yīng)的單詞詞組相關(guān)聯(lián)。
9.權(quán)利要求7的方法,其中關(guān)聯(lián)包括將每一個(gè)單詞詞組的每一個(gè)字符與對(duì)應(yīng)的單詞詞組相關(guān)聯(lián)。
10.權(quán)利要求1的方法,還包括為語言模型中的每一個(gè)相關(guān)字符串和單詞詞組校正概率得分。
11.權(quán)利要求1的方法,其中關(guān)聯(lián)包括為單詞詞組表的每一個(gè)單詞詞組形成一個(gè)包含單詞詞組字符串、單詞詞組和上下文標(biāo)記的詞組。
12.權(quán)利要求11的方法,其中上下文標(biāo)記類似于英語中的“as in”。
13.權(quán)利要求11的方法,其中上下文標(biāo)記包括漢語中的的。
14.權(quán)利要求11的方法,其中上下文標(biāo)記包括日語中的の。
15.權(quán)利要求1的方法,其中每一個(gè)單詞詞組都是一個(gè)單個(gè)單詞。
16.權(quán)利要求15的方法,其中每一個(gè)字符串都是一個(gè)單個(gè)字符。
17.權(quán)利要求1的方法,其中每一個(gè)字符串都是一個(gè)單個(gè)字符。
18.一種具有指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)由一個(gè)處理器執(zhí)行時(shí),該計(jì)算機(jī)可讀介質(zhì)執(zhí)行用于識(shí)別所說字符的方法,該方法包括接收具有字符串、帶字符串的單詞詞組和上下文標(biāo)記的輸入語音;以文本輸出該字符串,而沒有單詞詞組和上下文標(biāo)記。
19.權(quán)利要求18的計(jì)算機(jī)可讀介質(zhì),還包括用于訪問表示多個(gè)詞組的語言模型的指令,每一個(gè)詞組具有一個(gè)字符串、帶字符串的單詞詞組和上下文標(biāo)記。
20.權(quán)利要求19的計(jì)算機(jī)可讀介質(zhì),其中該語言模型表示實(shí)質(zhì)上由相關(guān)字符串、具有字符串的單詞詞組和上下文標(biāo)記構(gòu)成的詞組。
21.權(quán)利要求19的計(jì)算機(jī)可讀介質(zhì),其中輸出字符串包括利用語言模型以識(shí)別字符串的功能的輸出字符串。
22.權(quán)利要求21的計(jì)算機(jī)可讀介質(zhì),其中語言模型包括一個(gè)統(tǒng)計(jì)語言模型。
23.權(quán)利要求22的計(jì)算機(jī)可讀介質(zhì),其中語言模型包括一個(gè)N字符列語言模型。
24.權(quán)利要求21的計(jì)算機(jī)可讀介質(zhì),其中輸出字符串包括用作所接收的輸入語音的N字符列的唯一功能的輸出字符串。
25.權(quán)利要求21的計(jì)算機(jī)可讀介質(zhì),其中輸出字符串包括用作將識(shí)別的字符串和識(shí)別的單詞詞組相比較功能的輸出字符串。
26.權(quán)利要求25的計(jì)算機(jī)可讀介質(zhì),其中當(dāng)識(shí)別的字符串沒有存在于識(shí)別的單詞詞組中時(shí),被輸出的字符串是識(shí)別的單詞詞組的一個(gè)字符串。
27.權(quán)利要求21的計(jì)算機(jī)可讀介持,其中語言模型包括一個(gè)上下文無關(guān)文法。
28.權(quán)利要求18的計(jì)算機(jī)可讀介質(zhì),其中每一個(gè)單詞詞組都是一個(gè)單個(gè)單詞。
29.權(quán)利要求28的計(jì)算機(jī)可讀介質(zhì),其中每一個(gè)字符串都是一個(gè)單個(gè)字符。
30.權(quán)利要求18的計(jì)算機(jī)可讀介質(zhì),其中每一個(gè)字符串都是一個(gè)單個(gè)字符。
31.一種具有指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)由一個(gè)處理器執(zhí)行時(shí),該計(jì)算機(jī)可讀介質(zhì)用于識(shí)別所說的字符,該指令包括一個(gè)語言模型,表示實(shí)質(zhì)上由相關(guān)字符串、具有字符串的單詞詞組和上下文標(biāo)記構(gòu)成的詞組;及一個(gè)用于接收表示輸入語音的數(shù)據(jù)、訪問語言模型并輸出由用戶所說的字符串的識(shí)別模塊,其中輸入語音包括一個(gè)具有字符串的單詞詞組和一個(gè)上下文標(biāo)記。
32.權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其中該識(shí)別模塊只輸出字符串。
33.權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其中語言模型包括一個(gè)統(tǒng)計(jì)語言模型。
34.權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其中語言模型包括一個(gè)N字符列語言模型。
35.權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其中語言模型包括一個(gè)上下文無關(guān)文法。
36.權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其中識(shí)別模塊輸出用作將識(shí)別的字符串與識(shí)別的單詞詞組相比較功能的字符串。
37.權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其中當(dāng)識(shí)別的字符串沒有存在于識(shí)別的單詞詞組中時(shí),被輸出的字符串是識(shí)別的單詞詞組的一個(gè)字符串。
38.權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其中每一個(gè)單詞詞組都是一個(gè)單個(gè)單詞。
39.權(quán)利要求38的計(jì)算機(jī)可讀介質(zhì),其中每一個(gè)字符串都是一個(gè)單個(gè)字符。
40.權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其中每一個(gè)字符串都是一個(gè)單個(gè)字符。
全文摘要
一種用于語言處理系統(tǒng)如語音識(shí)別系統(tǒng)的語言模型,以相關(guān)字符、單詞詞組和上下文標(biāo)記的功能來構(gòu)成。一種用于生成訓(xùn)練語料庫的方法和裝置,該訓(xùn)練語料庫用于訓(xùn)練該語言模型,以及一種使用這種公開的語言模型的系統(tǒng)或模塊。
文檔編號(hào)G06F17/22GK1369830SQ02106530
公開日2002年9月18日 申請(qǐng)日期2002年1月29日 優(yōu)先權(quán)日2001年1月31日
發(fā)明者朱云正, F·A·阿列瓦 申請(qǐng)人:微軟公司