專利名稱:使用用戶糾正的自動語音識別學習的制作方法
技術領域:
本發(fā)明涉及計算機語音識別,尤其涉及訓練計算機語音識別系統。
背景技術:
計算機系統對人類語音的快速且準確的識別長久以來都是計算機系統的開發(fā)者所尋求的目標??蓮倪@一計算機語音識別(CSR)系統中獲得的益處是豐富的。例如,作為向計算機系統鍵入文檔的替代,人們可以簡單地說出該文檔的單詞,CSR系統能夠識別單詞,并儲存每一單詞的字母,如同這些單詞被鍵入一樣。由于人們一般說話比打字快,這可以提高效率。同樣,人們不再需要學習如何打字。計算機也可在其使用由于人的手被除打字以外的其它任務所占用而當前不實用的許多應用中使用。
典型的CSR系統通過將說出的話語與詞匯表中的每一單詞的模型相比較來識別單詞。其模型最佳地匹配話語的單詞被識別為說出的單詞。CSR系統可將每一單詞模型化為組成該單詞的音素序列。為識別話語,CSR系統標識其音素最佳地匹配該話語的單詞序列。然而,這些音素可能不完全對應于組成單詞的音素。由此,CSR系統通常使用一種概率分析來確定哪一單詞最接近地對應于所標識的音素。
當識別話語時,CSR系統將表示話語的模擬信號轉換成更有用的形式用于進一步處理。CSR系統首先將模擬信號轉換成數字形式。CSR系統然后向數字形式應用一種信號處理技術,如快速傅立葉變換(FFT)、線性預測編碼(LPC)或濾波器組,以提取該話語的適當的參數表示。一種常用的表示是具有表示該話語在不同間隔上的頻率和/或能帶的FFT或LPC系數的“特征矢量”(稱為“幀”)。間隔基于計算機系統的計算容量和識別過程的期望準確度可長可短。典型的間隔可以在10毫秒范圍之內。即,CSR系統可對每10毫秒的話語生成一個特征矢量。每一幀通常為25ms長。因此,每10ms生成25ms長的幀。在連續(xù)的幀之間有重疊。
為便于處理特征矢量,將每一特征矢量量化成有限數量(如,256)的“量化矢量”之一。即,CSR系統定義若干量化矢量,選擇它們來表示特征矢量的典型或平均范圍。CSR系統然后將每一特征矢量與量化矢量的每一個進行比較,并選擇最接近類似該特征矢量的量化矢量來表示該特征矢量。每一量化矢量由一個數字(如,1到256之間)來唯一地表示,它被稱為“碼字”。當特征矢量被表示為量化矢量時,存在信息丟失,這是因為許多不同的特征矢量映射到同一量化矢量。為確保信息丟失不會嚴重地影響識別,CSR系統可定義上千或上百萬個量化矢量。儲存如此大量的量化矢量的定義所需的存儲量是相當可觀的。由此,為減少所需的存儲量,CSR系統對特征矢量分段,并將每一分段量化成少量(如,256)的量化矢量之一。由此,每一特征矢量由每一分段的量化矢量(由碼字標識)來表示。為解釋的簡明性,描述不分割特征矢量,并由此對每一特征矢量(或幀)僅有一個碼字的CSR系統。
如上所述,說出的話語通常不完全對應于單詞的模型。找出精確的對應性的困難是由于語音中無法由單詞模型完全并準確捕捉的巨大變化。例如,這些變化起因于說話者的口音、人們說話時的速度和音調、說話者的當前健康狀況(如,感冒)、說話者的年齡和性別等等。使用概率技術的CSR系統比尋找精確對應性的技術更成功地準確識別語音。
常用于語音識別的一個這樣的概率技術是隱馬爾可夫建模。CSR系統可對詞匯表中的每一單詞使用隱馬爾可夫模型(“HMM”)。單詞的HMM包括概率信息,從概率信息中可導出任一碼字序列對應于該單詞的概率。由此,為識別話語,CSR系統將話語轉換成碼字序列,然后使用每一單詞的HMM來確定該單詞對應于該話語的概率。CSR系統識別該話語為具有最高概率的單詞。
HMM由狀態(tài)圖來表示。狀態(tài)圖是傳統上用于確定系統在接收輸入序列之后的狀態(tài)。狀態(tài)圖包括狀態(tài)以及源和目標狀態(tài)之間的轉移。每一轉移具有一與其相關聯的輸入,該輸入指示當系統接收該輸入并處在源狀態(tài)中時,系統將轉移到目標狀態(tài)。例如,這一狀態(tài)圖可由識別組成詞匯表中的單詞的每一碼字序列的系統使用。當系統處理每一碼字時,系統基于當前狀態(tài)和正被處理的碼字來確定下一狀態(tài)。在這一示例中,狀態(tài)圖將具有對應于每一單詞的某一最終狀態(tài)。然而,如果表示了一個單詞的多個發(fā)音,每一單詞可具有多個最終狀態(tài)。如果在處理碼字之后,系統處于對應于單詞的最終狀態(tài),則該碼字序列將被識別為最終狀態(tài)的單詞。
然而,HMM對每一碼字具有與從一個狀態(tài)到另一狀態(tài)的每一轉移相關聯的概率。例如,如果HMM在狀態(tài)2中,則某一碼字將導致從當前狀態(tài)到下一狀態(tài)的轉移的概率可以是0.1,并且同一碼字將導致從當前狀態(tài)到不同的下一狀態(tài)的轉移的概率可以是0.2。類似地,不同的碼字將導致從當前狀態(tài)到下一狀態(tài)的轉移的概率可以是0.01。由于HMM具有與其狀態(tài)圖相關聯的概率,對給定的碼字序列的最終狀態(tài)的確定只能按照概率來表達。由此,為確定碼字序列的每一可能的最終狀態(tài)的概率,需要標識HMM的狀態(tài)圖的每一可能的狀態(tài)序列,并需要計算相關聯的概率。每一這樣的狀態(tài)序列被稱為狀態(tài)路徑。
為確定碼字序列表示音素的概率,CSR系統可生成概率點陣。音素的HMM的概率點陣表示碼字序列的每一可能的狀態(tài)路徑的概率的計算。概率點陣包括對序列中的每一碼字HMM可以處于的每一可能狀態(tài)的節(jié)點。每一節(jié)點包含迄今為止所處理的碼字將導致HMM處于與該節(jié)點相關聯的狀態(tài)的累加概率。特定碼字的節(jié)點中的概率和指示迄今為止所處理的碼字表示音素的前綴部分的似然性。
CSR系統的準確度部分地取決于每一音素的HMM的輸出和轉移概率的準確度。典型的CSR系統訓練該CSR系統,使得輸出和轉移概率準確地反映平均說話者的語音。在訓練過程中,CSR系統對于大量不同的單詞從各種說話者收集碼字序列。選擇單詞使得每一音素被說出大量的次數。根據這些碼字序列,CSR系統對每一HMM計算輸出和轉移概率。用于計算這些概率的各種迭代方法是眾所周知的。
然而,這類訓練技術的一個問題是這些平均HMM可能不能準確地模型化其語音模式不同于平均值的那些人的語音。一般而言,每個人具有不同于平均值的某些語音模式。因此,CSR系統允許說話者訓練HMM以適合說話者的語音模式。在這一訓練中,CSR系統通過使用由系統的實際用戶說出的話語來細化(refine)HMM參數,如輸出和轉移概率,以及由碼字表示的量化矢量。通過使用用戶提供的數據以及從大量的說話者不相關數據中生成的信息和參數來導出經調節(jié)的參數。由此,概率反映了說話者相關特征。
CSR系統通常是通過向說話者呈現大量不同的預先選擇的單詞來訓練的。選擇這些單詞以確??墒占瘜诿恳灰羲氐恼Z音的代表性樣本。采用這一代表性樣本,CSR系統可確保無法準確地反映該音素的說話者發(fā)音的任一HMM可被充分地調節(jié)。由于CSR系統按照概率來運作,提供的訓練越多,隨后的語音識別就越準確。然而,當完成了越來越多的訓練時,對給定量的額外訓練的識別準確度的提高程度會開始下降。而且,要求用戶在訓練時間上提供大量投入可能會減損用戶的體驗。
因此,在號召用戶訓練系統的程度,和用戶可有效地使用系統的程度之間有一個平衡。給定人類語言的復雜度,非常容易想象到,即使在大量的訓練之后,系統也將偶然地產生錯誤。導致說出的話語不與單詞的對應模型相匹配的另一原因是在單詞為新單詞時。一種可能的解決方案包括增大詞匯表,這會降低識別準確度。另一種解決方案是通過在其中用戶添加新單詞的用戶訓練?,F有系統允許用戶通過使用諸如添加/刪除單詞對話框等允許用戶添加或刪除單詞的用戶界面,向合適的詞典手動地添加具有他或她的發(fā)音的新單詞,無論該詞典是系統詞典、銷售商或應用詞典還是用戶專用詞典。然而,當用戶需要添加大量的單詞時,這是麻煩的。也已知使用用戶創(chuàng)作的文檔和電子郵件來調節(jié)語言模型(LM)。該方法是有局限的,因為發(fā)音并未被添加到詞典,并且語言模型調節(jié)的質量很大程度上取決于源文檔的過濾。
由此,需要一種可從用戶容易地學習新單詞及其發(fā)音,而不需要相當大的用戶干預的系統。實現這一目標將允許增強的自動語音識別系統學習,而不會通過需要不適當的訓練工作來減損用戶的體驗。
發(fā)明內容
一種自動語音識別系統識別用戶對口述的文本的改變,并推斷這些改變是源自用戶改變他/她的主意,還是這些改變是糾正識別錯誤的結果。如果檢測到從識別錯誤的糾正,則系統使用用戶糾正的類型來修改其本身以降低這類識別錯誤再次出現的機會。因此,該系統和方法提供了有極少或沒有額外的用戶交互的意義重大的語音識別學習。
圖1是可在其中實踐本發(fā)明的一個計算環(huán)境的框圖。
圖2是可在其中實踐本發(fā)明的一個替換計算環(huán)境的框圖。
圖3是依照本發(fā)明的一個實施例用語音識別系統學習的方法的框圖。
圖4是依照本發(fā)明的一個實施例用語音識別系統學習的方法的一部分的框圖。
具體實施例方式
圖1示出了適合在其中實現本發(fā)明的計算系統環(huán)境100的一個示例。計算系統環(huán)境100僅為合適的計算環(huán)境的一個示例,并非暗示對本發(fā)明的使用范圍或功能的局限。也不應將計算環(huán)境100解釋為對示例性操作環(huán)境100中示出的任一組件或其組合具有依賴或需求。
本發(fā)明可以使用眾多其它通用或專用計算系統環(huán)境或配置來操作。適合使用本發(fā)明的眾所周知的計算系統、環(huán)境和/或配置的示例包括但不限于個人計算機、服務器計算機、手持式或膝上設備、多處理器系統、基于微處理器的系統、機頂盒、可編程消費者電子設備、網絡PC、小型機、大型機、電話系統、包括任一上述系統或設備的分布式計算環(huán)境等等。
本發(fā)明可在諸如由計算機執(zhí)行的程序模塊等計算機可執(zhí)行指令的一般上下文環(huán)境中描述。一般而言,程序模塊包括例程、程序、對象、組件、數據結構等等,執(zhí)行特定的任務或實現特定的抽象數據類型。本發(fā)明也可以在分布式計算環(huán)境中實踐,其中,任務由通過通信網絡連接的遠程處理設備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程計算機存儲媒質中,包括存儲器存儲設備。
參考圖1,用于實現本發(fā)明的示例系統包括計算機110形式的通用計算裝置。計算機110的組件可包括但不限于,中央處理單元120、系統存儲器130以及將包括系統存儲器的各類系統組件耦合至處理單元120的系統總線121。
系統總線121可以是若干種總線結構類型的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用各類總線體系結構的局部總線。作為示例而非局限,這類體系結構包括工業(yè)標準體系結構(ISA)總線、微通道體系結構(MCA)總線、增強ISA(EISA)總線、視頻電子技術標準協會(VESA)局部總線以及外圍部件互連(PCI)總線,也稱為Mezzanine總線。
計算機110通常包括各種計算機可讀媒質。計算機可讀媒質可以是可由計算機110訪問的任一可用媒質,包括易失和非易失媒質、可移動和不可移動媒質。作為示例而非局限,計算機可讀媒質包括計算機存儲媒質和通信媒質。計算機存儲媒質包括以用于儲存諸如計算機可讀指令、數據結構、程序模塊或其它數據等信息的任一方法或技術實現的易失和非易失,可移動和不可移動媒質。計算機存儲媒質包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術、CD-ROM、數字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設備、或可以用來儲存所期望的信息并可由計算機110訪問的任一其它媒質。通信媒質通常在諸如載波或其它傳輸機制的已調制數據信號中包含計算機可讀指令、數據結構、程序模塊或其它數據,并包括任一信息傳送媒質。術語“已調制數據信號”指以對信號中的信息進行編碼的方式設置或改變其一個或多個特征的信號。作為示例而非局限,通信媒質包括有線媒質,如有線網絡或直接連線連接,以及無線媒質,如聲學、RF、紅外和其它無線媒質。上述任一的組合也應當包括在計算機可讀媒質的范圍之內。
系統存儲器130包括易失和/或非易失存儲器形式的計算機存儲媒質,如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132?;据斎?輸出系統133(BIOS)包括如在啟動時幫助在計算機110內的元件之間傳輸信息的基本例程,通常儲存在ROM 131中。RAM 132通常包含處理單元120立即可訪問或者當前正在操作的數據和/或程序模塊。作為示例而非局限,圖1示出了操作系統134、應用程序135、其它程序模塊136和程序數據137。
計算機110也可包括其它可移動/不可移動、易失/非易失計算機存儲媒質。僅作示例,圖1示出了對不可移動、非易失磁媒質進行讀寫的硬盤驅動器141、對可移動、非易失磁盤152進行讀寫的磁盤驅動器151以及對可移動、非易失光盤156,如CD ROM或其它光媒質進行讀寫的光盤驅動器155。可以在示例性操作環(huán)境中使用的其它可移動/不可移動、易失/非易失計算機存儲媒質包括但不限于,磁帶盒、閃存卡、數字多功能盤、數字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅動器141通常通過不可移動存儲器接口,如接口140連接到系統總線121,磁盤驅動器151和光盤驅動器155通常通過可移動存儲器接口,如接口150連接到系統總線121。
圖1討論并示出的驅動器及其關聯的計算機存儲媒質為計算機110提供了計算機可讀指令、數據結構、程序模塊和其它數據的存儲。例如,在圖1中,示出硬盤驅動器141儲存操作系統144、應用程序145、其它程序模塊146和程序數據147。注意,這些組件可以與操作系統134、應用程序135、其它程序模塊136和程序數據137相同,也可以與它們不同。這里對操作系統144、應用程序145、其它程序模塊146和程序數據147給予不同的標號來說明至少它們是不同的副本。
用戶可以通過輸入設備,如鍵盤162、麥克風163和定位設備161(通常指鼠標、跟蹤球或觸摸板)向計算機110輸入命令和信息。其它輸入設備(未示出)可包括操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設備通常通過耦合至系統總線的用戶輸入接口160連接至處理單元120,但是也可以通過其它接口和總線結構連接,如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其它類型的顯示設備也通過接口,如視頻接口190連接至系統總線121。除監(jiān)視器之外,計算機也可包括其它外圍輸出設備,如揚聲器197和打印機196,通過輸出外圍接口190連接。
計算機110可以在使用到一個或多個遠程計算機,如遠程計算機180的邏輯連接的網絡化環(huán)境中操作。遠程計算機180可以是個人計算機、服務器、路由器、網絡PC、對等設備或其它公用網絡節(jié)點,并通常包括許多或所有上述與計算機110相關的元件。圖1描述的邏輯連接包括局域網(LAN)171和廣域網(WAN)173,但也可包括其它網絡。這類網絡環(huán)境常見于辦公室、企業(yè)范圍計算機網絡、內聯網以及因特網。
當在LAN網絡環(huán)境中使用時,計算機110通過網絡接口或適配器170連接至LAN 171。當在WAN網絡環(huán)境中使用時,計算機110通常包括調制解調器172或其它裝置,用于通過WAN 173,如因特網建立通信。調制解調器172可以是內置或外置的,通過用戶輸入接口160或其它合適的機制連接至系統總線121。在網絡化環(huán)境中,描述的與計算機110相關的程序模塊或其部分可儲存在遠程存儲器存儲設備中。作為示例而非局限,圖1示出遠程應用程序185駐留在遠程計算機180上。可以理解,示出的網絡連接是示例性的,也可以使用在計算機之間建立通信鏈路的其它裝置。
圖2是移動裝置200的框圖,它是一個示例性計算環(huán)境。移動裝置200包括微處理器202,包括高速緩存203、存儲器204、輸入/輸出(I/O)組件206以及用于與遠程計算機或其它移動裝置通信的通信接口208。在一個實施例中,上述組件被耦合,用于通過合適的總線210彼此通信。
存儲器204被實現為非易失電子存儲器,如具有電池備份模塊(未示出)的隨機存取存儲器(RAM),使得當關閉移動裝置200的總電源時,儲存在存儲器204中的信息也不會丟失。存儲器204的一部分較佳地被分配為用于程序執(zhí)行的可尋址存儲器,而存儲器204的另一部分較佳地用于存儲,如模擬盤驅動器上的存儲。
存儲器204包括操作系統212、應用程序214以及對象存儲216。在操作過程中,操作系統212較佳地由處理器202從存儲器204中執(zhí)行。在一個較佳的實施例中,操作系統212是可從微軟公司購買的WINDOWSCE品牌的操作系統。操作系統212較佳地被設計成用于移動裝置,并實現可由應用程序214通過一組展現的應用編程接口和方法來使用的數據庫特征。對象存儲216中的對象由應用程序214和操作系統212至少部分地響應于對所展現的應用編程接口和方法的調用來維護。
通信接口208表示允許移動裝置200發(fā)送和接收信息的眾多設備和技術。僅舉幾個例子,設備包括有線和無線調制解調器、衛(wèi)星接收器和廣播調諧器。移動裝置200也可以直接連接到計算機以與其交換數據。在這些情況下,通信接口208可以是紅外收發(fā)器或串行或并行通信連接,它們所有都能夠發(fā)送流信息。
輸入/輸出組件206包括諸如觸敏屏幕、按鈕、滾輪和麥克風等各種輸入設備,以及包括音頻發(fā)生器、振蕩裝置和顯示器的各種輸出設備。上文列出的設備作為示例,并且不需要都存在于移動裝置200上。另外,在本發(fā)明的范圍之內,其它輸入/輸出設備可被附加到移動裝置200上或在其上找到。
本發(fā)明的各方面一般調節(jié)了自然用戶交互以自動學習新單詞、發(fā)音和單詞對。一般而言,這是通過推斷用戶是否由于改變他或她的主意而修改文本,或者用戶是否由于系統無法識別用戶的語音而作出糾正來實現的。
圖3是依照本發(fā)明的一個實施例,自動從用戶與系統的交互中學習的方法的流程圖。該方法在塊300開始,由系統識別用戶對口述的文本的改變。這一改變一般是以下形式用戶從備選列表中選擇一個新單詞;用戶重新口述單詞或詞組;用戶刪除某些單詞;用戶修改現有單詞;或用戶鍵入某些新單詞。一旦識別到改變,控制傳遞到塊302,系統推斷用戶是在作出實際的糾正,還是僅改變他或她的主意??墒褂萌舾砂凳净蛑甘緛硗ㄖ撏茢唷@纾斢脩魪膫溥x列表中選擇時,用戶正在作出糾正。另一示例是當原始口述和糾正的單詞之間的聲學特征相似時,用戶正在作出糾正。另一方面,如果用戶在自從口述了文本以來相對較長的時間之后作出改變,則用戶可能正基于主意的改變來編輯。另外,如果用戶改變口述的句子中大量的單詞,則用戶可能正在基于主意的改變來編輯??扇芜x地,系統可以簡單地要求用戶對用戶的意圖進行確認。
為標識出現糾正的分段,說明性地使用動態(tài)時間規(guī)整(DTW)。然后,可將口述文本和糾正的文本的語音識別引擎得分進行比較。這使系統能夠確定用戶是在糾正到發(fā)音相似的單詞,還是可能基于主意的改變編輯成一個新單詞。如有需要,可使用附加的置信度得分或度量來改進糾正和編輯之間的推論。如果結果是系統確定用戶僅改變他或她的主意,則控制通過線303返回到塊300。
在塊304,系統參考詞典來確定糾正的單詞是否在詞典中。如果糾正的單詞不在用戶詞典中,則控制傳遞到塊406,將該單詞添加到詞典中,并選擇性地添加新發(fā)音以及相應地調節(jié)新發(fā)音和語言模型。確定是否添加新發(fā)音的過程也參考圖4更詳細地描述。在塊306之后,控制返回到塊300。
然而,如果糾正的單詞在用戶詞典中,則控制傳遞到塊308,系統確定發(fā)音是否是新的。新發(fā)音可由新單詞的發(fā)音,或現有單詞的用戶特殊發(fā)音引起。確定發(fā)音是否為新的過程將參考圖4更詳細地描述。如果發(fā)音是新發(fā)音,則控制傳遞到塊310,可選擇性地學習該新發(fā)音。在塊310之后,控制返回到塊300。
如果發(fā)音不是新的,則控制從塊308傳遞到塊312。這是糾正的單詞在用戶詞典中,并且糾正的單詞的發(fā)音也已知的情況。在這一情況下,將單詞對和/或詞組添加到詞典,或更新與糾正的文本相關聯的語言模型得分,以提高單詞被連接的機會。在大多數情況下,這是臨時的改變,例如,持續(xù)一到兩天。由此,如果“wavetow”被誤識別為“wave too”,并由用戶糾正,則系統自動將“wave two”臨時添加到用戶詞典?!芭R時”在某種程度上動態(tài)地基于觀察到該單詞對的最近時刻,以及在過去觀察到該對的相對頻率。除添加單詞對和/或詞組之外,如果系統支持,也可提高新觀察的已知發(fā)音的概率。盡管為最佳結果,圖4中示出的所有步驟可在單個系統中實現,然而本發(fā)明的實施例可以在這些步驟不必要在單個系統中共存的情況下實踐。在塊312之后,控制返回到塊300。
圖4是參考圖3所描述的方法的一部分的圖解視圖。圖4更詳細地示出了塊308和310。在塊308內,塊400首先操作以基于上下文單詞強迫波(數字化聲音)的對齊。上下文單詞一般是在糾正的單詞之前和之后的單個單詞。例如,如果口述的句子是“This is a text.\period”,并且用戶將“text”改為“test”,則使用“a test.\period”和對應的波來完成對齊,以確定每一單詞的正確邊界。一旦完成了強制的對齊并確定了邊界,控制傳遞到塊402,較佳地使用點陣標識糾正的單詞的發(fā)音。點陣在由字母-語音(LTS)組件生成的可能發(fā)音上構建。這可以是可基于文本輸入生成音素序列的任一合適的組件。點陣也使用識別結果中或來自基本音素識別器的音素序列來構造。如此構造的音素點陣使系統能夠選擇點陣中最佳的音素路徑作為正確的發(fā)音。一旦選擇了最佳音素,控制傳遞到塊404,計算新標識的發(fā)音和現有發(fā)音之間的距離。
在塊404,使用音素混淆矩陣和動態(tài)時間規(guī)整來計算新標識的發(fā)音和現有發(fā)音之間的距離。也可使用可選的距離計算方法。例如,可基于新發(fā)音和現有發(fā)音上的聲學模型得分來計算距離。較佳地將距離與預先選擇或動態(tài)的閾值進行比較以確定是否應當學習該音素。由此,將僅學習其距離超出某一閾值的音素。
在塊406,系統確定是否應當添加新發(fā)音。這一決策較佳地基于從塊404所計算的距離、最接近的現有發(fā)音、聲學模型(AM)置信度以及新發(fā)音在用戶口述中所出現的頻率?;谶@些因素選擇性地決定是否要添加發(fā)音將有助于確保來自未對齊和/或對用戶是否作出糾正的正確推斷的錯誤將不會導致降低系統效率的學習。發(fā)音置信度計算的示例包括如下
C(pron)=1-(1-p(d,AM))f;以及C(pron)=1/[d/f/log(len1+len2)]其中,d是識別的發(fā)音和詞典中最佳匹配之間的距離,f是發(fā)出同一識別的發(fā)音的頻率,p(d,AM)是具有這一距離d和AM得分的發(fā)音是正確發(fā)音的概率。len1和len2分別是新發(fā)音和最接近發(fā)音中音素的長度。p(d,AM)用訓練來學習。
在塊408,系統選擇性地添加新發(fā)音。較佳地,如果在塊406計算的置信度得分足夠高,并且新發(fā)音在用戶口述中出現了所選擇的次數(N),則添加該發(fā)音。
通過向所計算的置信度得分應用閾值,依照本發(fā)明的一個實施例的系統將僅學習最小的量,以確保系統不被從源自用戶僅改變他或她的主意的用戶編輯中學習不適當地影響。
盡管參考具體實施例描述了本發(fā)明,然而本領域的技術人員將認識到,可以在不脫離本發(fā)明的精神和范圍的情況下在形式和細節(jié)上作出改變。例如,盡管上文所描述的大部分集中在向系統添加信息以提高效率上,然而本發(fā)明的實施例也包括從系統中刪除單詞。
權利要求
1.一種計算機實現的語音識別系統,其特征在于,它包括一麥克風,它接收用戶語音;一語音識別引擎,它耦合至所述麥克風,并適用于識別所述用戶語音并在用戶界面上提供文本輸出;以及其中,所述系統適用于識別用戶改變所述文本輸出,并自動、選擇性地調節(jié)所述語音識別引擎以從所述改變中學習。
2.如權利要求1所述的系統,其特征在于,所述系統還適用于推斷所述用戶是否由于識別錯誤而改變所述文本輸出。
3.如權利要求1所述的系統,其特征在于,所述識別引擎包括一用戶詞典,并且其中,如果所述糾正是不在所述用戶詞典中的單詞,則更新所述用戶詞典。
4.如權利要求1所述的系統,其特征在于,所述識別引擎適用于確定所述用戶的發(fā)音是否導致了所述錯誤,并選擇性地學習所述新發(fā)音。
5.如權利要求1所述的系統,其特征在于,所述識別引擎適用于確定所述用戶的發(fā)音是否導致所述錯誤,并選擇性地修改一與現有發(fā)音相關聯的概率。
6.如權利要求1所述的系統,其特征在于,所述系統適用于如果所述糾正不是由于新單詞或新發(fā)音引起的,則向所述用戶詞典添加至少一個單詞對。
7.一種用自動語音識別系統學習的方法,其特征在于,所述方法包括檢測對口述文本的改變;推斷所述改變是糾正還是編輯;以及如果所述改變被推斷為糾正,則選擇性地從所述糾正的特性中學習,而無需額外的用戶交互。
8.如權利要求7所述的方法,其特征在于,推斷所述改變是否為糾正包括檢測所述用戶是否從一備選列表中選擇來作出所述改變。
9.如權利要求7所述的方法,其特征在于,推斷所述改變是否為糾正包括測量口述和所述改變之間的時間量。
10.如權利要求7所述的方法,其特征在于,推斷所述改變是否為糾正包括將所述口述文本和所述改變的文本的語音識別引擎得分進行比較。
11.如權利要求7所述的方法,其特征在于,推斷包括檢測所改變的單詞的數量。
12.如權利要求7所述的方法,其特征在于,選擇性地從所述糾正的特性中學習包括確定所糾正的單詞是否存在于所述用戶詞典中,以及如果它尚未存在,則向所述詞典添加所糾正的單詞。
13.如權利要求12所述的方法,其特征在于如果所糾正的單詞的確存在于所述用戶詞典中,則選擇性地從所述糾正的特性中學習還包括,確定所述用戶的發(fā)音是否偏離于所述系統已知的現有發(fā)音;以及選擇性地學習所述發(fā)音。
14.如權利要求13所述的方法,其特征在于,確定所述用戶的發(fā)音是否偏離于現有發(fā)音包括,如果至少一個上下文單詞存在,則基于所述至少一個上下文單詞作出波的強制對齊。
15.如權利要求13所述的方法,其特征在于,確定所述用戶的發(fā)音是否偏離于現有發(fā)音包括在所述波中標識所糾正的單詞的發(fā)音。
16.如權利要求15所述的方法,其特征在于,它還包括基于所糾正的單詞的可能發(fā)音和所述識別結果構建一點陣。
17.如權利要求16所述的方法,其特征在于,它還包括至少部分地基于所述新標識的發(fā)音與現有發(fā)音之間的距離生成一置信度得分。
18.如權利要求16所述的方法,其特征在于,它還包括至少部分地基于所述新標識的發(fā)音與現有發(fā)音的聲學模型得分生成一置信度得分。
19.如權利要求17所述的方法,其特征在于,選擇性地學習所述發(fā)音包括將所述置信度得分與一閾值進行比較。
20.如權利要求19所述的方法,其特征在于,選擇性地學習所述發(fā)音還包括確定所述新發(fā)音是否出現了預先選擇的次數。
21.如權利要求7所述的方法,其特征在于,選擇性地從所述糾正的特性中學習包括向所述用戶詞典添加至少一個單詞對。
22.如權利要求21所述的方法,其特征在于,至少一個單詞對是臨時地添加到所述用戶詞典的。
全文摘要
一種自動語音識別系統識別用戶對口述文本的改變,并推斷這類改變是否源自用戶改變他/她的主意,或者這類改變是否是識別錯誤的結果。如果檢測到識別錯誤,則系統使用用戶糾正的類型來修改其本身,以降低這類識別錯誤再次出現的機會。因此,該系統和方法提供了具有極少或沒有額外用戶交互的意義重大的語音識別學習。
文檔編號G10L15/06GK1645477SQ20051000593
公開日2005年7月27日 申請日期2005年1月20日 優(yōu)先權日2004年1月20日
發(fā)明者A·阿塞羅, 俞棟, 黃美玉, P·毛 申請人:微軟公司