亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

語音識別宏運行時環(huán)境的制作方法

文檔序號:2831768閱讀:425來源:國知局
專利名稱:語音識別宏運行時環(huán)境的制作方法
語音識別宏運行時環(huán)境
背景
用于計算機用戶的早期語音識別系統(tǒng)已經(jīng)提供了基本口述功能。這些系統(tǒng) 將口述單詞轉(zhuǎn)換為書寫文本。通常這些系統(tǒng)被實現(xiàn)為與諸如文字處理應(yīng)用程序
等其它用戶應(yīng)用程序合作地運行于計算機的操作系統(tǒng)之上的用戶應(yīng)用程序。
稍后的語音識別系統(tǒng)有時通過提供靜態(tài)、預(yù)定義操作來包括除口述之外的
命令和控制功能。這些操作允許用戶界面的有限控制,諸如開啟應(yīng)用程序和在
應(yīng)用程序之間切換。
使用這些傳統(tǒng)語音識別系統(tǒng),創(chuàng)建新語音命令需要語音識別應(yīng)用程序編程
接口 (API)的知識和諸如0++編程等大量軟件開發(fā)。新的操作將需要自定義
開發(fā)的軟件應(yīng)用程序與語音識別API接口 。因為需要龐大的開發(fā)工作來使用這
些系統(tǒng)創(chuàng)建、更新、以及維護(hù)新的操作,所以提供個性化操作、適應(yīng)個別用戶
的需要是不切實際的。 概述
此處所公開的語音識別系統(tǒng)允許用戶在不進(jìn)行大量軟件開發(fā)的情況下定 義個性化的、上下文知曉的語音命令。命令集可使用用戶友好宏語言來定義。 命令集內(nèi)的命令對象可以包括一個或多個用戶可配置動作、 一條或多條可配置 規(guī)則、以及零個或更多可配置條件。
命令集可由軟件子系統(tǒng)"命令集加載器"來管理,該命令集加載器加載每 一命令集并將其處理成諸如公共對象模型(COM)對象等計算機可執(zhí)行代碼。 命令數(shù)據(jù)可由可擴展標(biāo)記語言(XML)文件來定義。例如,XML文件可由 軟件提供者創(chuàng)建、由用戶直接創(chuàng)建、和/或由用戶經(jīng)由一系列用戶界面提示來創(chuàng) 建。命令集加載器可以監(jiān)視命令數(shù)據(jù)中的改變并可以改變、啟用和/或禁用命令 集。
該語音識別系統(tǒng)可以包括宏處理組件。該宏處理組件可以與所加載的命令 集和計算機的語音識別引擎進(jìn)行接口 。宏處理組件可以評估命令以根據(jù)每一命令所包括的條件的評估來確定哪條命令現(xiàn)在被啟用。宏處理組件可以基于當(dāng)前 啟用的命令來向語音識別引擎提供語音識別語法??梢员O(jiān)視條件和/或命令本身 來尋找改變。條件的評估中的改變和/或命令本身中的改變可以指示宏處理組件 生成經(jīng)更新的語法并向語音識別引擎提供該經(jīng)更新的語法。
在語音識別弓I擎識別出與語法一致的用戶語音時,語音識別引擎可以向宏 處理組件提供識別指示。該宏處理組件可以確定對應(yīng)命令。宏處理組件可以處 理每一對應(yīng)命令,以發(fā)起與該對應(yīng)命令相關(guān)聯(lián)的一個或多個計算機可執(zhí)行動 作。因此,用戶可以在不進(jìn)行大量計算機編程和/或自定義軟件開發(fā)的情況下定 義復(fù)雜的啟用語音的宏。
提供本概述是為了以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的 一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特 征,也不旨在用于限定所要求保護(hù)的主題的范圍。
附圖簡述


