用于使用上下文信息的語音識(shí)別修復(fù)的方法和系統(tǒng)的制作方法
【專利說明】
[0001] 相關(guān)申請(qǐng)奪叉引用
[0002] 本申請(qǐng)是申請(qǐng)?zhí)枮?01210369739. 0、申請(qǐng)日為2012年09月28日的中國發(fā)明專利 申請(qǐng)的分案申請(qǐng)。
技術(shù)領(lǐng)域
[0003] 本發(fā)明涉及語音識(shí)別系統(tǒng),且在一個(gè)實(shí)施例中,涉及用以控制數(shù)據(jù)處理系統(tǒng)的語 音識(shí)別系統(tǒng)。
【背景技術(shù)】
[0004] 許多語音識(shí)別系統(tǒng)所具有的常見問題是準(zhǔn)確性。用戶可對(duì)著語音識(shí)別器說話,且 系統(tǒng)可用識(shí)別文本做出響應(yīng),但所述識(shí)別文本通??赡芎性S多錯(cuò)誤,因?yàn)檎Z音識(shí)別器未 能恰當(dāng)?shù)刈R(shí)別人類用戶的話語。
[0005] 語音識(shí)別可用以在電話上調(diào)用話音撥號(hào),例如當(dāng)用戶在電話上口述命令"call mom(呼叫媽媽)"時(shí)。使用語音來控制數(shù)據(jù)處理系統(tǒng)可在來自語音識(shí)別器系統(tǒng)的轉(zhuǎn)錄錯(cuò)誤 決定用戶口述"callTom(呼叫湯姆)"而非"callmom(呼叫媽媽)"時(shí)導(dǎo)致異常系統(tǒng)行為。 轉(zhuǎn)錄錯(cuò)誤可由硬件缺點(diǎn)(例如不能夠經(jīng)由藍(lán)牙頭戴式耳機(jī)俘獲高質(zhì)量音頻記錄)或用戶錯(cuò) 誤(例如不正確或不完全的發(fā)音或背景噪聲)造成。一些語音識(shí)別系統(tǒng)可采用使用上下文 來改善語音識(shí)別系統(tǒng);美國專利7, 478, 037提供可采用上下文來輔助語音識(shí)別過程的語音 識(shí)別系統(tǒng)的實(shí)例。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的實(shí)施例提供一種語音控制系統(tǒng),其可識(shí)別口述命令和相關(guān)聯(lián)字詞(例如 "呼叫在家里的媽媽")且可致使選定應(yīng)用程序(例如電話撥號(hào)器)執(zhí)行所述命令以致使系 統(tǒng)(其可為智能電話)執(zhí)行基于所述命令和相關(guān)聯(lián)字詞的操作(例如,向在家里的媽媽發(fā) 出電話呼叫)。在一個(gè)實(shí)施例中,所述語音控制系統(tǒng)可使用包括常規(guī)聲學(xué)模型和常規(guī)語言 模型的語言識(shí)別器來根據(jù)從人類用戶的語音獲得的數(shù)字化輸入產(chǎn)生文本輸出。在一個(gè)實(shí) 施例中,所述語音控制系統(tǒng)可由用戶可調(diào)用的語音輔助應(yīng)用程序來啟動(dòng),且此語音輔助應(yīng) 用程序可解釋并修復(fù)來自所述語音識(shí)別器的所述文本輸出且將經(jīng)修復(fù)的文本輸出提供到 一組應(yīng)用程序中的選定應(yīng)用程序;所述組應(yīng)用程序可包括(例如)一個(gè)或一個(gè)以上應(yīng)用程 序,例如電話應(yīng)用程序(用以撥號(hào)并建立話音電話呼叫連接)和媒體播放器應(yīng)用程序(例 如,iTunes)和SMS(短消息服務(wù))"文本消息"應(yīng)用程序和視頻會(huì)議(例如,"面對(duì)面時(shí)間 (FaceTime) ")或聊天應(yīng)用程序和用以找到或定位例如朋友等個(gè)人的應(yīng)用程序和其它應(yīng)用 程序。
[0007] 在一個(gè)實(shí)施例中,語音輔助應(yīng)用程序使用一組解釋器來解釋所述文本輸出,所述 解釋器中的每一者經(jīng)設(shè)計(jì)以解釋所述組應(yīng)用程序所使用的特定類型的文本。舉例來說,名 字解釋器經(jīng)設(shè)計(jì)以解釋地址簿或通訊錄數(shù)據(jù)庫中的名字(在名字字段中),姓氏解釋器經(jīng) 設(shè)計(jì)以解釋地址簿或通訊錄數(shù)據(jù)庫中的姓氏(在姓氏字段中),全名解釋器經(jīng)設(shè)計(jì)以解釋 地址簿或通訊錄數(shù)據(jù)庫中的全名,且公司名稱解釋器經(jīng)設(shè)計(jì)以解釋地址簿或通訊錄數(shù)據(jù)庫 中的公司名稱。在一個(gè)實(shí)施例中,這些解釋器可經(jīng)配置以使用不同算法或過程來解釋文本 輸出中的每一字詞;舉例來說,全名解釋器可使用模擬匹配(使用編輯距離相似性測(cè)量) 算法來將文本輸出中的字詞與地址簿或通訊錄數(shù)據(jù)庫中的字詞進(jìn)行比較,但在一個(gè)實(shí)施例 中,不使用η碼組(n-gram)算法來將文本輸出中的字詞與地址簿或通訊錄數(shù)據(jù)庫中的字詞 進(jìn)行比較,而名字解釋器使用η碼組算法來將文本輸出中的字詞與地址簿或通訊錄數(shù)據(jù)庫 中的字詞進(jìn)行比較。此外,在一個(gè)實(shí)施例中,這些解釋器可在搜索地址簿或通訊錄數(shù)據(jù)庫以 查找匹配時(shí)使用不同搜索算法。在一個(gè)實(shí)施例中,每一解釋器還可在解釋字詞時(shí)使用上下 文(例如,所述上下文可包括媒體播放器正在播放歌曲的指示)。在一個(gè)實(shí)施例中,所述上 下文可包括用戶輸入歷史(例如會(huì)話歷史(例如,先前識(shí)別語音))或所述組應(yīng)用程序中的 應(yīng)用程序的狀態(tài)等。在一個(gè)實(shí)施例中,所述組中的每一解釋器可處理文本輸出中的每一字 詞以試圖確定其是否能修復(fù)所述字詞,且在一個(gè)實(shí)施例中,每一解釋器自行決定其是否能 修復(fù)每一字詞;所述解釋器產(chǎn)生指示其是否能修復(fù)所述字詞的得分或置信度。
[0008] 在一個(gè)實(shí)施例中,所述組解釋器的控制器可通過排列所得的經(jīng)修復(fù)解釋(使用每 一解釋器的得分或置信度來執(zhí)行所述排列)且接著合并所述經(jīng)排列的解釋來處理所述組 解釋器的結(jié)果。在一個(gè)實(shí)施例中,所述合并設(shè)法避免解釋的重疊,使得僅使用來自一個(gè)解釋 器的輸出來修復(fù)特定字詞。
[0009] 在一個(gè)實(shí)施例中,所述語音輔助應(yīng)用程序可基于字詞在字詞串中的位置來確定來 自語音識(shí)別器系統(tǒng)的文本輸出中的命令或通過使用語法剖析器來確定所述命令,且所述命 令連同經(jīng)修復(fù)的語音轉(zhuǎn)錄可由語音輔助應(yīng)用程序傳遞到一組應(yīng)用程序中的特定應(yīng)用程序 以供所述特定應(yīng)用程序使用經(jīng)修復(fù)的語音轉(zhuǎn)錄執(zhí)行所述命令。在此實(shí)施例中,語音輔助應(yīng) 用程序可基于所述命令來選擇所述特定應(yīng)用程序;舉例來說,識(shí)別文本中的"呼叫"命令致 使語音輔助應(yīng)用程序通過API將所述"呼叫"命令連同經(jīng)修復(fù)的語音轉(zhuǎn)錄傳遞到電話撥號(hào) 器或電話應(yīng)用程序,而識(shí)別文本中的"停止"命令致使語音輔助應(yīng)用程序通過API將"停止" 命令傳遞到媒體播放器(例如iTunes)以停止播放當(dāng)前正在播放的歌曲。在此實(shí)例中,提供 到所述組解釋器中的媒體播放器解釋器的上下文可包括媒體的狀態(tài)(例如,上下文包括在 語音識(shí)別器系統(tǒng)接收到含有識(shí)別字詞"停止"的語音輸入時(shí)披頭士歌曲"ComeTogether( - 起來)"當(dāng)前正在播放的狀態(tài))。在此實(shí)例中,用戶不需要在口述命令之前選擇特定的所要 應(yīng)用程序;而是,用戶在將語音輔助應(yīng)用程序作為最前端應(yīng)用程序(且具有語音輸入焦點(diǎn)) 的情況下進(jìn)行口述且語音輔助應(yīng)用程序接著自動(dòng)地(不需要用戶直接指定應(yīng)用程序)基于 所述命令來在所述組應(yīng)用程序中選擇恰當(dāng)?shù)膽?yīng)用程序,且接著通過API將所述命令傳遞到 選定應(yīng)用程序。
[0010] 在一個(gè)方面中,一種機(jī)器實(shí)施方法包括:從數(shù)據(jù)處理系統(tǒng)的用戶接收語音輸入; 在所述數(shù)據(jù)處理系統(tǒng)中確定所述語音輸入的上下文;通過語音識(shí)別系統(tǒng)在所述語音輸入中 識(shí)別文本,所述文本識(shí)別產(chǎn)生文本輸出;將所述文本輸出存儲(chǔ)為具有多個(gè)標(biāo)記的剖析數(shù)據(jù) 結(jié)構(gòu),所述多個(gè)標(biāo)記各自表示所述文本輸出中的字詞;用一組解釋器處理所述標(biāo)記中的每 一者,其中每一解釋器經(jīng)設(shè)計(jì)以修復(fù)所述文本輸出中的特定類型的錯(cuò)誤,搜索一個(gè)或一個(gè) 以上數(shù)據(jù)庫以識(shí)別所述數(shù)據(jù)庫中的一個(gè)或一個(gè)以上項(xiàng)目與所述標(biāo)記中的每一者之間的匹 配,且根據(jù)所述所識(shí)別的匹配和所述上下文確定所述解釋器是否能修復(fù)所述文本輸出中的 標(biāo)記;合并由所述組解釋器產(chǎn)生的選定結(jié)果以產(chǎn)生經(jīng)修復(fù)的語音轉(zhuǎn)錄,所述經(jīng)修復(fù)的語音 轉(zhuǎn)錄表示所述文本輸出的經(jīng)修復(fù)版本;以及基于所述經(jīng)修復(fù)的語音轉(zhuǎn)錄中的命令而將所述 經(jīng)修復(fù)的語音轉(zhuǎn)錄提供到一組應(yīng)用程序中的選定應(yīng)用程序,其中所述選定應(yīng)用程序經(jīng)配置 以執(zhí)行所述命令。
[0011] 在一些實(shí)施例中,所述上下文包括先前用戶輸入歷史,且其中所述一個(gè)或一個(gè)以 上數(shù)據(jù)庫包括通訊錄數(shù)據(jù)庫,所述通訊錄數(shù)據(jù)庫存儲(chǔ)姓名、地址和電話號(hào)碼中的至少一者。
[0012] 在一些實(shí)施例中,所述上下文包括會(huì)話歷史,其中所述一個(gè)或一個(gè)以上數(shù)據(jù)庫包 括媒體數(shù)據(jù)庫,所述媒體數(shù)據(jù)庫存儲(chǔ)歌曲、題目和藝術(shù)家中的至少一者,且其中所述組解釋 器中的解釋器在評(píng)估可能的匹配時(shí)使用至少兩個(gè)字詞的字符串。
[0013] 在一些實(shí)施例中,所述組解釋器中的第一解釋器使用第一算法來確定是否修復(fù)字 詞,且所述組解釋器中的第二解釋器使用第二算法來確定是否修復(fù)字詞,所述第一算法不 同于所述第二算法。
[0014] 在一些實(shí)施例中,所述組解釋器中的第三解釋器使用第三算法來搜索所述一個(gè)或 一個(gè)以上數(shù)據(jù)庫,且所述組解釋器中的第四解釋器使用第四算法來搜索所述一個(gè)或一個(gè)以 上數(shù)據(jù)庫,所述第三算法不同于所述第四算法。
[0015] 在一些實(shí)施例中,所述組解釋器中的所述解釋器不試圖修復(fù)所述命令。
[0016] 在一些實(shí)施例中,所述合并僅合并來自所述組解釋器的不重疊結(jié)果,并且將來自 所述組解釋器的重疊結(jié)果排列在分級(jí)組中,且選擇所述分級(jí)組中的一個(gè)結(jié)果并將其合并到 所述經(jīng)修復(fù)的語音轉(zhuǎn)錄中。
[0017] 在一些實(shí)施例中,每一解釋器經(jīng)設(shè)計(jì)以修復(fù)的所述特定錯(cuò)誤類型是基于由所述解 釋器搜索的所述一個(gè)或一個(gè)以上數(shù)據(jù)庫中的一個(gè)或一個(gè)以上字段來確定的。
[0018] 在一些實(shí)施例中,所述組解釋器在確定是否修復(fù)所述文本輸出中的一個(gè)或一個(gè)以 上字詞時(shí)搜索所述一個(gè)或一個(gè)以上數(shù)據(jù)庫以將所述文本輸出中的字詞與所述一個(gè)或一個(gè) 以上數(shù)據(jù)庫中的一個(gè)或一個(gè)以上項(xiàng)目進(jìn)行比較。
[0019] 在一些實(shí)施例中,語法剖析器根據(jù)所述文本輸出確定所述命令。
[0020] 在一些實(shí)施例中,所述組應(yīng)用程序包括以下各項(xiàng)中的至少兩者:(a)電話撥號(hào)器, 其使用所述經(jīng)修復(fù)的語音轉(zhuǎn)錄來撥打電話號(hào)碼;(b)媒體播放器,其用于播放歌曲或其它 內(nèi)容;(c)文本消息接發(fā)應(yīng)用程序;(d)電子郵件應(yīng)用程序;(e)日歷應(yīng)用程序;(f)本地搜 索應(yīng)用程序;(g)視頻會(huì)議應(yīng)用程序;或(h)人員或物體定位應(yīng)用程序。
[0021 ] 在一些實(shí)施例中,所述方法包括上文所陳述的特征的任何組合。
[0022] 在一個(gè)方面中,一種數(shù)據(jù)處理系統(tǒng)包括:語音識(shí)別器,其可操作以在語音輸入中識(shí) 別文本且產(chǎn)生文本輸出;上下文確定模塊,其可操作以確定所述語音輸入的上下文;麥克 風(fēng),其耦合到所述語音識(shí)別器以將所述語音輸入提供到所述語音識(shí)別器;存儲(chǔ)裝置,其用于 將所述文本輸出存儲(chǔ)為具有多個(gè)標(biāo)記的剖析數(shù)據(jù)結(jié)構(gòu),所述多個(gè)標(biāo)記各自表示所述文本輸 出中的字詞;一組解釋器,其耦合到所述語音識(shí)別器和所述上下文確定模塊,其中每一解釋 器經(jīng)設(shè)計(jì)以修復(fù)所述文本輸出中的特定類型的錯(cuò)誤,搜索一個(gè)或一個(gè)以上數(shù)據(jù)庫以識(shí)別所 述數(shù)據(jù)庫中的一個(gè)或一個(gè)以上項(xiàng)目與所述標(biāo)記中的每一者之間的匹配,且根據(jù)所述所識(shí)別 的匹配和所述上下文確定所述解釋器是否能修復(fù)所述文本輸出中的標(biāo)記;以及控制器,其 用于合并由所述組解釋器產(chǎn)生的選定結(jié)果以產(chǎn)生經(jīng)修復(fù)的語音轉(zhuǎn)錄且用于基于所述經(jīng)修 復(fù)的語音轉(zhuǎn)錄中的命令來將所述經(jīng)修復(fù)的語音轉(zhuǎn)錄提供到一組應(yīng)用程序中的選定應(yīng)用程 序,其中所述經(jīng)修復(fù)的語音轉(zhuǎn)錄表示所述文本輸出的經(jīng)修復(fù)版本,且所述選定應(yīng)用程序經(jīng) 配置以執(zhí)行所述命令。
[0023] 在一些實(shí)施例中,所述上下文包括先前用戶輸入歷史,且所述一個(gè)或一個(gè)以上數(shù) 據(jù)庫包括通訊錄數(shù)據(jù)庫,所述通訊錄數(shù)