新四季網

用於識別連續和分立語音的語音識別系統的製作方法

2023-05-26 02:12:06

專利名稱:用於識別連續和分立語音的語音識別系統的製作方法
技術領域:
本發明涉及計算機語音識別。更具體來說,本發明涉及一種識別連續和分立語音的方法。
當前最成功的語音識別系統採用稱為隱藏的馬爾可夫模型(HMM)的概率模型。隱藏的馬爾可夫模型包括多個狀態,其中轉移概率是為從每個狀態轉移到另一個狀態而確定的,包括轉移到相同的狀態。一個觀測被隨機地與每個唯一的狀態相關聯。狀態之間的轉移概率(一個觀測將從一個狀態轉變為另一個狀態的概率)並不都是相同的。因此,給定狀態之間的轉移概率和觀測概率,採用象維特比算法這樣的搜索技術,以確定整體概率為最大值的最相似的狀態序列。
在當前語音識別系統中,語音已經被看作為通過隱藏的馬爾可夫過程而產生。因此,HMM被用於模擬語音波譜的觀測序列,其中特定波譜被隨機地與在一個HMM中的狀態相關聯。換句話說,對於給定的語音波譜的觀測序列,在此有一個相應HMM中的最相似序列。
因此,該相應的HMM與觀測的序列相關聯,該技術可以被擴展,使得如果每個在HMM中的狀態的獨特序列與一個子字單元相關聯,該單元例如一個音素,則可以找到子字單元的最相似序列。另外,利用結合子字單元以形成字的模型,然後利用結合字以形成句子的模型,則可以實現完整的語音識別。
當實際處理聲音信號時,信號一般在稱為幀的連續時間間隔中採樣。該幀一般包括多個樣本,並且可以重疊或相鄰。每個幀與該語音信號的一個唯一部分相關聯。由每個幀所表示的該語音信號的部分被分析以提供一個相應的聲音矢量。在語音識別過程中,執行語音單元模型的搜索以確定最可能與聲音矢量的序列相關的狀態序列。
為了查找對應於聲音矢量序列的最相擬的狀態序列,可以採用維特比算法。維特比算法執行一個計算,它以時間同步方式從第一幀開始並且在一個時刻處理一幀。對在被考慮的狀態序列(即,在HMM中)中的每個狀態計算一個概率值。因此,當維特比算法一幀接一幀地分析聲音信號時,對每個可能狀態序列連續計算累積概率值。在話音結束時,具有通過維特比算法計算的最高概率值的狀態序列(或者HMM或一系列HMM)為整段話音提供最相似的狀態序列。然後最相似的狀態序列被轉換為一個相應的說出的子字單元、字或字序列。
維特比算法把指數計算減少為一次,即與在模型中的狀態和轉變數與話音的長度成正比。但是,對於大的詞彙量,狀態和轉變的數目變大,並且為所有可能狀態序列在每個幀中更新在每個狀態的概率值所需的計算量佔用比一幀的持續時間更長的許多時間,一幀的持續時間一般約為10微秒。
因此,一種稱為刪減或者波束搜索的技術被研製出來以大大地減少確定最相似狀態序列所需的計算量。這種類型的技術消除了為極其不可能的狀態序列計算概率值的需要。這一般是在每幀中通過把對於每個所考慮的剩餘狀態序列(或者潛在的序列)的概率值與該幀相關的最高值相比較而實現的。如果對於一個特定潛在序列的狀態的概率值足夠低(當在該時間點處與其它潛在序列的最大計算的概率值相比較時),該刪減算法假設這種低分值狀態序列不大可能是完整的最可能狀態序列的一部分。該比較一般是通過利用最小閾值而完成的。具有落在該最小閾值之下的分值的潛在狀態序列被從搜索過程中除去。該閾值可以被設在任何所需水平上,這主要根據所需的節省存儲量和計算量,以及由於節省存儲量和計算量所造成的所期望錯誤率的增加而確定。保持狀態序列將被稱為有效假設。
另一個用於進一步減少語音識別所需的計算量的常規技術包括使用前綴樹。前綴樹表示作為樹型結構的語音識別系統的詞語,其中可能被該系統所遇到的所有詞被表示在該樹結構中。
在這種前綴樹中,每個子字單元(例如一個音素)一般由一個與特定的聲音模型(例如HMM)相關聯的分支所表示。該音素分支在節點處連接到後續的音素分支。在該共用相同的第一音素的詞典中的所有詞都共用相同的第一分支。通過比較,具有共同第一音素,但是具有不同第二音素的字共用在該前綴樹中的相同第一分支,但是具有在該前綴樹中在第一節點處分離的第二分支,如此等等。該樹型結構按這種方式繼續,使得可能被該系統所遇到的所有字都由樹的末端節點所表示(即,樹上的葉節點)。
顯然,通過採用前綴樹結構,最初分支的數目將遠少於在系統的詞典或字典中的字的一般數目。實際上,最初分支的數目不可能超過音素的總數(約為40-50個),而與被搜索的字典或詞典的大小無關。儘管如果使用音位變體的變化,則分支的最初數目可以較大,這取決於所用的音位變體。
採用上述技術的語音識別系統一般可以分為兩類。第一類是能夠識別流暢的語音的連續語音識別系統(CSR)。該CSR系統被根據連續語音數據而訓練(即,開發語音模型),其中一個或多個讀者用連續或流暢的方式把訓練數據讀到系統中。在訓練過程中開發的聲音模型被用於識別語音。
第二類系統是一般用於識別分立語音(或者離散語音)的分立語音識別系統(ISR)。ISR系統被根據離散或分立語音數據而訓練,其中一個或多個讀者被要求用在每個詞之間具有停頓的離散或分立方式把訓練數據讀到系統中。ISR系統一般比連續語音識別系統更加準確和有效,因為字詞邊界更加確定並且搜索範圍相應地更加縮小。並且,分立語音識別系統被認為是連續語音識別的特殊情況,因為連續語音識別系統通過也可以接受分立語音。它們在識別分立語音時只是效果不那麼好而已。
觀察表明,CSR系統的用戶一般趨向於流暢的說話,直到系統開始出錯,或者直到用戶考慮文章的結構為止。在這一點,,通常達到在字詞之間停頓的時刻,用戶可能減慢。在這兩種情況下,用戶相信通過說話更慢和更加清楚,並且在字詞之間具有停頓,則將有助於該識別系統,而實際上用戶迫使系統超出了它的能力範圍。
但是,用分立語音識別系統來嘗試識別連續語音是不合適的。當嘗試識別連續語音時,ISR系統一般比CSR系統差得多。這是因為在ISR訓練數據中沒有連讀。
語音識別是通過接收表示多個離散地讀出的訓練字詞的分立語音訓練數據而完成,並且通過接收表示多個連續地讀出的訓練字的連續語音訓練數據而完成。多個語音單元模型是根據離散語音訓練數據和連續語音訓練數據而訓練的。語音是根據被訓練的語音單元模型而識別的。
在一個優選實施例中,在要被識別的語音中的停頓被識別以確定一個短語的持續時間。多個短語假設被產生,它表示在停頓之間的輸入數據所代表的相似短語。與在每個短語假設中的每個字相關的字的持續時間與對於具有與短語假設中字的數目相等的字數的短語的期望字的持續時間相比較。根據字的持續時間與期望的字的持續時間的比較,把一個分值分配給每個短語假設。


