專利名稱:合并語音辨識結(jié)果的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于辨識和解釋口述的輸入的自動化電子系統(tǒng)和方法。
背景技術(shù):
在許多情形中,語音是用于對電子裝置提供輸入的優(yōu)選機制。特定來說,口述的輸入可有用于經(jīng)由屏幕、鍵盤、鼠標或需要物理操縱和/或查看顯示屏的其它輸入裝置與電子裝置交互可能較困難或不安全的情形。舉例來說,在駕駛交通工具時,用戶可能希望對移動裝置(例如智能電話)或基于汽車的導航系統(tǒng)提供輸入,且可發(fā)現(xiàn)對裝置說話是提供信息、輸入數(shù)據(jù)或控制裝置的操作的最有效方式。在其它情形中,用戶可能發(fā)現(xiàn)提供口述的輸入是方便的,因為他或她對較為接近地模仿與另一人的交互的對話界面感覺到更舒適。舉例來說,用戶可能希望在與如2011年I月10日申請的第12/987,982號美國實用新型專利申請案“智能自動化助理(Intelligent Automated Assistant) ”中描述的智能自動化助理交互時提供口述的輸入,所述申請案以引用方式并入本文。語音辨識可用于許多不同情境中。舉例來說,一些電子系統(tǒng)提供基于話音的用戶接口,其允許用戶經(jīng)由口述的輸入來控制裝置的操作。語音辨識還可用于交互式話音辨識(IVR)電話系統(tǒng),其中用戶可導覽選項菜單且可提供輸入以例如購買飛機票、查看電影時間等等。語音辨識還用于許多形式的數(shù)據(jù)輸入,包含經(jīng)由文字處理器的寫入。各種已知技術(shù)可用于解釋口述的輸入且將其轉(zhuǎn)換為文本。聲學建??捎糜诋a(chǎn)生形成個別單詞或短語的聲音或音素的統(tǒng)計學表示。可將音頻輸入與這些統(tǒng)計學表示進行比較以作出哪些單詞或短語是想要的確定。在許多系統(tǒng)中,以某種方式界定有限的詞匯表,以便增加成功匹配的可能性。在一些系統(tǒng)中,語言建??捎靡詭椭A測口述的單詞序列中的下一單詞,且進而減少由語音辨識算法產(chǎn)生的結(jié)果中的模糊性。使用聲學和/或語言模型的語音辨識系統(tǒng)的一些實例是CMU Sphinx,作為賓夕法尼亞州匹茲堡市卡內(nèi)基梅隆大學(Carnegie Mellon University ofPittsburgh, Pennsylvania)的工程而開發(fā);龍語音辨識軟件,可從馬薩諸塞州伯靈頓市白勺 Nuance 公司(Nuance Communications of Burlington,Massachusetts) 導;以及谷歌話音搜索,可從加利福尼亞州山景城的谷歌公司(Google, Inc. of Mountain View,California)購得。無論使用何種語音辨識技術(shù),在許多情況下必須消除口述的輸入的兩個或兩個以上可能解釋之間的歧義。最方便的方法常常是詢問用戶若干可能的解釋中的哪一者是想要的。為了實現(xiàn)此目的,可向用戶呈現(xiàn)口述的輸入的可能候選解釋的某個集合,且提示用戶選擇一者。此提示可經(jīng)由視覺接口而發(fā)生,例如在屏幕上呈現(xiàn)的視覺接口,或經(jīng)由音頻接口,其中系統(tǒng)讀完候選解釋且請求用戶選擇一者。當將語音辨識應用于連續(xù)口述的一組單詞(例如一個句子中)時,可能存在若干候選解釋。候選解釋的集合可呈現(xiàn)為一組句子。在許多情況下,候選句子的部分彼此類似(或相同),而其它部分以某種方式不同。舉例來說,口述的句子中的一些單詞或短語對于系統(tǒng)來說可能比其它單詞或短語更容易解釋;或者,一些單詞或短語可能與比其它單詞或短語更多數(shù)目的候選解釋相關(guān)聯(lián)。另外,候選解釋的總排列的數(shù)目由于候選解釋集合中的自由度的總數(shù)的緣故而可能相對高,因為句子的不同部分可能各自以若干不同方式來解釋。潛在較大數(shù)目的排列連同句子的不同部分的不同數(shù)目的候選一起可致使供用戶選擇的候選句子的呈現(xiàn)太多,且難以導覽。需要一種用于對語音辨識系統(tǒng)的用戶呈現(xiàn)候選句子的機制,其中候選句子的呈現(xiàn)經(jīng)簡化且串流以便避免對用戶呈現(xiàn)太多數(shù)目的選項。進一步需要一種用于以減少冗余和混淆信息的方式呈現(xiàn)候選句子的機制。
發(fā)明內(nèi)容
本發(fā)明的各種實施例實施用于在語音辨識系統(tǒng)中呈現(xiàn)候選解釋集合的改善的機制。通過合并過程而最小化或消除冗余元素,以便簡化對用戶呈現(xiàn)的選項。本發(fā)明可在經(jīng)配置以接收和解釋口述的輸入的任何電子裝置中實施。以減少或消除冗余性的合并方式來呈現(xiàn)通過將語音辨識算法應用于口述的輸入所得的候選解釋。系統(tǒng)的輸出是作為針對句子的在候選解釋之間不同的那些部分的不同選項的集合而呈現(xiàn)的候選解釋的列表,同時抑制在候選之間相同的那些部分的重復呈現(xiàn)。根據(jù)各種實施例,候選解釋的經(jīng)合并列表是通過首先獲得語音輸入的候選解釋的原始列表來產(chǎn)生。將每一候選解釋再分為基于時間的部分,從而形成網(wǎng)格。從所述網(wǎng)格移除與來自其它候選解釋的部分重復的那些基于時間的部分。提供向用戶呈現(xiàn)在所述候選解釋中進行選擇的機會的用戶接口,所述用戶接口經(jīng)配置以呈現(xiàn)這些替代項,同時避免呈現(xiàn)重復元素。根據(jù)各種實施例,若干機制中的任一者可用于對用戶呈現(xiàn)候選解釋且接受關(guān)于用戶的選擇的輸入。此些機制可包含任一合適類型的圖形、文本、視覺和/或聽覺接口。在一些實施例中,可對用戶給出從不同候選解釋中選擇個別元素的機會,例如可從第一候選解釋選擇句子的第一部分,同時可從第二候選解釋選擇所述句子的第二部分??山又鴱倪x定的部分組合最終結(jié)果。一旦用戶已在候選解釋當中進行選擇,便可顯示、存儲、傳輸和/或以另外方式作用于選定的文本。舉例來說,在一個實施例中,選定的文本可經(jīng)解釋為用以執(zhí)行某個動作的命令?;蛘?,選定的文本可經(jīng)存儲為文檔或文檔的一部分、電子郵件或其它形式的消息,或用于文本傳輸和/或存儲的任何其它合適的庫或媒體。如本文描述的本發(fā)明的這些各種實施例提供了用于改善在語音輸入的候選解釋當中進行區(qū)分的過程的機制。特定來說,此些實施例通過減少提供輸入以在這些候選解釋當中做出選擇的負擔和復雜性而改善了用戶體驗。根據(jù)一些實施方案,一種方法包含在處理器處,接收口述的輸入的候選解釋的列表。所述方法還包含從所述接收的列表形成記號網(wǎng)格,所述網(wǎng)格被組織為多個行和多個列。所述方法還包含基于時序信息將所述網(wǎng)格分裂成列群組集合,每一列群組包括多個記號群組,每一記號群組包括至少一個記號。所述方法還包含響應于在所述網(wǎng)格中檢測到重復的記號群組,移除所述重復的記號群組以產(chǎn)生經(jīng)合并網(wǎng)格。在一些實施方案中,所述方法包含在輸出裝置處基于所述經(jīng)合并網(wǎng)格而輸出所述候選解釋。在一些實施方案中,所述方法包含基于所述經(jīng)合并網(wǎng)格而致使輸出裝置輸出所述候選解釋。根據(jù)一些實施方案,一種方法包含在處理器處,接收語音輸入的候選解釋的經(jīng)合并列表。所述經(jīng)合并列表包括至少一個具有單個記號群組的列群組,以及至少一個具有多個記號群組的列群組。所述方法還包含針對具有單個記號群組的每一列群組,在輸出裝置上顯示所述單個記號群組。所述方法還包含針對具有多個記號群組的每一列群組,以與包括單個記號群組的列群組的顯示相比在視覺上有區(qū)別的方式在所述輸出裝置上顯示所述記號群組中的第一記號群組。根據(jù)一些實施方案,一種方法包含在運行于服務器處的處理器處獲得口述的輸入的候選解釋的列表。所述方法還包含從所述接收的列表形成記號網(wǎng)格,所述網(wǎng)格被組織為多個行和多個列。所述方法還包含基于時序信息將所述網(wǎng)格分裂成列群組集合,每一列群組包括多個記號群組,且每一記號群組包括至少一個記號。所述方法還包含響應于在所述網(wǎng)格中檢測到重復的記號群組,移除所述重復的記號群組以產(chǎn)生候選項的經(jīng)合并列表。所述方法還包含將候選項的經(jīng)合并列表的表示從服務器發(fā)射到客戶端。根據(jù)一些實施方案,一種電子裝置包含一個或一個以上處理器、存儲器以及一個或一個以上程序,所述一個或一個以上程序存儲在存儲器中且經(jīng)配置以由所述一個或一個以上處理器執(zhí)行,且所述一個或一個以上程序包含用于執(zhí)行上述方法中的任一者的操作的指令。根據(jù)一些實施方案,一種計算機可讀存儲媒體在其中存儲有指令,所述指令在由電子裝置執(zhí)行時致使裝置執(zhí)行上述方法中的任一者的操作。根據(jù)一些實施方案,一種電子裝置包含用于執(zhí)行上述方法中的任一者的操作的構(gòu)件。根據(jù)一些實施方案,一種用于在電子裝置中使用的信息處理設(shè)備包含用于執(zhí)行上述方法中的任一者的操作的構(gòu)件。根據(jù)一些實施方案,一種電子裝置包含候選解釋接收單元,其經(jīng)配置以接收口述的輸入的候選解釋的列表。所述電子裝置還包含處理單元。所述處理單元經(jīng)配置以從所述接收的列表形成記號網(wǎng)格,所述網(wǎng)格被組織為多個行和多個列;基于時序信息將所述網(wǎng)格分裂成列群組集合,每一列群組包括多個記號群組,且每一記號群組包括至少一個記號;以及響應于在所述網(wǎng)格中檢測到重復的記號群組,移除所述重復的記號群組以產(chǎn)生經(jīng)合并網(wǎng)格。在一些實施方案中,所述電子裝置包含輸出單元,其經(jīng)配置以基于所述經(jīng)合并網(wǎng)格而致使輸出裝置輸出所述候選解釋。在一些實施方案中,所述輸出單元經(jīng)配置以基于所述經(jīng)合并網(wǎng)格而輸出所述候選解釋。根據(jù)一些實施方案,一種電子裝置包含候選解釋接收單元,其經(jīng)配置以接收語音輸入的候選解釋的經(jīng)合并列表。所述經(jīng)合并列表包括至少一個具有單個記號群組的列群組,以及至少一個具有多個記號群組的列群組。所述電子裝置還包含顯示單元,其經(jīng)配置以針對具有單個記號群組的每一列群組,在輸出裝置上顯示所述單個記號群組;針對具有多個記號群組的每一列群組,以與包括單個記號群組的列群組的顯示相比在視覺上有區(qū)別的方式顯示所述記號群組中的第一記號群組。根據(jù)一些實施方案,一種電子裝置包含候選解釋接收單元,其經(jīng)配置以獲得口述的輸入的候選解釋的列表。所述電子裝置還包含處理單元,其經(jīng)配置以從所述接收的列表形成記號網(wǎng)格,所述網(wǎng)格被組織為多個行和多個列;基于時序信息將所述網(wǎng)格分裂成列群組集合,每一列群組包括多個記號群組,且每一記號群組包括至少一個記號;響應于在所述網(wǎng)格中檢測到重復的記號群組,移除所述重復的記號群組以形成候選項的經(jīng)合并列表;以及將候選項的經(jīng)合并列表的表示從服務器發(fā)射到客戶端。
本發(fā)明的若干實施例,并且結(jié)合描述用以根據(jù)實施例對本發(fā)明的原理加以解釋。所屬領(lǐng)域的技術(shù)人員將認識到,圖式中所說明的特定實施例僅為示范性的,且并不希望限制本發(fā)明的范圍。圖1是描繪根據(jù)本發(fā)明的一個實施例的用于產(chǎn)生合并的語音辨識結(jié)果的系統(tǒng)的硬件架構(gòu)的框圖。圖2是描繪根據(jù)本發(fā)明的一個實施例的用于在客戶端/服務器環(huán)境中產(chǎn)生合并的語音辨識結(jié)果的系統(tǒng)的硬件架構(gòu)的框圖。圖3是描繪根據(jù)本發(fā)明的一個實施例的用于在客戶端/服務器環(huán)境中產(chǎn)生合并的語音辨識結(jié)果的系統(tǒng)中的數(shù)據(jù)流的框圖。圖4A是描繪根據(jù)本發(fā)明的一個實施例的用以產(chǎn)生合并候選結(jié)果列表的語音辨識處理器的總體操作的流程圖。圖4B描繪在根據(jù)本發(fā)明加以處理之前的如可由語音辨識器產(chǎn)生的候選解釋的列表的實例以及一個具有時序代碼的候選解釋的細節(jié)。圖5A是描繪根據(jù)本發(fā)明的一個實施例的從候選解釋的列表形成記號網(wǎng)格的方法的流程圖。圖5B描繪根據(jù)本發(fā)明的一個實施例的通過圖5A所描繪的方法產(chǎn)生的記號網(wǎng)格的實例。圖6A是描繪根據(jù)本發(fā)明的一個實施例的基于時序信息將網(wǎng)格分裂成列群組集合的方法的流程圖。圖6B描繪根據(jù)本發(fā)明的一個實施例的通過圖6A所描繪的方法產(chǎn)生的列群組列表的實例。圖7A是描繪根據(jù)本發(fā)明的一個實施例的移除列群組中的重復項的方法的流程圖。圖7B描繪根據(jù)本發(fā)明的一個實施例的通過圖7A所描繪的方法產(chǎn)生的去重復列群組列表的實例。圖8A是描繪根據(jù)本發(fā)明的一個實施例的分離共享記號的方法的流程圖。圖SB是描繪根據(jù)本發(fā)明的一個實施例的分離出現(xiàn)在列群組中的所有記號短語的開頭處的記號的方法的流程圖。圖SC是描繪根據(jù)本發(fā)明的一個實施例的分離出現(xiàn)在列群組中的所有記號短語的末尾處的記號的方法的流程圖。圖8D、8E和8F描繪根據(jù)本發(fā)明的一個實施例的根據(jù)圖8A所描繪的方法分離共享記號的實例。圖9A是描繪根據(jù)本發(fā)明的一個實施例的移除多余候選項的方法的流程圖。圖9B到9F描繪根據(jù)本發(fā)明的一個實施例的根據(jù)圖9A中所描繪的方法來移除多余候選項的實例。圖10是描繪根據(jù)本發(fā)明的一個實施例的用于向用戶呈現(xiàn)候選項且用于接受用戶對候選項的選擇的用戶接口的操作方法的流程圖。圖1lA到IlD描繪根據(jù)本發(fā)明的一個實施例的用于向用戶呈現(xiàn)候選項且用于接受用戶對候選項的選擇的用戶接口的實例。圖12A是描繪根據(jù)本發(fā)明的一個實施例的從候選解釋的列表形成記號網(wǎng)格的替代性方法的流程圖。圖12B到12D描繪根據(jù)本發(fā)明的一個實施例的通過圖12A中所描繪的替代性方法產(chǎn)生記號網(wǎng)格的實例。圖13A到13C描繪根據(jù)本發(fā)明的一個實施例的通過圖12A中所描繪的替代性方法產(chǎn)生記號網(wǎng)格的另一實例。圖14A到14E描繪根據(jù)本發(fā)明的一個實施例的擴展邊界記號的實例。圖15說明根據(jù)一些實施例的電子裝置的功能框圖。圖16說明根據(jù)一些實施例的電子裝置的功能框圖。圖17說明根據(jù)一些實施例的電子裝置的功能框圖。
具體實施例方式系統(tǒng)架構(gòu)根據(jù)各種實施例,本發(fā)明可實施在任何電子裝置或包括任何數(shù)目個電子裝置的電子網(wǎng)絡(luò)上。每一個此種電子裝置可為例如桌上型計算機、膝上型計算機、個人數(shù)字助理(PDA)、蜂窩式電話、智能電話、音樂播放器、手持型計算機、平板計算機、一體機、游戲系統(tǒng),等等。如下文所描述,本發(fā)明可實施于獨立的計算系統(tǒng)或其它電子裝置中,或?qū)嵤┯谠陔娮泳W(wǎng)絡(luò)上實施的客戶端/服務器環(huán)境中??墒褂美绯谋緜鬏攨f(xié)議(HTTP)、安全超文本傳輸協(xié)議(SHTTP)、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)等眾所周知的網(wǎng)絡(luò)協(xié)議來實施實現(xiàn)在兩個或兩個以上電子裝置之間的通信的電子網(wǎng)絡(luò)。此種網(wǎng)絡(luò)可為例如因特網(wǎng)或內(nèi)部網(wǎng)??赏ㄟ^例如虛擬專用網(wǎng)絡(luò)(VPN)等眾所周知的技術(shù)來促進對網(wǎng)絡(luò)的安全接入。本發(fā)明還可實施于使用任何已知無線通信技術(shù)和/或協(xié)議的無線裝置中,所述無線通信技術(shù)和/或協(xié)議包含(但不限于)WiF1、第三代移動電信(3G)、通用移動電信系統(tǒng)(UMTS)、寬帶碼分多址(W-CDMA)、分時同步碼分多址(TD-SCDMA)、高速分組接入演進(HSPA+)、CSMA2000、Edge、數(shù)字增強型無線電信(DECT)、藍牙、全球微波接入互操作性(WiMAX)、長期演進(LTE)、高級LTE,或其任何組合。盡管本文在用于接收記號單詞輸入并呈現(xiàn)候選解釋以供用戶選擇的系統(tǒng)的背景下描述本發(fā)明,但所屬領(lǐng)域的技術(shù)人員將認識到,本發(fā)明的技術(shù)可在需要呈現(xiàn)替代項列表,其中替代項的某個(某些)部分在兩個或兩個以上替代項中是重復的其它背景下且實際上任何系統(tǒng)中實施。因此,以下描述希望作為實例說明本發(fā)明的各種實施例,而非要限制所主張的本發(fā)明的范圍。在一個實施例中,本發(fā)明實施為在計算裝置或其它電子裝置上運行的軟件應用程序。在另一實施例中,本發(fā)明實施為在包括至少一個服務器和至少一個客戶端機器的客戶端/服務器環(huán)境中運行的軟件應用程序。客戶端機器可為任何適當?shù)挠嬎阊b置或其它電子裝置,且可使用任何已知的有線和/或無線通信協(xié)議與服務器通信。舉例來說,本發(fā)明可實施為在智能電話、計算機或其它電子裝置上操作的智能自動助理的部分。此種智能自動助理的一個實例描述于2011年I月10日申請的第12/987,982號相關(guān)美國實用專利“智能自動助理(Intelligent Automated Assistant)”中,所述實用專利以引用方式并入本文。在一個實施例中,此種智能自動助理可實施為在移動裝置或其它電子裝置上運行的應用程序(或稱“app”);或者,所述助理的功能性可實施為操作系統(tǒng)的內(nèi)建式組件。然而,所屬領(lǐng)域的技術(shù)人員將認識到,本文描述的技術(shù)也可結(jié)合其它應用程序和系統(tǒng)來實施,和/或在任何其它類型的計算裝置、裝置的組合或平臺上實施?,F(xiàn)在參看圖1,展示描繪根據(jù)一個實施例的用于在獨立裝置102中產(chǎn)生合并的語音辨識結(jié)果的系統(tǒng)100的硬件架構(gòu)的框圖。系統(tǒng)100包含具有處理器105的裝置102,所述處理器105用于執(zhí)行用于執(zhí)行本文所述步驟的軟件。在圖1中,描繪了單獨的音頻處理器107和語音辨識處理器108。音頻處理器107可執(zhí)行與接收音頻輸入并將其轉(zhuǎn)換為數(shù)字化音頻流相關(guān)的操作。語音辨識處理器108可執(zhí)行與語音辨識以及如本文所述的產(chǎn)生及合并候選語音輸入解釋相關(guān)的操作。然而,本文所述的功能性可使用單一處理器或處理器的任何組合來實施。因此,圖1中描繪的特定處理器集合僅僅是示范性的,且可省略任一處理器和/或添加額外處理器。裝置102可為適于運行軟件的任何電子裝置;舉例來說,裝置102可為桌上型計算機、膝上型計算機、個人數(shù)字助理(PDA)、蜂窩式電話、智能電話、音樂播放器、手持型計算機、平板計算機、一體機、游戲系統(tǒng),等等。在一個實施例中,計算裝置102可為可從加利福尼亞州庫拍蒂諾市的蘋果公司(Apple Inc. of Cupertino, California)購得的iPhone或iPad。在一個實施例中,裝置102運行任何適當操作系統(tǒng),例如i0S,也可從加利福尼亞州庫珀蒂諾市的蘋果公司;Mac OS X,也可從加利福尼亞州庫珀蒂諾市的蘋果公司購得;Microsoft Windows,可從華盛頓州雷蒙德市的微軟公司(Microsoft Corporation ofRedmond, Washington)購得;Android,可從加利福尼亞州山景城的谷歌公司(Google, Inc.of Mountain View, California)購得;等等。本發(fā)明的技術(shù)可根據(jù)眾所周知的技術(shù)而實施于在裝置102上運行的軟件應用程序中。舉例來說,軟件應用程序可為獨立軟件應用程序(或稱“app”)或可經(jīng)由瀏覽器或通過專門化的基于網(wǎng)絡(luò)的客戶端軟件而接入的基于網(wǎng)絡(luò)的應用程序或網(wǎng)站,所述瀏覽器例如可從加利福尼亞州庫珀蒂諾市的蘋果公司購得的Safari。在一個實施例中,裝置102包含用于從用戶101接收口述輸入的麥克風103或其它音頻輸入裝置。裝置102還可包含任何其它適當輸入裝置110,包含(例如)鍵盤、鼠標、觸摸屏、軌跡球、軌跡墊、五向開關(guān)、話音輸入裝置、操縱桿,和/或其任何組合。此種輸入裝置110允許用戶101將輸入提供到裝置102,以例如在候選口述輸入解釋中進行選擇。在一個實施例中,裝置102包含用于顯示或以其它方式將包含候選口述輸入解釋的信息呈現(xiàn)給用戶101的屏幕104或其它輸出裝置。在一個實施例中,可省略屏幕104 ;舉例來說,可經(jīng)由揚聲器或其它音頻輸出裝置(未展示)或使用打印機(未展示)或任何其它適當裝置來呈現(xiàn)候選口述輸入解釋。在一個實施例中,提供文本編輯用戶接口(UI) 109,其使得候選解釋經(jīng)由屏幕104呈現(xiàn)給用戶101(作為文本)。用戶101與UE 109交互以在候選解釋中進行選擇,和/或輸入他或她自己的解釋,如上文所述。
舉例來說,在本文詳細描述的實施例中,屏幕104是觸敏屏幕(觸摸屏)。Π 109使得候選解釋呈現(xiàn)于觸摸屏104上;用戶可通過在屏幕104的指示替代解釋可用的區(qū)域上進行點按來從所述解釋中進行選擇。UI 109解釋用戶101的輸入以相應地更新口述輸入的所顯示的解釋。處理器105可為用于根據(jù)眾所周知的技術(shù)在軟件的指導下對數(shù)據(jù)執(zhí)行操作的常規(guī)微處理器。存儲器106可為具有現(xiàn)有技術(shù)中已知的結(jié)構(gòu)和架構(gòu)的隨機存取存儲器,以供105在運行軟件的過程中使用。本地存儲裝置110可為用于以數(shù)字形式存儲數(shù)據(jù)的任何磁性、光學和/或電存儲裝置;實例包含閃存存儲器、磁性硬盤、⑶-R0M,等等。在一個實施例中,本地存儲裝置110用于存儲音頻文件、候選解釋等等,并且存儲由處理器105在執(zhí)行本文所述操作的過程中運行的軟件。所屬領(lǐng)域的技術(shù)人員將認識到,圖1所示的硬件元件的特定布置僅僅是示范性的,且可使用以若干不同方式中的任一方式配置的不同硬件元件來實施本發(fā)明。因此,圖1所示的特定架構(gòu)僅僅是說明性的,且不希望以任何方式限制本發(fā)明的范圍?,F(xiàn)在參看圖2,其展示描繪根據(jù)本發(fā)明的一個實施例的用于在客戶端/服務器環(huán)境中實踐本發(fā)明的硬件架構(gòu)的框圖。此種架構(gòu)可用于例如結(jié)合基于服務器的語音辨識處理器108來實施本發(fā)明的技術(shù)。音頻可在裝置102處接收,且經(jīng)由通信網(wǎng)絡(luò)202傳輸?shù)椒掌?03。在一個實施例中,網(wǎng)絡(luò)202可為能夠傳輸數(shù)據(jù)的蜂窩式電話網(wǎng)絡(luò),例如3G網(wǎng)絡(luò);或者,網(wǎng)絡(luò)202可為因特網(wǎng)或任何其它適當網(wǎng)絡(luò)。服務器203處的語音辨識處理器108產(chǎn)生音頻的候選解釋,且根據(jù)本文所述的技術(shù)產(chǎn)生、處理且合并候選解釋。合并的候選解釋經(jīng)由網(wǎng)絡(luò)202傳輸回到裝置102,以供呈現(xiàn)在屏幕104上。文本編輯Π 109處置解釋的呈現(xiàn)和接受用戶輸入以在所述解釋中進行選擇的技巧。在一個實施例中,服務器203與在語音服務器205處運行的語音辨識器206通信,所述語音服務器205對由裝置102收集到的音頻流執(zhí)行分析,并產(chǎn)生原始候選解釋。語音辨識器206可使用任何常規(guī)技術(shù)來解釋音頻輸入。舉例來說,在一個實施例中,語音辨識器206可為可從馬薩諸塞州伯靈頓的Nuance通信公司(Nuance Communications, Inc.0fBurlington of Massachusetts)購得的Nuance語音辨識器?;蛘?可省略語音服務器205,且可在服務器203處或一個或一個以上服務器的任何其它布置和/或其它組件處執(zhí)行所有語音辨識功能。網(wǎng)絡(luò)通信接口 201為促進經(jīng)由通信網(wǎng)絡(luò)202將數(shù)據(jù)傳達到其它裝置和從其它裝置傳達數(shù)據(jù)的電子組件。服務器203、205經(jīng)由網(wǎng)絡(luò)202與裝置102和/或彼此通信,且在一個實施例中,可相對于裝置102和/或彼此遠程定位或本地定位。所屬領(lǐng)域的技術(shù)人員將認識到,在適當?shù)那闆r下,可使用分布式軟件架構(gòu)來實施本發(fā)明。所屬領(lǐng)域的技術(shù)人員將進一步認識到,圖2所示的客戶端/服務器架構(gòu)僅僅是示范性的,且其它架構(gòu)可用以實施本發(fā)明,所述其它架構(gòu)包含可基于網(wǎng)絡(luò)或可不基于網(wǎng)絡(luò)的架構(gòu)。一般而言,功能和操作在圖2所描繪的各種組件之間的特定劃分僅僅是示范性的;所屬領(lǐng)域的技術(shù)人員將認識到,本文描述的操作和步驟中的任一者可由組件的任何其它適當布置來執(zhí)行。因此,圖2所示的特定架構(gòu)僅僅是說明性的,且不希望以任何方式限制本發(fā)明的范圍?,F(xiàn)在參看圖3,展示描繪類似于圖2中描繪的系統(tǒng)的系統(tǒng)200中的數(shù)據(jù)流的框圖。為清楚起見,在圖3中省略系統(tǒng)200的一些組件??砂瑏碜杂脩?01的口述單詞的音頻303由裝置102的麥克風103捕獲。音頻處理器107將音頻303轉(zhuǎn)換成音頻流305,所述音頻流305為表示原始音頻303的數(shù)字信號。以此方式轉(zhuǎn)換成數(shù)字形式在現(xiàn)有技術(shù)中是眾所周知的。裝置102將音頻流305傳輸?shù)椒掌?03。服務器203中的中繼器304將音頻流305傳輸?shù)皆谡Z音服務器205處運行的語音辨識器206。如上所述,所有此種傳輸可通過蜂窩式電話網(wǎng)絡(luò)或任何其它有線或無線通信網(wǎng)絡(luò)而發(fā)生。如上所述,語音辨識器206可為Nuance語音辨識器206。語音辨識器206產(chǎn)生見于音頻流305中的口述輸入的候選解釋的列表306,且將列表306傳輸?shù)椒掌?03。此種候選解釋在本文也稱為“候選項”。語音辨識處理器108根據(jù)本文描述的技術(shù)產(chǎn)生候選項的經(jīng)合并列表307,且將列表307傳輸?shù)窖b置102。文本編輯Π 109根據(jù)本文描述的技術(shù)經(jīng)由屏幕104將列表307呈現(xiàn)給用戶101,且解釋用戶輸入304以在候選解釋中進行選擇,如本文所描述。一旦用戶101已在候選解釋中進行了選擇,就可顯示、存儲、傳輸,和/或以其它方式作用于選定的文本。舉例來說,在一個實施例中,選定的文本可被解釋為用以在裝置102或另一裝置上執(zhí)行某一動作的命令?;蛘?,選定的文本可存儲為文檔或文檔的一部分、存儲為電子郵件或另一形式的消息,或用于文本傳輸和/或存儲的任何其它適當庫或媒體。操作方法現(xiàn)在參看圖4A,展示描繪根據(jù)本發(fā)明的一個實施例的用以產(chǎn)生合并候選結(jié)果列表的語音辨識處理器的總體操作的流程圖。在一個實施例中,圖4A所描繪的步驟可由圖1或圖2的語音辨識處理器108來執(zhí)行;或者,這些步驟可由任何其它適當組件或系統(tǒng)來執(zhí)行。從語音辨識器206接收的結(jié)果包含例如表示為句子的候選解釋的列表306。如上所論述,這些候選解釋通常含有彼此相同的若干部分。呈現(xiàn)包含這些重復部分的候選解釋可使用戶101不知所措,且可因為使得系統(tǒng)更難以操作而促成貶損的用戶體驗。圖4A所描繪的步驟提供用于合并候選解釋以使得用戶101可更容易地選擇所需文本的方法。語音辨識處理器108從語音辨識器206接收音頻輸入的候選解釋的列表306。每一候選解釋或候選項都含有若干單詞;舉例來說,每一候選解釋可能是句子或句子式的結(jié)構(gòu)。每一候選解釋表示通過眾所周知的語音辨識機制產(chǎn)生的對口述輸入的一個可能解釋。在一個實施例中,語音辨識處理器108還接收單詞水平的時序,指示每一候選解釋中的每一單詞(或短語)的音頻流內(nèi)的開始和結(jié)束點。此種單詞水平的時序可以從語音辨識器206或從任何其它適當來源接收。在一替代實施例中,不使用時序信息;此種實施例在下文進一步詳細描述。現(xiàn)在也參看圖4B,展示在根據(jù)本文描述的技術(shù)加以處理之前的如可由語音辨識器206從單一音頻流產(chǎn)生的候選項411的列表306的實例。每一候選項411都包含若干記號412,所述記號412可為單詞和/或短語。如可從圖4B的實例中看出,許多候選項411彼此類似,在許多情況下僅有一個單詞或兩個不同。以此形式向用戶101呈現(xiàn)此種列表可能會令人不知所措且令人迷惑,因為這將使用戶101難以辨別許多類似候選項411中的哪一個對應于他或她所需的候選項。如將看出,本發(fā)明的系統(tǒng)和方法產(chǎn)生經(jīng)合并列表307,且提供改善的接口以幫助用戶101在候選項中進行選擇。
圖4B還包含描繪一個候選項411的細節(jié)。時序代碼413指示候選項411中的每一記號412的開始時間,例如以毫秒或任何其它適當時間單位來計。在一個實施例中,列表306中的每一候選項411包含用于其記號412中的每一者的此種時序代碼413。可假定每一記號412的結(jié)束時間等于下一記號412的開始時間。為清楚起見,省略行中最后一個記號412的結(jié)束時間,但在一些實施例中,也可以指定結(jié)束時間。再次參看圖4A,語音辨識處理器108對列表306執(zhí)行若干步驟,以便產(chǎn)生經(jīng)合并列表307供呈現(xiàn)給用戶101。首先,使用時序信息從列表306形成402個別單詞或短語(本文稱為記號)的網(wǎng)格。接著基于時序信息將網(wǎng)格分裂403成獨立的列群組。在一個實施例中,通過識別不將個別記號分成兩個或兩個以上部分的可能最小的列來執(zhí)行此分裂。接著從每一列移除404重復項,從而導致候選項的經(jīng)合并列表307。在一個實施例中,可執(zhí)行額外步驟,但可省略這些步驟。舉例來說,在一個實施例中,作出關(guān)于列中的所有條目是否以相同記號開始或結(jié)束的確定。如果是,則將列分裂405成兩個列。接著可重新應用步驟404以便進一步簡化經(jīng)合并列表307。在一個實施例中,如果確定經(jīng)合并列表307仍含有過多的候選項,則可移除406多余的候選項。接著可重新應用步驟404和/或405以便進一步簡化經(jīng)合并列表307。下文將更詳細地描述圖4A所描繪的步驟中的每一者。形成記號網(wǎng)格402現(xiàn)在參看圖5A,展示描繪根據(jù)本發(fā)明的一個實施例的從候選項411的列表306形成記號網(wǎng)格505的方法的流程圖。圖5A所示的方法對應于圖4A的步驟402。對于每一候選項411中的每一記號412,基于包含于從語音辨識器206或從另一來源接收的數(shù)據(jù)中的時序代碼413而確定501記號412的開始和結(jié)束時間。所有記號412的開始和結(jié)束時間形成唯一整數(shù)的集合502,所述整數(shù)經(jīng)過排序。從這一經(jīng)排序的集合,形成503網(wǎng)格,所述網(wǎng)格具有等于候選項411的數(shù)目的行數(shù)和等于經(jīng)排序集合502中的唯一整數(shù)的數(shù)目減一的列數(shù)。網(wǎng)格中的每一單元因此由開始時間和結(jié)束時間界定。為清楚起見,在本申請案的各個圖中,省略每一行中最后一個記號412的結(jié)束時間,但在一些實施例中,也可以指定結(jié)束時間。對于每一候選項411中的每一記號412,將記號412插入504到單元的開始/結(jié)束時序所跨越的所有單元。每一記號412跨越一個或一個以上列;如果記號412的時序與其它候選項411中的其它記號412的時序重疊,則記號412可跨越多個列。結(jié)果是記號412的網(wǎng)格505?,F(xiàn)在參看圖5B,展示通過圖5A所描繪的方法產(chǎn)生的記號412的網(wǎng)格505的實例。網(wǎng)格505含有10行,對應于圖4B的10個候選項411。網(wǎng)格505含有11個列513,對應于從時序代碼413產(chǎn)生的11個唯一整數(shù)(假定省略最后一個列513的結(jié)束時間)。每一行含有來自單一候選項411的記號412。對于每一行,根據(jù)與記號412相關(guān)聯(lián)的時序代碼413來填充網(wǎng)格505的單元。如可在圖5B的實例中看出,一些記號412基于其時序代碼413而跨越多個列。將網(wǎng)格分裂成列群組403現(xiàn)在參看圖6A,展示描繪根據(jù)本發(fā)明的一個實施例的基于時序信息將網(wǎng)格505分裂成列群組集合的方法的流程圖。圖6A所示的方法對應于圖4A的步驟403。
在一個實施例中,通過識別不將個別記號412分成兩個或兩個以上部分的可能最小的列來分裂此網(wǎng)格505。選擇601網(wǎng)格505中的第一列513。作出602關(guān)于選定的列513是否已經(jīng)處于列群組中的確定;如果否,則形成603包含選定的列513的新列群組。作出604關(guān)于當前列513中的任何記號412是否具有跨越超出當前列513的結(jié)束時間的結(jié)束時間的確定。如果是這樣,則將網(wǎng)格505中的下一列513添加到含有限定的列513的列群組。作出609關(guān)于選定的列513是否為網(wǎng)格505中的最后一個列的確定。如果否,則選擇下一列513,且所述方法返回到步驟602。如果選定的列513是網(wǎng)格505中的最后一個列,則產(chǎn)生625列群組列表。圖6A的方法的結(jié)果是列群組605的列表614?,F(xiàn)在也參看圖6B,展示通過圖6A所描繪的方法產(chǎn)生的列群組615的列表614的實例。在所述實例中,列表614含有八個列群組615。每一列群組615可包含單一列513或一個以上列513。列群組615中的每一行含有包含一個或一個以上記號412的記號短語616。移除重復項404現(xiàn)在參看圖7A,展示描繪根據(jù)本發(fā)明的一個實施例的移除列群組615的列表614中的重復項的方法的流程圖。圖7A所示的方法對應于圖4A的步驟404。選擇701第一列群組615。選擇702選定的列群組615中的第一記號短語616。移除703同一列群組615中的任何重復記號短語616。如果在步驟704中,有任何記號短語616保持在選定的列群組615中,則選擇705選定的列群組615中的下一記號短語616,且所述方法返回到步驟703。如果在步驟704中,沒有記號短語616保持在選定的列群組615中,則所述方法進行到步驟706。如果在步驟706中,已到達最后一個列群組615,則所述方法結(jié)束,且輸出列群組715的去重復列表708。如果在步驟706中,尚未到達最后一個列群組615,則選擇707下一列群組715,且所述方法返回到步驟702?,F(xiàn)在參看圖7B,展示通過圖7A所描繪的方法產(chǎn)生的列群組615的去重復列表708的實例。此處,每一列群組615僅含有唯一記號短語616。在一個實施例中,將去重復列表708作為可呈現(xiàn)給用戶101的候選解釋的經(jīng)合并列表307提供到文本編輯Π 109。本文提供關(guān)于文本編輯Π 109的操作和經(jīng)合并列表307的呈現(xiàn)的進一步細節(jié)。在另一實施例中,在將去重復列表708提供到文本編輯Π 109之前對去重復列表708執(zhí)行進一步處理,如下文所述。分離共享記號405現(xiàn)在參看圖8D、8E和8F,展示根據(jù)本發(fā)明的一個實施例的分離共享記號412的實例。在一些情況下,即使記號短語616不具有相同時序代碼,列群組615中的所有記號短語606也可能以相同記號412開始或結(jié)束。舉例來說,在圖8D中,列群組615A含有四個記號短語616A、616B、616C、616D。檢查這四個記號短語發(fā)現(xiàn),它們都以相同記號412 (單詞)“Call”開始。因此,在一個實施例中,將列群組615A分裂成兩個新列群組61 和615E。列群組61 含有各自包含記號412 “Call”的記號短語616E、616F、616G、616H。列群組615E含有各自包含分別來自記號短語616A、616B、616C、616D的剩余記號412的記號短語616J、616K、616L、616M。重新應用去重復步驟404以從列群組61 移除重復項,如圖8F所示。在一個實施例中,僅當此操作將不會產(chǎn)生任何空替代項時才分離共享記號412。舉例來說,再次短暫參看圖7B,第四列群組615中的單詞“quietly”可被分離,但此將導致列群組含有用戶101將不能看到或選擇的空提示。因此,在一個實施例中,在此種情形下,不分離共享記號412?,F(xiàn)在參看圖8A,展示描繪根據(jù)本發(fā)明的一個實施例的分離出共享記號的方法的流程圖。圖8A所示的方法對應于圖4A的步驟405。選擇801第一列群組615。分離802 (除非此分離將導致空替代項)出現(xiàn)在列群組615中的所有記號短語616的開頭處的任何記號412。分離802 (除非此分離將導致空替代項)出現(xiàn)在列群組615中的所有記號短語616的末尾處的任何記號412。如果在步驟804中,已到達最后一個列群組615,則所述方法結(jié)束,且輸出列群組615的經(jīng)更新的列表806。否則,選擇805下一列群組615,且所述方法返回到步驟802。在一個實施例中,將步驟404應用到經(jīng)更新的列表806以便移除重復項?,F(xiàn)在參看圖8B,展示描繪根據(jù)本發(fā)明的一個實施例的分離出現(xiàn)在列群組615的所有記號短語616的開頭處的記號412的方法的流程圖。圖SB所示的方法對應于圖8A的步驟 802。到步驟802的輸入是列群組615。選擇822列群組615中的第一記號短語616。如果在步驟823中,記號短語616僅含有一個記號412,則所述方法結(jié)束,且輸出為單一列群組
615。這確保如果任何列群組615僅含有一個記號412,則將不會發(fā)生分離。如果在步驟823中,記號短語616含有一個以上記號,則作出824關(guān)于記號短語616中的第一記號412是否匹配前一記號短語616中的第一記號412,或這是否是列群組615中的第一記號短語616的確定。如果這些條件中的任一者為真,則所述方法進行到步驟825。否則,所述方法結(jié)束,且輸出為單一列群組615。在步驟825中,作出關(guān)于所述方法是否已到達列群組615中的最后一個記號短語616的確定。如果是這樣,則將列群組615分裂827成兩個新列群組615。用來自每一記號短語616的第一記號412填充828第一新列群組615。用來自每一記號短語616的剩余記號412填充829第二新列群組615。在一個實施例中,在步驟829之后,使用第二新列群組615重復830所述方法,以便可反復地執(zhí)行進一步分裂?;蛘撸诹硪粚嵤├?,在步驟829之后,輸出新列群組615的集合?,F(xiàn)在參看圖8C,展示描繪根據(jù)本發(fā)明的一個實施例的分離出現(xiàn)在列群組615的所有記號短語616的末尾處的記號412的方法的流程圖。圖SC所示的方法對應于圖8A的步驟803。圖SC的方法大體等同于圖SB的方法,只是在記號短語616中的最后一個記號412與前一記號短語616中的最后一個記號412之間作出步驟834(替代步驟824)的比較。另夕卜,如下文所述,用步驟838、839和840替換步驟828、829和830。到步驟803的輸入是列群組615。選擇822列群組615中的第一記號短語616。如果在步驟823中,記號短語616僅含有一個記號412,則所述方法結(jié)束,且輸出為單一列群組615。這確保如果任何列群組615僅含有一個記號412,則將不會發(fā)生分離。如果在步驟823中,記號短語616含有一個以上記號,則作出834關(guān)于記號短語616中的最后一個記號412是否匹配前一記號短語616中的最后一個記號412,或這是否是列群組615中的第一記號短語616的確定。如果這些條件中的任一者為真,則所述方法進行到步驟825。否則,所述方法結(jié)束,且輸出為單一列群組615。在步驟825中,作出關(guān)于所述方法是否已到達列群組615中的最后一個記號短語616的確定。如果是這樣,則將列群組615分裂827成兩個新列群組615。用來自每一記號短語616的最后一個記號412填充838第二新列群組615。用來自每一記號短語616的剩余記號412填充839第一新列群組615。在一個實施例中,在步驟839之后,使用第二新列群組615重復840所述方法,以便可反復地執(zhí)行進一步分裂?;蛘?,在另一實施例中,在步驟839之后,輸出新列群組615的集合。移除多余候選項406在一些情況下,甚至在已執(zhí)行了上文所描述的合并步驟之后,可能仍存在實際上要向用戶101呈現(xiàn)的過多候選項。舉例來說,在一些實施例中,可建立對候選項的數(shù)目的固定限制;該限制可為任何正數(shù),例如5。如果用于列群組的候選項的數(shù)目超過此限制,那么可移除多余候選項406。在其它實施例中,可省略此步驟?,F(xiàn)在參看圖9A,展示了描繪根據(jù)本發(fā)明的一個實施例的移除多余候選項的方法的流程圖。圖9A中所示的方法對應于圖4A的步驟406。將列群組615的經(jīng)更新的列表806接收為輸入。計算901最大當前列群組大小S ;這等于最大的列群組615中的記號短語616的數(shù)目。作出902關(guān)于S是否超過預定閾值(例如5)的確定??苫谌魏慰蛇m用的因素來確定所述預定閾值,所述可適用的因素例如為可用的屏幕大小中的限制、可用性約束、性能等。如果S未超過閾值,那么方法結(jié)束,且可將經(jīng)合并列表307作為輸出提供給文本編輯 UI 109。如果S超過了閾值,那么通過移除一個記號短語616來縮短大小為S的所有列群組615 (在一個實施例中,移除了最后一個記號短語616,但在其它實施例中,可移除其它記號短語616)。這可通過以下操作來完成選擇903第一列群組615 ;確定904列群組615的大小是否等于S,且如果是,則從列群組615中移除905最后一個記號短語616。在步驟906中,如果尚未到達最后一個列群組615,那么選擇907下一列群組615,且重復步驟904。一旦已到達906最后一個列群組615,方法便返回到步驟404,以使得可移除重復項,且/或可分離405共享的記號。一旦重復了步驟404和405,方法便可在需要時返回到步驟406以選擇性地移除額外的候選項?,F(xiàn)在參看圖9B到9F,展示了根據(jù)本發(fā)明的一個實施例的根據(jù)圖9A中所描繪的方法來移除多余候選項的實例。在圖9B中,列群組列表614含有三個列群組615F、615G、615H。列群組615H含有18個記號短語616,這超過了預定閾值6。在圖9C中,移除列群組615H的最后一個記號短語616,從而留下17個記號短語
616。這被連續(xù)地執(zhí)行,以使得在圖9D中,還有16個記號短語606。在對記號短語616的每一移除之后,在可能的情況下重復步驟404和405以允許移除重復項并分離共享的記號。在此實例中,如圖9E中所示,一旦還有12個記號短語616,步驟405便致使將列群組615H分裂成兩個新的列群組615J、615K。對記號短語616的進一步移除產(chǎn)生用于呈現(xiàn)給用戶的合理數(shù)目的替代項,如圖9F中所示。在一個實施例中,可執(zhí)行額外的步驟來處置標點符號和/或空格。依據(jù)類型,標點符號可結(jié)合到左邊和/或右邊的相鄰列。“末尾標點符號”(例如,句號、問好和感嘆號)與前一記號412 —起結(jié)合。在一個實施例中,未執(zhí)行分離,其將導致末尾標點符號出現(xiàn)在列群組的開頭處。其它標點符號(例如,空格、連字號、省略號、引號等)基于給定語言的規(guī)則而結(jié)合到鄰近的記號412。用戶接口一旦已執(zhí)行上文所描述的合并步驟,便可將候選項的經(jīng)合并列表307提供給文本編輯Π 109以用于在屏幕104上或經(jīng)由某一其它輸出裝置向用戶101呈現(xiàn)。在一個實施例中,文本編輯UI 109在客戶端/服務器環(huán)境中在客戶端裝置102上操作,以使得候選項的經(jīng)合并列表307經(jīng)由電子網(wǎng)絡(luò)從服務器203傳輸?shù)娇蛻舳?02,以便使列表307可用于UI 109?;蛘撸诶鐖D1中所描繪的獨立系統(tǒng)中,文本編輯Π 109可實施于裝置102的組件上。在任一情況下,文本編輯Π 109實現(xiàn)經(jīng)由輸入裝置110和屏幕104的用戶101交互?,F(xiàn)在參看圖10,展示了描繪根據(jù)本發(fā)明的一個實施例的用于向用戶101呈現(xiàn)候選項且用于接受用戶對候選項的選擇的文本編輯Π 109的操作方法的流程圖?,F(xiàn)在還參看圖1lA到11D,展示了文本編輯Π 109的操作的實例。在一個實施例中,UI 109呈現(xiàn)一組默認的候選項,且允許經(jīng)由選擇性地激活的彈出菜單來選擇其它候選項。使用來自列表307中的每一列群組615 (每一列群組615可包含一個或一個以上列)的單一條目來構(gòu)建1001句子1101。在一個實施例中,使用占據(jù)每一列群組615的第一行的條目,但在其它實施例中,可使用其它條目。在屏幕104上顯示1002經(jīng)構(gòu)建的句子1101,如圖1lA中所示。在一個實施例中,具有多個選擇的單詞和/或短語被突出顯示或加下劃線1003。此些單詞和/或短語對應于含有一個以上記號短語616的那些列群組615。因此,含有單一記號短語616的列群組615未被突出顯示;相反,含有至少兩個不同記號短語616的列群組615被突出顯示??墒褂萌魏涡问降耐怀鲲@示或加下劃線,且/或任何其它用于在視覺上將此些單詞和/或短語與其它單詞和/或短語區(qū)分開的技術(shù)包含(但不限于):字體、大小、樣式、背景、色彩等。在另一實施例中,未作出此視覺區(qū)別。在又一實施例中,僅當用戶101致使光標懸停于具有多個選擇的單詞和/或短語上方時才可呈現(xiàn)此些視覺上區(qū)分的元件。在一個實施例中,可使用不同形式的突出顯示、加下劃線或其它視覺特性,其(例如)取決于在所顯示的替代項中的置信度的所確定的可能性。舉例來說,如果替代項是可用的,但如果作出了所顯示的默認選擇比所述替代項中的任一者更可能是正確的確定,那么可用更柔和的突出顯示效果來展示一些單詞和/或短語。此方法向用戶101指示其它替代項是可用的,而同時在用戶101的輸入可能更重要的地方(因為所顯示的替代項中的置信度較低)提供一種用以強調(diào)那些單詞和/或短語的方式。所屬領(lǐng)域的技術(shù)人員將認識到,突出顯示、加下劃線或其它視覺特性中的差異可表示任何其它相關(guān)信息,包含(例如,且不限于)用于給定單詞和/或短語的替代項的數(shù)目。圖1lB描繪句子1101的顯示的實例,句子1101具有突出顯示的單詞和突出顯示的短語1102以指示替代項可用于句子1101的那些元素。在一個實施例中,圖1lB中所示的加下劃線以有區(qū)別的色彩(例如,藍色)出現(xiàn)。為了易于命名,術(shù)語“突出顯示的單詞”將在本文中用于指示以一些區(qū)分視覺特性顯示以指示可使用替代項的任何單詞或短語。此外,在一個實施例中,未作出此視覺區(qū)別,在這種情況下,術(shù)語“突出顯示的單詞”僅僅涉及可使用替代項的任何單詞或短語。在一個實施例中,可由用戶101選擇任何突出顯示的單詞1102以激活提供所述單詞或短語的替代項的彈出菜單1103。舉例來說,在其中屏幕104是觸敏的實施例中,用戶101可在被突出顯示的單詞1102上點按1004,從而致使呈現(xiàn)1005含有替代項1104的彈出菜單1103。在另一實施例中,用戶101可使用通過指向裝置、鍵盤、操縱桿、鼠標、觸控板等控制的屏幕上光標來選擇突出顯示的單詞1102。在一個實施例中,彈出菜單1103還含有“鍵入…”條目1105,其允許用戶手動地輸入文本;這可在所列舉的替代項中沒有任何一者對應于用戶101所期望的替代項的情況下使用??墒褂萌魏魏线m的單詞和/或圖標來表示彈出菜單1103中的此條目;短語“鍵入…”的使用僅僅是示范性的。在一個實施例中,一旦用戶101已從彈出菜單1103作出選擇,便移除突出顯示。在其它實施例中,可提供用于輸入替代項的其它機構(gòu)。舉例來說,在一個實施例中,彈出列表1103可提供用于接收針對討論中的特定單詞的進一步音頻輸入的命令。因此,用戶可選擇此命令,且隨后重復曾不正確地解釋的一個單詞。這為用戶提供了一種在不必重復整個句子的情況下闡明語音輸入`的方式。在一個實施例中,還可提供用以允許用戶針對句子1101的未突出顯示的那些部分手動地輸入文本(或以其它方式闡明)的命令;舉例來說,用戶可以能夠選擇任何單詞(不管其是否被突出顯示),以用于鍵入的輸入、口述的闡明等。圖1lC描繪響應于用戶101已在句子1101中的“quietly”上點按而可在屏幕104上顯示的彈出菜單1103的實例。在所述實例中,列舉了兩個替代項:“quietly” 1104A和“quietly but”1104B。在彈出列表1103中還展示了“鍵入…”命令1105。如果用戶101選擇1006 了所列舉的替代項1104中的一者,那么便更新1010所顯示的句子1101。圖1lD描繪在用戶已在圖1lC中選擇了“quietly but”替代項1104B之后的所顯示的句子1101的實例。在所顯示的句子1101中,“Quietly”已被“quietly but”取代。兩個短語仍被突出顯示以指示可使用替代項。用戶101可(例如)通過在確認按鈕上點按或執(zhí)行某一其它動作來指示他或她完成編輯句子1101。如果在步驟1011中,用戶101指示他或她完成,那么解散菜單1103(如果其當前可見),且方法執(zhí)行1012相對于所輸入的文本是適當?shù)娜魏蝿幼?。舉例來說,所述文本可能指定裝置102將要執(zhí)行的某一動作或命令,在這種情況下,此裝置102可用所述動作或命令進行?;蛘?,所述文本可為將要傳輸、輸出或保存的消息、文檔或其它項目;如果是這樣,那么執(zhí)行適當?shù)膭幼?。另外,在一個實施例中,用戶101的選擇可返回1013到服務器203和/或語音服務器205以改進對用戶101的語音的進一步辨識。當用戶101作出此些選擇時,可發(fā)生額外的學習,因此改進了語音辨識處理器108和/或語音辨識器206的性倉泛。如果用戶1001未選擇1006替代項,而是選擇1007 “鍵入…”命令,則顯示1008文本光標(未圖示),且給予用戶101提供所鍵入的輸入的機會。可經(jīng)由物理或虛擬(觸摸屏)鍵盤或通過任何其它合適的構(gòu)件來接收1009此鍵入的輸入。在所鍵入的輸入完成后,方法即刻進行到步驟1010,其中更新對句子1101的顯示。如果在步驟1004或1007中,用戶未指示需要進一步的輸入,那么方法進行到步驟1011,其中作出關(guān)于用戶是否完成編輯文本的確定。一旦用戶完成,方法便進行到步驟1012以結(jié)合文本輸入執(zhí)行適當?shù)膭幼?,并進行到步驟1013以返回用戶的選擇101,以用于進一步改進語音辨識操作。變化在一個實施例中,如上文所描述,候選的解釋在被接收時已被記號化,且時序信息可用于每一記號。在替代性實施例中,可對作為候選解釋提供的一組純文本句子執(zhí)行本發(fā)明的技術(shù),而沒有必要包含時序信息。純文本句子可被記號化并置于網(wǎng)格中,以作為對上文所描述的步驟402的替代。現(xiàn)在參看圖12A,展示了描繪根據(jù)本發(fā)明的一個實施例的從候選解釋411的列表306形成記號412的網(wǎng)格505的替代性方法的流程圖。所述方法包含可取代上文所描述的步驟402的一組1200步驟?,F(xiàn)在還參看圖12B到12D,展示了根據(jù)本發(fā)明的一個實施例的通過圖12A中所描繪的替代性方法產(chǎn)生記號412的網(wǎng)格505的實例。候選解釋411被 分裂1201成多個記號412。如此項技術(shù)中眾所周知的,可使用標準語言專有的字符串分詞器。舉例來說,對于是英語句子或句子片段的候選解釋411,可基于空格字符來分解候選項411。在一個實施例中,選擇1202最長的候選項411 ;所屬領(lǐng)域的技術(shù)人員將認識到,可選擇411任何其它候選項。圖12B展示其中以黑體字指示最長的候選項411A的實例列表306。在此實例中,“最長的”意味著具有最多單詞的候選項411。應用1203最小編輯距離/diff算法以確定相對于選定的候選項41IA的對每一候選項411的最少的添加/移除。在一個實施例中,在記號水平下應用此算法,這與字符水平相對,從而減少處理和/或存儲器消耗。圖12C展示其中已應用最小編輯距離/diff算法的實例列表306。對于除了選定候選項411A之外的每一候選項411,通過加下劃線來指示相對于選定候選項411A的改變,同時通過方括號來指示刪除。隨后選擇1204具有距所有其它候選項411最小編輯距離的候選項411。隨后使用最小編輯距離/diff算法的結(jié)果將候選項411形成1205為網(wǎng)格505。圖12D展示具有基于所述算法的多個列513的網(wǎng)格505的實例。所述算法的應用確保了空白區(qū)域在適當?shù)那闆r下將留在網(wǎng)格505中(例如,在含有單詞“but”的列513中),以使得彼此對應的記號412將出現(xiàn)在網(wǎng)格505的同一列中。網(wǎng)格505可隨后用作對如上文所描述的步驟403的輸入??赏ㄟ^將任意時間指派給每一列(例如,時間0、1、2、3等)而人為地引入時序代碼,如圖14A到14E中的實例所描O在一些情況下,此方法可引入不確定性?,F(xiàn)在還參看圖13A到13C,展示了通過圖12A中所描繪的替代性方法產(chǎn)生記號412的網(wǎng)格505的另一實例,其中引入了不確定性。在此實例中,如圖13A中所示,最長的候選項411A是“Call Adam Shire at work”。圖13B展示其中已應用最小編輯距離/diff算法的實例列表306。由于所述系統(tǒng)不具有充分信息來合并空單元,所以不知道“Adam”是否與“Call”或“Ottingshire”重疊,從而產(chǎn)生圖13C中所示的網(wǎng)格505。更具體來說,新記號“”引入不確定性,因為不知道所述記號是與緊接左邊的列513還是與緊接右邊的列513相關(guān)聯(lián)。在一個實施例中,可使用長度試探法,或通過作出第一列513全都相同的注解,或通過任何其它合適的機構(gòu)來解決此情形。在另一實施例中,可通過擴展邊界記號412以使得對于具有空單元的若干行,所述空單元被刪除且兩個相鄰的列513擴展成使得其彼此接觸,來解決圖13C中示范的情形。對于在對應于空單元的位置中具有記號412的若干行,所述記號與被曾擴展的列513占據(jù)的時間跨度的至少部分重疊。對共享記號412的分裂403、去重復404和分離405隨后如上文所描述那樣執(zhí)行,從而實現(xiàn)最終結(jié)果。現(xiàn)在參看圖14A到14E,展示了以所描述的方式擴展邊界記號412的實例。記號412B是通過最小編輯距離確定而計算出的“被添加的”單詞。在圖14A中,網(wǎng)格505已被修改以移除行3和4中的空單元,因為在那兩行中不存在記號412B。記號412A和412C擴展成使得其彼此接觸,從而構(gòu)成記號412B的不存在。在行I和2中,記號412B橫跨兩列,以使得其與被行3和4中的記號412A和412C占據(jù)的時間周期重疊。在圖14B中,已執(zhí)行分裂步驟403,從而產(chǎn)生三個列群組615L、615M和615N。列群組615L含有四列513,列群組615M和615N各自含有一列513。在圖14C中,已執(zhí)行對重復項404的移除,以使得列群組615M和615N各自含有一個條目。列群組615L未變。在圖14D中,已執(zhí)行對共享記號405的分離。此導致列群組615L被分裂成兩列615P 和 615Q。在圖14E中,已再次執(zhí)行對重復項404的移除,以使得列群組615P現(xiàn)在含有一個條目??呻S后將所述結(jié)果提供為經(jīng)合并列表307。根據(jù)一些實施方案,圖15展示根據(jù)上文所描述的本發(fā)明的原理而配置的電子裝置1500的功能框圖。裝置的功能塊可由硬件、軟件或硬件與軟件的組合來實施以實行本發(fā)明的原理。所屬領(lǐng)域的技術(shù)人員應理解,圖15中所描述的功能塊可經(jīng)組合或分離為若干子塊以實施如上文所描述的本發(fā)明的原理。因此,本文中的描述可支持對本文中所描述的功能塊的任何可能組合或分離或進一步定義。如圖15中所示,電子裝置1500包含候選解釋接收單元1502,候選解釋接收單元1502經(jīng)配置以接收口述輸入的候選解釋的列表。電子裝置1500還包含處理單元1506,處理單元1506耦合到候選解釋接收單元1502。在一些實施方案中,處理單元1506包含網(wǎng)格形成單元1508、網(wǎng)格分裂單元1510和重復項移除單元1512。在一些實施方案中,電子裝置還包含耦合到處理單元1506的輸出單元1514。
處理單元1506經(jīng)配置以:從所接收的列表形成記號網(wǎng)格,所述網(wǎng)格被組織為多個行和多個列(例如,用網(wǎng)格形成單元1508);基于時序信息將所述網(wǎng)格分裂成列群組集合,每一列群組包括多個記號群組,且每一記號群組包括至少一個記號(例如,用網(wǎng)格分裂單元1510);且,響應于在所述網(wǎng)格中檢測到重復的記號群組,移除所述重復的記號群組以產(chǎn)生經(jīng)合并的網(wǎng)格(例如,用重復項移除單元1512)。在一些實施例方案中,輸出單元1514經(jīng)配置以基于所述經(jīng)合并網(wǎng)格而致使輸出裝置輸出所述候選解釋。在一些實施例方案中,輸出單元1514經(jīng)配置以基于所述經(jīng)合并網(wǎng)格而輸出所述候選解釋。在一些實施方案中,所接收的列表中的每一候選解釋包括多個記號,且處理單元1506經(jīng)配置以(例如,用網(wǎng)格形成單元1508):針對每一候選解釋中的每一記號,確定開始時間和結(jié)束時間;從所述確定的開始時間和結(jié)束時間形成唯一整數(shù)集合;形成包括對應于所接收的列表中的候選解釋的數(shù)目的若干行的網(wǎng)格,每一行包括對應于所述唯一整數(shù)集合中的唯一整數(shù)的數(shù)目的若干單元,且所述單元被組織為若干列;以及將每一記號插入由所述記號的所述開始時間和結(jié)束時間所跨越的所有單元中。在一些實施方案中,所接收的列表中的每一候選解釋包括與開始時間和結(jié)束時間相關(guān)聯(lián)的多個記號,且所述網(wǎng)格的每一列與開始時間和結(jié)束時間相關(guān)聯(lián),且處理單元1506經(jīng)配置以(例如,用網(wǎng)格分裂單元1510):針對所述網(wǎng)格中的每一列響應于所述列并未已屬于列群組,形成包含當前列的列群組;針對所述列中的每一記號,確定所述列中的任何記號是否與跨越超過所述列的所述結(jié)束時間的結(jié)束時間相關(guān)聯(lián);以及響應于所述列中的任一記號跨越超過所述列的所述結(jié)束時間,將下一列添加到包含所述當前列的所述列群組。在一些實施方案中,處理單元1506經(jīng)配置以(例如,用重復項移除單元1512):界定多個記號短語,每一記號短語包括出現(xiàn)在列群組的一行內(nèi)的至少一個記號;以及針對所述網(wǎng)格中的每一列群組確定任何記號短語是否在所述列群組內(nèi)重復;以及響應于任何記號短語是重復的,刪除所述重復項。在一些實施方案中,處理單元1506經(jīng)配置以響應于任何邊緣記號是在于其所有記號短語中具有至少兩個記號的列群組內(nèi)的記號短語之間共享的,將所述列群組分裂成包括所述共享的邊緣記號的第一列群組和包括所述記號短語中的至少一個剩余記號的第二列群組(例如,用網(wǎng)格分裂單元1510)。在一些實施方案中,處理單元1506經(jīng)配置以針對在其所有記號短語中具有至少兩個記號的每一列群組響應于任何記號出現(xiàn)在所述列群組中的所有記號短語的開始處,將所述列群組分裂為包括第一記號的第一列群組和包括所述記號短語中的至少一個剩余記號的第二列群組;以及響應于任何記號出現(xiàn)在所述列群組中的所有記號短語的結(jié)束處,將所述列群組分裂為包括最后一個記號的第一列群組和包括所述記號短語中的至少一個剩余記號的第二列群組(例如,用網(wǎng)格分裂單元1510)。在一些實施方案中,處理單元1506經(jīng)配置以響應于任一列群組具有超過預定閾值的記號短語數(shù)目移除至少一個記號短語;以及重復所述分裂所述網(wǎng)格和移除重復項的步驟(例如,用網(wǎng)格分裂單元1510和/或重復項移除單元1512)。在一些實施方案中,處理單元1506經(jīng)配置以,針對在其所有記號短語中具有至少兩個記號的每一列群組響應于任何記號出現(xiàn)在所述列群組中的所有記號短語的開始處,將所述列群組分裂為包括第一記號的第一列群組和包括所述記號短語中的至少一個剩余記號的第二列群組(例如,用網(wǎng)格分裂單元1510);以及響應于任何記號出現(xiàn)在所述列群組中的所有記號短語的結(jié)束處,將所述列群組分裂為包括最后一個記號的第一列群組和包括所述記號短語中的至少一個剩余記號的第二列群組(例如,用網(wǎng)格分裂單元1510)。在一些實施方案中,處理單元1506經(jīng)配置以,響應于任一列群組具有超過預定閾值的記號短語數(shù)目移除至少一個記號短語;以及重復所述分裂所述網(wǎng)格和移除重復項的步驟(例如,用網(wǎng)格分裂單元1510和/或重復項移除單元1512)。在一些實施方案中,候選解釋接收單元1502經(jīng)配置以接收多個經(jīng)記號化的候選解釋,每一候選解釋包括多個記號;以及接收每一記號的時序信息。在一些實施方案中,處理單元1506經(jīng)配置以(例如,用網(wǎng)格形成單元1508):將所接收的列表中的候選解釋分裂為若干記號;選擇所述候選解釋中的一者;應用差分算法以相對于選定的候選解釋來確定每一其它候選解釋的差異;以及基于差分算法的結(jié)果而形成記號網(wǎng)格。在一些實施方案中,輸出單元1514經(jīng)配置以針對每一列群組響應于所述列群組包括單個記號群組,在輸出裝置上顯示所述單個記號群組;以及響應于所述列群組包括多個記號群組,顯示所述多個記號群組。在一些實施方案中,輸出單元1514經(jīng)配置以針對每一列群組響應于所述列群組包括單個記號群組,在輸出裝置上顯示所述單個記號群組;以及響應于所述列群組包括多個記號群組,在所述輸出裝置上顯示所述記號群組中的第一記號群組,且顯示所述列群組中的剩余記號群組的至少一子集作為所述第一記號群組的替代項。在一些實施方案中,輸出單元1514經(jīng)配置以針對至少一個包括多個記號群組的列群組,在顯示裝置上顯示包括來自所述列群組的至少一個替代記號群組的菜單。在一些實施方案中,輸出單元1514經(jīng)配置以針對每一列群組響應于所述列群組包括單個記號群組,在輸出裝置上顯示所述單個記號群組;以及響應于所述列群組包括多個記號群組,在所述輸出裝置上以與包括單個記號群組的列群組的顯示相比在視覺上有區(qū)別的方式在所述輸出裝置上顯示所述記號群組中的第一記號群組。在一些實施方案中,輸出單元1514經(jīng)配置而以指示所顯示的記號群組中的置信度的方式顯示所述記號群組中的第一記號群組。在一些實施方案中,輸出單元1514經(jīng)配置而以指示所顯示的記號群組是口述輸入的正確解釋的相對可能性的方式顯示所述記號群組中的第一記號群組。在一些實施方案中,輸出單元1514經(jīng)配置以針對每一列群組響應于所述列群組包括單個記號群組,在輸出裝置上顯示所述單個記號群組;以及響應于所述列群組包括多個記號群組,在所述輸出裝置上顯示且突出顯示所述記號群組中的一者。在一些實施方案中,所述電子裝置進一步包括輸入接收單元,其經(jīng)配置以接收與突出顯示的記號群組相關(guān)聯(lián)的用戶輸入;以及輸出單元1514,其經(jīng)配置以響應于與突出顯示的記號群組相關(guān)聯(lián)的用戶輸入,在顯示裝置上顯示包括來自相同列群組的至少一個替代記號群組的菜單。在一些實施方案中,所述輸入接收單元進一步經(jīng)配置以接收從所述菜單選擇替代記號群組的用戶輸入,且輸出單元1514進一步經(jīng)配置以響應于從所述菜單選擇替代記號群組的所述用戶輸入,用所述替代記號群組取代所述突出顯示的記號群組。在一些實施方案中,處理單元1506進一步經(jīng)配置以,響應于從所述菜單選擇替代記號群組的所述用戶輸入,將選定的替代記號群組提供給語音辨識引擎以用于訓練所述語音辨識引擎。根據(jù)一些實施方案,圖15展示根據(jù)上文所描述的本發(fā)明的原理而配置的電子裝置1500的功能框圖。裝置的功能塊可由硬件、軟件或硬件與軟件的組合來實施以實行本發(fā)明的原理。所屬領(lǐng)域的技術(shù)人員應理解,圖15中所描述的功能塊可經(jīng)組合或分離為若干子塊以實施如上文所描述的本發(fā)明的原理。因此,本文中的描述可支持對本文中所描述的功能塊的任何可能組合或分離或進一步定義。如圖16中所示,電子裝置1600包含候選解釋接收單元1602,候選解釋接收單元1602經(jīng)配置以接收口述輸入的候選解釋的列表。經(jīng)合并列表包括至少一個具有單個記號群組的列群組和至少一個具有多個記號群組的列群組。電子裝置1600還包含輸出單元1606,輸出單元1606耦合到候選解釋接收單元1602。輸出單元1606經(jīng)配置以針對具有單個記號群組的每一列群組,在輸出裝置上顯示所述單個記號群組;以及針對具有多個記號群組的每一列群組,在所述輸出裝置上以與包括單個記號群組的列群組的顯示相比在視覺上有區(qū)別的方式在所述輸出裝置上顯示所述記號群組中的第一記號群組。在一些實施方案中,輸出單元1606經(jīng)配置以在輸出裝置上顯示包括來自所述列群組的至少一個替代記號群組的菜單。在一些實施方案中,以視覺上有區(qū)別的方式顯示所述記號群組中的第一記號群組包括突出顯示所顯示的記號群組。在一些實施方案中,電子裝置1600包含輸入接收單元,所述輸入接收單元經(jīng)配置以接收與突出顯示的記號群組相關(guān)聯(lián)的用戶輸入,且輸出單元1606經(jīng)配置以響應于與突出顯示的記號群組相關(guān)聯(lián)的用戶輸入,在輸出裝置上顯示包括來自同一列群組的至少一個替代記號群組的菜單。在一些實施方案中,用戶輸入單元經(jīng)配置以接收從菜單選擇替代記號群組的用戶輸入,且所述輸出單元1606經(jīng)配置以響應于從菜單選擇替代記號群組的用戶輸入,用所述替代記號群組替換突出顯示的記號群組。如圖17中所示,電子裝置1700包含候選解釋接收單元1702,所述候選解釋接收單元1702經(jīng)配置以獲得口述輸入的候選解釋的列表。電子裝置1700還包含處理單元1706,所述處理單元1706耦合到候選解釋接收單元1702。在一些實施方案中,處理單元1706包含網(wǎng)格形成單元708、網(wǎng)格分裂單元1710以及重復項移除單元1712。在一些實施方案中,所述電子裝置還包含輸出單元1714,所述輸出單元1714耦合到處理單元1706。處理單元1706經(jīng)配置以從所接收列表形成記號網(wǎng)格,所述網(wǎng)格組織成多個行和多個列(例如,通過網(wǎng)格形成單元1708);基于時序信息將網(wǎng)格分裂成列群組集合,每一列群組包括多個記號群組,每一記號群組包括至少一個記號(例如,通過網(wǎng)格分裂單元1710);以及,響應于在網(wǎng)格中檢測到重復的記號群組,移除重復的記號群組以形成候選項的合并列表(例如,通過重復項移除單元。輸出單元1714經(jīng)配置以將候選項的合并列表的表不從服務器傳輸?shù)娇蛻舳?。電子裝置1700還包含輸出單元1706,所述輸出單元1706耦合到候選解釋接收單元1702。輸出單元1706經(jīng)配置以對于具有單一記號群組的每一列群組,在輸出裝置上顯示單一記號群組;且對于具有多個記號群組的每一列群組,在輸出裝置上以與包括單個記號群組的列群組的顯示相比在視覺上有區(qū)別的方式顯示所述記號群組中的第一記號群組。在一些實施方案中,電子裝置1700包含輸入單元1716,所述輸入單元1716經(jīng)配置以接收音頻流的表示。候選解釋接收單元1702經(jīng)配置以對音頻流的所述表示執(zhí)行語音辨識分析,以產(chǎn)生口述輸入的候選解釋的列表。在一些實施方案中,電子裝置1700經(jīng)配置以從服務器接收音頻流的表示(例如,通過輸入單元1716);將音頻流的所述表示中繼到語音辨識服務器(例如,通過輸出單元1714);以及接收由語音辨識服務器產(chǎn)生的口述輸入的候選解釋的列表(例如,通過輸入單元 1716)。已相對于可能的實施例特別詳細地描述了本發(fā)明。所屬領(lǐng)域的技術(shù)人員將了解,可在其它實施例中實踐本發(fā)明。首先,對組件的特定命名、術(shù)語的大寫、屬性、數(shù)據(jù)結(jié)構(gòu),或任何其它編程或結(jié)構(gòu)性方面不是強制性的或重要的,且實施本發(fā)明和/或其特征的機構(gòu)可具有不同名稱、格式或協(xié)議。此外,可經(jīng)由硬件和軟件的組合來實施所述系統(tǒng),如所描述,或所述系統(tǒng)完全實施于硬件元件中,或完全實施于軟件元件中。而且,在本文中所描述的各種系統(tǒng)組件之間對功能性的特定劃分僅是示范性的,且不是強制性的;由單一系統(tǒng)組件執(zhí)行的功能可替代地由多個組件執(zhí)行,且由多個組件執(zhí)行的功能可替代地由單一組件執(zhí)行。在各種實施例中,可將本發(fā)明實施為用于執(zhí)行上文所描述的技術(shù)的系統(tǒng)或方法,單一地或以任何組合實施。在另一實施例中,可將本發(fā)明實施為包括非暫時性計算機可讀存儲媒體和計算機程序代碼的計算機程序產(chǎn)品,所述計算機程序代碼編碼于媒體上,以用于致使計算裝置或其它電子裝置中的處理器執(zhí)行上文所描述的技術(shù)。說明書中提到“一個實施例”或“一實施例”是表示結(jié)合實施例所描述的特定特征、結(jié)構(gòu)或特性包含在本發(fā)明的至少一個實施例中。短語“在一個實施例中”在說明書中各個地方的出現(xiàn)不一定全部涉及同一實施例。以上內(nèi)容的一些部分是依據(jù)對計算裝置的存儲器內(nèi)的數(shù)據(jù)位的操作的算法和符號表示來呈現(xiàn)。這些算法描述和表示是由數(shù)據(jù)處理領(lǐng)域的技術(shù)人員用來將其工作的實質(zhì)最有效地傳達給此項技術(shù)中的其它技術(shù)人員的手段。算法在此處且一般被解釋為產(chǎn)生所要結(jié)果的步驟(指令)的自一致序列。所述步驟是需要對物理量的物理操縱的步驟。通常,但不一定,這些量呈能夠存儲、傳遞、組合、比較或以其它方式操縱的電、磁或光學信號的形式。主要出于通用的原因,有時將這些信號稱為位、值、元素、符號、字符、項、編號等是便利的。此外,在不失一般性的情況下,有時將需要對物理量的物理操縱的步驟的某些布置稱為模塊或代碼裝置也是便利的。然而,應牢記,所有這些和類似術(shù)語將與適當?shù)奈锢砹肯嚓P(guān)聯(lián)且僅為應用于這些量的便利的標記。如從以下論述顯而易見的,除非另有具體規(guī)定,否則應了解,在整個描述中,利用例如“處理”或“計算”或“推算”或“顯示”或“確定”等的術(shù)語的論述是指計算機系統(tǒng)的動作和過程,或操縱和轉(zhuǎn)變被表示為計算機系統(tǒng)存儲器或寄存器或其它此類信息存儲、傳輸或顯示裝置內(nèi)的物理(電子)量的數(shù)據(jù)的類似電子計算模塊和/或裝置。本發(fā)明的某些方面包含在本文中以算法的形式描述的過程步驟和指令。應注意,本發(fā)明的過程步驟和指令可體現(xiàn)于軟件、固件和/或硬件中,且當體現(xiàn)于軟件中時,可被下載以駐留于由多種操作系統(tǒng)使用的不同平臺上且從所述平臺操作。本發(fā)明還涉及一種用于執(zhí)行本文中的操作的設(shè)備。此設(shè)備可針對所需目的而具體構(gòu)建,或者其可包括由存儲在計算裝置中的計算機程序選擇性激活或再配置的通用計算裝置。此計算機程序可存儲在非暫時性計算機可讀存儲媒體中,例如(但不限于)任一類型的盤,包含軟磁盤、光盤、CD-ROM、磁光盤、只讀存儲器(ROM)、隨機存取存儲器(RAM)、EPR0M、EEPR0M、快閃存儲器、固態(tài)驅(qū)動器、磁性或光學卡、專用集成電路(ASIC)或適合于存儲電子指令的任一類型的媒體,且各自耦合到計算機系統(tǒng)總線。此外,本文涉及的計算裝置可包含單個處理器,或者可為采用多處理器設(shè)計以獲得增加的計算能力的架構(gòu)。
本文呈現(xiàn)的算法和顯示器不固有地涉及任何特定計算裝置、虛擬化系統(tǒng)或其它設(shè)備。各種通用系統(tǒng)也可與根據(jù)本文的教示的程序一起使用,或者可證實可便利地構(gòu)建更專門的設(shè)備來執(zhí)行所需的方法步驟。用于多種這些系統(tǒng)的所需結(jié)構(gòu)將從本文提供的描述中明了。另外,不參考任何特定編程語言來描述本發(fā)明。將了解,可使用多種編程語言來實施如本文描述的本發(fā)明的教示,且上文對特定語言的任何參考的提供是為了揭示本發(fā)明的實現(xiàn)和最佳模式。因此,在各種實施例中,本發(fā)明可實施為軟件、硬件和/或其它元件,用于控制計算機系統(tǒng)、計算裝置或其它電子裝置,或其任一組合或多數(shù)。根據(jù)此項技術(shù)中眾所周知的技術(shù),此電子裝置可包含例如處理器、輸入裝置(例如鍵盤、鼠標、觸摸板、跟蹤板、操縱桿、跟蹤球、麥克風和/或其任一組合)、輸出裝置(例如屏幕、揚聲器和/或類似物)、存儲器、長期存儲裝置(例如磁性存儲裝置、光學存儲裝置和/或類似物),和/或網(wǎng)絡(luò)連接性。此電子裝置可為便攜式或非便攜式的??捎糜趯嵤┍景l(fā)明的電子裝置的實例包含:移動電話、個人數(shù)字助理、智能電話、一體機、服務器計算機、企業(yè)計算裝置、桌上型計算機、膝上型計算機、平板計算機、消費型電子裝置、電視機、機頂盒或類似物。用于實施本發(fā)明的電子裝置可使用任何操作系統(tǒng),例如:iOS,可從加利福尼亞州庫珀蒂諾市的蘋果公司購得;Mac OS X,可從加利福尼亞州庫珀蒂諾市的蘋果公司購得;Android,可從加利福尼亞州山景城的谷歌公司購得;Linux !Microsoft Windows,可從華盛頓州雷蒙德市的微軟公司購得;和/或適于在裝置上使用的任何其它操作系統(tǒng)。在各種實施例中,本發(fā)明可在分布式處理環(huán)境、聯(lián)網(wǎng)計算環(huán)境或基于網(wǎng)絡(luò)的計算環(huán)境中實施。本發(fā)明的元件可在客戶端計算裝置、服務器、路由器和/或其它網(wǎng)絡(luò)或非網(wǎng)絡(luò)組件上實施。在一些實施例中,本發(fā)明是使用客戶端/服務器架構(gòu)來實施,其中一些組件是在一個或一個以上客戶端計算裝置上實施,且其它組件是在一個或一個以上服務器上實施。在一個實施例中,在實施本發(fā)明的技術(shù)的過程中,客戶端從服務器請求內(nèi)容,且服務器響應于請求而返回內(nèi)容??稍诳蛻舳擞嬎阊b置處安裝瀏覽器以用于啟用這些請求和響應,且提供用戶接口,用戶可通過所述用戶接口來起始和控制此些交互并且查看呈現(xiàn)的內(nèi)容。在一些實施例中,用于實施本發(fā)明的網(wǎng)絡(luò)組件中的任一者或全部可使用任何合適的電子網(wǎng)絡(luò)(無論是有線還是無線或`其任一組合)且使用用于實現(xiàn)此通信的任何合適協(xié)議而以通信方式彼此耦合。此網(wǎng)絡(luò)的一個實例是因特網(wǎng),但也可使用其它網(wǎng)絡(luò)來實施本發(fā)明。雖然已相對于有限數(shù)目的實施例描述了本發(fā)明,但得益于上述描述的所屬領(lǐng)域的技術(shù)人員將了解,可設(shè)想不脫離如本文描述的本發(fā)明的范圍的其它實施例。另外應注意,已主要針對可讀性和指示性目的而選擇了在說明書中使用的語言,且可能不是進行選擇以描繪或限制發(fā)明性標的物。因此,本發(fā)明的揭示內(nèi)容既定是說明而不是限制在權(quán)利要求書中陳述的本發(fā)明的范圍。
權(quán)利要求
1.一種用于產(chǎn)生語音辨識結(jié)果的經(jīng)合并列表的計算機實施的方法,其包括: 在處理器處,接收口述的輸入的候選解釋的列表; 在所述處理器處,從所述接收的列表形成記號網(wǎng)格,所述網(wǎng)格被組織為多個行和多個列; 在所述處理器處,基于時序信息將所述網(wǎng)格分裂成列群組集合,每一列群組包括多個記號群組,每一記號群組包括至少一個記號; 在所述處理器處,響應于在所述網(wǎng)格中檢測到重復的記號群組,移除所述重復的記號群組以產(chǎn)生經(jīng)合并網(wǎng)格;以及 基于所述經(jīng)合并網(wǎng)格而致使輸出裝置輸出所述候選解釋。
2.根據(jù)權(quán)利要求1所述的計算機實施的方法,其中所述接收的列表中的每一候選解釋包括多個記號,且其中從所述接收的列表形成記號網(wǎng)格包括: 在所述處理器處,針對每一候選解釋中的每一記號,確定開始時間和結(jié)束時間; 在所述處理器處,從所述確定的開始時間和結(jié)束時間形成唯一整數(shù)集合; 在所述處理器處,形成包括對應于所述接收的列表中的候選解釋的數(shù)目的若干行的網(wǎng)格,每一行包括對應于所述唯一整數(shù)集合中的唯一整數(shù)的數(shù)目的若干單元,所述單元被組織為若干列;以及 在所述處理器處,將每一記號插入由所述記號的所述開始時間和結(jié)束時間所跨越的所有單元中。
3.根據(jù)權(quán)利要求1所述的計算機實施的方法,其中所述接收的列表中的每一候選解釋包括與開始時間和結(jié)束時間相關(guān)聯(lián)的多個記號,且其中所述網(wǎng)格的每一列與開始時間和結(jié)束時間相關(guān)聯(lián),且其中基于時序信息將所述網(wǎng)格分裂成列群組集合包括: 在所述處理器處,針對所述網(wǎng)格中的每一列: 響應于所述列并未已屬于列群組,形成包含當前列的列群組; 針對所述列中的每一記號,確定所述列中的任何記號是否與跨越超過所述列的所述結(jié)束時間的結(jié)束時間相關(guān)聯(lián);以及 響應于所述列中的任一記號跨越超過所述列的所述結(jié)束時間,將下一列添加到包含所述當前列的所述列群組。
4.根據(jù)權(quán)利要求1所述的計算機實施的方法,其中移除所述重復的記號群組以形成候選解釋的所述經(jīng)合并網(wǎng)格包括: 在所述處理器處,界定多個記號短語,每一記號短語包括出現(xiàn)在列群組的一行內(nèi)的至少一個記號;以及 針對所述網(wǎng)格中的每一列群組: 確定任何記號短語是否在所述列群組內(nèi)重復;以及 響應于任何記號短語是重復的,刪除重復項。
5.根據(jù)權(quán)利要求1到4中任一權(quán)利要求所述的計算機實施的方法,其進一步包括: 在所述處理器處,響應于任何邊緣記號是在于所有其記號短語中具有至少兩個記號的列群組內(nèi)的記號短語之間共享,將所述列群組分裂成包括所述共享的邊緣記號的第一列群組和包括所述記號短語中的至少一個剩余記號的第二列群組。
6.根據(jù)權(quán)利要求1到4中任一權(quán)利要求所述的計算機實施的方法,其進一步包括:在所述處理器處,針對在所有其記號短語中具有至少兩個記號的每一列群組: 響應于任何記號出現(xiàn)在所述列群組中的所有記號短語的開始處,將所述列群組分裂為包括第一記號的第一列群組和包括所述記號短語中的至少一個剩余記號的第二列群組;以及 響應于任何記號出現(xiàn)在所述列群組中的所有記號短語的結(jié)束處,將所述列群組分裂為包括最后一個記號的第一列群組和包括所述記號短語中的至少一個剩余記號的第二列群組。
7.根據(jù)權(quán)利要求1到4中任一權(quán)利 要求所述的計算機實施的方法,其進一步包括: 在所述處理器處,響應于任一列群組具有超過預定閾值的記號短語數(shù)目: 移除至少一個記號短語;以及 重復所述分裂所述網(wǎng)格和移除重復項的步驟。
8.根據(jù)權(quán)利要求1到4中任一權(quán)利要求所述的計算機實施的方法,其中接收口述的輸入的候選解釋的所述列表包括: 在所述處理器處,接收多個經(jīng)記號化的候選解釋,每一候選解釋包括多個記號;以及 在所述處理器處,接收每一記號的時序信息。
9.根據(jù)權(quán)利要求1到4中任一權(quán)利要求所述的計算機實施的方法,其中候選解釋的所述經(jīng)合并網(wǎng)格包括: 至少一個具有單個記號群組的列群組;以及 至少一個具有多個記號群組的列群組。
10.根據(jù)權(quán)利要求9所述的計算機實施的方法,其中致使所述輸出裝置輸出所述候選解釋包括: 針對每一列群組: 響應于所述列群組包括單個記號群組,致使所述輸出裝置在所述輸出裝置上顯示所述單個記號群組;以及 響應于所述列群組包括多個記號群組,致使所述輸出裝置在所述輸出裝置上顯示所述多個記號群組。
11.根據(jù)權(quán)利要求9所述的計算機實施的方法,其中致使所述輸出裝置輸出所述候選解釋包括: 針對每一列群組: 響應于所述列群組包括單個記號群組,致使所述輸出裝置在所述輸出裝置上顯示所述單個記號群組;以及 響應于所述列群組包括多個記號群組,致使所述輸出裝置在所述輸出裝置上顯示所述記號群組中的第一記號群組,且顯示所述列群組中的剩余記號群組的至少一子集作為所述第一記號群組的替代項。
12.根據(jù)權(quán)利要求11所述的計算機實施的方法,其進一步包括: 針對至少一個包括多個記號群組的列群組,致使所述輸出裝置顯示包括來自所述列群組的至少一個替代記號群組的菜單。
13.根據(jù)權(quán)利要求9所述的計算機實施的方法,其中致使所述輸出裝置輸出所述候選解釋包括:針對每一列群組: 響應于所述列群組包括單個記號群組,致使所述輸出裝置在所述輸出裝置上顯示所述單個記號群組;以及 響應于所述列群組包括多個記號群組,致使所述輸出裝置以與包括單個記號群組的列群組的顯示相比在視覺上有區(qū)別的方式在所述輸出裝置上顯示所述記號群組中的第一記號群組。
14.根據(jù)權(quán)利要求9所述的計算機實施的方法,其中致使所述輸出裝置輸出所述候選解釋包括: 針對每一列群組: 響應于所述列群組包括單個記號群組,致使所述輸出裝置在所述輸出裝置上顯示所述單個記號群組;以及 響應于所述列群組包括多個記號群組,致使所述輸出裝置在所述輸出裝置上顯示且突出顯示所述記號群組中的一者。
15.一種電子裝置,其包括: 用于接收口述的輸入的候選解釋的列表的構(gòu)件; 用于從所述接收的列表形成記號網(wǎng)格的構(gòu)件,所述網(wǎng)格被組織為多個行和多個列;用于基于時序信息將所述網(wǎng)格分裂成列群組集合的構(gòu)件,每一列群組包括多個記號群組,每一記號群組包括至少一個記號; 用于響應于在所述網(wǎng)格中檢測到重復的記號群組而移除所述重復的記號群組以產(chǎn)生經(jīng)合并網(wǎng)格的構(gòu)件;以及 用于基于所述經(jīng)合并網(wǎng)格而致使輸出裝置輸出所述候選解釋的構(gòu)件。
16.根據(jù)權(quán)利要求15所述的電子裝置,其中所述用于移除所述重復的記號群組以形成候選解釋的所述經(jīng)合并網(wǎng)格的構(gòu)件包括: 用于界定多個記號短語的構(gòu)件,每一記號短語包括出現(xiàn)在列群組的一行內(nèi)的至少一個記號;以及 用于針對所述網(wǎng)格中的每一列群組進行以下操作的構(gòu)件: 確定任何記號短語是否在所述列群組內(nèi)重復;以及 響應于任何記號短語是重復的,刪除重復項。
17.一種供在電子裝置中使用的信息處理設(shè)備,其包括: 用于接收口述的輸入的候選解釋的列表的構(gòu)件; 用于從所述接收的列表形成記號網(wǎng)格的構(gòu)件,所述網(wǎng)格經(jīng)組織為多個行和多個列;用于基于時序信息將所述網(wǎng)格分裂成列群組集合的構(gòu)件,每一列群組包括多個記號群組,每一記號群組包括至少一個記號; 用于響應于在所述網(wǎng)格中檢測到重復的記號群組而移除所述重復的記號群組以產(chǎn)生經(jīng)合并網(wǎng)格的構(gòu)件;以及 用于基于所述經(jīng)合并網(wǎng)格而致使輸出裝置輸出所述候選解釋的構(gòu)件。
18.根據(jù)權(quán)利要求17所述的信息處理設(shè)備,其中所述用于移除所述重復的記號群組以形成候選解釋的所述經(jīng)合并網(wǎng)格的構(gòu)件包括: 用于界定多個記號短語的構(gòu)件,每一記號短語包括出現(xiàn)在列群組的一行內(nèi)的至少一個記號;以及 用于針對所述網(wǎng)格中的每一列群組進行以下操作的構(gòu)件: 確定任何記號短語是否在所述列群組內(nèi)重復;以及 響應于任何記號短語是重復的,刪除重復項。
19.一種電子裝置,其包括: 候選解釋接收單元,其經(jīng)配置以用于接收口述的輸入的候選解釋的列表; 處理單元,其經(jīng)配置以用于: 從所述接收的列表形成記號網(wǎng)格,所述網(wǎng)格被組織為多個行和多個列; 基于時序信息將所述網(wǎng)格分裂成列群組集合,每一列群組包括多個記號群組,每一記號群組包括至少一個記號; 響應于在所述網(wǎng)格中檢測到重復的記號群組,移除所述重復的記號群組以產(chǎn)生經(jīng)合并網(wǎng)格;以及 基于所述經(jīng)合并網(wǎng)格而致使輸出裝置輸出所述候選解釋。
20.根據(jù)權(quán)利要求19所述的電子裝置,其中所述處理單元進一步經(jīng)配置以用于: 界定多個記號短語,每一記號短語包括出現(xiàn)在列群組的一行內(nèi)的至少一個記號;以及 針對所述網(wǎng)格中的每一列群組: 確定任何記號短語是否在所述列群組內(nèi)重復;以及 響應于任何記號短語是重 復的,刪除重復項。
全文摘要
以減少冗余性的合并方式來呈現(xiàn)通過將語音辨識算法應用于口述的輸入所得的候選解釋。產(chǎn)生候選解釋的列表,且將每一候選解釋再分為基于時間的部分,從而形成網(wǎng)格。從所述網(wǎng)格移除與來自其它候選解釋的部分重復的那些基于時間的部分。提供向用戶呈現(xiàn)在所述候選解釋中進行選擇的機會的用戶接口,所述用戶接口經(jīng)配置以呈現(xiàn)不具有重復元素的這些替代項。
文檔編號G10L15/30GK103077715SQ20121035349
公開日2013年5月1日 申請日期2012年9月20日 優(yōu)先權(quán)日2011年9月20日
發(fā)明者馬爾切洛·巴斯泰亞福特, 大衛(wèi)·A·維納斯凱 申請人:蘋果公司