專利名稱:具有語(yǔ)音識(shí)別功能的計(jì)算機(jī)操作系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有語(yǔ)音識(shí)別功能的計(jì)算機(jī)操作系統(tǒng)。
隨著計(jì)算機(jī)和計(jì)算設(shè)備在全社會(huì)的激增,越來(lái)越多的注意力轉(zhuǎn)向代替?zhèn)鹘y(tǒng)鍵盤的數(shù)據(jù)輸入方法。許多計(jì)算機(jī)程序具有語(yǔ)音識(shí)別功能,這些計(jì)算機(jī)程序中的大多數(shù)都是“應(yīng)用程序”,也就是說(shuō),這些程序的功能和操作是為特定的目的而專門設(shè)計(jì)的。例如,聽(tīng)寫就是一種眾所周知的應(yīng)用程序,該應(yīng)用程序接受某個(gè)用戶的語(yǔ)音作為輸入并響應(yīng)用戶的語(yǔ)音輸入,以類似字處理程序的方式使文本輸入到某個(gè)文檔中。語(yǔ)音識(shí)別應(yīng)用程序的另一個(gè)例子也許是控制某個(gè)設(shè)備的一個(gè)項(xiàng)目的控制程序,例如,在免提無(wú)線電話中撥電話號(hào)碼。在這樣的一種應(yīng)用程序中,用戶可能說(shuō)出所要撥的數(shù)字,然后例如可能說(shuō)出命令“發(fā)送”,使得蜂窩式無(wú)線電話撥出所說(shuō)的數(shù)字。這些都是特定語(yǔ)音識(shí)別應(yīng)用程序的例子。
在1990年8月的Computer雜志第23卷第8期第50-60頁(yè),由C.Schmandt、M.S.Acherman和D.Hindus所寫的“用語(yǔ)音輸入強(qiáng)化視窗系統(tǒng)”一文中介紹了用于控制視窗導(dǎo)航任務(wù)的一種語(yǔ)音識(shí)別應(yīng)用程序。名為“X Speak”的應(yīng)用程序是X視窗系統(tǒng)的語(yǔ)音界面,在該應(yīng)用程序中,單詞和視窗相關(guān)。說(shuō)出一個(gè)視窗的名字,就能使之移到計(jì)算機(jī)屏幕的前面,并將光標(biāo)移入該視窗中。X Speak應(yīng)用程序假定某些功能一般分配給鼠標(biāo)。各種命令被描述,例如“create”表示啟動(dòng)一個(gè)應(yīng)用程序,“recall”表示將某個(gè)視窗重新放在視窗堆棧的頂端,而“hide”則表示將某個(gè)視窗放在視窗堆棧底部。還有重新確定視窗大小和位置的命令等等。該論文的作者承認(rèn),使用視窗導(dǎo)航任務(wù)應(yīng)用程序的任何人機(jī)接口效率是有限的或不存在的。
現(xiàn)有語(yǔ)音識(shí)別應(yīng)用程序的缺點(diǎn)是缺乏靈活性。在典型的語(yǔ)音識(shí)別應(yīng)用程序中,都有和該應(yīng)用程序相關(guān)的可識(shí)別單詞的詞匯表。識(shí)別器企圖從該詞匯表中識(shí)別單詞。識(shí)別不在該詞匯表中的單詞的技術(shù)也可以被提供。詞匯表可以被擴(kuò)充或替換,以便修改對(duì)該用戶的識(shí)別操作的性能。
在X Speak應(yīng)用程序的情況下,該應(yīng)用程序是和某個(gè)操作系統(tǒng)相關(guān)的一個(gè)工具,有一組可以被識(shí)別的專用命令,這組可用的命令被預(yù)編程到應(yīng)用程序中。這樣做缺乏靈活性而且不能很好適應(yīng)現(xiàn)代的多種應(yīng)用程序個(gè)人計(jì)算機(jī)和類似的設(shè)備,在這些設(shè)備中新的應(yīng)用程序經(jīng)常被裝入,而且許多應(yīng)用程序可以相繼運(yùn)行。
希望能有一種更好的語(yǔ)音識(shí)別界面,至少能部分地代替數(shù)據(jù)和命令的鍵盤輸入和鼠標(biāo)的屏幕導(dǎo)航。
微軟公司的一個(gè)語(yǔ)音應(yīng)用程序設(shè)計(jì)界面(SAPI)為那些希望使其應(yīng)用程序具有語(yǔ)音功能的應(yīng)用開(kāi)發(fā)人員提供了更大的靈活性,該界面允許通用語(yǔ)音搜索引擎識(shí)別不同應(yīng)用程序的命令。但沒(méi)有提供到非當(dāng)前應(yīng)用程序的語(yǔ)音引導(dǎo),或沒(méi)有提供處理多種具有語(yǔ)音功能的應(yīng)用程序。也沒(méi)有提供識(shí)別用于還沒(méi)有被激活的或第一次運(yùn)行的應(yīng)用程序的命令。
希望能有這樣的一種語(yǔ)音界面,能夠引導(dǎo)語(yǔ)音到多種應(yīng)用程序或新安裝但還沒(méi)有操作的應(yīng)用程序。
還有一個(gè)問(wèn)題,語(yǔ)音可以包含操作系統(tǒng)命令(例如“使視窗最小化”,“關(guān)閉視窗”)和應(yīng)用程序?qū)蛘Z(yǔ)音命令(例如“開(kāi)始聽(tīng)寫”),以及應(yīng)用程序?qū)騼?nèi)容(例如“給jones先生的備忘錄”)。需要確定語(yǔ)音的最合適目標(biāo),不進(jìn)行識(shí)別就不容易做到。最好設(shè)計(jì)為語(yǔ)音可以被導(dǎo)向的潛在任務(wù)。為此,需要為該任務(wù)專用的一個(gè)詞匯表和語(yǔ)言模型(或其等價(jià)物)。
圖1表示一典型的個(gè)人計(jì)算機(jī),具有顯示在屏幕上的多個(gè)應(yīng)用程序的圖標(biāo),適合于實(shí)現(xiàn)本發(fā)明。
圖2是根據(jù)本發(fā)明的一組計(jì)算機(jī)程序的一個(gè)框圖。
圖3是說(shuō)明本發(fā)明一個(gè)替換實(shí)施例的處理流程圖。
圖4是本發(fā)明一個(gè)實(shí)施例的處理流程圖,該實(shí)施例是圖3實(shí)施例的替換。
圖5是一個(gè)硬件示意框圖,進(jìn)一步說(shuō)明圖4的實(shí)施例。
現(xiàn)在描述一種結(jié)構(gòu),其中具有語(yǔ)音識(shí)別能力的多個(gè)應(yīng)用程序有機(jī)會(huì)指示操作系統(tǒng),給定的語(yǔ)音輸入是否對(duì)該單個(gè)的應(yīng)用程序有用。這種結(jié)構(gòu)有一個(gè)優(yōu)點(diǎn),一個(gè)應(yīng)用程序比操作系統(tǒng)更適合于決定某種語(yǔ)音是否和該應(yīng)用程序有關(guān)??梢愿玫卮_定該語(yǔ)音是否應(yīng)該被導(dǎo)向操作系統(tǒng)或?qū)蚰硞€(gè)特定的應(yīng)用程序。
所示計(jì)算機(jī)10具有屏幕12,該屏幕上顯示各種圖標(biāo)和視窗。所示計(jì)算機(jī)具有圖標(biāo)14,代表位于計(jì)算機(jī)10中的一個(gè)硬盤驅(qū)動(dòng)器,以及第一應(yīng)用程序圖標(biāo)16,代表存儲(chǔ)在計(jì)算機(jī)10中的第一應(yīng)用程序,還有第二應(yīng)用程序圖標(biāo)18,代表存儲(chǔ)在計(jì)算機(jī)10中的第二應(yīng)用程序。第一應(yīng)用程序取名“App A”,第二應(yīng)用程序取名“AppB”。在屏幕12上顯示的還有第一視窗20和第二視窗22。第一視窗20為“焦點(diǎn)上的”意思是指其正在前臺(tái)并且是當(dāng)前激活的視窗。第二視窗22為“焦點(diǎn)外的”,意思是指其正在后臺(tái)。為了便于描述,將考慮這樣的例子,其中,第一視窗20是App A的一個(gè)輸入/輸出界面視窗,而第二視窗則是App B的輸入/輸出用戶界面。
在典型的現(xiàn)有技術(shù)的操作中,視窗20是通過(guò)將鼠標(biāo)移到圖標(biāo)16上并且雙擊該圖標(biāo)來(lái)建立的。同樣,第二視窗22也是通過(guò)將鼠標(biāo)移到圖標(biāo)18上并雙擊該圖標(biāo)來(lái)建立的。對(duì)某個(gè)圖標(biāo)雙擊導(dǎo)致該圖標(biāo)所代表的應(yīng)用程序被調(diào)用或者“被發(fā)射”。此后,單擊該圖標(biāo)或其對(duì)應(yīng)的視窗,使得該視窗進(jìn)入焦點(diǎn)。當(dāng)然,也可以是多個(gè)視窗對(duì)應(yīng)一個(gè)應(yīng)用程序。
圖1所示有一個(gè)話筒40,可以接收語(yǔ)音命令作為語(yǔ)音輸入。語(yǔ)音命令可以使得操作在App A或App B中執(zhí)行。語(yǔ)音輸入可以使得文本或其他的信息被輸入到由App A或App B建立的文件中。本發(fā)明將解決這樣的問(wèn)題,確定語(yǔ)音命令或語(yǔ)音輸入應(yīng)該被導(dǎo)向哪一個(gè)應(yīng)用程序。
現(xiàn)在看圖2,該圖給出了一組計(jì)算機(jī)程序,包括操作系統(tǒng)30,第一應(yīng)用程序32和第二應(yīng)用程序34以及音素網(wǎng)絡(luò)發(fā)生器36。這組計(jì)算機(jī)程序被裝入位于計(jì)算機(jī)10中的微處理器38。通過(guò)模-數(shù)轉(zhuǎn)換器39連接到該處理器38的是話筒40。另外,連接到微處理器38的還有存儲(chǔ)器42,該存儲(chǔ)器可以是隨機(jī)訪問(wèn)存儲(chǔ)器,但最好是只讀存儲(chǔ)器。存在存儲(chǔ)器42中的是第一和第二詞匯表44和46以及第一和第二語(yǔ)言模型48和50,分別連接第一和第二應(yīng)用程序32和34。
音素網(wǎng)絡(luò)發(fā)生器36最好是一個(gè)上下文相關(guān)(CD)的音素網(wǎng)絡(luò)發(fā)生器,正如Sreeram Balakrishnan等1997年11月26日遞交的共同未決專利申請(qǐng)中所描述的,名稱為“用于對(duì)語(yǔ)音信息編碼的上下文相關(guān)網(wǎng)絡(luò)”,被轉(zhuǎn)讓給和本專利申請(qǐng)相同的受讓人并在此被引用。另外,音素網(wǎng)絡(luò)發(fā)生器36也可以是上下文無(wú)關(guān)。
現(xiàn)在看微處理器38中程序?qū)崿F(xiàn)的細(xì)節(jié),音素網(wǎng)絡(luò)發(fā)生器36包含輸入60,它連接到模-數(shù)轉(zhuǎn)換器39。特征提取程序模塊62連接輸入60,并且(最好是一個(gè)維特比解碼器的)程序模塊64連接特征提取程序模塊62。解碼器64有一個(gè)輸出通過(guò)操作系統(tǒng)30的應(yīng)用程序界面(API)35分別連接第一和第二應(yīng)用程序32和34。
第一應(yīng)用程序32有一個(gè)檢索功能框33,能夠調(diào)用第一詞匯表44和第一語(yǔ)言模型48。第二應(yīng)用程序34也有一個(gè)檢索功能框37,能夠調(diào)用第二詞匯表46和第二語(yǔ)言模型50。每個(gè)詞匯表具有潛在的需要由相關(guān)應(yīng)用程序識(shí)別的字詞或字符。每個(gè)語(yǔ)言模型具有該應(yīng)用程序通常用到的字詞或字詞、字母或字符的組合??赡苡?并且的確一般都是這樣)對(duì)兩個(gè)應(yīng)用程序都通用的字詞或字符。
下面將考慮這樣的例子,其中App A是“Netscape”,而App B則是WisdomPenTM。第一詞匯表44中有幾個(gè)對(duì)瀏覽器有用的命令,例如“start”,“open”,“go back”,“search”,“home”和“Netscape”,第二詞匯表46中也有幾個(gè)對(duì)手寫識(shí)別器有用的命令,例如“start”,“open”,“next character”,“phrase”,“edit”,“WisdomPen”等。注意,詞組合“start Netscape”對(duì)第一詞匯表44是唯一的,而“startWisdomPen”對(duì)第二詞匯表46也是唯一的。即使這些詞組合不是唯一的,注意到第一語(yǔ)言模型48給詞組合“start Netscape”一個(gè)高可能性的得分,而給詞組合“start WisdomPen”低可能性得分。而且也注意到,第二語(yǔ)言模型50給詞組合“start WisdomPen”高可能性得分,而給詞組合“start Netscape”低可能性得分。
在操作中,用戶對(duì)話筒40發(fā)出一個(gè)命令,其語(yǔ)音在A/D轉(zhuǎn)換器39中被數(shù)字化,并且在特征提取程序模塊62中被提取特征。解碼器64從被提取的特征和輸出(在API35上)數(shù)據(jù)中產(chǎn)生CD音素網(wǎng)絡(luò),對(duì)于某個(gè)給定的音素,這些數(shù)據(jù)代表前面和后面音素的標(biāo)識(shí),當(dāng)前音素的標(biāo)識(shí),當(dāng)前音素的持續(xù)時(shí)間和得分(或少數(shù)其他音素的得分)。如此產(chǎn)生的CD網(wǎng)絡(luò)被同時(shí)送到(或被拾取)應(yīng)用程序32和34的檢索功能框33和37。利用詞匯表44和46中的數(shù)據(jù)以及語(yǔ)言模型48和50,功能框33和37中的每一個(gè)提供其識(shí)別操作的結(jié)果,至少包括識(shí)別的“得分”或“可信度”。應(yīng)用程序32和34分別通過(guò)API輸出71和72將這些得分傳遞到操作系統(tǒng)30中的判優(yōu)器70。判優(yōu)器70根據(jù)輸入語(yǔ)音決定多個(gè)應(yīng)用中的哪一個(gè)將要?jiǎng)幼鳌?br>
判優(yōu)器70按照其最簡(jiǎn)單的形式確定提供最高識(shí)別得分的應(yīng)用程序?qū)⒔邮蛰斎胝Z(yǔ)音并且據(jù)此動(dòng)作。
因此,例如,如果輸入語(yǔ)音為“goback”或“start Netscape”,判優(yōu)器70將通過(guò)控制輸出73通知應(yīng)用程序A根據(jù)輸入語(yǔ)音動(dòng)作,并且也將通過(guò)控制輸出74通知應(yīng)用程序B忽略輸入語(yǔ)音。另一方面,如果輸入語(yǔ)音是“start WisdomPen”或“edit”,將是應(yīng)用程序B被允許根據(jù)該輸入動(dòng)作。響應(yīng)該輸入的動(dòng)作可能包括啟動(dòng)該應(yīng)用程序,將該應(yīng)用程序的視窗帶到前臺(tái),改變應(yīng)用程序中的模式,將數(shù)據(jù)輸入到該應(yīng)用程序中的某個(gè)文件,或者其他的操作。
在一種更先進(jìn)的形式中,判優(yōu)器70是上下文相關(guān)的,例如,賦予焦點(diǎn)上的應(yīng)用程序比焦點(diǎn)外的應(yīng)用程序更高的優(yōu)先級(jí)。在識(shí)別中必須超出一個(gè)更高的可信度閾值才能將輸入語(yǔ)音導(dǎo)向焦點(diǎn)外的應(yīng)用程序,而一個(gè)較低的可信度閾值就允許輸入語(yǔ)音被導(dǎo)向當(dāng)前的應(yīng)用程序。另外,判優(yōu)器70區(qū)分命令和輸入數(shù)據(jù),或者區(qū)分不同類型的命令。例如,如果具有高可信度標(biāo)識(shí)符(例如“Netscape”和“WisdomPen”),一組基本命令(“start”,“open”,“quit”)比其他命令或輸入更容易被判優(yōu)器70導(dǎo)向焦點(diǎn)外的應(yīng)用程序(即,具有較低的可信度)。為了做到這一點(diǎn)這組基本命令可以被存儲(chǔ)在判優(yōu)器70中。
就這樣,應(yīng)用程序32和34(以及其他的應(yīng)用程序)中的每一個(gè)都向操作系統(tǒng)30提出一個(gè)請(qǐng)求,操作系統(tǒng)30根據(jù)輸入的語(yǔ)音進(jìn)行判優(yōu),并且允許優(yōu)于其他應(yīng)用程序的應(yīng)用程序接收輸入的語(yǔ)音并據(jù)此動(dòng)作。
因此,已經(jīng)介紹的處理器38包含用于接收語(yǔ)音命令的輸入60,帶有判優(yōu)器70的操作系統(tǒng)30,以及在操作系統(tǒng)控制下的一個(gè)、二個(gè)或更多的應(yīng)用程序32、34。應(yīng)用程序在模塊上獨(dú)立于操作系統(tǒng)。每個(gè)應(yīng)用程序都有一個(gè)語(yǔ)音識(shí)別器33、37,用于識(shí)別語(yǔ)音命令并且向判優(yōu)器70提供識(shí)別信息71、72,表示語(yǔ)音識(shí)別器識(shí)別語(yǔ)音命令的能力。
識(shí)別信息最好依賴應(yīng)用程序的詞匯表44和語(yǔ)言模型48。
計(jì)算機(jī)操作的一種方法也已經(jīng)被描述,該方法包括輸入語(yǔ)音命令;將被輸入的語(yǔ)音命令和與該應(yīng)用程序相關(guān)的語(yǔ)音命令的表示進(jìn)行比較,以便提供識(shí)別結(jié)果;將識(shí)別結(jié)果提供給操作系統(tǒng);并且取決于識(shí)別結(jié)果,有選擇地允許該應(yīng)用程序根據(jù)語(yǔ)音命令動(dòng)作。
該方法最好進(jìn)一步包括,與操作系統(tǒng)聯(lián)合,產(chǎn)生表示語(yǔ)音命令的音素網(wǎng)絡(luò),并且將音素網(wǎng)絡(luò)遞交給應(yīng)用程序。該音素網(wǎng)絡(luò)最好是上下文有關(guān)的音素網(wǎng)絡(luò)。
在該最佳實(shí)施例中,被輸入的語(yǔ)音命令與第一和第二識(shí)別結(jié)果相關(guān)的語(yǔ)音命令的表示進(jìn)行比較,并且有選擇允許的步驟包括根據(jù)勝過(guò)其他應(yīng)用程序的結(jié)果允許第一和第二應(yīng)用程序中的一個(gè)執(zhí)行動(dòng)作,作為第一和第二應(yīng)用程序的當(dāng)前運(yùn)行模式的一個(gè)函數(shù)。
另外,所描述的數(shù)據(jù)存儲(chǔ)介質(zhì)包括這樣的一些指令和數(shù)據(jù),當(dāng)被裝入通用處理器時(shí),使得處理器包括用于接收數(shù)字化語(yǔ)音的一個(gè)輸出;產(chǎn)生音素標(biāo)識(shí)信息的音素發(fā)生器;和第一和第二應(yīng)用程序接口的界面;以及一個(gè)判優(yōu)器。該界面被設(shè)計(jì)來(lái)將音素標(biāo)識(shí)信息傳遞到第一和第二應(yīng)用程序,并且將識(shí)別信息從第一和第二應(yīng)用程序傳遞到判優(yōu)器,而判優(yōu)器則被設(shè)計(jì)來(lái)根據(jù)識(shí)別信息在第一和第二應(yīng)用程序之間判優(yōu),并且根據(jù)所接收的數(shù)字化語(yǔ)音來(lái)控制第一和第二應(yīng)用程序中被選擇的一個(gè)。
第一和第二應(yīng)用程序已經(jīng)被描述為最好分別包含第一和第二詞匯表,并且分別包含第一和第二語(yǔ)言模型,這樣,給定的數(shù)字化語(yǔ)音命令從第一和第二應(yīng)用程序?qū)е虏煌淖R(shí)別信息。
另外介紹的將應(yīng)用程序安裝在計(jì)算機(jī)中的方法包括對(duì)操作系統(tǒng)注冊(cè)該應(yīng)用程序;從應(yīng)用程序中提取所選擇的命令及其語(yǔ)音表示;并且將這些命令和語(yǔ)音表示遞交給搜索引擎的詞匯表。
現(xiàn)在看圖3,該圖說(shuō)明了一種結(jié)構(gòu),允許在應(yīng)用程序第一次運(yùn)行之前識(shí)別特定于某個(gè)應(yīng)用程序的輸入語(yǔ)音命令。
操作系統(tǒng)30,以及第一和第二應(yīng)用程序32和34被說(shuō)明。應(yīng)用程序通過(guò)語(yǔ)音應(yīng)用程序設(shè)計(jì)界面102連接搜索引擎104。應(yīng)用程序32和34分別帶有詞匯表110和120(與圖2中的詞匯表44和46等同或作為其中的一部分)。在該例子中詞匯表110中有詞匯“Netscape”,而詞匯表120中有詞匯“Huibi”,該詞是“WisdomPen”的中文名。
搜索引擎104有一個(gè)激活的詞匯表106,該表包括許多普通命令,例如“start”、“open”、“quit”,也有詞“Netscape”,該詞或預(yù)編程進(jìn)入搜索引擎詞匯表106(是一個(gè)普遍使用的詞),或已經(jīng)在應(yīng)用程序32較早的操作中從詞匯表110中提供給詞匯表106。反之,詞“Huibi”不是一個(gè)很常用的詞,因此不可能通過(guò)正常操作在詞匯表106中提供。
安裝程序130被用來(lái)安裝應(yīng)用程序B。在安裝時(shí),程序130對(duì)操作系統(tǒng)30注冊(cè)應(yīng)用程序B,并且在同時(shí),從詞匯表120中提取詞匯及其音素網(wǎng)絡(luò)等價(jià)物,并且將這些詞匯和音素網(wǎng)絡(luò)等價(jià)物插入搜索引擎詞匯表106。
這樣,當(dāng)?shù)谝淮握f(shuō)出命令“start Huibi”時(shí),這個(gè)命令被搜索引擎104所識(shí)別。搜索引擎104能夠使得操作系統(tǒng)30啟動(dòng)應(yīng)用程序34。
應(yīng)用程序32和34在模塊結(jié)構(gòu)上是互相獨(dú)立的。這樣做有很大優(yōu)點(diǎn),這些應(yīng)用程序中的任何一個(gè)或者可以被刪除,或者可以被替換,而不會(huì)影響系統(tǒng)的操作。另外,還可以進(jìn)一步增加其他的應(yīng)用程序。每次加上一個(gè)應(yīng)用程序(或者替換一個(gè)應(yīng)用程序),新的應(yīng)用程序有其自己的操作系統(tǒng)詞匯表,該表在安裝時(shí)被傳遞給操作系統(tǒng),使得操作系統(tǒng)能夠檢索出與該應(yīng)用程序有關(guān)的命令。這是在現(xiàn)有結(jié)構(gòu)上的一個(gè)顯著改進(jìn),而不需要用新的語(yǔ)音命令等來(lái)更新操作系統(tǒng)本身,也不需要訓(xùn)練操作系統(tǒng)或擴(kuò)充任何和語(yǔ)音識(shí)別器36相關(guān)的詞匯表,使得系統(tǒng)能夠被擴(kuò)充或者被升級(jí)。第一和第二應(yīng)用程序中的任何一個(gè)可以被刪除而不會(huì)降低其他應(yīng)用程序的性能。
本發(fā)明的一個(gè)進(jìn)一步實(shí)施例是圖3實(shí)施例的代替,并且是圖2實(shí)施例的互補(bǔ)或增強(qiáng),由圖4和圖5說(shuō)明。
現(xiàn)在看圖4,這是為第一識(shí)別器200(稱為識(shí)別器A)和第二識(shí)別器202(稱為識(shí)別器B)提供的軟件替換結(jié)構(gòu)。這些識(shí)別器是小應(yīng)用程序,是在微處理器38啟動(dòng)時(shí)由操作系統(tǒng)30發(fā)射的。這些識(shí)別器獨(dú)立于應(yīng)用程序A和B,但被應(yīng)用程序A和B按下述的方式調(diào)用。附加在識(shí)別器A上的是一個(gè)包含基本詞匯的小詞匯表210,與圖3的詞匯表110相似。附加在識(shí)別器B上的是基本詞匯的第二詞匯表220,與圖3的詞匯表120相似。
在操作中,操作系統(tǒng)30使得識(shí)別器A和B在微處理器38啟動(dòng)時(shí)被發(fā)射。這意味著識(shí)別器A和B從非易失性存儲(chǔ)器,例如硬盤,被傳送到計(jì)算機(jī)10的隨機(jī)存取存儲(chǔ)器中。應(yīng)用程序A和B不需要在這個(gè)時(shí)候被發(fā)射。由于語(yǔ)音被輸入到話筒40中,其語(yǔ)音表示(例如三重音網(wǎng)絡(luò)表示)由操作系統(tǒng)30提供給識(shí)別器A和B。這些識(shí)別器根據(jù)分別存在詞匯表210和220中作為語(yǔ)音表示的關(guān)鍵字,繼續(xù)檢索已接收到的輸入語(yǔ)音的語(yǔ)音表示。識(shí)別器A和B繼續(xù)提供計(jì)分給操作系統(tǒng)30,說(shuō)明輸入語(yǔ)音和存在各自詞匯表210和220中的關(guān)鍵字之間的相關(guān)程度。操作系統(tǒng)30中的判優(yōu)器70(見(jiàn)圖2)比較這些計(jì)分,并且決定應(yīng)用程序A和B中的一個(gè)是否應(yīng)該被發(fā)射。因此,例如,如果在話筒40接收到詞“open Netscape”,識(shí)別器A將為該命令提交一個(gè)高的計(jì)分,而識(shí)別器B則遞交一個(gè)較低的計(jì)分。識(shí)別器A為命令“open Netscape”遞交的計(jì)分將是足夠高的(例如超過(guò)某個(gè)預(yù)定的閾值),使得判優(yōu)器70能夠確定詞“openNetscape”就是發(fā)射應(yīng)用程序32的命令(而不是,例如對(duì)某個(gè)其他應(yīng)用程序的某些輸入文本)。
一旦作出這樣的決定,操作系統(tǒng)30發(fā)射應(yīng)用程序A。發(fā)射或初始化應(yīng)用程序A使得該應(yīng)用程序從非易失性存儲(chǔ)器被傳送到隨機(jī)存取存儲(chǔ)器,并且應(yīng)用程序A成為完全功能化的并開(kāi)始利用微處理器38的處理能力。同時(shí),應(yīng)用程序B繼續(xù)單獨(dú)駐留在非易失性存儲(chǔ)器中并且不使用任何處理能力。
一旦被發(fā)射,應(yīng)用程序A繼續(xù)使用識(shí)別器A(通過(guò)鏈路202),對(duì)從話筒40傳遞過(guò)來(lái)并以應(yīng)用程序A為目標(biāo)的內(nèi)容執(zhí)行識(shí)別操作。這時(shí),應(yīng)用程序A還可以有效地補(bǔ)充該識(shí)別器正在使用的詞匯表,并且可以引進(jìn)語(yǔ)言的模型化特征,這些工作在應(yīng)用程序A發(fā)射之前不需要做。換句話說(shuō),當(dāng)識(shí)別器A正在搜索關(guān)鍵字時(shí),識(shí)別器A要求最小的語(yǔ)言模型化能力,而當(dāng)應(yīng)用程序A被發(fā)射時(shí),識(shí)別器A所用的語(yǔ)言模型化能力得到顯著增加。
類似地,當(dāng)識(shí)別器B對(duì)某個(gè)命令或存在詞匯表220中的詞匯組向操作系統(tǒng)30遞交一個(gè)較高的計(jì)分時(shí),操作系統(tǒng)30將發(fā)射應(yīng)用程序B。
采用一種完全類似的方式,識(shí)別器A和B可以對(duì)例如“quitNetscape”或“Huibi”這樣的命令向操作系統(tǒng)遞交一個(gè)較高的計(jì)分,一旦操作系統(tǒng)30可以識(shí)別這些命令,就可以導(dǎo)致相應(yīng)的應(yīng)用程序A和B被關(guān)閉。
現(xiàn)在看圖5,應(yīng)用程序A和B以及識(shí)別器A和B以其在計(jì)算機(jī)10中的啟動(dòng)模式被說(shuō)明。圖5說(shuō)明一個(gè)硬盤驅(qū)動(dòng)器或其他非易失性存儲(chǔ)器300,以及隨機(jī)存取存儲(chǔ)器310,二者都連接到處理器38。駐留在非易失性存儲(chǔ)器300中的有應(yīng)用程序32和34以及小識(shí)別器200和202。另外在非易失性存儲(chǔ)器300中的還有啟動(dòng)程序320。
當(dāng)處理器38啟動(dòng)時(shí),根據(jù)預(yù)先缺省設(shè)置,處理器在非易失性存儲(chǔ)器300中查找其啟動(dòng)程序并且找到啟動(dòng)程序320。啟動(dòng)程序320使得識(shí)別器200和202通過(guò)處理器38被裝入隨機(jī)存取存儲(chǔ)器310。駐留在隨機(jī)存取存儲(chǔ)器310中的這些識(shí)別器被表示為識(shí)別器200’和202’。應(yīng)用程序32和34這時(shí)還沒(méi)有被裝入隨機(jī)存取存儲(chǔ)器310中并且沒(méi)有占用有價(jià)值的存儲(chǔ)空間。同樣,它們也沒(méi)有利用處理器38的處理器能力。應(yīng)用程序A和B要比它們各自的識(shí)別器200和202大得多,因此,將識(shí)別器裝入隨機(jī)存取存儲(chǔ)器而不裝入全部應(yīng)用程序是可以容許的。當(dāng)識(shí)別器200’和202,中的一個(gè)為與該識(shí)別器的應(yīng)用程序有關(guān)的命令提供一個(gè)較高的計(jì)分時(shí),處理器38使得該應(yīng)用程序從非易失性存儲(chǔ)器300被傳送到隨機(jī)存取存儲(chǔ)器310中。
這里僅通過(guò)示例給出上述的最佳實(shí)施例,本領(lǐng)域中普通技術(shù)人員可以在不離開(kāi)本發(fā)明的精神和范圍的前提下修改其細(xì)節(jié)。
權(quán)利要求
1.一種處理器,包括接收語(yǔ)音命令的輸入裝置;具有判優(yōu)器的操作系統(tǒng);以及在操作系統(tǒng)控制下的至少一個(gè)應(yīng)用程序,并且在程序模塊上獨(dú)立于操作系統(tǒng),該應(yīng)用程序包括語(yǔ)音識(shí)別器,用于識(shí)別語(yǔ)音命令,并且為判優(yōu)器提供表示語(yǔ)音識(shí)別器識(shí)別該語(yǔ)音命令的能力的識(shí)別信息。
2.權(quán)利要求1的處理器,其中至少一個(gè)應(yīng)用程序包含一個(gè)詞典和語(yǔ)言模型,并且其中,識(shí)別信息與該詞典和語(yǔ)言模型有關(guān)。
3.一種具有操作系統(tǒng)和至少一個(gè)應(yīng)用程序的計(jì)算機(jī)的操作方法,包括輸入語(yǔ)音命令;比較被輸入的語(yǔ)音命令和與該應(yīng)用程序有關(guān)的語(yǔ)音命令的表示,以便提供識(shí)別結(jié)果;提供識(shí)別結(jié)果給操作系統(tǒng);并且取決于識(shí)別結(jié)果有選擇地允許應(yīng)用程序根據(jù)語(yǔ)音命令執(zhí)行動(dòng)作。
4.權(quán)利要求3的方法,進(jìn)一步包含,結(jié)合操作系統(tǒng),產(chǎn)生表示語(yǔ)音命令的音素網(wǎng)絡(luò),并且將該音素網(wǎng)絡(luò)遞交給應(yīng)用程序。
5.權(quán)利要求4的方法,其中的音素網(wǎng)絡(luò)是上下文相關(guān)的音素網(wǎng)絡(luò)。
6.權(quán)利要求3的方法,其中,被輸入的語(yǔ)音命令同時(shí)和與第一和第二應(yīng)用程序相關(guān)的語(yǔ)音命令的表示進(jìn)行比較,以便提供第一和第二識(shí)別結(jié)果。
7.權(quán)利要求6的方法,其中,有選擇允許的步驟包括允許第一和第二應(yīng)用程序中的一個(gè)根據(jù)其勝于第一和第二應(yīng)用程序中另一個(gè)的結(jié)果執(zhí)行動(dòng)作。
8.權(quán)利要求7的方法,其中,有選擇允許的步驟包括在第一和第二應(yīng)用程序之間判優(yōu),作為第一和第二應(yīng)用程序的當(dāng)前操作模式的一個(gè)功能。
9.權(quán)利要求6的方法,進(jìn)一步包括,結(jié)合操作系統(tǒng),產(chǎn)生表示語(yǔ)音命令的音素網(wǎng)絡(luò)并且將該音素網(wǎng)絡(luò)傳遞給第一和第二應(yīng)用程序。
10.權(quán)利要求9的方法,其中的音素網(wǎng)絡(luò)是上下文有關(guān)的音素網(wǎng)絡(luò)。
11.一種在計(jì)算機(jī)中安裝應(yīng)用程序的方法,包括在操作系統(tǒng)上注冊(cè)該應(yīng)用程序;從應(yīng)用程序中提取被選擇的命令及其語(yǔ)音表示;并且將命令和語(yǔ)音表示傳遞給搜索引擎的詞匯表。
12.一種計(jì)算機(jī)操作的方法,包括調(diào)用與第一應(yīng)用程序有關(guān)而還沒(méi)有被調(diào)用的第一識(shí)別器;調(diào)用與第二應(yīng)用程序有關(guān)而還沒(méi)有被調(diào)用的第二識(shí)別器;接收一個(gè)語(yǔ)音命令;在第一和第二識(shí)別器中執(zhí)行對(duì)該語(yǔ)音命令的識(shí)別,以便提供第一和第二識(shí)別結(jié)果;在第一和第二識(shí)別結(jié)果之間判優(yōu);并且根據(jù)判優(yōu)步驟的結(jié)果,調(diào)用第一和第二應(yīng)用程序中的一個(gè)。
13.權(quán)利要求12的方法,其中,當(dāng)?shù)谝粦?yīng)用程序被調(diào)用時(shí),第一識(shí)別器對(duì)第一應(yīng)用程序執(zhí)行語(yǔ)音識(shí)別,而當(dāng)?shù)诙?yīng)用被調(diào)用時(shí)第二識(shí)別器對(duì)第二應(yīng)用程序執(zhí)行語(yǔ)音識(shí)別。
全文摘要
具有語(yǔ)音識(shí)別工具(36)以及第一和第二應(yīng)用程序(32和34)的一種計(jì)算機(jī)操作系統(tǒng)。該操作系統(tǒng)(30)從與控制字有關(guān)的第一和第二應(yīng)用程序中接收信息以便控制這些應(yīng)用程序。信息被說(shuō)明作為詞匯表A(74)和詞匯表B(76)。語(yǔ)音識(shí)別工具(36)被設(shè)計(jì)來(lái)從第一和第二應(yīng)用程序中接收信息,并且執(zhí)行與在輸入端(60)上接收到的數(shù)字化語(yǔ)音的比較。根據(jù)接收到的數(shù)字化語(yǔ)音來(lái)控制應(yīng)用程序(32和34)中被選擇的一個(gè)。
文檔編號(hào)G06F9/44GK1262762SQ99800423
公開(kāi)日2000年8月9日 申請(qǐng)日期1999年3月11日 優(yōu)先權(quán)日1998年4月1日
發(fā)明者斯里拉姆·巴拉克里什南 申請(qǐng)人:摩托羅拉公司