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