圖1示出示例性計算環(huán)境。
圖2示出用于處理語音識別宏的示例系統(tǒng)。
圖3示出使用語音識別引擎的示例方法。
詳細(xì)描述
本發(fā)明的許多實施例可在計算機上執(zhí)行。圖1及以下討論旨在提供可在其 中實現(xiàn)本發(fā)明的合適計算環(huán)境的簡要概括描述。盡管并非所需,但本發(fā)明將在 諸如程序模塊等由諸如客戶機工作站或服務(wù)器等計算機執(zhí)行的計算機可執(zhí)行 指令的一般上下文中描述。 一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定 抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。而且,本領(lǐng)域的技術(shù) 人員可以理解,本發(fā)明方法可以使用其它計算機系統(tǒng)配置來實現(xiàn),包括手持式 設(shè)備、多處理器、基于微處理器或可編程消費電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機、 大型計算機等。本發(fā)明也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備 執(zhí)行的分布式計算環(huán)境中實現(xiàn)。在分布式計算環(huán)境中,程序模塊可以位于本地 和遠(yuǎn)程存儲器存儲設(shè)備中。圖1示出了在其中可實現(xiàn)各示例實施例和各方面的示例性計算環(huán)境。計算
系統(tǒng)環(huán)境ioo只是合適計算環(huán)境的一個示例,并非旨在對使用范圍或功能提出 任何限制。也不應(yīng)該把計算環(huán)境100解釋為對示例性操作環(huán)境100中示出的任
一組件或其組合有任何依賴性或要求。
可以使用多種其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置。適合與本發(fā)明一起使 用的公知的計算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于個人計算機、服務(wù)器 計算機、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、
可編程消費電子產(chǎn)品、網(wǎng)絡(luò)PC、微型計算機、大型計算機、嵌入式系統(tǒng)、包
括任何以上系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
可以使用諸如程序模塊等可由計算機執(zhí)行的計算機可執(zhí)行指令。 一般而 言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、 組件、數(shù)據(jù)結(jié)構(gòu)等。也可使用其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí) 行的分布式計算環(huán)境。在分布式計算環(huán)境中,程序模塊可以位于包括存儲器存 儲設(shè)備的本地和遠(yuǎn)程計算機存儲介質(zhì)中。
參考圖1,示例性系統(tǒng)包括計算機110形式的通用計算設(shè)備。計算機110 的組件可以包括,但不限于,處理單元120、系統(tǒng)存儲器130和將包括系統(tǒng)存 儲器在內(nèi)的各種系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。處理單元120 可表示諸如多線程處理器上支持的多個邏輯處理單元。系統(tǒng)總線121可以是幾 種類型的總線結(jié)構(gòu)中的任何一種,包括存儲器總線或存儲控制器、外圍總線、 以及使用各種總線體系結(jié)構(gòu)中的任一種的局部總線。作為示例,而非限制,這 樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA) 總線、增強型ISA (EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(VESA)局部總線 和外圍部件互連(PCI)總線(也稱為夾層(Mezzanine)總線)。系統(tǒng)總線121 也可被實現(xiàn)為點對點連接、交換光纖等通信設(shè)備。
計算機110通常包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是能由計 算機110訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動和不 可移動介質(zhì)。作為示例而非限制,計算機可讀介質(zhì)可包括計算機存儲介質(zhì)和通 信介質(zhì)。計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程 序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動
7和不可移動介質(zhì)。計算機存儲介質(zhì)包括但不限于,RAM、 ROM、 EEPROM、 閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、 磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來儲存所期望的信息并可 由計算機110訪問的任一其它介質(zhì)。通信介質(zhì)通常以諸如載波或其它傳輸機制 等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù), 并包括任意信息傳送介質(zhì)。術(shù)語"已調(diào)制數(shù)據(jù)信號"指的是其一個或多個特征 以在信號中編碼信息的方式被設(shè)定或更改的信號。作為示例而非限制,通信介 質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無線介質(zhì),諸如聲學(xué)、RF、 紅外線和其它無線介質(zhì)。以上的任何組合也應(yīng)包括在計算機可讀介質(zhì)的范圍內(nèi)。
系統(tǒng)存儲器130包括易失性和/或非易失性存儲器形式的計算機存儲介質(zhì), 如只讀存儲器(ROM) Bl和隨機存取存儲器(RAM) 132?;据斎?輸出系 統(tǒng)133 (BIOS)包括如在啟動時幫助在計算機110內(nèi)的元件之間傳輸信息的基 本例程,它通常儲存在ROM131中。RAM132通常包含處理單元120可以立 即訪問和/或目前正在其上操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖 1示出操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機110也可以包括其它可移動/不可移動、易失性/非易失性計算機存 儲介質(zhì)。僅作為示例,圖l示出了對不可移動、非易失性磁介質(zhì)進(jìn)行讀寫的硬 盤驅(qū)動器140,對可移動、非易失性磁盤151進(jìn)行讀寫的磁盤驅(qū)動器152,以 及對諸如CD ROM或其它光學(xué)介質(zhì)等可移動、非易失性光盤155進(jìn)行讀寫的 光盤驅(qū)動器156??梢栽谑纠圆僮鳝h(huán)境中使用的其它可移動/不可移動、易失 性/非易失性計算機存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、 數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常由不可移動 存儲器接口,諸如接口 140連接至系統(tǒng)總線121,磁盤驅(qū)動器151和光盤驅(qū)動 器155通常由可移動存儲器接口,諸如接口 150連接至系統(tǒng)總線121。
以上討論并在圖1中示出的驅(qū)動器及其相關(guān)聯(lián)的計算機存儲介質(zhì)為計算 機110提供了對計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。在 圖1中,例如,硬盤驅(qū)動器141被示為存儲操作系統(tǒng)144、應(yīng)用程序145、其 它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,也可以與它們不同。操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147在這里被標(biāo)注了不同的標(biāo)號是為了說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,諸如鍵盤162和定點設(shè)備161 (通常指的是鼠標(biāo)、跟蹤球或觸摸墊)向計算機20輸入命令和信息。其它輸入設(shè)備(未示出)可包括話筒198、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常由耦合至系統(tǒng)總線的用戶輸入接口 160連接至處理單元120,但也可以由其它接口和總線結(jié)構(gòu),諸如并行端口、游戲端口或通用串行總線(USB)連接。監(jiān)視器191或其它類型的顯示設(shè)備也經(jīng)由接口,諸如視頻接口 190連接至系統(tǒng)總線121。除監(jiān)視器以外,計算機還可以包括其它外圍輸出設(shè)備,諸如揚聲器197和打印機196,它們可以通過輸出外圍接口 195連接。
計算機110可使用至一個或多個遠(yuǎn)程計算機,如遠(yuǎn)程計算機180的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計算機180可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點,并且通常包括許多或所有以上相對于計算機IIO所描述的元件,盡管在圖1中僅示出了存儲器存儲設(shè)備181。圖1中所示的邏輯連接包括局域網(wǎng)(LAN) 171和廣域網(wǎng)(WAN) 173,但也可以包括其它網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機110通過網(wǎng)絡(luò)接口或適配器171連接至LAN170。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機110通常包括調(diào)制解調(diào)器172或用于通過諸如因特網(wǎng)等WAN 173建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,它可以經(jīng)由用戶輸入接口 160或其它適當(dāng)?shù)臋C制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對于計算機110所描述的程序模塊或其部分可被儲存在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例而非限制,圖l示出遠(yuǎn)程應(yīng)用程序185駐留在存儲器設(shè)備181上。可以理解,所示的網(wǎng)絡(luò)連接是示例性的,且可以使用在計算機之間建立通信鏈路的其它手段。
盡管用對結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述具體特征或動作。相反,上述具體特征和動作是作為實現(xiàn)權(quán)利要求的示例形式公開的。宏的示例系統(tǒng)。該系統(tǒng)可以在圖1所示的計算
環(huán)境100上操作或結(jié)合該計算環(huán)境100來操作。示例系統(tǒng)可以包括語音識別引 擎202、宏處理組件204、命令集206、命令集加載器208、和/或用戶界面組件 210。命令集加載器208可以檢索諸如可擴展標(biāo)記語言(XML)數(shù)據(jù)214等命 令數(shù)據(jù)212。命令集加載器208可以建立一個或多個命令集206。命令集加載 器208可以監(jiān)視命令數(shù)據(jù)212的改變。在檢測到改變后,命令集加載器208可 以更新相關(guān)聯(lián)的命令集206。
該命令集206可以定義多個命令216,這些命令216可啟用高級、可配置 語音宏。每一命令216可包括規(guī)則數(shù)據(jù)218、條件數(shù)據(jù)220、和/或執(zhí)行數(shù)據(jù)222。 規(guī)則數(shù)據(jù)218可以包括用戶將希望系統(tǒng)識別的單詞和/或短語。條件數(shù)據(jù)220 可包括零個或更多條件,在這些條件下用戶將希望系統(tǒng)識別由規(guī)則數(shù)據(jù)218所 指定的單詞和/或短語。執(zhí)行數(shù)據(jù)222可包括用戶將希望系統(tǒng)在識別由規(guī)則數(shù)據(jù) 218所指定的單詞和/或短語時發(fā)起的一個或更多計算機可執(zhí)行動作。
宏處理組件204可以與命令集206接口來為語音識別引擎202生成與命令 集206相關(guān)聯(lián)的語音識別語法224。在語音識別引擎202檢測到與語法224 — 致的口頭語音時,語音識別引擎202可以向宏處理組件204報告該識別事件。 宏處理組件204可以發(fā)起與識別事件相關(guān)聯(lián)且與命令216 —致的正確動作和/ 或執(zhí)行??梢员O(jiān)視由命令216所定義的條件來尋找狀態(tài)的改變。在條件的狀態(tài) 改變后,宏處理組件204可以生成經(jīng)更新的語法224,以根據(jù)與改變后的條件 相關(guān)聯(lián)的規(guī)則數(shù)據(jù)218來添加和/或移除單詞和/或短語。
語音識別引擎202可包括任何硬件、軟件、其組合、適用于從音頻語音信 號中辨別單詞和/或短語的任何系統(tǒng)、子系統(tǒng)、和/或組件。例如,語音識別引 擎202可以接收并處理音頻流。該處理可例如包括基于隱馬爾可夫模型的識別、 基于神經(jīng)網(wǎng)絡(luò)的識別、基于動態(tài)時間變形的識別、基于知識的識別等。語音識 別引擎202可以實時地處理音頻流。例如,語音識別引擎可以經(jīng)由如圖l所示 的話筒198來接收音頻流。
語音識別引擎202可根據(jù)語法224來識別單詞。語法224可包括語音識別 引擎202將監(jiān)聽的目標(biāo)單詞和/或與這些目標(biāo)單詞相關(guān)聯(lián)的模式的結(jié)構(gòu)化列表。 語音識別引擎202可以處理多種語法。每一語法224可包括標(biāo)識符。
10在語音識別引擎202從音頻流中識別到與語法224 —致的單詞時,語音識 別引擎202可返回識別指示。該識別指示可包括被識別的單詞、該被識別的單 詞與之相關(guān)聯(lián)的語法224的標(biāo)識符、和/或置信度度量。
命令數(shù)據(jù)212可包括任何被結(jié)構(gòu)化以定義語音識別宏命令216的數(shù)據(jù)。命 令數(shù)據(jù)212可本地存儲在計算機處。例如,命令數(shù)據(jù)212可存儲在計算機文件 系統(tǒng)中的目錄中。命令數(shù)據(jù)212可在計算機的注冊表中列出。命令數(shù)據(jù)212可 以遠(yuǎn)程地存儲并由計算機經(jīng)由網(wǎng)絡(luò)來訪問。例如,命令數(shù)據(jù)212可經(jīng)由真正簡 單聚合(RSS)訂閱源來訪問。命令數(shù)據(jù)212可經(jīng)由安全超文本傳輸協(xié)議 (HTTPS)來訪問。命令數(shù)據(jù)212的每一實例可對應(yīng)于命令集206。命令數(shù)據(jù) 212可定義一條或多條命令216。
命令數(shù)據(jù)212可包括XML數(shù)據(jù)214。該XML數(shù)據(jù)214可定義命令216、 條件、規(guī)則、和/或可執(zhí)行動作。XML數(shù)據(jù)214可包括以VCMD文件擴展名存 儲在本地盤上的XML文件。
XML數(shù)據(jù)214可包括遵循所定義的語音宏規(guī)范的標(biāo)簽和結(jié)構(gòu)。語音宏規(guī) 范可定義具有具體意義和功能的特定標(biāo)簽。語音宏規(guī)范可定義用于標(biāo)簽的結(jié) 構(gòu)。例如,標(biāo)簽可標(biāo)識命令216和這些命令216的特性。規(guī)則數(shù)據(jù)218、條件 數(shù)據(jù)220、和/或執(zhí)行數(shù)據(jù)222可根據(jù)XML標(biāo)簽來界定。標(biāo)簽可定義它們界定 的數(shù)據(jù)的各個方面。為了說明,每一命令216可由標(biāo)簽〈command〉〈/command〉 界定。與規(guī)則數(shù)據(jù)218相關(guān)聯(lián)的單詞和/或短語可由標(biāo)簽〈listenForx/listenFor〉 界定。與條件數(shù)據(jù)220相關(guān)聯(lián)的條件可由標(biāo)簽本身的文本來定義,且該條件的 各參數(shù)可由該標(biāo)簽來界定。為了說明,在應(yīng)用程序notepad.exe在前臺中時為 真的條4??捎伞碼ppIsInForeground processName="notepad.exe" />來表不。類"[以 地,與執(zhí)行數(shù)據(jù)222相關(guān)聯(lián)的計算機可執(zhí)行動作可由標(biāo)簽本身的文本來定義, 且該計算機可執(zhí)行動作的各參數(shù)可由該標(biāo)簽來界定。為了說明,啟動應(yīng)用程序 notepad.exe的i十算禾幾可執(zhí)〗亍動作可由〈run command=,,notepad.exe,, />來表示。 因此,命令可被表示為界定數(shù)據(jù)的XML標(biāo)簽的集合。
命令集加載器208可以監(jiān)視命令數(shù)據(jù)212。在命令集加載器208檢測到命 令數(shù)據(jù)212中的改變時,命令集加載器208可以同步命令集206和命令數(shù)據(jù) 212。此改變可以包括移除、增加、和/或替換命令數(shù)據(jù)212。命令集加載器208可以周期性地輪詢命令數(shù)據(jù)212以尋找改變。例如,如果檢測到改變,則受影
響的命令集206可以被卸載并根據(jù)該改變重新加載。例如,命令集加載器208 可以檢測到命令數(shù)據(jù)212已經(jīng)被移除(例如,XML數(shù)據(jù)文件214已經(jīng)被刪除) 且命令集加載器208同樣可以移除命令集206。命令集加載器208可包括觸發(fā) 命令數(shù)據(jù)212的周期性檢査的可配置定時器。
命令集加載器208可包括XML架構(gòu)解析器。該XML架構(gòu)解析器可以確 認(rèn)命令數(shù)據(jù)212使用正確的XML格式。命令集加載器208可以從命令數(shù)據(jù)212 中提取命令集并將該命令集存儲在存儲器中。命令集加載器208可以根據(jù)命令 數(shù)據(jù)212來創(chuàng)建和/或填充公共對象模型(COM)對象。命令集加載器208可 以根據(jù)命令數(shù)據(jù)212建立一個或多個命令集206。
這些命令集每一個都可以包括命令216、全局規(guī)則生成器226、和/或全局 條件228。命令集和/或其內(nèi)容可以是COM對象。命令集206可以與宏處理組 件204接口。命令集206可以表示語音識別宏的分布單元。例如,用戶可以為 不同應(yīng)用程序定義語音識別宏(例如,電子郵件宏、工作宏、因特網(wǎng)宏等)。 每組宏可以被收集進(jìn)不同命令集206中。每一命令集206可以與一不同的XML 數(shù)據(jù)文件214相關(guān)聯(lián)。命令216可包括規(guī)則數(shù)據(jù)218、條件數(shù)據(jù)220、和/或執(zhí) 行數(shù)據(jù)222。每一命令216可以將規(guī)則數(shù)據(jù)218、條件數(shù)據(jù)220、和/或執(zhí)行數(shù) 據(jù)222相關(guān)以定義語音識別宏。
諸如規(guī)則生成器等規(guī)則數(shù)據(jù)218可以定義用戶希望語音識別引擎202監(jiān)聽 的單詞和/或短語。規(guī)則數(shù)據(jù)218可以對應(yīng)于將觸發(fā)語音識別宏的語音。規(guī)則數(shù) 據(jù)218可以引用諸如靜態(tài)文本數(shù)據(jù)等靜態(tài)單詞和/或短語。例如,規(guī)則數(shù)據(jù)218 可以包括對應(yīng)于要識別的單詞的純文本。該純文本可被轉(zhuǎn)換為基于SAPI 5的 規(guī)則。
命令集206可以與一個或多個全局規(guī)則生成器226相關(guān)聯(lián)。全局規(guī)則生成 器226可以定義應(yīng)用于命令集206內(nèi)的每一命令216的規(guī)則。全局規(guī)則生成器 226可以是以很少幾行XML代碼將規(guī)則包括在許多命令216中的快速方式。
規(guī)則數(shù)據(jù)218可以引用諸如基于現(xiàn)有操作環(huán)境的動態(tài)單詞等動態(tài)單詞。例 如,規(guī)則數(shù)據(jù)218可以引用存在于活動文本文檔窗口中的任何單詞或有序的單 詞集。為了說明,如果文本編輯器應(yīng)用程序是前臺應(yīng)用程序,則可以將任何包含在該文檔中的文本導(dǎo)出為規(guī)則。規(guī)則數(shù)據(jù)218可以引用能夠經(jīng)由開始菜單或 桌面被啟動的應(yīng)用程序的名稱。用戶可以使用此規(guī)則來通過名稱訪問應(yīng)用程序 而不必為每一應(yīng)用程序具有單獨的規(guī)則。
規(guī)則數(shù)據(jù)218可以包括當(dāng)前應(yīng)用程序中的所有命名控件的列表。為了說 明,前臺中的文本編輯器可以與諸如像"文件"、"編輯"、"格式"等菜單 標(biāo)題,以及像"關(guān)閉"、"最小化"等窗口控件等命名控件相關(guān)。規(guī)則數(shù)據(jù)218 可以包含當(dāng)前在系統(tǒng)上運行的應(yīng)用程序的列表,如那些在Alt-Tab列表中可見 的列表。規(guī)則數(shù)據(jù)218可以引用短語列表。每一短語可任選地與相應(yīng)語義特性 相關(guān)聯(lián)。規(guī)則數(shù)據(jù)218可以包括用于觸發(fā)規(guī)則的短語的有序子集。規(guī)則數(shù)據(jù)218 可以包括SAPI 5 XML規(guī)則。
規(guī)則數(shù)據(jù)218可用于生成對應(yīng)于位于指定用戶界面(UI)元素之下的可訪 問項目的短語的列表。規(guī)則數(shù)據(jù)218可用于為在前臺中的應(yīng)用程序生成單個短 語。例如,這可在引用規(guī)則需要使用來自當(dāng)前應(yīng)用程序的文本的任何時候使用。 規(guī)則數(shù)據(jù)218可用于為當(dāng)前運行的所有應(yīng)用程序生成短語集。例如,此規(guī)則可 用于生成當(dāng)前運行的所有應(yīng)用程序的列表,以啟用諸如"關(guān)閉[應(yīng)用程序的名 稱]"等語音識別宏。
規(guī)則數(shù)據(jù)218可以與應(yīng)用程序數(shù)據(jù)相關(guān)聯(lián)。該規(guī)則可用于為指定目錄中的 所有文件生成單詞集。規(guī)則數(shù)據(jù)218可以基于在消息收發(fā)應(yīng)用程序編程接口 (MAPI)兼容郵件系統(tǒng)中的收件箱和/或發(fā)件箱文件夾中找到的項目來生成規(guī) 則。例如,規(guī)則的短語部分可以包括消息的發(fā)送者和/或接收者的名字,且語義 特性可以包含電子郵件地址。規(guī)則數(shù)據(jù)218可以動態(tài)地包括來自媒體播放器應(yīng) 用程序的項目,諸如名稱、藝術(shù)家、標(biāo)題、風(fēng)格、音軌號等。
規(guī)則數(shù)據(jù)218可以根據(jù)腳本的結(jié)果來引用單詞和/或短語。例如,腳本可 以包括Visual Basic腳本、Java腳本等。
條件數(shù)據(jù)220可以定義命令何時被啟用(g卩,語音識別何時應(yīng)該監(jiān)聽由規(guī) 則數(shù)據(jù)218所標(biāo)識的單詞和/或短語)。命令可以具有零個條件,其中該命令可 被一直啟用。命令可以具有一個條件,其中該條件可以在命令被啟用之前被滿 足。命令可以具有超過一個條件,其中所有列出的條件應(yīng)該被滿足以啟用該命 令。命令可以具有超過一個由諸如AND、 OR、 XOR等邏輯運算符組合在一起的條件。
命令集206可以與一個或多個全局條件228相關(guān)聯(lián)。全局條件228可以定 義應(yīng)用于命令集206內(nèi)的每一命令216的條件。全局條件228可以是以很少幾 行XML代碼將條件包括在許多命令216中的快速方式。
條件可用于基于計算機操作的任何方面來啟用命令216。條件可以取決于 計算機的一個或多個操作。條件可以取決于與計算機進(jìn)行通信的其它設(shè)備的一 個或多個操作。例如,條件可以取決于來自遠(yuǎn)程web服務(wù)器的網(wǎng)頁的內(nèi)容。條 件可以取決于軟件屬性,諸如運行的應(yīng)用程序和/或計算機操作系統(tǒng)的各方面。 條件可以取決于硬件屬性,諸如例如通用串行總線(USB)設(shè)備的存在。
條件可以檢査特定應(yīng)用程序是否是前臺窗口。例如,條件可以經(jīng)由進(jìn)程名 稱或窗口標(biāo)題來檢查。條件可以檢査特定應(yīng)用程序是否正在運行。條件可以經(jīng) 由進(jìn)程名稱或窗口標(biāo)題來檢査。條件可以檢査特定應(yīng)用程序是否被安裝。例如, 它可以通過進(jìn)程名稱來檢査。
條件可以檢查在可編輯域中是否存在插入點。條件可以檢査在可編輯域中 是否存在選擇。此條件可用于控制應(yīng)該僅在存在選擇時被啟用(或禁用)的命 令216,諸如操縱該選擇的口述命令216。
條件可以檢查是否存在具有指定特性的用戶界面(UI)元素。此條件可用 于控制應(yīng)該僅在指定UI元素存在時被啟用(或禁用)的命令216。這在嘗試 將語音識別宏應(yīng)用于應(yīng)用程序的特定方面而不是整個應(yīng)用程序時可以是有用 的。
條件可以檢査是否存在命名狀態(tài),且可任選地檢查命名狀態(tài)的值。此條件 可用于提供對話控件。條件數(shù)據(jù)220可包括腳本以程序性地確定條件是否被滿 足。有了可以指示條件是否被滿足的條件對象模型,條件數(shù)據(jù)220可以指示相 關(guān)聯(lián)的腳本的啟動。例如,腳本可以包括Visual Basic腳本、Java腳本等。
執(zhí)行數(shù)據(jù)222可以定義在語音識別引擎202識別到由規(guī)則數(shù)據(jù)218所標(biāo)識 的單詞和/或短語時要采取的計算機可執(zhí)行動作。執(zhí)行數(shù)據(jù)222可定義一個或多 個可執(zhí)行動作。這些可執(zhí)行動作可以與一個或多個計算機可執(zhí)行動作相關(guān)聯(lián)。 動作可以靜態(tài)地定義或動態(tài)地定義。
可執(zhí)行動作可以在語音用戶界面中設(shè)置文本反饋??蓤?zhí)行動作可向用戶提供回指定語音。例如,該語音可使用文本-語音系統(tǒng)來生成。可執(zhí)行動作可以 啟動新的應(yīng)用程序??蓤?zhí)行動作可以切換到指定應(yīng)用程序??蓤?zhí)行動作可以關(guān) 閉指定應(yīng)用程序??蓤?zhí)行動作可以最小化指定應(yīng)用程序??蓤?zhí)行動作可以最大 化指定應(yīng)用程序。可執(zhí)行動作可以還原指定應(yīng)用程序。可執(zhí)行動作可以模擬被 發(fā)送到前臺中的應(yīng)用程序的鍵。此可執(zhí)行動作可用于模擬來自鍵盤的用戶輸 入。
可執(zhí)行動作可以將文本插入到活動文檔中。可執(zhí)行動作可以將識別結(jié)果的
一部分插入到活動文檔中。為了說明,用戶可以定義啟動web瀏覽器應(yīng)用程序 并將所說出的統(tǒng)一資源定位符(URL)輸入到web瀏覽器應(yīng)用程序的地址域中 的宏。
可執(zhí)行動作可以對語音識別進(jìn)行仿真。例如,可執(zhí)行動作可用于使用文本 短語來模擬語音識別。語音識別器將假裝它聽到用戶說出要仿真的內(nèi)容??蓤?zhí) 行動作可使得Microsoft Active Accessibility (微軟活動可訪問性,MSAA)元 素被點擊和/或執(zhí)行。如果MSAA元素不能被定位,則用于該命令的可執(zhí)行動 作的列表可以在此可執(zhí)行動作處終止。
可執(zhí)行動作可以等待指定量的時間。例如,此可執(zhí)行動作可用于確保命令 在通過有關(guān)應(yīng)用程序的動作來繼續(xù)之前有足夠的時間以供該應(yīng)用程序加載???執(zhí)行動作可以向用戶確認(rèn)命令應(yīng)該繼續(xù)其執(zhí)行。例如,可以向用戶顯示具有 "是"和"否"按鈕的對話框??蓤?zhí)行動作可以使用消息框類型的對話框來通 知用戶。例如,該對話框可以具有消息和"確認(rèn)"按鈕。可執(zhí)行動作可用于使 用具有包含用戶可以操縱的文本的編輯控件的對話框來提示用戶。
可執(zhí)行動作可以將命名狀態(tài)設(shè)置為特定值。該命名狀態(tài)可用于開發(fā)復(fù)雜的 宏。例如,命名狀態(tài)可用于將命令216鏈接在一起。此可執(zhí)行動作可用于模擬 對話框控件。
可執(zhí)行動作可以是消歧可執(zhí)行動作。該消歧可執(zhí)行動作可用于消除識別結(jié) 果中的將可能有歧義的特性或文本的歧義。如果被消歧的項目是有歧義的,則 可以向用戶顯示對話框以允許該用戶從列表中選擇特定項目。例如,響應(yīng)于同 音語音,語音識別組件可以返回識別指示。響應(yīng)于該識別指示,消歧可執(zhí)行動 作可以指示用戶界面顯示多個與同音語音一致的單詞。用戶可以從該列表中選
15擇對應(yīng)于用戶的預(yù)期意義的單詞。
可執(zhí)行動作可以控制交互式媒體播放器。例如,此可執(zhí)行動作可用于指示 媒體播放器控件,諸如播放、暫停、停止等。可執(zhí)行動作可以在交互式媒體播 放器中選擇音頻。可執(zhí)行動作可通過諸如名稱、藝術(shù)家、標(biāo)題、風(fēng)格、音軌號 等與存儲的媒體相關(guān)聯(lián)的單詞來引用??蓤?zhí)行動作可以提供對電子郵件應(yīng)用程 序的訪問。可執(zhí)行動作可用于從宏框架內(nèi)運行腳本代碼。
條件數(shù)據(jù)220、規(guī)則數(shù)據(jù)218、以及執(zhí)行數(shù)據(jù)222可與語義特性有關(guān)。語 義特性可允許可執(zhí)行動作對有關(guān)用戶所說的語音的數(shù)據(jù)進(jìn)行操作。為了說明, 用于發(fā)送電子郵件的語音識別宏可希望對"向Rob發(fā)送電子郵件"做出響應(yīng)。 Rob的電子郵件地址將是語義特性,艮卩,有關(guān)所說出的單詞"Rob"的數(shù)據(jù)。 規(guī)則數(shù)據(jù)218可以包括語義特性名稱。因此,用于此命令的規(guī)則數(shù)據(jù)218可以
指示監(jiān)聽"向[人]發(fā)送電子郵件"。項"[人:i"可以是對應(yīng)于在此時間點所識
別的語音的標(biāo)簽,其與短語中的其它單詞相關(guān)聯(lián)。項"[人]"可以被鏈接到具 有姓名和相關(guān)聯(lián)的電子郵件地址的配對列表。作為語義特性,可將所說出的文 本返回給涉及標(biāo)簽的任何可執(zhí)行動作。再次為了說明,如果用戶說"向Rob發(fā) 送電子郵件",則名為"人"的語義特性將具有值"Rob"。
在一實施例中,命令集206可包括至少兩個命令對象,以使得第二命令對 象的執(zhí)行數(shù)據(jù)222定義第一命令對象。例如,來自第二命令對象的執(zhí)行數(shù)據(jù)222 可定義第一命令對象的條件。來自第二命令對象的執(zhí)行數(shù)據(jù)222可建立命名狀 態(tài),且第一命令對象的條件可取決于該命名狀態(tài)。
以這種方式,可使用復(fù)雜的模式將多個命令對象連貫起來。為了說明,用 戶可能希望設(shè)計在兩種模式中操作的宏。用戶可能希望在家以一種模式操作并 在工作時以另一模式操作。該用戶可以創(chuàng)建監(jiān)聽短語"我在家"的第二命令對 象。與此第二命令對象相關(guān)聯(lián)的執(zhí)行數(shù)據(jù)222可以建立與家庭模式相關(guān)聯(lián)的命 名狀態(tài)。該用戶可以創(chuàng)建監(jiān)聽短語"檢査電子郵件"的第一命令對象。為確保 該第一命令對象將檢査用戶的個人電子郵件帳戶而不是用戶的工作電子郵件 帳戶,第二命令對象可包括取決于與家庭模式相關(guān)聯(lián)的命名狀態(tài)的條件。
宏處理組件204可根據(jù)命令216的條件數(shù)據(jù)220和規(guī)則數(shù)據(jù)218來管理語 法224和/或語音識別引擎202的操作。宏處理組件204可包括與一個或多個命令集206和/或語音識別引擎202接口的軟件組件。宏處理組件204可評估命令 集206中的每一命令216。宏處理組件204可接收每一條件的評估的結(jié)果。宏 處理組件204可評估每一命令216的條件數(shù)據(jù)220。
根據(jù)條件數(shù)據(jù)220 ,宏處理組件204可以選擇要被包括在語音識別語法224 中的規(guī)則數(shù)據(jù)218。例如,宏處理組件204可在條件數(shù)據(jù)220的條件被評估為 真時將規(guī)則數(shù)據(jù)218包括在語音識別語法224中。宏處理組件204可根據(jù)條件 數(shù)據(jù)220的評估的結(jié)果來生成語法224。宏處理組件204可為每一命令集206 生成相應(yīng)語法224。宏處理組件204可標(biāo)識每一語法224以將每一語法224與 相應(yīng)命令集206相關(guān)聯(lián)。
宏處理組件204可向語音識別引擎202傳送語法224。宏處理組件204可 通過諸如例如語音應(yīng)用程序編程接口 (SAPI)等應(yīng)用程序編程接口 (API)與 語音識別引擎202通信。
語音識別引擎202可根據(jù)語法224來識別人類語音。在語音識別引擎202 識別出在語法224中找到的口述單詞時,語音識別引擎202可將識別指示返回 給宏處理組件204。該結(jié)果可包括所識別的單詞和/或使用哪個語法224的指示。 宏處理組件204可根據(jù)所識別的單詞來選擇正確的命令集206。宏處理組件204 可啟動和/或發(fā)起與所選擇的命令相關(guān)聯(lián)的計算機可執(zhí)行動作。
宏處理組件204可監(jiān)視由命令集206所定義的條件。例如,每一條件可與 一對象相關(guān)聯(lián)以使得在該條件的狀態(tài)改變時,該對象可以回過來向宏處理組件 204報告。宏處理組件204可接收經(jīng)更新的狀態(tài)。宏處理組件204可生成對應(yīng) 于新狀態(tài)的經(jīng)更新的語法224。例如,條件可以從真到假,且宏處理組件204 可以生成已經(jīng)移除了相關(guān)聯(lián)的單詞的經(jīng)更新的語法224。類似地,條件可以從 假到真,且宏處理組件204可以生成具有附加單詞的經(jīng)更新的語法224。
用戶界面組件210可以與宏處理組件204、語音識別引擎202、命令集加 載器208、和/或命令數(shù)據(jù)212進(jìn)行通信。用戶界面組件210可以是適用于提供 用于管理、控制、評估、監(jiān)視、和/或配置語音識別宏處理系統(tǒng)的各組件的圖形 和/或文本用戶界面的特征和功能的任何集合。用戶界面可以允許用戶通過逐步 的"向?qū)?過程來生成命令數(shù)據(jù)212。用戶界面組件210可允許用戶標(biāo)識和配 置位置并設(shè)置與命令集加載器208相關(guān)聯(lián)的監(jiān)視頻率。用戶界面組件210可提供當(dāng)前活動命令216和/或命令集的圖形和/或文本顯示。用戶界面組件210可 以顯示使用中的語法。用戶界面組件210可以允許用戶通過按鈕、復(fù)選框、單 選選擇器等來啟用或禁用系統(tǒng)的各方面。用戶界面組件210可以具有用于呈現(xiàn) 給用戶的圖形表示。例如,用戶界面組件210可以圖形地呈現(xiàn)在計算機桌面、 窗口、工具條、系統(tǒng)托盤中。
圖3示出使用語音識別引擎202的示例方法。在302,語音宏處理系統(tǒng)可 接收命令數(shù)據(jù)212。命令數(shù)據(jù)212可在本地訪問和/或遠(yuǎn)程地訪問。命令數(shù)據(jù)212 可被存儲在本地盤或從網(wǎng)絡(luò)位置存儲在遠(yuǎn)程盤上。命令數(shù)據(jù)212可使用XML 腳本文件和/或XML腳本格式化數(shù)據(jù)的形式。命令數(shù)據(jù)212根據(jù)真正簡單聚合 (RSS)訂閱源來從網(wǎng)絡(luò)位置處接收。
語音識別宏處理系統(tǒng)可驗證與命令數(shù)據(jù)212相關(guān)聯(lián)的數(shù)字證書。驗證該數(shù) 字證書可確保數(shù)據(jù)完整性和命令數(shù)據(jù)212的認(rèn)證??梢越馕鍪褂肵ML形式的 命令數(shù)據(jù)212以填充命令對象。命令對象可包括條件數(shù)據(jù)220、規(guī)則數(shù)據(jù)218、 和/或執(zhí)行數(shù)據(jù)222。
可靜態(tài)地定義命令對象。例如,命令數(shù)據(jù)212可包括靜態(tài)地定義命令對象 的靜態(tài)XML格式化代碼??蓜討B(tài)地定義命令對象。例如,命令數(shù)據(jù)212可包 括在被執(zhí)行時動態(tài)地定義命令對象的腳本和/或運行時代碼。
在304,可評估與命令對象相關(guān)聯(lián)的條件。條件可取決于計算機系統(tǒng)的操 作的任何方面。條件可評估為結(jié)果。例如,結(jié)果可被賦值為真或假。如果條件 評估為真,則命令對象可以活動。如果條件評估為假,則命令對象可以不活動。
在306,語音識別宏處理系統(tǒng)可生成語音識別語法224。語音識別語法224 可根據(jù)命令對象來生成。在命令對象活動時,語法224可包括與命令對象的規(guī) 則數(shù)據(jù)218相關(guān)聯(lián)的單詞。在該命令不活動時,宏處理系統(tǒng)可從語法224中排 除與規(guī)則數(shù)據(jù)218相關(guān)聯(lián)的一個或多個單詞。
在308,可監(jiān)視與命令對象相關(guān)聯(lián)的條件來尋找狀態(tài)的改變。該狀態(tài)的改 變可由在評估條件時的結(jié)果中的改變來指示。在304可以重新評估條件,且在 306可以生成經(jīng)更新的語音識別語法224。在一實施例中,條件可以是向父對 象報告其評估結(jié)果中的改變的COM對象。
在310,可以監(jiān)視命令數(shù)據(jù)212來尋找改變,諸如存儲在本地驅(qū)動器上的XML格式化數(shù)據(jù)的改變、對RSS訂閱源的更新等??梢员O(jiān)視命令數(shù)據(jù)212來 尋找對命令集的改變、尋找附加命令集、以及尋找命令集的移除。在302可以 接收經(jīng)更新的命令數(shù)據(jù)212,且在304可以評估與經(jīng)更新的命令數(shù)據(jù)212相關(guān) 聯(lián)的條件。在306,可根據(jù)經(jīng)更新的命令數(shù)據(jù)212來生成經(jīng)更新的語音識別語 法224。
在312,可將所生成的語音識別語法224發(fā)送到語音識別引擎202。在308 和310的監(jiān)視可以繼續(xù)。隨著語音識別語法224以與308處條件的改變和/或 310處命令數(shù)據(jù)的改變一致的方式來更新,可將經(jīng)更新的語音識別語法224傳 送到語音識別引擎202。
語音識別引擎202可對經(jīng)更新的語音識別語法224進(jìn)行操作。語音識別引 擎202可分析音頻流。在語音識別引擎202識別到音頻流與語法224之間的匹 配時,語音識別引擎202可以返回識別指示。識別指示可以與被包括在活動命 令對象的規(guī)則數(shù)據(jù)218中的單詞相關(guān)聯(lián)。
在314,響應(yīng)于識別指示,可執(zhí)行計算機可執(zhí)行動作。該計算機可執(zhí)行動 作可與由識別指示和相關(guān)聯(lián)的命令所指定的單詞相關(guān)聯(lián)。該單詞可被包括在命 令對象的規(guī)則數(shù)據(jù)218中,且計算機可執(zhí)行動作可被包括在與命令對象相關(guān)聯(lián) 的執(zhí)行數(shù)據(jù)222中。為了說明,宏處理組件204可接收識別指示。宏處理組件 204可從該識別指示中確定相關(guān)聯(lián)的命令集206。宏處理組件204可從該識別 指示中確定此命令集206內(nèi)的相關(guān)聯(lián)的命令對象。宏處理組件204可以發(fā)起與 此命令對象的執(zhí)行數(shù)據(jù)222相關(guān)聯(lián)的一個或多個計算機可執(zhí)行動作。
盡管用對結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解, 所附權(quán)利要求書中定義的主題不必限于上述具體特征或動作。相反,上述具體 特征和動作是作為實現(xiàn)權(quán)利要求的示例形式公開的。
權(quán)利要求
1.一種使用語音識別引擎(202)的方法,所述方法包括接收第一命令對象(216),其中所述第一命令對象包括指示單詞、條件、以及第一計算機可執(zhí)行動作的第一數(shù)據(jù);評估所述條件;根據(jù)所述評估的結(jié)果來生成包括所述單詞的第一語音識別語法(224);將所述第一語音識別語法(224)傳送到所述語音識別引擎(202);以及響應(yīng)于從所述語音識別引擎(202)接收到識別指示來執(zhí)行所述第一計算機可執(zhí)行動作,其中所述識別指示與所述單詞相關(guān)聯(lián)。
2. 如權(quán)利要求1所述的方法,其特征在于,所述第一命令對象(216)由 可擴展標(biāo)記語言(XML)文件(214)來定義。
3. 如權(quán)利要求2所述的方法,其特征在于,還包括監(jiān)視目錄位置來尋找所 述XML文件(214)。
4. 如權(quán)利要求2所述的方法,其特征在于,還包括根據(jù)真正簡單聚合 (RSS)訂閱源來下載所述XML文件(214)。
5. 如權(quán)利要求2所述的方法,其特征在于,還包括驗證與所述XML文件 (214)相關(guān)聯(lián)的數(shù)字證書。
6. 如權(quán)利要求1所述的方法,其特征在于,還包括監(jiān)視所述條件來尋找所 述結(jié)果的改變,其中根據(jù)所述改變來生成第二語音識別語法(224)。
7. 如權(quán)利要求1所述的方法,其特征在于,還包括接收第二命令對象,其 中所述第二命令對象包括指示第二計算機可執(zhí)行動作的第二數(shù)據(jù);其中所述第 二計算機可執(zhí)行動作在被執(zhí)行時定義所述第一命令對象(216)。
8. 如權(quán)利要求7所述的方法,其特征在于,所述第二計算機可執(zhí)行動作在 被執(zhí)行時定義所述第一命令對象(216)的條件。
9. 如權(quán)利要求8所述的方法,其特征在于,所述第二計算機可執(zhí)行動作在 被執(zhí)行時定義命名狀態(tài)的值,且其中所述第一命令對象(216)的條件取決于所述命名狀態(tài)的值。
10. 如權(quán)利要求1所述的方法,其特征在于,所述單詞與語義特性相關(guān) 聯(lián),且其中所述第一計算機可執(zhí)行動作的參數(shù)取決于所述語義特性。
11. 一種系統(tǒng),包括第一命令集(206),其中所述第一命令集包括第一命令對象(216),且 其中所述第一命令對象(216)包括指示第一單詞、條件、以及計算機可執(zhí)行 動作的第一數(shù)據(jù);語音識別組件(202),其中所述語音識別組件(202)適用于接收語法(224) 并響應(yīng)于與所述語法(224) —致的語音來返回識別指示;以及與所述語音識別組件(202)進(jìn)行通信的宏處理組件(204),其中所述宏 處理組件(204)被編程為接收所述第一命令集(206)、根據(jù)所述條件的評估 來生成所述語法(224)、并響應(yīng)于所述識別指示來執(zhí)行所述計算機可執(zhí)行動 作,其中所述識別指示對應(yīng)于所述第一單詞。
12. 如權(quán)利要求11所述的系統(tǒng),其特征在于,還包括加載器組件(208), 該加載器組件(208)被編程為從第一可擴展標(biāo)記語言(XML)腳本文件(214) 來定義所述第一命令集(216)。
13. 如權(quán)利要求12所述的系統(tǒng),其特征在于,還包括第二命令集,其 中所述加載器組件(208)被編程為從第二 XML腳本文件來定義所述第二命令 集,且其中所述宏處理組件(204)被編程為接收所述第二命令集。
14. 如權(quán)利要求ll所述的系統(tǒng),其特征在于,所述第一命令集(206) 包括第二命令對象和全局條件,其中所述第二命令對象包括第二單詞,且其中 所述宏處理組件(204)被編程為根據(jù)所述全局條件的評估來生成包括所述第 一單詞和所述第二單詞的語法。
15. 如權(quán)利要求ll所述的系統(tǒng),其特征在于,所述第一命令集(206) 包括第二命令對象和全局可執(zhí)行動作,其中所述第一計算機可執(zhí)行動作引用所 述全局可執(zhí)行動作,且其中所述第二命令對象包括引用所述全局可執(zhí)行動作的 第二計算機可執(zhí)行動作。
16. 如權(quán)利要求11所述的系統(tǒng),其特征在于,還包括用戶界面(210), 且其中所述語音識別組件(202)響應(yīng)于與所述語法一致的同音語音來返回所 述識別指示,所述用戶界面顯示多個與所述同音語音一致的單詞。
17. —種其上存儲有計算機指令的計算機可讀介質(zhì),所述計算機指令在 被執(zhí)行時執(zhí)行包括以下動作的方法接收指示條件的可擴展標(biāo)記語言(XML)數(shù)據(jù)(214); 監(jiān)視以尋找與所述可擴展標(biāo)記語言(XML)數(shù)據(jù)(214)相關(guān)聯(lián)的第一改變;監(jiān)視以尋找與所述條件的評估相關(guān)聯(lián)的第二改變;以及 響應(yīng)于所述第一改變或所述第二改變來生成語音識別語法(224)。
18. 如權(quán)利要求17所述的計算機可讀介質(zhì),其特征在于,所述第一改 變包括將單詞添加到所述XML數(shù)據(jù)(214),且其中生成所述語音識別語法(224)包括將所述單詞包括在所述語音識別語法(224)中。
19. 如權(quán)利要求18所述的計算機可讀介質(zhì),其特征在于,所述計算機 指令在被執(zhí)行時還執(zhí)行監(jiān)視音頻流來尋找與單詞一致的語音。
20. 如權(quán)利要求17所述的計算機可讀介質(zhì),其特征在于,所述條件與 單詞相關(guān)聯(lián),其中所述第二改變包括所述評估變?yōu)榧?,且其中生成所述語音識 別語法包括生成排除所述單詞的語音識別語法。
全文摘要
所公開的語音識別系統(tǒng)允許用戶在不進(jìn)行大量軟件開發(fā)的情況下定義個性化的、上下文知曉的語音命令??墒褂糜脩粲押谜Z言來定義命令集并將其存儲在可擴展標(biāo)記語言(XML)文檔中。命令集內(nèi)的每個命令對象可包括一個或多個用戶可配置動作、一條或多條可配置規(guī)則、以及一個或多個可配置條件。命令集可由命令集加載器來管理,該命令集加載器加載每個命令集并將其處理成計算機可執(zhí)行代碼。命令集加載器可以啟用和禁用命令集。宏處理組件可以基于當(dāng)前啟用的命令來向語音識別引擎的API提供語音識別語法。在語音識別引擎識別到與該語法一致的用戶語音時,宏處理組件可以發(fā)起一個或多個計算機可執(zhí)行動作。
文檔編號G10L15/00GK101681621SQ200880016212
公開日2010年3月24日 申請日期2008年5月15日 優(yōu)先權(quán)日2007年5月17日
發(fā)明者B·金, R·L·錢伯斯 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1