圖1為根據本發明用於實現語音識別系統的典型環境的方框圖。
圖2為圖1中所示的系統的一部分的更加具體的方框圖。
圖3為示出根據本發明一個方面的數據採集程序的流程圖。
圖4為示出根據本發明一個方面的聲音模型的訓練和使用組合訓練數據的句音素(senone)映射的流程圖。
圖5為示出根據本發明的句音素樹的產生的流程圖。
圖6為示出根據本發明的句音素樹的示意圖。
圖7為示出根據本發明的字持續時間模型的產生的流程圖。
圖8為示出根據圖7所示的程序產生的多個字持續時間模型的示意圖。
圖9為示出根據本發明一個方面的語音識別程序的一部分的流程圖。
圖10為示出根據本發明一個方面的字持續時間模型的應用的流程圖。
圖1和相關討論用於提供一個可以實現本發明的適當的計算環境的簡要和一般的描述。儘管不是必須的,但是本發明將至少部分地在象程序模塊這樣由個人計算機所執行的計算機可執行指令的一般環境中描述,通常,程序模塊包括執行特定任務或實現特定的抽象數據類型的子程序、對象、組件、數據結構,等等。另外,本領域內的專業人員將認識到本發明可以用其它計算系統結構實現,包括手持設備、多處理器系統、基於微處理器或可編程用戶電子設備、網絡計算、微機、主機,等等。本發明還可以用於分布的計算環境,其中任務是通過由通信網絡連接的遠程處理設備所執行的。在分步計算環境中,程序模塊可以位於本地和遠程存儲設備中。
參照圖1,用於實現本發明的典型系統包括常規個人計算機20形式的通用計算設備,包括處理單元21、系統存儲器22、以及把包括系統存儲器在內的多種系統組件連接到處理單元21的系統總線23。該系統總線23可以是幾種類型的總線結構,包括存儲總線或存儲控制器、外圍總線、和使用任何多個總線結構的局部總線。系統存儲器包括只讀存儲器(ROM)24和隨機存取存儲器(RAM)25。包括例如在啟動過程中有助於在個人計算機20中的元件之間傳輸信息的基本例程的基本輸入/輸出26(BIOS)被存儲在ROM24中。個人計算機20還包括用於讀寫硬碟(未示出)的硬碟驅動器27、用於讀寫可移動磁碟29的磁碟驅動器28、以及用於讀寫象CD ROM或者其它光學介質這樣的可移動光碟31的光碟驅動器30。硬碟驅動器27、磁碟驅動器28、和光碟驅動器30分別被硬碟驅動接口32、磁碟驅動接口33和光碟驅動接口34連接中系統總線23。驅動和相關的計算機可讀介質為計算機可讀指令、數據結構、程序模塊和其它用於個人計算機20的數據提供非易失性存儲。
儘管在此描述的典型環境採用硬碟、可移動磁碟29和可移動光碟31,但是本領域內的專業人員應當知道還可以在該典型操作環境中採用能夠存儲數據的可以由計算所訪問的其它類型的計算機可讀介質,例如盒式磁碟、快速存儲卡、數字視頻光碟、伯努利盒式磁碟、隨機存取存儲器(RAM)、只讀存儲器(ROM),等等。
多個程序模塊可以存儲在硬碟、磁碟29、光碟31、ROM24或RAM25中,包括作業系統35、一個或多個應用程式36、其它程序模塊37和程序數據38。用戶可以把命令和信息通過象鍵盤40和列印設備42這樣的輸入設備把命令和信息輸入到個人計算機20中。其它輸入設備(未示出)可以包括話筒、遊戲杆、遊戲盤、圓盤式衛星天線、掃描儀,等等。這些和輸入設備通常通過連接到系統總線的串行接口46連接到處理單元211196,但是可以通過其它接口連接,例如並口,遊戲口或者通用串行總線(USB)。監測器47或者其它類型的顯示設備還可以通過象視頻適配器46這樣的接口連接到系統總線23。除了監測器47之外,個人計算機一般可以包括其它外圍輸出設備(未示出),例如擴音器和印表機。
個人計算機20可以利用邏輯連接到一個或多個遠程計算機在網絡環境中操作,該遠程計算機例如遠程計算機49。遠程計算機49可以是其它個人計算機、伺服器、路由器、網絡PC、對等設備或者其它網絡節點,並且一般包括上述與個人計算機20相關的多個或所有元件,儘管僅僅存儲設備50在圖1中示出。圖1中所示的邏輯連接包括區域網(LAN)51和廣域網(WAN)52。這種網絡環境在辦公室、企業計算機內部網和網際網路中是共同的。
當用於LAN網絡環境中時,個人計算機20通過網絡接口或適配器52連接到區域網51。當用於WAN網絡環境中時,個人計算機20一般包括數據機54或者用於通過象互連網這樣的廣域網52建立通信的其它裝置。可能是內置或外置的解調解調器54通過串行接口46連接到系統總線23。在網絡環境中,示出與個人計算機20或其部件相關的程序模塊可以存儲在遠程存儲設備中。應當知道,所示的網絡連接是示例性的,可以使用在計算機之間可以建立通信鏈路的其它裝置。
另外,當圖1中的環境被用作為語音識別系統時,可能還需要其它組件。這種組件可能包括話筒、音效卡和擴音器,在下文中更加具體地描述這些組件。
圖2示出根據本發明一個方面的語音識別系統60。語音識別系統60包括話筒62、模數(A/D)轉換器64、訓練模塊65、特徵提取模塊66、靜音檢測模塊68、句音素樹存儲模塊70、單音素(monophone)模型存儲模塊72、三音素組(triphone)映射存儲模塊74、前綴樹存儲模塊76、字持續時間模型存儲模塊78、搜尋引擎80、以及輸出設備82。應當注意,可以在圖1中所示的環境中實現整個系統60或者系統60的部分。例如,話筒62可以優選地作為一種輸入設備通過適當的接口以及通過A/D轉換器64提供給個人計算機20。訓練模塊65、特徵提取模塊66和靜音檢測模塊68可以是計算機20中的硬體模塊(例如作為與CPU20相分離的處理器或者在CPU20中實現),或者是存儲在圖1中所示的任何信息存儲設備中並且由CPU20或其它適當的處理器所訪問的軟體模塊。另外,句音素樹存儲模塊70、單音素模型存儲模塊72、三音素組映射存儲模塊74、前綴樹存儲模塊76和字持續時間模型存儲模塊78還優選地存儲在圖1中所示的任何適當的存儲設備中。另外,搜尋引擎80優選地在CPU21(其可以包括一個或多個處理器)中實現,或者可以通過個人計算機20採用的專用語音識別處理器所執行。另外,在一個優選實施例中,輸出設備82可以作為監視器47、或者作為印表機、或者任何其它適當的輸出設備。
在任何情況下,系統60首先利用訓練數據來訓練。圖3和圖4所示為示出用於根據本發明的一個優選實施例的訓練數據採集和系統訓練程序的流程圖。為了訓練系統60、訓練數據首先根據圖3的描述而採集。在一個優選實施例中,訓練數據包括連續(或者流暢的)訓練數據,其中訓練字詞是由朗讀者以連續或者流暢的方式讀到系統60中的,還包括分立(或者離散)訓練數據,其中訓練字詞是由朗讀者用離散或分立的方式讀到系統60中的,並在字詞之間具有停頓。
如此,選擇第一朗讀者。這由方框84表示。然後,該朗讀者被要求把訓練句子流暢地讀到系統60的話筒62中。這由方框86所示。如方框88所示,該訓練句子被記錄。由系統60所接收的每個訓練字詞的音標由象鍵盤40這樣的用戶輸入設備輸入到訓練器65和系統60中。這由方框90所示。然後確定是否要求其它朗讀者也朗讀該訓練句子。對於朗讀者獨立的系統,最好使用多個朗讀者。但是,對於朗讀者獨立的系統,多個朗讀者是可選的,並且該訓練句子可以僅由單個朗讀者所朗讀。
在任何情況下,如果另一個朗讀者以流暢的方式把訓練句子讀到系統60中,該新的朗讀者被選擇,並且該處理過程重複經過方框86、88和90。這由方框92和94所示。
一旦連續的訓練數據被讀到系統60中之後,第一朗讀者被再次選擇,如方框96所示。然後所選擇朗讀者以離散或者分立的方式把一組訓練字詞讀到系統60中,在每個字詞之間具有停頓。這由方框98所示。在一個優選實施例中,該分立訓練數據由在連續訓練數據中的相同字詞所構成。但是,分立訓練數據不需要與連續訓練數據相同,並且可以總體形成一個不同的字詞集合。在任何情況中,每個字詞在被讀入系統時由系統60所記錄。這由方框100所表示。
系統60再次從象鍵盤40這樣的用戶輸入設備接收讀到系統60中的每個訓練字詞的音標。這由方框102所示。
然後確定其它朗讀者是否要把分立的語音訓練數據提供到系統60中。如果這樣的,新的朗讀者被選擇,並且該朗讀者按照第一朗讀者的相同方式輸入分立的語音訓練數據。如果確定沒有其它朗讀者要把分立的訓練數據輸入到系統60中,則數據採集處理結束。這由圖3中的方框104和106所示。
還應當注意,除了由朗讀者通過話筒輸入之外,訓練數據還可以用輸入分配的形式通過象軟盤驅動器這樣的輸入設備直接裝載到系統60。
當訓練數據通過話筒62輸入到系統60中時,它能被A/D轉換器轉換為數字樣本,然後通過特徵提取模塊66轉換為特徵矢量(或者被利用矢量量化和從訓練數據推導出來的代碼本量化為代碼字)。該特徵矢量(或者代碼字)被提供給訓練模塊65。訓練模塊65還從用戶輸入設備接收音標。然後訓練模塊65使用在訓練數據中的特徵矢量(或者代碼字)以及音標來根據該訓練數據建立一組單音素模型、句音素樹、三音素組映射存儲器、前綴樹、和字持續時間模型。這些項目都由搜尋引擎80在執行識別中使用。
圖4為示出由訓練模塊65計算單音素模型、句音素樹和三音素組映射存儲器的整個過程的流程圖。首先,訓練模塊65接收組合訓練數據。組合意味著包括連續和分立的語音訓練數據。這由圖4中的方框108所示。該訓練數據被特徵提取模塊66按照上述方式轉換為輸出分配。因此,訓練模塊65利用特徵矢量(或者代碼字)為在該組合訓練數據中的每個字計算一個或多個隱藏的馬爾可夫模型,以及提供給它的音標。隱藏的馬爾可夫模型與組合訓練數據中的因素相關聯,並且被用已知的方式根據對每個音素計算的輸出和出現頻率而計算。
根據本發明的一個優選實施例,訓練模塊65模擬在該訓練數據集合中的每個音素作為一個單音素模型。該單音素模型包括對於在該模型中的每個狀態的輸出概率分布。這由圖4中的方框110和112所表示。單音素模型被用於識別方案中,以在音素的句音素估計之前為輸入語音發音確定最相似的匹配因素。該單音素模型然後被存儲在存儲器72中,如方框113所示。
然後,對於在每個音素中的每個狀態,訓練模塊65產生一個句音素樹。參照圖5更加具體地描述產生句音素樹的技術。句音素樹的產生由圖4中的方框114所表示。句音素樹然後被存儲在存儲器70中,如圖方框116所示。
一旦產生句音素樹,然後訓練器65把所有所需的三音素組(包括在訓練數據中可見和不可見的)映射到由存儲在存儲器70中的句音素樹所表示的句音素序列中。為此,訓練器65選擇所需的三音素組(對應於左右語言環境的音素),並且遍歷存儲在存儲器70中的句音素樹。作為遍歷句音素樹的結果,訓練模塊65獲得對應於在模擬的三音素組中的每個狀態的句音素,從而獲得表示每個單音素的一系列句音素。該系列句音素被映射到三音素組映射存儲器74中的相應三音素組上。這由方框118所示。該三音素組映射序列還在下文中參照圖6更加具體地描述。
然後,訓練模塊65構成一個前綴樹,並且把該前綴樹存儲在存儲器76中。這由方框120所示。最後,訓練模塊65計算字持續時間模型,並且把字持續時間模型存儲在存儲器78中。這由圖4中所方框122所示。字持續時間模型的計算將在下文中參照圖7和8更加具體地描述。
在計算單音素模型、句音素樹、三音素組映射、前綴樹和字持續時間模型之後,系統60被配置以執行語音識別。該語音識別任務在圖9和10中更加具體地描述。
圖5為更加具體地示出訓練模塊65為包含在組合訓練數據中的每個音素中的每個狀態創建一個句音素樹的處理的流程圖。通常認為在英語中大約有50個音素。在該優選實施例中,每個音素與三個狀態相關聯。因此,150個句音素樹必須由訓練模塊65所創建。並且,在優選實施例中,50個音素中的每一個將在幾個不同的上下文中出現在組合訓練數據內(即,連續訓練數據和分立訓練數據)。因此,當該音素被根據三個狀態的隱藏馬爾可夫模型而模擬時,與在每個隱藏的馬爾可夫模型中的每個狀態相關聯的輸出分布可能不同,這取決於出現在訓練數據中的音素的上下文。根據該信息,一個句音素樹被參照圖5而建立。
首先,表示在訓練數據中的50個音素中的一個被選擇。這由方框124所示。然後,在所選音素中的第一狀態被選擇,如方框126所示。
對於在分組的訓練數據中的音素的出現,與所選音素中的所選狀態相關聯的輸出分布被檢索和分組。這由方框28所示。然後,對於所選狀態的分組輸出分布被根據語言的上下文關係問題相互分離。該問題是尋求關於該句音素樹被產生的特定音素的上下文關係的問題。根據對關於每個獨立輸出分布的問題的回答,這些輸出分布被從第一(父)組分為兩個(子)組。
現在描述用於選擇適當的語言問題的方法。簡而言之,該語言問題最好由專門的語言學家所產生,並且設計為掌握上下文作用的語言分類。例如,一組89個語言問題可以在由Hon和Lee所寫的文章名為「CMU健壯的詞彙獨立的語音識別系統」,關於聲學、語音和信號處理的IEEE國際會議,多論多,加拿大,1991,pps 889-892中找到。為了把父組分為子組,訓練模塊65確定多個語言問題中的哪一個是對於父組的最佳問題。在一個優選實施例中,該最佳問題被確定為給出父組和子組之間的最大熵減少量的問題。所有語言問題為「是」或「否」問題,使得兩個子節點從父節點推導出來。
分組根據預定的分支閾值而停止。這種閾值例如可以包括當一組中輸出分布的數目低於預定值的時刻,或者當從分組中得出的熵減少量低於另一閾值的時刻。當達到預定分支閾值時,所得的結束組是表示分組的輸出分布或句音素的所有葉節點組。這由方框130和132表示。還應當注意,在句音素樹中的問題可以根據從父組到子組的熵減少量,被合併或結合以形成複合問題。
在為所選音素的所選狀態創建句音素樹之後,該句音素樹被存儲在存儲器70中。這由方框134所表示。該處理對詞彙表中的每個音素的每個狀態重複進行,使得為每個音素中的每個狀態創建句音素樹。這由圖5中的方框136和138所表示。
在為該詞彙表中的每個音素的每個狀態創建一個句音素樹之後,要由系統60所識別每個三音素組必須映射到一個特定的句音素序列。換句話說,對於要被識別的每個三音素組,在該三音素組中對於每個狀態的適當句音素必須通過遍歷存儲在存儲器70中的適當句音素樹而識別。
首先,每個要被識別的三音素組的音標由系統60通過象鍵盤40這樣音標輸入設備從用戶接收。然後,對應於該三音素組的中央音素的每個狀態的句音素樹被遍歷。該句音素樹僅僅通過回答與句音素樹的節點相關的語言問題而遍歷。在對三音素組的每個連續狀態識別適當的句音素之後,所識別的句音素被合併以形成一個句音素序列,其被映射到存儲器74中的三音素組。
圖6示出有助於理解如何創建和遍歷句音素樹一個實例。圖6示出對於作為單詞「welcome」的一部分的字母「c」的讀音的音素/K/的句音素樹。圖6示出對於/K/音素的第一狀態的句音素樹。應當知道在圖6中所示的/K/中的許多問題是根據上述技術所形成的複合問題。
為了對由單詞「welcome」的字母「lco」所形成的三音素組/L,K,UH/確定適當的句音素序列,/K/音素的每個句音素樹必須被遍歷。圖6中所示的句音素樹與/K/音素的第一狀態相關。與根節點140相關的語言問題是在該三音素組中的左音素是響音還是鼻音。由於/L/是響音,則樹遍歷移動到子節點142。
子節點142對應於對位於節點140處問題的肯定回答。位於節點142處的問題詢問左音素(/L/)是否為一個後音素(即,該左音素是否為一個使舌位向嘴後部移動而發出的音素)。該/L/是一個後音素,所以遍歷進行到節點144,這對應於對位於節點142處的問題的肯定回答。已知右音素(三音素組的/UH/音素)不是一個L或W,並且/L/音素不是任何由節點142提出的問題中所指定的任何音素,對在節點142的問題的回答是否定的。這導致一個句音素,被指定為句音素2,其被識別為對於/L,K,UH/三音素組的第一狀態的適當的句音素。類似的樹遍歷對/K/的每個其它狀態進行。對於輸入到系統60中的所有三音素組模型的所有馬爾可夫狀態,該相應的句音素樹被遍歷直到一個葉節點(或者句音素)。為每個三音素組所指定的句音素序列存儲在存儲器70中。
在該優選實施例中,其中識別器是基於音標前綴樹解碼器的,然後構成一個前綴樹來表示要由系統60所識別的字典或詞典。該前綴樹最好如此構成,使得它可以從根節點遍歷葉節點,以到達最近似於表示該輸入數據的字。在優選實施例中,前綴樹包括被模擬(按照與存儲在存儲器72中的單音素模型相類似的方式)的多個決定於上下文的靜音,使得該靜音被嵌入作為詞典中的部分詞。在遍歷該前綴樹之後,系統60最好保持有效假設,其構成為任何被識別的給定短語識別的最相似的字、或者字序列。
然後,在一個優選實施例中,系統60構成多個字持續時間模型,其可以被用於在從前綴樹解碼器中出現的有效假設中進行選擇。字持續時間模型被存儲在存儲器78中。圖7為更加具體地示出字持續時間模型的結構的流程圖。
輸入到系統60中的訓練數據最好包括不同持續時間的分立字,以及由停頓所分隔的字序列(或者短語),其中該字序列具有各種不同的每個序列的字計數值。訓練模塊65模擬在每個具有字計數值n的離散短語中的字平均持續時間。因此,訓練模塊65首先為組合的訓練數據(這包括具有一個字長度的短語)中的不同長度的短語計算每個字的平均持續時間。這由圖7中的方框144所示。接著,訓練模塊65產生由每個短語的字數作為參數的一系列字持續時間的分布。這由方框146表示。然後,訓練模塊65在字持續時間模型存儲器78中存儲一系列分布。這由方框148所表示。
圖8是更加清楚地示出由訓練模塊65所計算的一系列分布的曲線圖。圖8示出繪製在圖上的三個分布150、152和154,其中字持續時間在x軸上,並且n-字短語出現的次數在y軸上。分布150、152和154通常按照伽馬分布的形式,其中分布150與字短語的平均持續時間相關聯,分布152與兩字短語中的每個字的平均持續時間相關聯(其中,n是大於2的整數)。因此,圖8示出在單字短語中的每個字的平均持續時間略為比在兩字短語中每個字的平均持續時間更長。並且,在一個短語中的字數超過兩個時,在該短語中的每個字的平均持續時間略為比單字或兩字短語中的字的平均持續時間更短。
在識別過程中,在遍歷前綴樹之後保留的有效假設中的平均字持續時間與由訓練模塊65所計算的字持續時間模型相比較。然後,根據在該特定假設中的每個字的平均持續時間是否接近地(或者不接近地)與適當的字持續時間模型相匹配,而對每個假設分配一個分值(或者罰分)。這在本說明書的下文中更加具體地描述。
一旦訓練模塊65已經開發了單音素模型、句音素樹、三音素組映射、前綴樹、和字持續時間模型之後,系統60被適當地配置以識別語音。
圖9為示出利用系統60識別語音的一個優選技術的流程圖。語音首先按照由用戶提供給話筒62的可聽聲音信號的形式輸入到系統60中。話筒62把該可聽語音信號轉換為提供給A/D轉換器64的模擬電信號。A/D轉換器64把該模擬語音信號轉換為被提供給特徵提取模塊66的一系列數位訊號。在一個優選實施例中,特徵提取模塊66是一個對該數位訊號執行頻譜分析並且對頻譜的每個頻帶計算幅度值的常規陣列處理器。在一個優選實施例中,該信號被A/D轉換器64按照約16KHz的採樣率提供給特徵提取模塊66,其中A/D轉換器64作為一種可從市場上購得的眾所周知的A/D轉換器。
特徵提取模塊66把從A/D轉換器64接收的數位訊號分為包括多個數字樣本的幀。每個幀約為具有10微秒的持續時間。然後每個幀優選地被特徵提取模塊66解碼為反映多個頻帶的頻譜特性的一個特徵矢量。特徵提取模塊66還可以根據矢量量化技術和從訓練數據推導出來的代碼本(沒有分別示出)把該特徵矢量編碼為代碼字。依靠隱藏的馬爾可夫模型利用被分析的特定幀的特徵矢量(或者代碼字)可以計算輸出分布。該特徵提取模塊66最好以約每10微秒一組的速率提供特徵矢量(代碼字)。
當特徵提取模塊66正在處理來自A/D轉換器64的數字樣本時,靜音(或者邊界)檢測模塊68也正在處理該樣本。靜音檢測模塊68可以在與用於實現特徵提取模塊66的處理器相同或不同的處理器上實現,靜音檢測模塊68按照公知的方式操作。簡而言之靜音檢測模塊68處理由A/D轉換器所提供的數字樣本,以檢測靜音(或者停頓)以便於確定由用戶所發出的字或短語之間的邊界。然後靜音檢測模塊68把該邊界檢測信號提供給搜尋引擎80,它是字或短語邊界的檢測的指示。因此,搜尋引擎按照與要被識別的目標字相關的輸出分布的形式接收語音數據。這由圖9中的方框156所表示。
然後搜尋引擎80把所接收的輸出分布與存儲在單音素存儲器72中的單音素模型相比較。對於每個讀出的目標字的連續目標音素,以及對於目的音素的每個連續的目標狀態,搜尋引擎80把對於目標狀態的輸出分布與存儲在存儲器72中的每個音素單音素模型的相應狀態相比較。然後,搜尋引擎80選擇狀態最靠近匹配該目標狀態的預定數目的音素單音素模型,以獲得由該目標音素所表示的相似的音素。這由圖9中的方框158所表示。
然後,搜尋引擎80選擇一個最相似的音素,並且選擇在該音素中的第一狀態。這由方框160和162所表示。然後搜尋引擎80檢索由句音素樹為每個所選狀態產生的句音素。
接著,搜尋引擎80把第一目標狀態的目標輸出分布與對應於所選音素模型的第一狀態的句音素樹的每個句音素相比較。然後,搜尋引擎80選擇任何最接近匹配目標狀態的輸出分布的句音素作為最匹配的句音素,並且為該匹配的句音素計算並存儲匹配的概率值。這由方框164和166所表示。
如果所選音素具有一個以上的狀態,則搜尋引擎80為所選音素中的每個剩餘狀態執行相同的步驟。因此,搜尋引擎80為所選音素中的每個狀態選擇最接近匹配的句音素,並且為該最匹配的句音素計算和存儲一個匹配概率值。這由方框168所表示。在所選音素中的所有狀態被比較之後,搜尋引擎80將根據所確定的概率值為所選音素識別一個相似的句音素序列。這由方框170所表示。然後,搜尋引擎80訪問存儲在存儲器74中的信息,並且檢索被映射到所確定的相似句音素序列的一個相似的三音素組。這由方框172所表示。
然後,搜尋引擎80確定是否所有相似音素已經被處理。如果還沒有,則搜尋引擎80根據在比較過程中確定的概率值重複該處理並且到達對於每個相似音素的相似句音素序列(並且因此到達要與目標音素相關聯的N個相似三音素組)。這由方框174和176所表示。
一旦N個相似三音素組已經被識別,則搜尋引擎80訪問存儲器76中的前綴樹。在遍歷該前綴樹之後,搜尋引擎80識別有效假設。在一個優選實施例中,搜尋引擎80僅僅訪問一個詞典和一個語言模型,例如從北美商業新聞文集推導出來的60000個字的三字母組的語言模型,並且這在由語言數據協會在1994年所出版的賓夕法尼亞大學的名為CSR-Ⅲ文本語言模型的出版物中有更加具體地描述。該語言模型被用於識別由輸入數據所表示的最相似字或字序列,並且這由搜尋引擎80提供給輸出裝置82。
但是,根據本發明的另一個方面和另一個優選實施例,搜尋引擎80還利用存儲器78中的字持續時間模型以更加精確地由輸入數據所表示的最相似字或字序列。圖10為示出該持續模型如何被用於區別多字短語和單字短語的流程圖。為了該描述的目的,字計數值X的離散短語是一系列以靜音開始和結束的Y個流利讀出的字。
該持續模型的應用最好在離散短語的邊界處執行。短語是通過檢測在該輸入數據中的停頓而檢測的。首先,在輸入數據中的停頓是通過靜音檢測模塊68所檢測的。這由方塊180所表示。接著,搜尋引擎80確定所檢測的停頓是否具有比閾值持續時間d(p)更小的持續時間d(P)。該閾值持續時間d(p)是根據訓練數據通過經驗確定的,以避免檢測錯誤停頓,或者檢測不精確地反映短語之間的邊界的停頓。這由方框182所表示。如果d(P)小於d(p),則處理轉回到方框80,等待另一個停頓檢測。
但是,如果d(P)不小於d(p),則搜尋引擎80計算表示當前停頓時間的持續時間的短語持續時間(或者片段持續時間)d(S),以及超過閾值持續時間d(p)的以前最近的停頓。這由方塊184所表示。然後,搜尋引擎80確定片段持續時間d(S)是否大於閾值片段持續時間d(s)。對於d(p),d(s)是根據訓練數據而經驗確定的,以保證該片段持續時間d(S)不會長得不應該應用探試法。換句話說,與應用於較長持續時間的短語相比,當應用於較短持續時間的短語時,認為字持續時間模型最有效。如果片段持續時間d(S)大於片段閾值d(s),則處理過程回到方框180,等待另一個停頓檢測。
但是,如果d(S)小於閾值片段持續時間d(s),則搜索80選擇表示由輸入數據所代表的n最相似字或字短語中的一個的當前短語假設H。這由方框188所表示。然後,搜尋引擎80確定在H(wc(H))中的字計數值,並且根據wc(H)和d(S)計算H中的每個字的平均持續時間,並且把其與存儲在存儲器78中對應於具有等於wc(H)的字計數值的短語的字持續分布相比較。這由方框190所表示。
根據該比較,然後搜尋引擎80根據表示H中的平均字持續時間如何接近匹配相應字持續時間模型的一個函數ip(wc(H),d(S))把一個分值分配給該假設H(或者對其罰分)。在一個優選實施例中,ip(wc(H),d(S)是一個根據輸入到系統60中的訓練數據而經驗確定的梯度下降函數。這由方框192所表示。搜尋引擎80對每個有效假設重複該過程,如方框194所表示,並且利用該信息選擇最相似的假設。然後,搜尋引擎80把最相似的假設提供給輸出設備82,作為由該輸出數據所表示的最相似端。這由方框194和196所表示。
因此,可以看出本發明比現有的系統具有明顯的優點。本發明利用採集分立語音數據和連續語音數據作為訓練數據集的數據採集方法。通過擴充通常的數據採集方法,以要求朗讀者在字與字之間停頓,以及流利地朗讀,與離散語音相關的靜音上下文以及與連續語音相關的非靜音也被用於訓練該系統中的聲學模型。應當指出,對於連續語音訓練數據和分立語音訓練數據的訓練數據可以包含相同或不同的字。該組合訓練數據集被用於訓練音素模型,產生句音素樹和訓練數據句音素,以及把三音素組映射到適當的句音素序列。
還應當指出,不同類型的訓練數據(連續和分立)的效果可以根據在識別過程中期望的語音類型而不同地加權。該加權可以通過分配加權係數而實現,或者簡單地通過提供給訓練數據集中的系統的每種數據的量而實現。在一個優選實施例中,兩種訓練數據都被均等地加權。
另外,在一個優選實施例中,本發明採用字持續時間模型。該字持續時間模型最好在訓練數據過程中形成,並且應用於短語邊界上,以進一步增加識別系統的精度。
本技術還可以應用於把其它類型的訓練數據導入該系統。例如,不但用戶可以被指導來輸入作為分立和連續語音的訓練數據,而而用戶還可以被指導來大聲、柔和、更加緩慢、或者更加快、或者用其它變化方式來輸入訓練數據。然後所有這些訓練數據可以按照與上文所述相類似的方式來用於訓練用在該系統中的聲學模型,以獲得更加健壯的識別系統。
儘管本發明已經參照優選實施例進行了描述,但是本領域內的專業技術人員將認識到可以在形式和細節上作出改變而不脫離本發明的精神和範圍。
權利要求
1.一種實現語音識別系統的方法,包括接收表示多個離散地讀出的訓練字的分立語音訓練數據;接收表示多個連續地讀出的訓練字的連續語音訓練數據;提供根據分立語音訓練數據和連續語音訓練數據訓練的多個語音單元模型;以及提供一個根據訓練的語音單元模型識別語音的識別器。
2.根據權利要求1所述的方法,其特徵在於,接收分立語音訓練數據包括接收第一組聲音信號,其中接收連續語音訓練數據包括接收第二組聲音信號,並且其中提供多個語音單元模型包括根據第一和第二組聲音信號開發多個聲學模型。
3.根據權利要求2所述的方法,其特徵在於,開發多個聲學模型包括根據第一和第二組語音信號,開發表示在連續和分立語音訓練數據中的音素的多個輸出概率分布。
4.根據權利要求1所述的方法,其特徵在於,接收分立語音訓練數據包括接收包括與多個離散地讀出的訓練字相關的靜音上下文信息的分立語音數據。
5.根據權利要求4所述的方法,其特徵在於,接收分立語音數據包括接收表示用戶離散地讀出多個訓練字的分立語音數據,在多個訓練字的每一個之間具有停頓。
6.根據權利要求1所述的方法,其特徵在於,接收連續語音訓練數據包括接收表示用戶流暢讀出多個訓練字的連續語音數據。
7.根據權利要求1所述的方法,其中還包括在訓練語音單元模型之前,根據要被識別的所希望語音對連續語音訓練數據和分立語音訓練數據加權。
8.根據權利要求1所述的方法,其中還包括接收表示用戶用不同方式讀出多個訓練字的其它語音訓練數據。
9.根據權利要求8所述的方法,其特徵在於,接收其它語音訓練數據包括接收表示用戶以第一幅度和第二幅度讀出多個訓練字的其它語音訓練數據,該第二幅度大於第一幅度。
10.根據權利要求8所述的方法,其特徵在於,接收其它語音訓練數據包括接收表示用戶以第一速度和第二速度流利讀出多個訓練字的其它語音訓練數據,該第二速度比第一速度更快。
11.根據權利要求3所述的方法,其特徵在於,提供多個語音單元模型,還包括把每個輸出分布與形成一個訓練字的至少一部分的音素中的預定數目的狀態中的一個相關聯。
12.根據權利要求11所述的方法,其中還包括對於每個音素,從所有包含所選音素的訓練字中分組出與一個所選音素相關的輸出分布,以形成一個輸出分布組;以及對於每個音素中的每個狀態,通過根據與所選音素相關聯的語言環境信息把與在輸出分布組中的所選狀態相關聯的輸出分布分為句音素,而為所選音素中的所選狀態產生一個句音素樹。
13.根據權利要求12所述的方法,其特徵在於,提供一個用於識別語音的識別器,包括配置該語音識別器,以執行如下步驟接收對於要被識別的目標字中的每個連續目標音素的每個連續狀態的輸出分布;對於每個目標音素,識別作為目標音素的最近似表示的多個相似音素;把與相似音素狀態相關的句音素與相關於目標音素的相應狀態的輸出分布相比較;以及識別具有最接近匹配目標音素的輸出分布的句音素的最相似音素。
14.根據權利要求13所述的方法,其特徵在於,該比較包括根據目標音素的語言環境信息,遍歷與在每個相似音素中的每個狀態相關的句音素樹,以對目標音素中的每個狀態識別一個句音素;以及把相關於在目標音素中的狀態的輸出分布與相關於在相似音素中的所識別句音素的輸出分布相比較。
15.根據權利要求13所述的方法,其特徵在於,識別多個相似音素包括根據分立語音訓練數據和連續語音訓練數據,形成多個單音素模型,表示訓練字中的音素;把相關於目標音素的輸出分布與該單音素模型相比較;以及識別具有接近匹配相關於該目標音素的輸出分布的單音素模型的多個相似音素。
16.根據權利要求1所述的方法,其中還包括根據分立語音訓練數據和連續語音訓練數據,提供多個字持續時間模型,表示包含在變化長度的字短語中的字的大約字持續時間,該長度由字短語中的字計數值所確定。
17.根據權利要求16所述的方法,其特徵在於,提供一個用於識別語音的語音識別器,包括配置該識別器以執行該如下步驟接收多個要被識別的目標字;檢測表示在目標字中的目標字短語的短語邊界;確定目標字短語的大約持續時間;獲得表示由目標字短語所代表的相似字短語的多個字短語假設;為該字短語假設中的字確定大約的字計數值和持續時間;以及把該字短語假設中的字的字持續時間與具有等於在該字短語假設的字數的字計數值的字持續時間模型相比較,以根據在該字短語假設中的字持續時間接近匹配該字持續時間模型的程度,而獲得一個相似字短語假設。
18.根據權利要求16所述的方法,其特徵在於,提供多個字持續時間模型,包括在分立語音訓練數據和連續語音訓練數據中檢測訓練字短語;確定在該訓練字短語中的字數;確定在多個檢測的訓練字短語中的字的大約字持續時間;以及確定以該訓練字短語中的字數和在訓練字短語中的字的持續時間作為參數的多個字持續時間分布。
19.一種識別語音的方法,其中包括接收表示要被識別的語音的輸入數據;根據該輸入數據檢測在該語音中的停頓,以識別一個短語持續時間;產生表示由所檢測停頓之間的輸入數據所表示的相似字短語的多個短語假設;根據在該短語假設中的字數和根據該短語持續時間,對於具有等於該短語假設中的字數相等的字數的短語,把與每個短語假設中的每個字相關的字持續時間與所期望的字持續時間相比較;以及根據該字持續時間與所期望的字持續時間的比較,把一個分值分配給每個短語假設,以獲得由該輸入數據所表示的最相似的短語假設。
20.根據權利要求19所述的方法,其中還包括接收表示要被識別的語音的輸入數據;檢測在該訓練數據中的停頓,以識別訓練字短語;確定在每個訓練字短語中的字數;根據在每個訓練字短語中的字數,產生對應於該訓練字短語的多個字持續時間的分布。
21.根據權利要求20所述的方法,其特徵在於,把在每個短語假設中的字持續時間與期望的字持續時間進行比較的步驟包括對於每個假設,根據在該假設中的字數和短語持續時間,對該假設中的字確定字持續時間;選擇與等於該假設中的字數的每個短語的字數相關的多個分布中的一個;以及把為該假設確定的字持續時間與所選擇的分布相比較。
22.根據權利要求22所述的方法,其特徵在於,把一個分值分配給每個短語假設的步驟包括把一個分值分配給每個字假設,表示對該假設確定的字持續時間接近匹配所選分布的程度。
23.一種執行語音識別的方法,其中包括接收表示多個離散地說出的訓練字的分立語音訓練數據,該分立語音訓練數據包括第一組輸出分布,每個輸出分布與形成至少一個離散地說出的訓練字的一部分的音素中的預定數目的狀態中的一個相關;接收表示多個連續地說出的訓練字的連續語音訓練數據,該連續語音訓練數據包括第二組輸出分布,該第二組輸出分布中的每一個與形成至少一個離散地說出的訓練字的一部分的音素中的預定數目的狀態中的一個相關;把與從所有包括所選音素的訓練字中選擇的音素相關聯的輸出分布分組,以形成一個輸出分布組;以及通過根據與所選音素相關的語言環境信息,在輸出分布組中分離與該所選狀態相關聯的輸出分布,而在該所選音素中創建一個句音素樹。
全文摘要
通過接收表示多個離散地說出的訓練字的分立語音訓練數據(步驟98),以及接收表示多個連續地說出的訓練字的連續語音訓練數據(步驟86)而執行語音識別。多個語音單元模型是根據分立語音訓練數據和連續語音訓練數據而訓練的。語音是根據被訓練的語音單元而識別的。
文檔編號G10L15/04GK1279806SQ98811380
公開日2001年1月10日 申請日期1998年9月16日 優先權日1997年9月19日
發明者學東·D·黃, 菲萊諾·A·阿萊瓦, 江麗, 黃梅玉 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