離線(即,非實時)語言識別系統(tǒng)用于不要求對所講言語進行同時回應(yīng)的方案中。使用離線語言識別的示例包括生成無監(jiān)督訓(xùn)練數(shù)據(jù)用于語言和聲音建模、音頻檢索以及自動語言郵件轉(zhuǎn)錄。在沒有實時約束的情況下,存在傳遞所講言語通過多個言語譯碼器從而降低識別錯誤率的選擇;然而,必須仍考慮資源成本。當(dāng)每個所講言語由遠少于全部可用的離線言語譯碼器的多個離線言語譯碼器進行處理時,在計算力、存儲、時間和其它資源方面的要求迅速變得重要。因此,甚至對于離線語言識別,必須針對使用附加系統(tǒng)獲得識別錯誤率降低的益處來衡量成本。
正是針對這些以及其它考慮,做出了本發(fā)明。雖然已經(jīng)論述了相對具體的問題,應(yīng)當(dāng)理解,本文公開的實施例不應(yīng)限于解決在
背景技術(shù):
中提到的具體問題。
技術(shù)實現(xiàn)要素:
提供該概述以便以下文在詳述部分中進一步描述的簡化形式來引入構(gòu)思的選擇。該概述不意在確定權(quán)利要求主題的關(guān)鍵特征或主要特征,也不意在該概述用作確定權(quán)利要求主題的范圍的輔助。
僅當(dāng)額外的言語譯碼器很可能對組合結(jié)果增加顯著的益處時,增量語言識別系統(tǒng)的實施例才使用下一言語譯碼器對所講言語進行增量地譯碼。基于精度、性能、多樣性和其它因素在系列中對多個言語譯碼器進行排序。識別管理引擎通過言語譯碼器系列協(xié)調(diào)所講言語的增量譯碼,組合譯碼后言語,并且判定額外的處理是否很可能顯著地改善結(jié)果。如果是,則識別管理引擎接合下一言語譯碼器且循環(huán)繼續(xù)。如果結(jié)果不可能顯著地改善,則結(jié)果被接受且譯碼停止。
可以針對注解訓(xùn)練數(shù)據(jù)來測試可用的言語譯碼器以發(fā)展用于對言語譯碼器排序的識別精度、系統(tǒng)多樣性、性能或其它度量?;谠撆判?,言語譯碼器被排序成系列。言語譯碼器的排序是可選的以基于方案要求來提供精度與資源使用之間的權(quán)衡。
在配置之后,所講言語由系列中的連續(xù)的言語譯碼器進行順序地處理。言語譯碼器對所講言語進行譯碼且將識別結(jié)果返回到識別管理器。如果沒有可用的在先識別結(jié)果,則將當(dāng)前結(jié)果處理為提議識別結(jié)果。對于對所講言語進行譯碼的第二嘗試和后續(xù)嘗試,將新識別結(jié)果與在先識別結(jié)果組合以產(chǎn)生新的提議識別結(jié)果。
識別管理器基于與提議識別結(jié)果的組件關(guān)聯(lián)的性能分?jǐn)?shù)來確定所述提議識別結(jié)果的估計可靠性。識別結(jié)果可以包括通過言語譯碼器生成的譯碼后言語以及性能分?jǐn)?shù)。在各實施例中,可利用組合結(jié)果中的每個譯碼后言語的諸如識別置信度的性能分?jǐn)?shù)或者為統(tǒng)計分類器饋送與提議識別結(jié)果的組件相關(guān)聯(lián)的各個分?jǐn)?shù)來獲得估計可靠性。
將估計可靠性與接受閾值進行比較以判定是否將額外的資源投入于識別所講言語。如果估計可靠性值滿足或超過閾值,則提議識別結(jié)果被接受最為最終識別結(jié)果,并且所講言語的識別結(jié)束。
在正常情形下,全部可用的言語譯碼器需要對較少的所講言語進行譯碼,但是最終的譯碼后言語組合將具有接近以及經(jīng)常是非常接近如果用全部可用的言語譯碼器對所講言語進行譯碼且將譯碼后言語組合所能得到的最大值的精度??傮w來講,增量語言識別系統(tǒng)能夠以小的代價捕獲全部的多個言語譯碼器組合的幾乎全部益處。
附圖說明
通過參考以下的附圖能夠最佳地理解本公開的進一步的特征、方面和優(yōu)點,其中為了更清楚地顯示出細節(jié)元件不是按比例繪制,并且其中相似的附圖標(biāo)記在全部視圖中指示相似的元件:
圖1示出了在典型的操作環(huán)境中對所講言語進行增量譯碼以最小化資源使用的增量語言識別系統(tǒng)的一個實施例;
圖2是增量語言識別系統(tǒng)的一個實施例的框圖;
圖3是使用最少資源在多言語譯碼器環(huán)境中高效地執(zhí)行離線語言識別的識別管理方法的一個實施例的高級流程圖;
圖4是識別管理方法的替選實施例的高級流程圖;
圖5是示出可以實現(xiàn)本發(fā)明的實施例的計算設(shè)備的物理組件的一個實施例的框圖;
圖6A和6B是示出可以實現(xiàn)本發(fā)明的實施例的移動計算設(shè)備的簡化框圖;以及
圖7是示出用于將如本文所述的增量語言識別功能提供給一個或多個客戶端設(shè)備的系統(tǒng)的體系結(jié)構(gòu)的一個實施例的分布式計算系統(tǒng)的簡化框圖。
具體實施方式
下文參考構(gòu)成了各個實施例的一部分的附圖來更全面地描述各個實施例,附圖顯示出具體的示范性的實施例。然而,實施例可通過多種不同的形式來實現(xiàn),而不應(yīng)解釋為限于本文闡述的實施例;相反,這些實施例被提供以使本公開將是全面的以及完整的,并且將向本領(lǐng)域技術(shù)人員充分傳達實施例的范圍。實施例可以實現(xiàn)為方法、系統(tǒng)或設(shè)備。因此,實施例可以呈現(xiàn)為硬件實現(xiàn)方式、全軟件實現(xiàn)方式或者組合軟件和硬件方面的實現(xiàn)方式的形式。下面的詳細說明因此不應(yīng)在限制的意義上考量。
在本文中描述了以及在附圖中圖示出增量語言識別系統(tǒng)的實施例。僅當(dāng)額外的言語譯碼器很可能對組合結(jié)果增加顯著益處時,增量語言識別系統(tǒng)才使用額外的言語譯碼器對所講言語進行增量地譯碼?;诰取⑿阅?、多樣性和其它因素按系列對可用的言語譯碼器進行排序。識別管理引擎通過言語譯碼器系列協(xié)調(diào)所講言語的譯碼,組合譯碼后言語,以及判定額外的處理是否很可能顯著地改善識別結(jié)果。如果是,則識別管理引擎接合下一言語譯碼器且循環(huán)繼續(xù)。如果精度不能得到顯著改善,則結(jié)果被接受且譯碼停止。因此,獲得精度接近該系列的最大值的譯碼后言語,而不使用該系列中的全部言語譯碼器對所講言語進行譯碼,從而最小化資源使用。
圖1示出了在典型的操作環(huán)境中將所講言語進行增量地譯碼以最小化資源使用的增量語言識別系統(tǒng)的一個實施例。增量語言識別系統(tǒng)100從言語源獲得所講言語。所講言語是指講話者所發(fā)出的且以適合與言語譯碼器一起使用的形式(例如,音頻文件或流)采集到的一種或多種聲音。例如,所講言語可從與運行于客戶端設(shè)備106上的語言使能應(yīng)用104交互的用戶102采集。適合的客戶端設(shè)備的示例包括但不限于,膝上型計算機、桌面式計算機、移動電話、個人數(shù)字助理、智能手機、智能手表、視頻游戲系統(tǒng)、智能電器(例如,智能電視機)、導(dǎo)航系統(tǒng)以及汽車娛樂系統(tǒng)(例如,汽車無線電)。應(yīng)當(dāng)意識到,客戶端設(shè)備可以將多個組成設(shè)備(例如,音頻游戲系統(tǒng)和電視機)組合來提供最小功能。
圖示的實施例的操作環(huán)境描繪了改進實時語言識別的語言識別模型訓(xùn)練方案。用于所講言語的音頻數(shù)據(jù)可以傳遞到實時(即,在線)言語譯碼器108,言語譯碼器108將語言轉(zhuǎn)換(即,識別或譯碼)成文本(即,譯碼后言語)。在圖示的實施例中,實時言語譯碼器運行于遠程計算設(shè)備110上。在其它實施例中,言語譯碼器可以運行于客戶端設(shè)備上且本地地處理所講言語。實時言語譯碼器將音頻數(shù)據(jù)譯碼且將譯碼后言語返回語言使能應(yīng)用。
所講言語可以添加到存儲在言語庫112中的言語歷史,以便離線使用,諸如但不限于,生成無監(jiān)督訓(xùn)練數(shù)據(jù),用于語言和聲音建模、音頻檢索和自動語音郵件轉(zhuǎn)錄。
運行于計算設(shè)備116上的識別管理器114對運行在一個或多個計算設(shè)備120上的多個離線言語譯碼器118的操作進行定序。每個言語譯碼器可用于獨立地對所講言語進行譯碼且由于諸如語言模型、聲音模型和譯碼引擎配置的一些系統(tǒng)組件的差異而提供可能不同于其它言語譯碼器的結(jié)果。
言語譯碼器排序為系列。在各個實施例中,識別管理器將每個言語譯碼器進行增量地且選擇性地接合且組合結(jié)果直至發(fā)生停止條件。當(dāng)返回了具有規(guī)定可靠性(例如,精度水平)的譯碼后言語或者已經(jīng)通過該系列中的全部言語譯碼器對譯碼后言語進行譯碼時,發(fā)生停止條件。言語譯碼器的次序反映了通過組合來自全部可用言語譯碼器的譯碼后言語所能獲得的最大精度與通過前述使用多個言語譯碼器或者使用僅一些可用的言語譯碼器所能獲得的最小資源使用之間的折中。
在任一極端處的結(jié)果將會不盡如人意。使用每個可用的言語譯碼器必然涉及到最大資源使用。通過使用全部可用的言語譯碼器所實現(xiàn)的精度增益相對于實現(xiàn)那些增益所耗費的額外資源的成本是不值得的。相反,最小資源使用將最大精度約束到單個言語譯碼器的能力。雖然當(dāng)使用單個言語譯碼器時資源成本較低,但是顯著的精度增益可通過組合來自少數(shù)幾個言語譯碼器的結(jié)果來實現(xiàn)。在許多情況下,接近通過組合來自全部可用的言語譯碼器的譯碼后言語所能獲得的最大精度的可接受精度可利用少于全部可用的言語譯碼器來獲得。然而,獲得期望的精度水平所需的言語譯碼器的數(shù)量對于不同的所講言語是變化的。
在接合言語譯碼器之后,識別管理器將當(dāng)前譯碼后言語與在先結(jié)果組合且評估所得到的譯碼后言語組合的精度。如果實現(xiàn)了選定的精度水平,則譯碼后言語組合被接受作為該所講言語的譯碼后言語,并且不接合額外的言語譯碼器。在一些實施例中,如果好像沒有可用的言語譯碼器能夠精確地譯碼所講言語,識別管理器也結(jié)束譯碼。然后,最終譯碼后言語與言語庫中的所講言語相關(guān)聯(lián)。
存儲的所講言語和關(guān)聯(lián)的譯碼后言語可供用于各種任務(wù)。在圖示的實施例中,所講言語和關(guān)聯(lián)的譯碼后言語用于訓(xùn)練新一代譯碼模型122(例如,聲學(xué)或語言學(xué)模型)以與實時言語譯碼器一起使用。當(dāng)已經(jīng)精確地譯碼了適當(dāng)數(shù)量的所講言語,所講言語和關(guān)聯(lián)的譯碼后言語可以傳遞到運行于計算設(shè)備126上的訓(xùn)練引擎124。在其它實施例中,關(guān)聯(lián)的譯碼后言語可以是發(fā)送到語音郵箱接收者或者以其它方式為語音郵箱接收者所能訪問的語音郵件消息(即,所講言語)的自動轉(zhuǎn)錄。
一些或全部的言語譯碼器和識別管理器可以在同一計算機系統(tǒng)上或者在單獨的計算機系統(tǒng)(即,分布式系統(tǒng))上執(zhí)行。計算機系統(tǒng)可以實現(xiàn)為單個的計算設(shè)備(例如,服務(wù)器)或計算設(shè)備群(例如,服務(wù)器群)。分布式計算機系統(tǒng)可以經(jīng)由一個或多個網(wǎng)絡(luò)通信,上述網(wǎng)絡(luò)例如但不限于因特網(wǎng)、廣域網(wǎng)、局域網(wǎng)和個域網(wǎng)。
圖2是增量語言識別系統(tǒng)的一個實施例的框圖。言語譯碼器118將注解訓(xùn)練數(shù)據(jù)202(例如,轉(zhuǎn)錄的所講言語)譯碼以生成表示能用于對言語譯碼器進行排序和定序的特性的基準(zhǔn)度量204?;鶞?zhǔn)度量可以包括識別精度度量,諸如但不限于,文字錯誤率(WER)和/或句子錯誤率(SER)。另外,可以針對性能度量,諸如譯碼速度、存儲器使用量和其它資源使用相關(guān)特性,評估言語譯碼器。可以基于言語譯碼器的算法、聲學(xué)模型、語言模型和其它特性的相似度和/或差別來生成多樣性度量,同時由言語譯碼器使用訓(xùn)練數(shù)據(jù)生成的譯碼后言語結(jié)果的相似度和/或差異(例如,同意率)可用作評估言語譯碼器之間的多樣性的因素。
基于排序按系列對言語譯碼器進行定序,并且配置識別管理器114。配置206還可以包含額外的信息,諸如但不限于語言識別組件的序列化,接合語言識別組件所需的調(diào)用(例如,進入點和任何變量),以及用于評估識別結(jié)果的參考值。參考值可特定于每個言語譯碼器或者可以是全局的。
譯碼器接口208處理識別管理器與言語譯碼器之間的交互。譯碼器接口從待譯碼的所講言語212的集合中選擇所講言語210并且調(diào)用下一言語譯碼器。在各個實施例中,識別管理器將所講言語裝載到存儲器中并且將音頻數(shù)據(jù)流式傳輸?shù)窖哉Z譯碼器。替代地,在存儲音頻數(shù)據(jù)的存儲器可供言語譯碼器訪問的情況下,識別管理器可以將音頻數(shù)據(jù)對象的指針傳遞到言語譯碼器。在其它實施例中,識別管理器將諸如所講言語的音頻文件或數(shù)據(jù)庫記錄索引的均勻命名公約(UNC)或操作具體路徑的參考傳遞到言語譯碼器,該言語譯碼器裝載音頻文件或者直接訪問記錄。
在所講言語已經(jīng)被譯碼后,譯碼器接口接受來自當(dāng)前言語譯碼器的譯碼后言語214和關(guān)聯(lián)的性能分?jǐn)?shù)216。組合器218將當(dāng)前譯碼后言語與先前譯碼后的言語組合220(如果這些存在)組合。估計器222使用與構(gòu)成了譯碼后言語組合的譯碼后言語相關(guān)聯(lián)的性能分?jǐn)?shù)來估計當(dāng)前譯碼后言語組合的可靠性分?jǐn)?shù)224??煽啃苑?jǐn)?shù)是對譯碼后言語組合的精度以及額外的系統(tǒng)組合可進一步減少錯誤的可能性的度量。在一些實施例中,利用使用來自通過配置的言語譯碼器系列對訓(xùn)練數(shù)據(jù)進行譯碼的結(jié)果構(gòu)建的統(tǒng)計分類器226來估計可靠性分?jǐn)?shù)。
評估器228將可靠性分?jǐn)?shù)與對應(yīng)于當(dāng)前離線譯碼器的參考值進行比較。參考值可以包括接受閾值230,在接受閾值230或之上,譯碼后言語可接受,并且在一些實施例中,包括放棄閾值232,在該放棄閾值之下所講言語被視為不可譯碼的。換言之,放棄閾值對應(yīng)于表明所講言語可能過難而不能通過現(xiàn)有的言語譯碼器正確譯碼的水平。在任何情況下,無需浪費對該所講言語的額外譯碼。在各個實施例中,接受閾值代表了認(rèn)為所講言語被正確譯碼所需的最小精度水平。訓(xùn)練數(shù)據(jù)的譯碼可用于調(diào)諧接受閾值和/或放棄閾值。
增量語言識別系統(tǒng)的實施例可選地基于來自評估器的決策來參考所講言語進行音頻處理。因此,增量語言識別系統(tǒng)可以包括提供音頻文件或數(shù)據(jù)的輔助助理的一個或多個音頻處理器234。各音頻處理器可以按所講言語中的自然中斷(例如,對話中的轉(zhuǎn)音或顯著暫停)將音頻數(shù)據(jù)分塊成單元,將音頻標(biāo)準(zhǔn)化(例如,音量調(diào)準(zhǔn)),增強音頻(例如,強調(diào)或不強調(diào)音頻中的選定頻率),去除或減少離散噪聲(例如,嘶嘶聲,砰然聲),去除或減少在恒定頻率或恒定頻率范圍內(nèi)的背景聲音或噪聲(例如,風(fēng)噪聲)。
例如,如果可靠性分?jǐn)?shù)降至放棄閾值以下,譯碼器接口可以接合音頻處理器以整理或增強所講言語,然后將處理后的所講言語重新提交給當(dāng)前的言語譯碼器進行重新譯碼。如果在音頻處理完成后譯碼持續(xù)失敗,則該所講言語的譯碼被放棄。音頻處理參考決策可基于其它標(biāo)準(zhǔn),諸如在接受分?jǐn)?shù)以下但是在接受分?jǐn)?shù)的某百分比以內(nèi)的可靠性分?jǐn)?shù),或者具體定義的參考閾值。
在各個實施例中,音頻處理器可以集成到言語譯碼器系列中或者放置在單獨的系列中并且以與言語譯碼器相同的方式被增量地調(diào)用。因此,與音頻處理器相關(guān)聯(lián)的資源成本還可以通過僅在需要時使用音頻處理器以及僅使用需要數(shù)量的音頻處理器來實現(xiàn)令人滿意的結(jié)果來最小化。
譯碼歷史存儲器236存儲有關(guān)所講言語的譯碼的信息,諸如每個言語譯碼器所返回的譯碼后言語和關(guān)聯(lián)的性能分?jǐn)?shù)以及譯碼后言語組合和關(guān)聯(lián)的估計可靠性或其它導(dǎo)出值的組合。當(dāng)獲得可接受的最終譯碼后言語組合238時,其鏈接到對應(yīng)的所講言語且存儲在例如言語庫112中。
在通常情形下,將需要通過全部可用言語譯碼器對很少的所講言語進行譯碼,但是最終譯碼后言語組合將具有接近以及經(jīng)常非常接近通過用全部可用言語譯碼器對所講言語進行譯碼以及將譯碼后言語組合所能獲得的最大值的精度??傮w來講,增量語言識別系統(tǒng)能夠以小的代價來捕獲完整的多個言語譯碼器組合的幾乎全部益處。
圖3是使用最少資源在多言語譯碼器環(huán)境中高效地執(zhí)行離線語言識別的識別管理方法的一個實施例的高級流程圖。識別管理方法300包括配置操作302。在配置期間,可以針對注解訓(xùn)練數(shù)據(jù)來測試可用的言語譯碼器以形成識別精度、系統(tǒng)多樣性、性能或其它(例如,導(dǎo)出)度量,這些可用于對言語譯碼器進行排序。
基于該排序,言語譯碼器被定序成系列。言語譯碼器的定序是可選的以便基于方案要求來提供精度和資源使用之間的權(quán)衡。在簡單的實施例中,序列化可以基于單個特性,諸如文字錯誤率。在一些實施例中,序列化可以基于多個標(biāo)準(zhǔn),諸如識別精度和系統(tǒng)多樣性度量的組合。例如,產(chǎn)生不同結(jié)果的言語譯碼器很可能具有更多的協(xié)同作用且產(chǎn)生更佳質(zhì)量的組合結(jié)果。為了利用該協(xié)同作用,在選定了具有最低文字錯誤率的言語譯碼器作為系列中的第一個言語譯碼器之后,其余的言語譯碼器可以按每個言語譯碼器的文字錯誤率和對第一言語譯碼器結(jié)果的同意率的加權(quán)和來定序。在導(dǎo)出度量的示例中,錯誤率與處理速度之比用于序列化。該導(dǎo)出度量可用于對在系列中較靠前的、具有良好但不一定是最佳的識別精度度量的較快言語譯碼器給予偏好。
在配置之后,增量語言識別對處理未注解的所講言語準(zhǔn)備就緒。言語譯碼操作304將所講言語傳遞到系列中的下一言語譯碼器。言語譯碼器將所講言語譯碼且將識別結(jié)果(即,譯碼后言語)和一個或多個性能分?jǐn)?shù)返回到識別管理器。
在先結(jié)果決策306判定所講言語的在先識別結(jié)果是否可用。如果沒有可用的在先識別結(jié)果,則當(dāng)前的結(jié)果被獨自處理為提議識別結(jié)果。
可靠性估計操作308基于與提議識別結(jié)果的組件關(guān)聯(lián)的一個或多個性能分?jǐn)?shù)來確定提議識別結(jié)果的估計可靠性。根據(jù)言語譯碼器,識別結(jié)果可以包括譯碼后言語以及由言語譯碼器生成的性能分?jǐn)?shù)。例如,言語譯碼器可以為譯碼后言語提供識別置信度分?jǐn)?shù)。一些言語譯碼器可以返回每個所講言語的替代假設(shè)。替代假設(shè)可以通過N-best列表、識別網(wǎng)格以及其它類似的布置的形式來呈現(xiàn)。每個替代假設(shè)可以包含替代譯碼后言語的實例以及與該替代譯碼后言語相關(guān)聯(lián)的識別置信度。另外,替代假設(shè)可以包含額外的信息和性能分?jǐn)?shù),包括但不限于,語言模型和/或聲學(xué)模型分?jǐn)?shù)。當(dāng)替代假設(shè)存在時,可靠性估計操作可利用頂層結(jié)果(例如,N-best列表中的第一個結(jié)果)來工作。
在各個實施例中,可以利用識別置信度來獲得估計可靠性。對于來自初始譯碼操作的提議識別結(jié)果,可靠性估計操作可以簡單地采用識別置信度或者由初始言語譯碼器返回的其它單個性能分?jǐn)?shù)(例如,語言或聲學(xué)模型分?jǐn)?shù))中的一個。替代地,可靠性估計操作可以從諸如但不限于識別置信度、語言模型分?jǐn)?shù)、聲學(xué)模型分?jǐn)?shù)、B-best列表或識別網(wǎng)格尺寸以及N-best列表項或識別網(wǎng)格項多樣性的識別結(jié)果的各特征來導(dǎo)出估計可靠性。例如,小的N-best列表尺寸和/或N-best列表項之間的有限的多樣性表明了結(jié)果的更大的置信度。
可靠性估計操作的實施例可以使用利用訓(xùn)練數(shù)據(jù)來訓(xùn)練的統(tǒng)計分類器,從而利用與組合結(jié)果中的譯碼后言語相關(guān)聯(lián)的各分?jǐn)?shù)作為輸入來預(yù)測組合結(jié)果的精度以及額外的系統(tǒng)組合會進一步減少錯誤的可能性。在一些實施例中,可靠性估計操作匯編了與提議識別結(jié)果中的每個識別結(jié)果相關(guān)聯(lián)的一個或多個性能分?jǐn)?shù)和/或?qū)С鲋怠碜越徊嫦到y(tǒng)比較的值和/或在先估計可靠性值,用作統(tǒng)計分類器的輸入。
可靠性評估操作310將針對提議識別結(jié)果的估計的可靠性與接受閾值進行比較以判定是否將額外的資源投入于識別所講言語。在各個實施例中,接受閾值是針對對應(yīng)分?jǐn)?shù)的閾值(例如,可靠性或識別置信度值)。對應(yīng)于不同的言語譯碼器的全局值或單值可被配置用于接受閾值和其它參考值(例如,放棄閾值或參考閾值)。
如果估計可靠性值滿足或超過閾值,則結(jié)果接受操作312接受提議識別結(jié)果作為最終識別結(jié)果,并且對所講言語的識別結(jié)束。換言之,沒有投入另外的資源來改善所講言語的識別結(jié)果。
如果提議識別結(jié)果被判定為不具有足夠的可靠性,則可選的譯碼操作314可以將一個或多個性能分?jǐn)?shù)與對應(yīng)的失敗指示符(例如,放棄閾值)進行比較以判定是否投入額外的資源在識別所講言語中。在各個實施例中,失敗指示符是指示譯碼所講言語的高難度級別的參考值。該高難度級別對應(yīng)于所講言語不能被系列中的任意其它言語譯碼器可接受地譯碼的高的概率。例如,低的聲學(xué)模型分?jǐn)?shù)可以表明,所講言語的音頻品質(zhì)如此之差以至于使得所講言語不能識別。在各個實施例中,如果沒有由適當(dāng)?shù)姆謹(jǐn)?shù)來滿足放棄閾值,則所講言語的識別被放棄,并且不將另外的資源投入到識別所講言語的嘗試。
當(dāng)識別結(jié)果既沒有被接受為精確的也沒有被拒絕為不可識別的,該方法返回言語譯碼操作304以試圖使用系列中的下一言語譯碼器對所講言語進行可接受地譯碼。
在所講言語進行譯碼的第二次和后續(xù)的嘗試中,在先識別結(jié)果存在,并且在先結(jié)果決策分支到組合操作316。組合操作將新譯碼的言語與在先識別結(jié)果合并以產(chǎn)生新的/更新的提議識別結(jié)果。一般地,可以使用任何用來組合多個識別結(jié)果的技術(shù)來生成提議識別結(jié)果。例如,可利用言語水平重排序或識別器輸出投票錯誤減少來組合識別結(jié)果。
當(dāng)使用組合結(jié)果作為提議識別結(jié)果時,可靠性估計操作308仍具有生成提議識別結(jié)果的估計可靠性值的任務(wù),但是估計可靠性值是基于多個識別結(jié)果的。換言之,可靠性估計操作可以將與在先識別結(jié)果關(guān)聯(lián)的在先估計可靠性值與針對當(dāng)前識別結(jié)果確定的估計可靠性進行組合。在最簡單的情況下,當(dāng)每個單個的言語譯碼器產(chǎn)生了相同的識別結(jié)果時,估計可靠性可以是來自單個言語譯碼器中的每一個的置信度值或其它識別精度度量的均值。
圖4是識別管理方法的替代實施例的高級流程圖。一般地,替選的識別管理方法400以類似于之前所述的識別管理方法300的方式操作;然而,替選的識別管理方法將可選的音頻處理并入管理序列中。在圖示的實施例中,可譯碼性操作還做出了音頻處理參考決策402。在其它實施例中,音頻處理參考決策可以包含在估計可靠性操作或單獨的操作中。音頻處理參考決策的結(jié)果用于選擇性地觸發(fā)對音頻處理操作404的應(yīng)用,以嘗試并且改善所講言語的音頻品質(zhì)。例如,當(dāng)具有良好的一般精度的言語譯碼器未能識別來自單個所講言語的大量詞語時,音頻數(shù)據(jù)可以進行音頻增強和/或降噪處理。一旦處理,可在重新譯碼操作406中使用相同的言語譯碼器來嘗試重新識別。替選地,音頻處理可以是系列中的單獨的分支的一部分,其包括針對有問題的識別情況被優(yōu)化的言語譯碼器。音頻處理器還可以僅當(dāng)某個言語譯碼器需要時才接合。
各種類型的用戶接口和信息可經(jīng)由板上計算設(shè)備顯示器或者經(jīng)由與一個或多個計算設(shè)備相關(guān)聯(lián)的遠程顯示單元來顯示。例如,各種類型的用戶接口和信息可以在與投射了各種類型的用戶接口和信息的壁面被顯示以及交互。與可以實現(xiàn)本發(fā)明的實施例的多個計算系統(tǒng)的交互包括擊鍵輸入、觸摸屏輸入、語音或其它音頻輸入、相關(guān)的計算設(shè)備配備有檢測(例如,照相機)功能用于捕獲和解釋用于控制計算設(shè)備功能的用戶姿勢的姿勢輸入,等等。
圖5-7和相關(guān)的描述提供了可以實現(xiàn)本發(fā)明的實施例的各種操作環(huán)境的論述。然而,所圖示和論述的設(shè)備和系統(tǒng)是為了舉例和說明的目的,而不是限制可用于實現(xiàn)本文所述的本發(fā)明的實施例的大量的計算設(shè)備配置。
圖5是示出可以實現(xiàn)本發(fā)明的實施例的計算設(shè)備500的物理組件(即,硬件)的一個實施例的框圖。下文描述的計算設(shè)備組件可適于具體實施計算設(shè)備,包括但不限于,個人計算機、平板式計算機、表面計算機和智能手機、或者本文所述的任何其它計算設(shè)備。在基本配置中,計算設(shè)備500可以包括至少一個處理單元502以及系統(tǒng)存儲器504。根據(jù)計算設(shè)備的配置和類型,系統(tǒng)存儲器504可以包括但不限于易失性存儲設(shè)備(例如,隨機存取存儲器)、非易失性存儲設(shè)備(例如,只讀存儲器)、閃速存儲器或這些存儲器的任意組合。系統(tǒng)存儲器504可以包括操作系統(tǒng)505以及適合于運行諸如識別管理器114和言語譯碼器118的軟件應(yīng)用520的一個或多個程序模塊506。例如,操作系統(tǒng)505可以適合于控制計算設(shè)備500的操作。此外,本發(fā)明的實施例可以與圖形庫、其它操作系統(tǒng)或者任何其它應(yīng)用程序相結(jié)合實現(xiàn),而不限于任何特定的應(yīng)用或系統(tǒng)。該基本配置是由虛線508內(nèi)的那些組件圖示出的。計算設(shè)備500可以具有額外的特征或功能。例如,計算設(shè)備500還可以包括額外的數(shù)據(jù)存儲設(shè)備(可移除的和/或非可移除的),諸如例如磁盤、光盤或磁帶。這些額外的存儲設(shè)備由可移除存儲設(shè)備509和非可移除存儲設(shè)備510來圖示出。
如上所述,多個程序模塊和數(shù)據(jù)文件可以存儲在系統(tǒng)存儲器504中。在處理單元502上執(zhí)行的同時,軟件應(yīng)用520可以執(zhí)行處理,包括但不限于,識別管理方法300的一個或多個階段。其它可以根據(jù)本發(fā)明的實施例使用的程序模塊可以包括墊子郵件和通訊錄應(yīng)用,文字處理應(yīng)用、電子表格應(yīng)用、數(shù)據(jù)庫應(yīng)用、幻燈片演示應(yīng)用、繪圖應(yīng)用等。
此外,可以在電路中實現(xiàn)各個實施例,包括離散電子元件,包含邏輯門的封裝或集成電子芯片,使用微處理器的電路,或者包含電子元件或微處理器的單個芯片。例如,可以通過片上系統(tǒng)(“SOC”)實現(xiàn)本發(fā)明的各個實施例,其中所示的每個組件或多個組件可以集成到單個集成電路中。該SOC設(shè)備可以包括一個或多個處理單元、圖形單元、通信單元、系統(tǒng)虛擬化單元以及各應(yīng)用功能,全部這些都集成(或“燒”)到芯片基板上作為單個集成電路。當(dāng)經(jīng)由SOC操作時,本文針對軟件應(yīng)用520所述的功能可以經(jīng)由與單個集成電路(芯片)上的計算設(shè)備/系統(tǒng)500的其它組件集成的專用邏輯來操作。本發(fā)明的實施例還可以利用其它能夠執(zhí)行諸如例如與(AND)、或(OR)和非(NOT)的邏輯運算的技術(shù)來實現(xiàn),包括但不限于機械技術(shù)、光學(xué)技術(shù)、流體技術(shù)和量子技術(shù)。另外,實施例可以實現(xiàn)在通用計算機或者任何其它電路或系統(tǒng)內(nèi)。
計算設(shè)備500還可以具有輸入設(shè)備512,諸如鍵盤、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等。還可以包括輸出設(shè)備514,諸如顯示器、揚聲器、打印機等。上述設(shè)備是示例,可以使用其它設(shè)備。計算設(shè)備500可以包括允許與其它計算設(shè)備518通信的一個或多個通信連接516。適合的通信連接516的示例包括但不限于RF發(fā)射器、接收器和/或收發(fā)器電路系統(tǒng);通用串行總線(USB)、并行端口和/或串行端口。
本文所使用的術(shù)語計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)。計算機存儲介質(zhì)可以包括以任何用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)或程序模塊的信息的方法或技術(shù)實現(xiàn)的易失性的和非易失性的、可移除的和非可移除的介質(zhì)。系統(tǒng)存儲器504、可移除存儲設(shè)備509和非可移除存儲設(shè)備510都是計算機存儲介質(zhì)實例(即,存儲器存儲)的示例。計算機存儲介質(zhì)可包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除只讀存儲器(EEPROM)、閃存或其他存儲器技術(shù)、壓縮盤只讀存儲器(CD-ROM)、數(shù)字多功能盤(DVD)或其他光學(xué)存儲、磁盒、磁帶、磁盤存儲或其他磁存儲設(shè)備、或任何其他能夠用于存儲信息且能夠由計算設(shè)備500訪問的制品。任何這樣的計算機存儲介質(zhì)可以是計算設(shè)備500的部分。
圖6A和6B是示出了可以實現(xiàn)本發(fā)明的實施例的移動計算設(shè)備的簡化框圖。適合的移動計算設(shè)備的示例包括但不限于,移動電話、智能電話、平板計算機、表面計算機和膝上型計算機。在基本配置中,移動計算設(shè)備600是具有輸入元件和輸出元件的手持式計算機。移動計算設(shè)備600典型地包括顯示器605以及允許用戶輸入信息到移動計算設(shè)備600的一個或多個輸入按鈕610。移動計算設(shè)備600的顯示器605還可以充當(dāng)輸入設(shè)備(里人,觸摸屏顯示器)。如果包含,可選的側(cè)部輸入元件615允許另外的用戶輸入。側(cè)部輸入元件615可以是旋轉(zhuǎn)開關(guān)、按鈕或任何其它類型的手動輸入元件。在可選的實施例中,移動計算設(shè)備600可以包含更多或更少的輸入元件。例如,在一些實施例中顯示器605可以是觸摸屏。在又一替選實施例中,移動計算設(shè)備600是便攜式電話系統(tǒng),諸如蜂窩電話。移動計算設(shè)備600還可以包括可選的鍵板635??蛇x的鍵板635可以是物理鍵板或產(chǎn)生于觸摸屏顯示器上的“軟”鍵盤。在各個實施例中,輸出元件包括用于示出圖形用戶界面的顯示器605、可視指示符620(例如,發(fā)光二極管)和/或音頻換能器625(例如,揚聲器)。在一些實施例中,移動計算設(shè)備600包含了用于為用戶提供觸反饋的振動換能器。在又一實施例中,移動計算設(shè)備600可包含了輸入端口和/或輸出端口,諸如音頻輸入(例如,麥克風(fēng)插口)、音頻輸出(例如,耳機插口)以及視頻輸出(例如,HDMI端口),用于發(fā)送信號到外部設(shè)備或者從外部設(shè)備接收信號。
圖6B是示出了移動計算設(shè)備的一個實施例的體系結(jié)構(gòu)的框圖。也即,移動計算設(shè)備600可以包含實現(xiàn)一些實施例的系統(tǒng)(即,體系結(jié)構(gòu))602。在一個實施例中,系統(tǒng)602實現(xiàn)為能夠運行一個或多個應(yīng)用(例如,瀏覽器、電子郵件客戶端、記事本、通訊錄管理器、消息傳遞客戶端、游戲和媒體客戶端/播放器)的智能手機。在一些實施例中,系統(tǒng)602集成為計算設(shè)備,諸如集成的個人數(shù)字助理(PDA)以及無線電話。
一個或多個應(yīng)用程序665可以裝載到存儲器662中以及運行于操作系統(tǒng)664上或者與操作系統(tǒng)664關(guān)聯(lián)。應(yīng)用程序的示例包括電話撥號程序、電子郵件應(yīng)用、個人信息管理(PIM)程序、文字處理程序、電子表格程序、因特網(wǎng)瀏覽器程序、消息傳遞程序等。系統(tǒng)602還包括位于存儲器662內(nèi)的非易失性存儲區(qū)668。非易失性存儲區(qū)668可用于存儲在系統(tǒng)602掉電的情況下不應(yīng)丟失的永久性信息。應(yīng)用程序665可使用信息且存儲信息于非易失性存儲區(qū)668中,諸如電子郵件應(yīng)用使用的電子郵件或其它消息,等等。同步應(yīng)用(未示出)也位于系統(tǒng)602上并且被編程與與位于主機上的對應(yīng)的同步應(yīng)用交互以保持存儲在非易失性存儲區(qū)668中的信息與存儲在主機中的對應(yīng)信息同步。應(yīng)當(dāng)意識到,其它應(yīng)用可以裝載到存儲器662中且運行于移動計算設(shè)備600上,包括本文所述的軟件應(yīng)用。
系統(tǒng)602具有電源670,電源670實現(xiàn)為一個或多個電池。電源670可能還包括外部電源,諸如AC適配器或為電池補電或再充電的電力對接拖座。
系統(tǒng)602還可以包括執(zhí)行發(fā)送和接收射頻通信的功能的無線電672。無線電672促進系統(tǒng)602與外界之間經(jīng)由通信載波或服務(wù)提供商之間的無線連接。向無線電672發(fā)送以及從無線電672接收是在操作系統(tǒng)664的控制下進行的。換言之,由無線電672接收到的通信可以經(jīng)由OS 664散播到應(yīng)用程序665,反之亦然。
可視指示器620可以用于提供可視通知,和/或音頻接口674可用于經(jīng)由音頻換能器625產(chǎn)生可聽的通知。在圖示的實施例中,可視指示器620是發(fā)光二極管(LED),音頻換能器625是揚聲器。這些設(shè)備可以直接與電源670耦合,從而當(dāng)被激活時,它們在通知機制所規(guī)定的持續(xù)期間內(nèi)保持接通,即使處理器660和其他組件可能為了節(jié)約電池電力而關(guān)閉。LED可以被編程以保持無限接通直至用戶采取措施來指示設(shè)備的加電狀態(tài)。音頻接口674用來提供可聽信號到用戶以及從用戶接收可聽信號。例如,除了與音頻換能器625耦合之外,音頻接口674還可以與麥克風(fēng)耦合以接收可聽輸入,例如促進電話對話。根據(jù)本發(fā)明的實施例,麥克風(fēng)還可以充當(dāng)音頻傳感器以促進通知的控制,如下文將要說明的。系統(tǒng)602可還包括使得板上照相機630的操作能夠記錄靜像、視頻流等的視頻接口676。
實現(xiàn)系統(tǒng)602的移動計算設(shè)備600可以具有額外的特征或功能。例如,移動計算設(shè)備600還可以包括額外的數(shù)據(jù)存儲設(shè)備(可移除的和/或非可移除的),諸如磁盤、光盤或磁帶。該額外的存儲由非易失性存儲區(qū)668圖示。
通過移動計算設(shè)備600生成或捕獲以及經(jīng)由系統(tǒng)602存儲的數(shù)據(jù)/信息可以本地地存儲在移動計算設(shè)備600上,如上所述,或者數(shù)據(jù)可以存儲在可由設(shè)備經(jīng)由無線電672或者經(jīng)由移動計算設(shè)備600與關(guān)聯(lián)移動計算設(shè)備600的單獨的計算設(shè)備(例如,諸如因特網(wǎng)的分布式計算網(wǎng)絡(luò)中的服務(wù)器計算機)之間的有線連接訪問的任意數(shù)量的存儲介質(zhì)上。應(yīng)當(dāng)理解的是,這些數(shù)據(jù)/信息可以通過移動計算設(shè)備600經(jīng)由無線電672或者經(jīng)由分布式計算網(wǎng)絡(luò)來訪問。類似地,根據(jù)公知的數(shù)據(jù)/信息傳輸和存儲手段,包括電子郵件和協(xié)作數(shù)據(jù)/信息共享系統(tǒng),這些數(shù)據(jù)/信息可輕易地在計算設(shè)備之間傳輸以便存儲和使用。
圖7是示出用于向一個或多個客戶端設(shè)備提供如本文所述的增量語言識別功能的系統(tǒng)的體系結(jié)構(gòu)的一個實施例的分布式計算系統(tǒng)的簡化框圖。與軟件應(yīng)用710關(guān)聯(lián)地開發(fā)的內(nèi)容、交互的內(nèi)容或編輯的內(nèi)容可以存儲在不同的通信信道或其它存儲類型。例如,可利用目錄服務(wù)722、web入口724、郵箱服務(wù)726、即時消息傳遞庫728或社交網(wǎng)站730來存儲各個文檔。軟件應(yīng)用710可使用這些類型的系統(tǒng)等中的任一種用于實現(xiàn)數(shù)據(jù)利用,如本文所述。服務(wù)器720可以提供軟件應(yīng)用710給客戶端。作為一個示例,服務(wù)器720可以是通過web提供軟件應(yīng)用710的web服務(wù)器。服務(wù)器720可以通過網(wǎng)絡(luò)715將web上的軟件應(yīng)用720提供給客戶端。通過示例的方式,客戶端計算設(shè)備可以實現(xiàn)為計算設(shè)備500且具體實施在個人計算機702a、平板計算機702b和/或移動計算設(shè)備(例如,智能電話)702c中??蛻舳嗽O(shè)備的這些實施例中的任意實施例可以從庫716獲得內(nèi)容。
在本申請中提供的一個或多個實施例的說明和圖示意在向本領(lǐng)域技術(shù)人員提供主題的整個范圍的全面且完整的公開,而不意在以任何方式限制或限縮如權(quán)利要求的發(fā)明的范圍。在該申請中提供的實施例、示例和細節(jié)被視為足以傳達所有權(quán)以及使得其他技術(shù)人員能夠?qū)崿F(xiàn)和使用權(quán)利要求的發(fā)明的最佳分方式。本領(lǐng)域技術(shù)人員視為公知的結(jié)果、資源、操作和動作的說明可以簡要或省略以免使得本申請的主題的不太已知或獨特的方面不清楚。權(quán)利要求的發(fā)明不應(yīng)解釋為限于在本申請?zhí)峁┑娜魏螌嵤├?、示例或細?jié)。無論是組合地或者單獨地顯示和描述,各個特征(結(jié)構(gòu)上的和方法上的)都意在被選擇性地包含或省去以產(chǎn)生具有特定特征集合的實施例。此外,所顯示或描述的任意或全部的功能和動作可以按任何次序或者同時地執(zhí)行。在被提供了本申請的描述和示例后,本領(lǐng)域技術(shù)人員可以設(shè)想落入在本申請實施的總的發(fā)明構(gòu)思的較寬方面的精神內(nèi)的、沒有背離權(quán)利要求的發(fā)明的較寬范圍的變型例、修改例和可選的實施例。