本申請要求于2014年12月19日提交的、標題為“applicationfocusinspeech-basedsystems”的美國專利申請?zhí)?4/578,056的優(yōu)先權,該專利申請通過引用被全部并入本文。
背景
家、辦公室、汽車和公共空間正變得更有線并與激增的計算設備例如上網(wǎng)本計算機、平板計算機、娛樂系統(tǒng)和便攜式通信設備連接。當計算設備發(fā)展時,用戶與這些設備交互的方式繼續(xù)發(fā)展。例如,人可通過機械設備(例如鍵盤、鼠標等)、電氣設備(例如觸摸屏、觸控板等)和光學設備(例如運動檢測器、攝像機等)與計算設備交互。與計算設備交互的另一方式是通過音頻設備,其理解人類語音并對人類語音做出響應。
附圖簡述
參考附圖描述詳細描述。在附圖中,參考數(shù)字的最左邊的數(shù)字標識參考數(shù)字首次出現(xiàn)的附圖。相同的參考數(shù)字在不同附圖中的使用指示相似或相同的部件或特征。
圖1是包括本地音頻設備和遠程基于語音的服務的話音交互計算體系結(jié)構(gòu)的方框圖。
圖2是示出在本地音頻設備和遠程基于語音的服務之間的信息流的例子的方框圖。
圖3是示出與將含義路由到不同應用有關的信息流的例子的方框圖。
圖4是示出選擇和/或指定主要活動和次要活動應用的示例方法的流程圖。
圖5是示出實現(xiàn)對主要活動應用的超時的示例方法的流程圖。
圖6是示出處理來自本地音頻設備的音頻以確定由用戶表示的含義并對含義做出響應的示例方法的流程圖。
圖7是示出路由從用戶話語得到的含義的示例方法的流程圖。
圖8是示出本地音頻設備的選定功能部件的方框圖。
圖9是示出可部分地用于實現(xiàn)本文所述的基于語音的服務的服務器設備的部件的方框圖。
詳細描述
本公開描述用于與用戶交互以提供服務的設備、系統(tǒng)和技術。如本文公開的系統(tǒng)可配置成接收用戶語音并基于從在不同用戶的家中的音頻設備接收的音頻來對用戶語音做出響應。
系統(tǒng)可包括基于語音的服務,其由基于網(wǎng)絡的應用訪問以結(jié)合家中音頻設備來提供服務。應用可作為基于語音的服務的部分或由第三方提供者實現(xiàn)?;谡Z音的服務允許應用從家中音頻設備接收信息并使用家中音頻設備來執(zhí)行操作。
應用可將指令音頻設備執(zhí)行音頻活動的命令發(fā)送到音頻設備。例如,應用可指令音頻設備播放音樂。作為音頻活動的另一例子,應用可指令音頻設備使用基于語音的服務或音頻設備的文字到語音能力來播放語音。
應用也可通過音頻設備進行與用戶的語音對話。語音對話包括與用戶的特定行動或意圖有關的一序列語音問題、答案和/或陳述。更具體地,語音對話可包括一系列語音表達,其可包括用戶的話語和由基于語音的服務產(chǎn)生的語音消息。語音對話例如可在初始的用戶話語時開始?;谡Z音的服務可通過問問題例如“你想做什么”來做出響應。用戶可通過在回答問題時做出陳述來做出響應。這個過程可迭代,直到基于語音的服務能夠確定要采取的特定行動或要調(diào)用的功能為止。
應用還可配置音頻設備以響應于由音頻設備本身檢測或監(jiān)測的條件來發(fā)出可聽得見的通知。例如,音頻設備可配置成在一天的指定時間或在指定的時間段之后發(fā)出警報。作為另一例子,音頻設備可配置成響應于結(jié)合家自動化或家安全系統(tǒng)檢測的事件而發(fā)出通知。通知可以是在背景中播放且不要求即時的用戶注意或交互的被動通知。通知可以可選地包括比前景通知更大聲或更顯著并要求用戶的更即時的行動或確認的主動或前景通知。
音頻設備的用戶可通過講話來向應用提供指令。音頻設備捕獲包括用戶語音的聲音并向基于語音的服務提供對應的音頻信號?;谡Z音的服務在音頻上執(zhí)行自動語音識別(asr)和自然語言理解(nlu)以確定用戶語音的含義。含義作為例子可包括“播放音樂”、“暫?!?、“停止”、“設置警報”、“呼叫bob”、“播放天氣簡語”、“播放當前新聞摘要”、“訂購披薩”、“創(chuàng)作電子郵件”、“音量調(diào)大”、“音量調(diào)小”、“消音”、“設置警報”、“取消”等。
響應于確定用戶語音的含義,基于語音的服務確定多個可用或活動應用中的哪個應被選擇來對含義做出響應。單獨的應用可向基于語音的服務注冊以指示它們能夠操縱的含義??勺杂糜诓倏v單獨的含義的多個應用。作為例子,可注冊幾個應用以通過執(zhí)行關于由應用正執(zhí)行的活動的“停止”行動來對“停止”含義做出響應。注意,從“停止”含義產(chǎn)生的行動取決于最終被請求操縱含義或?qū)x做出響應的應用。例如,一個應用可停止播放音樂而另一音樂可停止或取消警報。更一般地,從任何特定的含義產(chǎn)生的行動可以不同,取決于接收含義并對含義做出響應的應用。在一些情況下,應用可通過發(fā)起隨后的對話打開例如通過產(chǎn)生對用戶語音的含義的語音響應而對特定的含義做出響應。語音響應可請求澄清允許基于語音的服務完全確定用戶的意圖的信息。在其它情況下,應用可通過執(zhí)行至少部分地通過含義指示的行動來做出響應,例如“由藝術家a演奏音樂”。
當單獨的應用指令音頻設備發(fā)起活動時,應用提供與應用相關聯(lián)的應用標識符。當音頻設備執(zhí)行活動時,音頻設備將關于活動的事件消息發(fā)送到基于語音的服務。例如,事件消息可指示所請求的音樂已開始播放,音樂家列表的特定音軌已開始播放,語音已開始或結(jié)束,通知被給出,等等。每個事件消息指示應用的應用標識符,其負責事件所相關的活動。事件消息被傳遞到對應于應用標識符的應用。
當用戶講話時,基于語音的系統(tǒng)執(zhí)行asr和nlu以識別用戶的語音并確定語音的含義。然而,它可以是語音本身和語音的所確定的含義都不指示語音指向多個可用應用中的哪個。相應地,為了對用戶語音的所確定的含義做出響應的目的,基于語音的系統(tǒng)具有監(jiān)測音頻設備的活動以留意哪些應用應被考慮為當前活動的路由部件。
路由部件通過監(jiān)測從音頻設備接收的事件消息以確定哪個應用或哪些應用應當前被考慮為活動的來工作。更具體地,路由部件跟蹤哪些應用負責由音頻設備報告的最近音頻事件。響應于標識有責任的應用的事件消息,路由部件將有責任的應用指定為主要活動的或次要活動的。主要活動應用被認為具有主要語音焦點。次要活動應用被認為具有次要語音焦點。所識別的用戶語音的所確定的含義首先被提供到當前具有主要語音焦點的應用。如果沒有應用具有主要語音焦點或如果具有主要語音焦點的應用不能夠操縱含義,則含義被提供到具有次要語音焦點的應用。
為了留意哪些應用當前具有主要和次要語音焦點,路由部件監(jiān)測來自音頻設備的關于音頻設備播放的音頻的事件消息。單獨的事件消息標識負責音頻的應用,且也指示音頻的類別。作為例子,分類可指示音頻是否是用戶交互的部分。如果分類指示音頻是用戶交互的部分,則路由部件將有責任的應用指定為具有主要語音焦點。如果分類指示音頻不是用戶交互的部分,則路由部件將有責任的應用指定為具有次要語音焦點。在所述實施方案中,只有一個應用(例如最近被指定為主要活動的應用)具有主要語音焦點,且只有一個應用(例如最近被指定為次要活動的應用)具有次要語音焦點。
更一般地,基于涉及或打算發(fā)起雙向用戶交互的活動例如語音對話和活動用戶通知的出現(xiàn)來準許主要語音焦點。基于不涉及雙向用戶交互的活動例如被動通知和音樂重放的出現(xiàn)來準許次要語音焦點。
圖1示出環(huán)境100,這些技術可在該環(huán)境中被實踐。環(huán)境100可包括房間或其它用戶建筑物102。用戶建筑物可包括房屋、辦公室、汽車和其它空間或區(qū)域。
在用戶建筑物102內(nèi)的是用戶104和一個或多個音頻設備106。音頻設備106在一些實施方案中可包括具有一個或多個麥克風、揚聲器和網(wǎng)絡接口或其它通信接口的基于網(wǎng)絡的或網(wǎng)絡可訪問的設備。在某些實施方案中,音頻設備106也可具有為了用戶交互而設計的其它元件,包括按鈕、旋鈕、燈、指示器和各種類型的傳感器、輸入元件和輸出元件。
音頻設備106從用戶104接收口頭命令并響應于該命令而提供服務。所提供的服務可包括執(zhí)行行動或活動、再現(xiàn)媒體、得到和/或提供信息、監(jiān)測本地條件并基于本地條件來提供通知、通過音頻設備106經(jīng)由所產(chǎn)生的或合成的語音來提供信息、代表用戶104發(fā)起基于互聯(lián)網(wǎng)的服務,等等。
在圖1所示的實施方案中,音頻設備106與網(wǎng)絡可訪問的基于語音的服務108通信?;谡Z音的服務108可被實現(xiàn)為相對于音頻設備106遠程地定位的基于網(wǎng)絡或基于云的服務。例如,基于語音的服務108可由企業(yè)組織和/或服務提供者實現(xiàn)以支持位于不同的用戶建筑物102中的多個音頻設備106,用戶建筑物又可位于廣泛變化的地理位置上。
基于語音的服務108在一些實例中可以是經(jīng)由廣域網(wǎng)例如互聯(lián)網(wǎng)來維護和可訪問的網(wǎng)絡可訪問計算平臺的部分。網(wǎng)絡可訪問計算平臺例如這可以使用術語例如“立即響應式計算”、“軟件即服務(saas)”、“平臺計算”、“網(wǎng)絡可訪問平臺”、“云服務”、“數(shù)據(jù)中心”等被提到。
在音頻設備106和基于語音的服務108之間的通信可通過各種類型的數(shù)據(jù)通信網(wǎng)絡(包括局域網(wǎng)、廣域網(wǎng)和/或公共互聯(lián)網(wǎng))來實現(xiàn)。蜂窩和/或其它無線數(shù)據(jù)通信技術也可用于與基于語音的服務108通信。用戶建筑物102可包括本地網(wǎng)絡支持設備以便于與基于語音的服務108通信,例如無線接入點、網(wǎng)絡路由器、通信集線器等。
基于語音的服務108可與各種服務和/或應用交互,支持多個音頻設備106。作為例子,這樣的服務可包括語音處理服務110。語音處理服務110可配置成從音頻設備106接收實時音頻或語音信息,以便識別用戶語音,確定由語音處理的用戶含義,并在用戶含義的履行中執(zhí)行行動或提供服務。例如,用戶可以講預定義的命令(例如“醒來”;“睡眠”)或可在與音頻設備106交互時使用更隨便的說話風格(例如,“我想去看電影。請告訴我在本地電影院正播放什么”)。用戶命令本質(zhì)上可以是任何類型的操作,例如數(shù)據(jù)庫查詢、請求和消費娛樂(例如游戲、找到并播放音樂、電影或其它內(nèi)容等)、個人管理(例如記入日歷、做筆記等)、在線購物、財務交易等。
語音和語音相關信息可以用很多不同的形式被提供到語音處理服務110。在一些實現(xiàn)中,語音相關信息可包括來自音頻設備106的連續(xù)音頻信號或流。可選地,語音相關信息可包括響應于在用戶建筑物102內(nèi)的檢測到的聲音而被提供到語音處理服務110的音頻剪輯或段。在一些情況下,音頻設備106可執(zhí)行語音識別并向基于語音的服務108提供以文本的形式的用戶語音。在一些實現(xiàn)中,基于語音的服務108可通過產(chǎn)生或指定語音來與用戶104交互,語音又由音頻設備106再現(xiàn)。語音合成可由語音處理服務110或由音頻設備106執(zhí)行。
在所述實施方案中,語音處理服務110包括用于識別語音、理解所識別的語音的含義并用于產(chǎn)生語音的部件或功能。具體地,語音處理服務110包括自動語音識別(asr)服務112、自然語言理解(nlu)服務114和文本到語音(tts)服務116。也可提供各種其它類型的語音處理功能。
asr服務112可使用各種技術來創(chuàng)建在音頻信號中表示的語音字的完全的轉(zhuǎn)錄物。例如,asr服務112可參考各種類型的模型,例如聲模型和語言模型,以識別在音頻信號中表示的語音的字。在很多情況下,通過培訓例如通過對很多不同類型的語音采樣并手動地分類來創(chuàng)建模型,例如這些模型。
聲模型可將語音表示為對應于音頻波形隨著時間的過去的特征的一系列矢量。特征可對應于頻率、音高、振幅和時間模式。可基于培訓數(shù)據(jù)的大集合來創(chuàng)建統(tǒng)計模型例如隱馬爾科夫模型(hmm)和高斯混合模型。所接收的語音的模型接著與培訓數(shù)據(jù)的模型比較以找到匹配。
語言模型描述諸如語法規(guī)則、公共字使用和模式、字典含義等的東西,以建立字序列和組合的概率。使用語言模型的語音的分析可取決于上下文,例如出現(xiàn)在當前正被分析的語音的任何部分之前或之后的字。
asr可提供識別候選項,其可包括字、短語、句子或語音的其它段。候選項可伴隨有統(tǒng)計概率,每個統(tǒng)計概率指示在對應的候選項的準確度中的“置信度”。一般,具有最高置信度分數(shù)的候選項被選擇為語音識別的輸出。
nlu服務114分析由asr服務112提供的字流,并產(chǎn)生字流的含義的表示。例如,nlu服務114可使用分析程序和語法規(guī)則來分析句子并用以容易由計算機處理的方式傳達概念的正式定義的語言產(chǎn)生句子的含義的表示。例如,含義可實質(zhì)上被表示為槽的分級集合或幀和槽值,其中每個槽對應于在語義上定義的概念。因此,句子的含義可在語義上由槽的幀和槽值表示。nlu也可使用從培訓數(shù)據(jù)產(chǎn)生的統(tǒng)計模型和模式來利用在一般語音中的字之間的統(tǒng)計相關性。
基于語音的服務108可配置成支持多個基于網(wǎng)絡的應用118。應用118通過基于語音的服務108與音頻設備106交互以至少部分地基于由音頻設備106捕獲或提供的用戶語音結(jié)合音頻設備106來提供功能。更特別地,應用118配置成通過基于語音的服務108的命令服務120進行通信,命令服務120充當設備代理以從音頻設備106接收信息并向音頻設備106提供指令、信息和內(nèi)容。在一些情況下,命令服務120可使用第一組數(shù)據(jù)格式和/或協(xié)議來與音頻設備106通信,允許相對低級別或詳細數(shù)據(jù)的傳輸。命令服務120可使用第二組數(shù)據(jù)格式和/或協(xié)議來與應用118通信,允許信息在相對較高的抽象級別處或使用不同類型的通信協(xié)議來傳輸。
應用118可在一些情況下被實現(xiàn)為基于web的或基于網(wǎng)絡的應用或服務。例如,特定的應用118可由基于語音的服務108的提供者或由第三方提供者實現(xiàn)為服務器或服務,并可通過網(wǎng)絡例如互聯(lián)網(wǎng)與命令服務120通信。在其它情況下,應用118可存在或安裝在與用戶104相關聯(lián)的物理設備例如用戶104的計算機或移動設備上,并可通過互聯(lián)網(wǎng)或其它廣域網(wǎng)與命令服務120通信。
基于語音的服務108和命令服務120可配置成根據(jù)web服務模型來與音頻設備106和/或應用118交互,且基于語音的服務108的功能可被實現(xiàn)為一個或多個web服務。通常,web服務可包括任何類型的計算服務,其經(jīng)由包括一個或多個基于互聯(lián)網(wǎng)的應用層數(shù)據(jù)傳輸協(xié)議例如一種版本的超文本傳輸協(xié)議(http)或另一適當?shù)膮f(xié)議的請求接口而對請求客戶端變得可用。
命令服務120可暴露一個或多個網(wǎng)絡可訪問api或應用接口122。api122可被實現(xiàn)為具有統(tǒng)一資源定位器(url)例如http://storageservice.domain.com的web服務端點。
應用118可由各種賣方和/或提供者設計并提供以結(jié)合音頻設備106來工作和/或使用音頻設備106通過api122和相關聯(lián)服務來提供服務。應用118可提供范圍從電子郵件到游戲的功能。應用118可包括啟用語音的應用,其響應于用戶語音和從用戶語音得到的含義來執(zhí)行行動。相應地,應用118可使它們的服務部分地基于語音和由音頻設備106和語音處理服務110提供的語音相關信息,包括所識別的語音、從語音得到的含義和已從用戶語音解釋的意圖或命令。此外,應用118可提供在音頻設備106上被再現(xiàn)為語音的文本,并可經(jīng)由命令服務120和api122向或為音頻設備106提供其它指令和命令。
在一些實現(xiàn)中,所示應用118可以是其它應用的部件例如所謂的“小型應用”。每個應用或小型應用可由應用標識符標識。應用標識符可由基于語音的服務108分配或由應用本身提供。
作為一個例子,應用可包括向音頻設備106提供音樂或其它內(nèi)容以由音頻設備106顯現(xiàn)的音頻應用。
每個應用118可與命令服務120通信以指示或記錄它能夠操縱的語音含義。多于一個應用118可能能夠操縱任何給定含義或?qū)θ魏谓o定含義做出響應??蛇x地,命令服務120可查詢單獨的應用以從應用接收關于它們是否可或?qū)δ承┖x做出響應的指示。
命令服務120包括向適當?shù)膽?18提供所識別或所標識的語音含義的路由部件124。如將在下面更詳細描述的,路由部件124根據(jù)當前正由音頻設備106執(zhí)行的活動來分配主要語音焦點和次要語音焦點。當含義被確定時,具有主要焦點(如果有的話)的應用首先被給予對含義做出響應的機會。
圖2示出可出現(xiàn)在應用118和音頻設備106之間的通信的例子。為了清楚的目的,沒有示出充當通信媒介物的命令服務120。
應用118可使命令202被發(fā)送到音頻設備106。命令202包括或指定對應于并標識應用118的應用標識符,其在圖2中被稱為appid。命令202可指定將被音頻設備106進行或執(zhí)行的活動。例如,命令可指定由音頻設備106播放的音頻內(nèi)容,例如音樂。作為另一例子,命令202可指定將由音頻設備106轉(zhuǎn)換成語音并播放為音頻的文本。作為另一例子,命令202可配置將由音頻設備106實現(xiàn)的通知。
在一些情況下,命令202可指定所命令的活動或由音頻設備106響應于活動而產(chǎn)生的音頻是否被考慮為交互式的。形成用戶交互的部分的音頻例如作為用戶對話的部分的語音可被考慮為交互式的。不是用戶交互的部分的音頻例如音樂可被考慮為非交互式的。某些類型的再現(xiàn)的語音當不是用戶交互的部分時可被考慮為非交互式的。例如,應用可產(chǎn)生語音以描述當前天氣或交通條件,其不是語音交互的部分且將因此被考慮為非交互式的。
在操作期間,音頻設備106產(chǎn)生事件消息204并將事件消息204發(fā)送回到命令服務120。每個事件消息204描述音頻事件或已出現(xiàn)在音頻設備106處的其它事件。例如,事件消息204可指定某個類型的聲音被播放,文本到語音重放已開始或結(jié)束,非交互式內(nèi)容已開始或停止,內(nèi)容或媒體的重放已進行到某個點,媒體項的重放已結(jié)束以及隨后的媒體項的重放已開始,等等。事件消息204也可指定音頻通知已由音頻設備發(fā)起。
每個事件消息指示負責活動的應用的應用標識符(appid),所述音頻事件是該活動的一部分。事件消息204可由命令服務120傳遞到有責任的應用,如由appid指定的,使得有責任的應用可監(jiān)測它已請求的活動的進展。
每個事件消息204也可指定所述音頻是交互式的還是非交互式的。交互式音頻包括是用戶交互的部分的音頻。非交互式音頻是不是用戶交互的部分的音頻。一些事件消息可明確地指定對應的事件是否是交互式的。在其它情況下,事件的性質(zhì)可內(nèi)在地指示對應的事件是否是交互式的。例如,與音樂重放的狀態(tài)有關的某些事件可被考慮為非交互式事件,即使關于這樣的事件的事件消息可以不明確地將事件分類為交互式的或非交互式的。
圖3示出基于語音的服務108如何處理所接收的用戶話語以向適當?shù)膽?18提供所確定的含義。音頻設備106捕獲作為音頻信號被傳輸?shù)交谡Z音的服務108的用戶話語或語音302。語音處理服務110使用asr和nlu來分析音頻信號以確定用戶語音302的含義304。路由部件124接收含義304的語義表示。路由部件130也接收并監(jiān)測事件消息204。
路由部件130監(jiān)測事件消息204(當它們由音頻設備106產(chǎn)生時)以確定哪個應用118被考慮為當前活動的。響應于事件消息204,路由部件124可標識主要活動應用和/或次要活動應用。被標識為主要活動應用的應用被考慮為具有主要語音焦點。被標識為次要活動應用的應用被考慮為具有次要焦點。在本文所述的實施方案中,只有單個應用被考慮為在任何給定時間是主要活動的,以及只有單個應用被考慮為在任何給定時間是次要活動的,雖然在某些其它實施方案中情況可能并不總是這樣。
當接收到含義304的語義表示時,路由部件124基于主要和次要活動的應用的以前標識向應用118之一提供含義304的表示。通常,主要活動的應用被給予操縱含義的第一機會,如果它能夠。否則,如果沒有當前是主要活動的應用或如果當前是主要活動的應用不能夠操縱含義,則當前是次要活動的應用被給予操縱含義的機會。
響應于從音頻設備106接收到事件消息204,作為背景操作來執(zhí)行將應用指定為主要或次要活動的。當從音頻設備106接收到話語時,與將應用指定為主要或次要活動的過程獨立和異步地執(zhí)行含義的路由。
圖4示出可由路由部件124執(zhí)行來基于從音頻設備106接收的事件消息選擇主要活動應用和次要活動應用的示例方法400。
行動402包括從音頻設備接收關于作為活動的部分的由音頻設備播放的音頻的事件消息204。事件消息204可包括事件描述404和對應于應用118的應用標識符406,應用118負責音頻事件和/或活動,所述音頻事件是該活動的部分。
事件消息204可在一些情況下也包含指示音頻事件的音頻是否被考慮為交互式的或非交互式的事件分類408。交互式音頻可包括作為與用戶的語音對話或交互的部分的語音。其它類型的音頻例如音樂或不是與用戶的語音對話或交互的部分的語音可被考慮為背景或非交互式音頻。在一些情況下,事件分類408可從事件消息204省略,且與事件消息204一起提供的事件或其它元數(shù)據(jù)的性質(zhì)可指示對應的事件是否是交互式的。
除了對話語音以外,響應于由音頻設備106監(jiān)測的條件而由音頻設備106產(chǎn)生的某些類型的通知可被考慮為交互式的。雖然這樣的通知不一定是語音對話的部分,但是它們可被考慮為用戶交互的部分,因為它們請求即時的用戶輸入。例如,通知可包括用戶被期望回復的可聽得見的警報聲音,例如通過說詞“停止警報”。
由音頻設備106響應于由音頻設備106監(jiān)測的條件而產(chǎn)生的其它類型的通知可被考慮為非交互式的。例如,通知可包括打算向用戶警告非關鍵條件例如消息或電子郵件的接收的背景聲,這并不打算請求即時用戶輸入。
通常,分類408或與事件消息相關聯(lián)的其它信息可指示對應的音頻包括:
是用戶交互的部分的語音;
不是用戶交互的部分的語音;
是用戶交互的部分的音頻內(nèi)容;
不是用戶交互的部分的音頻內(nèi)容;或
響應于由音頻設備檢測到條件而給出的音頻通知。
音頻通知可包括不是用戶交互的部分的背景音頻通知或是用戶交互的部分的前景音頻通知。
行動410包括確定事件分類408或事件消息204的其它數(shù)據(jù)是否指示所接收的事件消息是針對交互式事件或非交互式事件。在事件消息204明確提供分類408的情況下,這可涉及檢查分類408。否則,行動410可包括基于事件的類型或描述來確定對應的事件是否是交互式的,其中某些事件或某些類型的事件被定義為交互式的,而其它事件或其它類型的事件被定義為非交互式的。在一些情況下,例如與媒體例如音樂的重放有關的事件可按照定義被考慮為非交互式的。
如果事件是交互式的,則執(zhí)行行動412,其將任何當前指定的主要活動應用而不是有責任的應用指定為不再是主要活動。此外,執(zhí)行行動414,其將有責任的應用(由應用標識符406指示)指定為現(xiàn)在是主要活動的并具有主要焦點。
如果事件是非交互式的和/或有責任的應用未被行動414指定為主要活動的,則執(zhí)行行動416,其將任何當前指定的主要活動應用而不是有責任的應用指定為不再是次要活動的。此外,執(zhí)行行動418,其將有責任的應用(由應用標識符406指示)指定為現(xiàn)在是次要活動的并具有次要焦點。
注意,某些類型的事件可內(nèi)在地與對應的應用相關聯(lián),且應用標識符在這些情況下可被省略。例如,與從音頻設備106的
圖5示出示例方法500,其可關于已被指定為主要活動的有責任的應用執(zhí)行,如在塊502指示的,例如可根據(jù)圖4的方法400發(fā)生。行動504包括確定是否預定義時間段已過去或超時已到期。如果該時間段已過去或超時已到期,則執(zhí)行行動506,其除去將有責任的應用作為主要活動的指定。如果該時間段已過去或超時未到期,則循環(huán)地重復行動504。每當將當前指定的主要活動應用最新指定為主要活動的時,可重置時間段,諸如響應于最新接收的事件消息,事件消息導致通過圖4的行動416重新分配主要焦點。
方法500確保主要活動應用將不失去語音焦點,如果指定應用的交互式事件的事件消息未在指定的時間段期間被接收到。應用可稍后復得主要焦點,如果指定應用的應用標識符并指定交互式事件分類的新事件消息被接收到。
圖6示出處理用戶語音的示例方法600。行動602包括接收包含用戶語音的音頻信號。行動604包括使用asr來分析音頻信號以識別用戶語音并產(chǎn)生用戶語音的轉(zhuǎn)錄物。行動606包括使用nlu來分析所識別的語音以確定用戶語音的含義并產(chǎn)生用戶語音及其含義的語義表示。行動608包括路由應用118的一個或多個的表示。
圖7示出將語音含義的語義表示路由到多個應用118之一的示例方法700。行動702包括接收含義的表示。行動704包括確定在多個應用118當中是否有被已指定為主要活動的且因此具有主要焦點的應用。如果有這樣的主要活動應用,則執(zhí)行確定主要活動應用是否可對含義做出響應的行動706??赏ㄟ^參考指示哪些含義可由哪些應用操縱的應用的以前記錄來執(zhí)行行動706??蛇x地,可查詢主要活動應用以確定它當前是否可對含義做出響應。如果主要活動應用可以或?qū)x做出響應,則執(zhí)行向應用提供含義的語義表示和/或請求主要活動應用對含義做出響應的行動708。在一些情況下,可組合行動706和708:含義的表示可連同使應用對含義做出響應的請求一起傳遞到主要活動應用,且應用可通過接受請求或指示應用將不對含義做出響應來做出響應。
如果沒有當前主要活動的應用,如果主要應用指示它將不或不能夠?qū)λ_定的含義做出響應,或如果否則確定主要活動應用將不對含義做出響應,則執(zhí)行行動710,其確定在多個應用118當中是否有已被指定為次要活動的并因此具有次要焦點的應用。如果有這樣的次要活動應用,則執(zhí)行行動712,其確定次要活動應用是否能夠?qū)λ_定的含義做出響應??赏ㄟ^參考指示哪些含義可由哪些應用操縱的應用的以前記錄來執(zhí)行行動712。可選地,可查詢次要活動應用以確定它是否可當前對所確定的含義做出響應。如果次要活動應用可以或?qū)x做出響應,則執(zhí)行行動714,其向次要活動應用提供含義的語義表示和/或請求次要活動應用對含義做出響應。在一些情況下,可組合行動710和712:含義的語義表示可連同使次要活動應用對含義做出響應的請求一起傳遞到次要活動應用,且應用可通過接受請求或謝絕該請求來做出響應。
當次要活動應用對含義做出響應時或當次要活動應用指示它可對含義做出響應時,也可執(zhí)行行動716。行動716包括將次要活動應用指定為現(xiàn)在是主要活動的且因此具有主要語音焦點。當應用被指定為主要活動的時,以前被指定為主要活動的任何其它應用然后被指定為不再是主要活動的。注意,在某些實施方案中可只對某些類型的應用或事件執(zhí)行行動716。作為例子,含義“提高音量”可被考慮為短暫命令或事件,且可以不導致對應的應用被給予主要焦點。
如果沒有當前是次要活動的應用,如果次要活動應用指示它將不或不能夠?qū)λ_定的含義做出響應,或如果否則確定次要活動應用將不對含義做出響應,則執(zhí)行行動718,其確定在多個應用當中是否有可操縱所確定的含義的另一應用??赏ㄟ^參考指示哪些含義可由哪些應用操縱的應用的以前記錄來執(zhí)行行動718??蛇x地或此外,可查詢其它應用以確定它們是否可當前對含義做出響應。如果另一應用可操縱含義,則執(zhí)行行動720,其向其它應用提供含義的表示和/或請求其它應用對含義做出響應。
當其它應用之一對含義事件做出響應時或當否則非活動應用指示它可對含義做出響應時,也可執(zhí)行行動722。行動722包括將響應應用指定為是主要活動的且因此具有主要語音焦點。當應用被指定為主要活動的時,以前被指定為主要活動的任何其它應用然后被指定為不再是主要活動的。注意,在某些實施方案中可只對不考慮為短暫的某些類型的應用或事件執(zhí)行行動722。
行動718可包括向不同的應用以它們向命令服務120注冊的順序提供含義的語義表示,較早的已注冊應用被給予優(yōu)于稍后注冊的應用的優(yōu)先級??蛇x地,每個應用可被請求提供指示含義被預期針對應用的可能性的置信度水平。例如,音樂重放應用在它當前不播放音樂時可以將本身考慮是“暫停”含義的相對不可能的接收方,即使它以前指示操縱“暫?!焙x的能力。含義可接著被提供到提供最高置信度水平的應用。
圖8示出音頻設備106的示例配置。在圖8的例子中,音頻設備106具有操作邏輯,其包括處理器802和存儲器804。存儲器804可包含以指令的形式的應用和程序,指令由處理器802執(zhí)行以執(zhí)行實現(xiàn)音頻設備106的期望功能的動作或行動。存儲器804可以是一種類型的計算機存儲介質(zhì),并可包括易失性和非易失性存儲器。因此,存儲器804可包括但不限于ram、rom、eeprom、閃存或其它存儲器技術。
圖8示出可由音頻設備106提供并由存儲器804存儲以實現(xiàn)音頻設備106的功能的應用和/或程序的幾個例子,但是可在各種實施方案中提供功能的很多其它應用和類型。
音頻設備106可具有配置成管理在音頻設備106內(nèi)并耦合到音頻設備106的硬件和服務的操作系統(tǒng)806。此外,音頻設備106可包括音頻處理模塊808,其從用戶建筑物102接收音頻并處理所接收的音頻以執(zhí)行行動并響應于用戶語音而提供服務。在一些情況下,音頻處理模塊808可執(zhí)行語音識別和關于所接收的音頻的自然語言理解。在其它情況下,音頻處理模塊可將所接收的音頻傳送到基于語音的服務108,其可使用語音處理服務110來執(zhí)行語音處理,例如語音識別和自然語言理解。音頻處理模塊808可執(zhí)行各種類型的音頻處理,包括過濾、壓縮等,并可利用數(shù)字信號處理器或信號處理的其它方法。
音頻處理模塊808也可負責制造或產(chǎn)生語音。例如,音頻設備106可從基于語音的服務108接收文本,并可將文本轉(zhuǎn)換成語音??蛇x地,音頻設備106可接收由音頻處理模塊808處理的音頻信號用于由音頻設備106再現(xiàn)。
音頻設備106可具有配置成建立與基于語音的服務108的通信信道的通信部件810。各種類型的通信協(xié)議可由通信部件810支持。在一些情況下,通信部件810可配置成使用各種類型的網(wǎng)絡通信技術之一通過api122來建立與基于語音的服務108的安全和/或加密通信信道。
音頻設備106也可具有配置成響應于由音頻設備106執(zhí)行的音頻活動來提供如上所述的事件消息的事件報告模塊812。在一些實現(xiàn)中,音頻設備106可向基于語音的服務108前攝地提供事件消息。在其它實現(xiàn)中,基于語音的服務可輪詢或查詢音頻設備106以得到事件消息。
除了上面所述的軟件功能以外,音頻設備106還可實現(xiàn)各種類型的其它應用、功能和/或服務814。例如,其它服務814可包括在圖8中被稱為媒體播放器816的音頻功能或應用,其用于響應于用戶指令或在基于語音的服務108或應用118的指導下播放歌曲或其它類型的音頻。媒體播放器816可從基于語音的服務108、從應用118的一個或多個或從第三方服務例如音樂服務、podcast服務等接收音頻。例如,基于語音的服務108和/或應用118之一可指令音頻設備106得到并播放來自第三方服務的特定歌曲。當接收到這個指令時,音頻設備106的媒體播放器816可聯(lián)系第三方服務,發(fā)起歌曲的流式傳送或下載,并可接著播放歌曲而沒有來自基于語音的服務108或應用118的指令音頻設備106播放歌曲的另外的指令或信息。類似地,可將音樂家列表提供到媒體播放器816用于由音頻設備106的媒體播放器816重放。
音頻設備106還可包括各種類型的基于硬件的部件或功能,包括設備接口818和通信接口820。設備接口818可提供到輔助設備例如bluetoothtm設備、遠程顯現(xiàn)設備、遠程傳感器等的連接。通信接口820可包括網(wǎng)絡接口和允許音頻設備106連接到基于語音的服務108并與基于語音的服務108通信的其它類型的接口。
音頻設備106可具有各種類型的指示器822,例如用于將操作信息傳遞給用戶104的燈。指示器822可包括led(發(fā)光二極管)、平板顯示元件、文本顯示器等。
音頻設備106還可具有可包括按鈕、旋鈕、滑塊、觸摸傳感器等的各種類型的物理控件824。物理控件824可用于基本功能,例如啟用/禁用音頻設備106,設置音頻設備106的音頻輸入音量,等等。
音頻設備106可包括麥克風單元826,其包括一個或多個麥克風以接收音頻輸入,例如用戶話音輸入。麥克風單元826在一些實現(xiàn)中可包括定向麥克風陣列,使得來自不同方向的聲音可選擇性地被接收和/或增強。音頻設備106還可包括用于音頻的輸出的揚聲器828。
除了物理控件824和麥克風單元826以外,音頻設備106還可具有各種其它類型的傳感器830,其可包括靜止和視頻攝像機、深度傳感器、3d(三維)攝像機、紅外傳感器、接近度傳感器、用于測量周圍聲音和光的水平的傳感器等。音頻設備106還可具有分析能力,其利用來自傳感器839的信息來確定用戶建筑物102的特性和在用戶建筑物102內(nèi)的環(huán)境條件。例如,音頻設備106可能能夠分析光信息以確定房間的3d特性,包括在房間內(nèi)的人或物體的存在和/或身份。作為另一例子,音頻設備106可能能夠檢測并評估房間的音頻特性,以便優(yōu)化音頻重放。
音頻設備106還可具有用于與用戶104交互的其它用戶接口(ui)元件832。其它ui元件可包括顯示面板、投影儀、觸控板、鍵盤等。
在某些情況中,音頻設備106可包括移動設備,例如智能電話、平板計算機、眼鏡、手表等。移動設備可具有傳感器,例如羅盤、加速度計、陀螺儀、全球定位接收器等以及具有基于應用來確定各種環(huán)境信息并訪問基于網(wǎng)絡的信息資源的能力。
圖9示出可用于實現(xiàn)基于語音的服務108的功能的服務器900的相關部件和/或可用于提供如本文所述的服務的其它部件。通常,功能元件可由一個或多個服務器實現(xiàn),上面所述的各種功能以各種方式分布在不同的服務器當中。服務器可一起或單獨地被定位,并被組織為虛擬服務器、服務器組和/或服務器場。所述功能可由單個實體或企業(yè)的服務器提供,或可利用多個實體或企業(yè)的服務器和/或服務。
在非常基本的配置中,示例服務器900可包括由一個或多個處理器組成的處理單元902和相關聯(lián)存儲器904。根據(jù)服務器900的配置,存儲器904可以是一種類型的計算機存儲介質(zhì)并可包括易失性和非易失性存儲器。因此,存儲器904可包括但不限于ram、rom、eeprom、閃存或其它存儲器技術。
存儲器904可用于存儲由處理單元902可執(zhí)行的任何數(shù)量的功能部件。在很多實施方案中,這些功能部件包括由處理單元902可執(zhí)行且當被執(zhí)行時實現(xiàn)用于執(zhí)行上面所述的行動的操作邏輯的指令或程序。
在存儲器904中存儲的功能部件可包括操作系統(tǒng)906和與遠程設備例如計算機、媒體消費設備等交互的web服務部件908。存儲器904還可具有實現(xiàn)語音處理服務110、命令服務120、api122和路由部件124的指令。在一些情況下,應用118的一個或多個也可被實現(xiàn)為存儲在存儲器904中的功能部件。
服務器900當然可包括在圖9中沒有示出的很多其它邏輯、編程和物理部件。
注意,雖然音頻設備106在本文被描述為在家里使用的話音控制的或基于語音的音頻設備,但是本文所述的技術可結(jié)合各種不同類型的設備例如電信設備和部件、免提設備、娛樂設備、媒體重放設備、平板計算機、個人計算機、專用設備等來實現(xiàn)。
上面所述的實施方案可例如使用計算機、處理器、數(shù)字信號處理器、模擬處理器等編程地實現(xiàn)。然而,在其它實施方案中,可使用專門或?qū)S秒娐贰M電路和/或數(shù)字邏輯電路——來實現(xiàn)部件、功能或元件的一個或多個。
而且,雖然已用某些特征所特有的語言描述了主題,但是應理解,在所附權利要求中定義的主題不一定限于所描述的特定特征。更確切地,特定特征被公開為實現(xiàn)權利要求的說明性形式。
條款
1.一種系統(tǒng),其包括:
命令服務,其配置成:與多個應用通信,與音頻設備通信,并將命令發(fā)送到音頻設備以為音頻應用執(zhí)行提供音頻內(nèi)容以由音頻設備播放的活動,其中命令指定對應于音頻應用的應用標識符;
控制邏輯,其配置成執(zhí)行包括以下項的動作:
從音頻設備接收關于由音頻設備播放的聲音的事件消息,其中事件消息指定對應于音頻應用的應用標識符;
如果事件消息指示由音頻設備播放的聲音是與用戶的語音交互的部分,則將音頻應用指定為主要活動的;
如果事件消息指示由音頻設備播放的聲音不是與用戶的語音交互的部分,則將音頻應用指定為次要活動的;
語音識別服務,其配置成從音頻設備接收音頻信號并識別在音頻信號中的用戶語音;
語言理解服務,其配置成確定用戶語音的含義;
控制邏輯,其配置成執(zhí)行包括以下項的另外的行動:
如果在多個應用當中存在主要活動應用,則請求主要活動應用通過(a)執(zhí)行至少部分地通過用戶語音的含義指示的第一行動或(b)產(chǎn)生對用戶語音的第一語音響應來對用戶語音做出響應;以及
如果在多個應用當中沒有主要活動應用且如果在多個應用當中存在次要活動應用,則請求次要活動應用通過(a)執(zhí)行至少部分地通過用戶語音的含義指示的第二行動或(b)產(chǎn)生對用戶語音的第二語音響應來對用戶語音做出響應。
2.如條款1所述的系統(tǒng),其中事件消息指定指示聲音是否是與用戶的語音交互的部分的事件分類,分類指示聲音包括下列項中的至少一個:
是用戶交互的部分的語音;
不是用戶交互的部分的語音;
是用戶交互的部分的音頻內(nèi)容;
不是用戶交互的部分的音頻內(nèi)容;或
響應于由音頻設備檢測到條件而給出的音頻通知。
3.如條款1所述的系統(tǒng),其中事件消息指示第二音頻是響應于由音頻設備檢測到條件而給出的通知,動作還包括將音頻應用指定為主要活動的。
4.如條款1所述的系統(tǒng),行動還包括:
確定在預定義時間段期間沒有接收到標識音頻應用的事件消息;以及
除去音頻應用作為主要活動的指定。
5.一種方法,其包括:
向音頻設備提供執(zhí)行活動的命令,其中命令從多個應用當中標識有責任的應用;
從音頻設備接收關于由音頻設備顯現(xiàn)的聲音的事件消息,事件消息標識有責任的應用;
如果事件消息指示聲音是用戶交互的部分,則將有責任的應用指定為主要活動的;
接收由音頻設備捕獲的語音;
確定語音的含義;以及
如果在多個應用當中存在可對含義做出響應的主要活動應用,則請求主要活動應用對含義做出響應。
6.如條款1所述的方法,其還包括:
如果事件消息不指示音頻是用戶交互的部分,則將有責任的應用指定為次要活動的;以及
如果在多個應用當中沒有可對含義做出響應的主要活動應用,則請求多個應用的次要活動應用對含義做出響應。
7.如條款2所述的方法,其還包括,如果在多個應用當中沒有可對含義做出響應的主要活動應用,則:
確定次要活動應用可對含義做出響應;以及
將次要活動應用指定為主要活動的。
8.如條款2所述的方法,其還包括:
從主要活動應用接收主要活動應用將不對含義做出響應的指示;以及
響應于從主要活動應用接收到指示,請求次要活動應用對含義做出響應。
9.如條款1所述的方法,其還包括在請求主要活動應用對含義做出響應之前確定主要活動應用可對含義做出響應。
10.如條款1所述的方法,其中分類指示音頻是下列項中的至少一個:
是用戶交互的部分的語音;
不是用戶交互的部分的語音;
是用戶交互的部分的音頻內(nèi)容;
不是用戶交互的部分的音頻內(nèi)容;或
響應于由音頻設備檢測到條件而給出的音頻通知。
11.如條款6所述的方法,其中音頻通知包括:
不是用戶交互的部分的背景音頻通知;或
是用戶交互的部分的前景音頻通知。
12.如條款1所述的方法,其中:
命令指定標識有責任的應用的應用標識符;以及
事件消息指定應用標識符以標識有責任的應用。
13.如條款1所述的方法,其還包括:
確定在預定義時間段期間沒有接收到標識有責任的應用的事件消息;以及
除去有責任的應用作為主要活動的指定。
14.一種方法,其包括:
從設備接收關于由設備執(zhí)行的第一行動的第一事件消息,第一事件消息從多個應用當中標識第一有責任的應用,其中多個應用中的每個可對由用戶語音表達的一個或多個含義做出響應;
確定第一行動是用戶交互的部分;
將第一有責任的應用指定為主要活動的;
標識第一用戶語音的第一含義;以及
確定在多個應用當中有可對第一含義做出響應的主要活動應用;以及
選擇主要活動應用以對第一含義做出響應。
15.如條款10所述的方法,其還包括:
從設備接收關于由設備執(zhí)行的第二行動的第二事件消息,第二事件消息從多個應用當中標識第二有責任的應用;
確定第二行動不是用戶交互的部分;
將第二有責任的應用指定為次要活動的;
確定第二用戶語音的第二含義;
確定在多個應用當中沒有可對第二含義做出響應的主要活動應用;以及
選擇次要活動應用以對第二含義做出響應。
16.如條款11所述的方法,其還包括:
確定第三用戶語音的第三含義;
確定主要活動應用將不對第三含義做出響應;以及
請求次要活動應用對第三含義做出響應。
17.如條款11所述的方法,其還包括:
確定第三用戶語音的第三含義;
從主要活動應用接收主要活動應用將不對第三含義做出響應的指示;以及
請求次要活動應用對第三含義做出響應。
18.如條款10所述的方法,其中事件消息指示音頻的分類,分類指示音頻是:
是用戶交互的部分的語音;
不是用戶交互的部分的語音;
是用戶交互的部分的音頻內(nèi)容;
不是用戶交互的部分的音頻內(nèi)容;或
響應于由音頻設備檢測到條件而給出的音頻通知。
19.如條款14所述的方法,其中音頻通知包括:
不是用戶交互的部分的背景音頻通知;或
是用戶交互的部分的前景音頻通知。
20.如條款10所述的方法,其中第一事件消息指定標識第一有責任的應用的應用標識符。