倒譜均值和方差、用于內(nèi)插多個(gè)模型的權(quán)重和向量等等。有利的是,與完整的額外語音識(shí)別模型(例如,語言模型或聲學(xué)模型)相比,模型的此些部分在存儲(chǔ)、傳送和使用期間消耗相對(duì)少量的空間、帶寬、處理容量以及其它資源。此外,與單獨(dú)使用基礎(chǔ)語音識(shí)別模型相比,模型的此些部分還提高了語音識(shí)別過程的準(zhǔn)確性。
[0043]基于最近的結(jié)果更新模型和模型的部分可要求訪問大型數(shù)據(jù)集(例如,計(jì)算聲學(xué)模型所依據(jù)的基礎(chǔ)數(shù)據(jù)集)。在ASR引擎140進(jìn)行語音識(shí)別處理的過程中或之后,ASR模型更新模塊142或者ASR服務(wù)器104的某一其它模塊或部件可異步檢索大型數(shù)據(jù)集。當(dāng)已接收到數(shù)據(jù)集時(shí),其可用來更新額外的用戶特定或以其它方式自定義的模型及模型的部分。同時(shí),模型及模型的部分可在ASR處理期間繼續(xù)被使用。
[0044]管理模塊144可監(jiān)測(cè)ASR引擎140的進(jìn)程以及額外語音識(shí)別模型的檢索。如果管理模塊144確定等待接收額外模型(或模型的部分)不會(huì)造成令人不滿的性能延遲,那么管理模塊144可致使ASR引擎140直到ASR引擎140有機(jī)會(huì)用額外模型對(duì)結(jié)果重新計(jì)分才將結(jié)果提供到客戶端裝置102。然而,如果管理模塊144確定等待接收額外模型會(huì)造成令人不滿的性能延遲或不會(huì)顯著提高結(jié)果的準(zhǔn)確性,那么管理模塊144可允許初始結(jié)果被提供到客戶端裝置102作為最終結(jié)果。
[0045]基礎(chǔ)模型數(shù)據(jù)存儲(chǔ)區(qū)146可存儲(chǔ)ASR引擎140在缺少更大程度上自定義、專門化或在其它方面更準(zhǔn)確的額外模型時(shí)使用的基礎(chǔ)聲學(xué)模型和語言模型。此類基礎(chǔ)模型可通過用戶特定統(tǒng)計(jì)數(shù)據(jù)和模型的部分進(jìn)行自定義,以提供更準(zhǔn)確的結(jié)果。在一些實(shí)施例中,一個(gè)或多個(gè)最常用或廣泛適用的額外模型(例如,性別特定模型)可存儲(chǔ)在ASR服務(wù)器104的基礎(chǔ)模型數(shù)據(jù)存儲(chǔ)區(qū)146中,從而在需要的時(shí)候就無需從單獨(dú)的ASR模型存儲(chǔ)服務(wù)器106中進(jìn)行檢索。
[0046]模型高速緩存148可用來存儲(chǔ)被檢索用于語音識(shí)別處理的額外模型和數(shù)據(jù)。例如,高速緩存可經(jīng)配置以存儲(chǔ)預(yù)先確定或動(dòng)態(tài)確定量的數(shù)據(jù)。高速緩存可存儲(chǔ)盡可能多的最近檢索的模型,同時(shí)刪除那些最近未被使用或請(qǐng)求的模型、使其失效或?qū)⑵溽尫?,以便為最新接收的模型騰出空間。各種高速緩存技術(shù)均可應(yīng)用于模型高速緩存148,包含使用存活時(shí)間(“TTL”)和最近最少使用(“LRU”)標(biāo)準(zhǔn)。
_7] 管理模型檢索的過程
[0048]現(xiàn)在參考圖3,將描述用于管理語音識(shí)別模型的異步檢索以及這些模型的使用的示例性過程300。有利的是,ASR服務(wù)器104可使用過程300來利用額外的語音識(shí)別模型及其它數(shù)據(jù),如此將提高語音識(shí)別結(jié)果的準(zhǔn)確性,而不會(huì)不利地影響所感知性能。
[0049]過程300在框302處開始。在開始ASR會(huì)話之后,過程300可自動(dòng)開始。過程300可體現(xiàn)為存儲(chǔ)在分布式ASR系統(tǒng)的計(jì)算系統(tǒng)(例如,負(fù)載平衡管理器或個(gè)別ASR服務(wù)器104)的計(jì)算機(jī)可讀介質(zhì)上(例如,一個(gè)或多個(gè)磁盤驅(qū)動(dòng)器)的一組可執(zhí)行程序指令。當(dāng)過程300開始時(shí),可執(zhí)行程序指令可加載到存儲(chǔ)器(例如,RAM)中并由計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器執(zhí)行。
[0050]在框304處,ASR會(huì)話可被分配到特定的ASR服務(wù)器104。由于額外語音識(shí)別模型的檢索,來自同一用戶或同一客戶端裝置102針對(duì)ASR處理的隨后請(qǐng)求可傳輸?shù)酵?ASR服務(wù)器104,直到ASR會(huì)話結(jié)束的時(shí)間(例如,在經(jīng)過一段時(shí)間之后或發(fā)生某一其它觸發(fā)事件之后)為止。ASR服務(wù)器104可訪問或獲取關(guān)于用戶的數(shù)據(jù),例如,用戶的性別、年齡、地域口音或用戶的身份。使用此人口統(tǒng)計(jì)數(shù)據(jù)或身份數(shù)據(jù),ASR服務(wù)器104可在框306處開始額外語音識(shí)別模型的檢索。在一些實(shí)施例中,如上所述,與完整的額外語音識(shí)別模型相比,ASR服務(wù)器104可針對(duì)當(dāng)前用戶檢索模型的部分。在此類情況下,ASR服務(wù)器104也可在框320處開始檢索數(shù)據(jù)集,所述數(shù)據(jù)集可用來基于ASR處理的結(jié)果更新模型及模型的部分。在一些實(shí)施例中,用來更新模型部分的數(shù)據(jù)檢索與ASR處理異步進(jìn)行,從而使得在資源可用于進(jìn)行此操作時(shí)以及在此檢索和更新不妨礙ASR會(huì)話的處理時(shí),檢索和更新數(shù)據(jù)集。
[0051]在決策框308處,ASR服務(wù)器104可確定所請(qǐng)求的額外語音識(shí)別模型是否可立即使用。例如,所請(qǐng)求的模型可能在模型高速緩存數(shù)據(jù)存儲(chǔ)區(qū)148中或在分布式ASR系統(tǒng)的單獨(dú)模型高速緩存服務(wù)器中可用,如下文詳細(xì)描述。在此類情況下,在框314處,高速緩存的額外模型可在初始ASR處理過程中被訪問并使用,不論使用還是不使用ASR服務(wù)器104可用的任何基礎(chǔ)模型(例如,基礎(chǔ)模型數(shù)據(jù)存儲(chǔ)區(qū)146中的模型)。如果沒有額外的語音識(shí)別模型可用,或者如果ASR服務(wù)器104將仍然使用基礎(chǔ)語音識(shí)別模型,那么在框310處,ASR服務(wù)器104可在第一遍ASR處理過程中使用基礎(chǔ)模型。在一些實(shí)施例中,所請(qǐng)求的額外語音識(shí)別模型可被高速緩存,但由于從高速緩存中檢索模型的等待時(shí)間的緣故,ASR服務(wù)器104將使用基礎(chǔ)語音識(shí)別模型。
[0052]在用基礎(chǔ)語音識(shí)別模型進(jìn)行第一遍ASR處理之后到達(dá)的決策框312處,ASR服務(wù)器104可確定額外模型是否變得可用。若是,過程300可行進(jìn)到框314,其中ASR服務(wù)器104可用額外的語音識(shí)別模型執(zhí)行第二遍ASR(例如,對(duì)初始結(jié)果進(jìn)行重新計(jì)分)。此外,任何最近接收的額外語音識(shí)別模型均可被高速緩存。
[0053]否則,如果額外模型尚未被接收到,或者如果確定使用額外模型將造成令人不滿的性能延遲或不能顯著提高準(zhǔn)確性,那么過程300可行進(jìn)到框316。
[0054]在框316處,ASR服務(wù)器104可將最終結(jié)果傳輸?shù)娇蛻舳搜b置102。在一些實(shí)施例中,ASR服務(wù)器104可執(zhí)行某一動(dòng)作或致使另一裝置執(zhí)行動(dòng)作,而不是將結(jié)果傳輸?shù)娇蛻舳搜b置102。例如,來自ASR過程的結(jié)果可以提供到自然語言理解(“NLU”)部件,所述部件經(jīng)配置以根據(jù)用戶話語來確定用戶意圖?;谟脩粢鈭D(例如,找方向、訂航班、開始聲音撥號(hào)),ASR服務(wù)器104可執(zhí)行某一動(dòng)作。
[0055]在將結(jié)果發(fā)送到客戶端裝置102 (或?qū)е聢?zhí)行某一其它動(dòng)作)之后,在決策框318處,ASR服務(wù)器104可在同一 ASR會(huì)話期間等待額外話語以便處理。如果另一話語被接收至IJ,那么過程300可返回到框306。否則,如果在一段時(shí)間內(nèi)未接收到另一話語,或者如果發(fā)生另一觸發(fā)事件(例如,例如通過將客戶端裝置102斷電,用戶肯定地結(jié)束了 ASR會(huì)話),那么過程300可在框324處結(jié)束。
[0056]除了等待額外的話語之外,ASR模型更新模塊142或ASR服務(wù)器104的某一其它部件還可在框322處基于ASR處理的結(jié)果來更新數(shù)據(jù)集。更新過程可利用在框320處異步檢索的數(shù)據(jù)集。經(jīng)更新的數(shù)據(jù)集隨后可被高速緩存、傳輸?shù)紸SR模型存儲(chǔ)服務(wù)器106、在第二遍ASR處理過程中使用等。在一些實(shí)施例中,只要用于更新數(shù)據(jù)集的ASR結(jié)果可用,額外的模型或模型的部分便可基于經(jīng)更新的數(shù)據(jù)集進(jìn)行更新或重新計(jì)算,例如,與框316并行進(jìn)行或在框314之后即刻進(jìn)行。
[0057]用于高速緩存模型的過程和結(jié)構(gòu)
[0058]現(xiàn)在轉(zhuǎn)到圖4,將描述基于用戶活動(dòng)的預(yù)測(cè)來預(yù)先高速緩存額外語音識(shí)別模型的示例性過程400。有利的是,過程400可用來分析先前的用戶活動(dòng)、預(yù)測(cè)用戶可能利用分布式ASR系統(tǒng)的時(shí)間,以及預(yù)先高速緩存額外的模型,從而它們準(zhǔn)備好在所預(yù)測(cè)時(shí)間立即或大體上立即使用。
[0059]過程400在框402處開始。過程400可在ASR服務(wù)器104或分布式ASR系統(tǒng)的某一其它部件加電之后自動(dòng)開始,或者其可以手動(dòng)開始。過程400可體現(xiàn)為存儲(chǔ)在與分布式ASR系統(tǒng)相關(guān)聯(lián)的計(jì)算系統(tǒng)的計(jì)算機(jī)可讀介質(zhì)(例如,一個(gè)或多個(gè)磁盤驅(qū)動(dòng)器)上的一組可執(zhí)行程序指令。當(dāng)過程400開始時(shí),可執(zhí)行程序指令可加載到存儲(chǔ)器(例如,RAM)中并由計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器執(zhí)行。
[0060]在框404處,分布式ASR系統(tǒng)可處理語音識(shí)別會(huì)話,如上所述。在框406處,關(guān)于特定用戶的ASR會(huì)話的使用數(shù)據(jù)可在處理ASR會(huì)話的時(shí)候記錄下來。例如,代管語音識(shí)別會(huì)話的ASR服務(wù)器104的管理模塊144可記錄關(guān)于用戶或客戶端裝置102的數(shù)據(jù),包含ASR請(qǐng)求的日期和時(shí)間、結(jié)果的內(nèi)容、請(qǐng)求的主題或上下文等等。
[0061]在框408處,管理模塊144或分布式ASR系統(tǒng)的某一其它模塊或部件可檢測(cè)所記錄數(shù)據(jù)中的模式,或確定關(guān)于用戶可能會(huì)訪問分布式ASR系統(tǒng)的時(shí)間的預(yù)測(cè)。例如,特定用戶可能會(huì)在工作日上午8:00或左右,有規(guī)律地向分布式ASR系統(tǒng)傳輸語音數(shù)據(jù)以用于處理。分布式ASR系統(tǒng)的部件可檢測(cè)此類模式,并且作為響應(yīng),預(yù)測(cè)用戶將在下一個(gè)工作日上午8:00再次傳輸語音數(shù)據(jù)。此外,用戶可在這些上午8:00的會(huì)話期間依照慣例傳輸關(guān)于全球定位系統(tǒng)(“GPS”)方向或音樂回放的聲音命令。通過包含此類細(xì)節(jié),可使預(yù)測(cè)更加具體??苫谠敿?xì)預(yù)測(cè)高速緩存以此類活動(dòng)為目標(biāo)的額外語音識(shí)別模型。
[0062]在框410處,預(yù)期用戶會(huì)開始ASR會(huì)話,分布式ASR系統(tǒng)可以在下一個(gè)工作日上午8:00之前不久為用戶預(yù)先高速緩存額外的模型。例如,在用戶開始ASR會(huì)話之前,用戶可在上午7:55或上午7:59被主動(dòng)分配到特定的ASR服務(wù)器104。用于用戶的額外模型可被預(yù)先高速緩存在所分配的ASR服務(wù)器104處,從而在用戶開始會(huì)話時(shí)可以立即使用。例如,模型可以存儲(chǔ)在ASR服務(wù)器104的模型高速緩存148中。被選擇用于預(yù)先高速緩存的模型的選擇依據(jù)可以是:用戶的人口統(tǒng)計(jì)數(shù)據(jù)或身份、所預(yù)測(cè)的會(huì)話的主題、它們的某一組合等等。在一些實(shí)施例中,額外的模型可以高速緩存在ASR模型存儲(chǔ)服務(wù)器106與ASR服務(wù)器104之間的中間高速緩存處,如下文詳細(xì)描述。在此類情況下,由于多個(gè)服務(wù)器可從中間高速緩存檢索高速緩存的模型,因此,用戶可以不被主動(dòng)分配到特定的ASR服務(wù)器104。
[0063]在一些實(shí)施例中,計(jì)算額外模型將被高速緩存的時(shí)間可以基于用戶先前訪問時(shí)間的分布,而非特定的平均值或可能訪問時(shí)間的預(yù)計(jì)。所述計(jì)算可以使得所選擇的時(shí)間將導(dǎo)致額外的模型在某一時(shí)間被高速緩存,所述某一時(shí)間在用戶先前或預(yù)計(jì)訪問時(shí)間的閾值量或百分?jǐn)?shù)之前。返回到上述實(shí)例,用戶可通常在8:00左右開始ASR會(huì)話,但實(shí)際的時(shí)間分布可以從上午7:30延伸到上午8:30。管理模塊144可確定在上午7:30高速緩存額外的模型,且在該時(shí)間將用戶分配到特定的ASR服務(wù)器104將導(dǎo)致額外模型可用于90%或99%的用戶的“上午8:00” ASR會(huì)話。
[0064]在框412處,用戶可通過分布式ASR系統(tǒng)開始ASR會(huì)話。