背景技術(shù):
輸入理解系統(tǒng)利用關(guān)于用戶的個人數(shù)據(jù)的信息和上下文來咨詢包含關(guān)于各種實體的信息的知識源。這改善了輸入理解系統(tǒng)解釋用戶查詢的能力以及改善了響應(yīng)用戶查詢的決策。結(jié)果,可以將用戶的私有信息發(fā)送到駐留在該信息原始所存儲在的客戶端的外部的服務(wù)。因此,存在關(guān)于如下的挑戰(zhàn):保持用戶私有信息的機密性,同時利用知識存儲庫來增加輸入理解系統(tǒng)的健壯性。這是關(guān)于本申請所指向的一般技術(shù)環(huán)境的。
技術(shù)實現(xiàn)要素:
本公開的例子包括在本地平臺處捕捉輸入并將捕捉到的輸入發(fā)送到與本地平臺分離的服務(wù)平臺。接收服務(wù)平臺響應(yīng)于捕捉到的輸入生成的至少一個被部分評估的策略。本地平臺通過將對本地平臺私有的信息應(yīng)用到被部分評估的策略來完成被部分評估的策略。本地平臺基于完成被部分評估的策略來確定用于響應(yīng)于捕捉到的輸入的最終動作。
提供該“發(fā)明內(nèi)容”是為了以簡化形式引入在下文具體實施方式中進一步描述的概念的選擇。該發(fā)明內(nèi)容不旨在標(biāo)識所要求保護主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護主題的范圍。例子的額外方面、特征和/或優(yōu)點將在后續(xù)描述中被部分闡述,并且根據(jù)描述將部分地是明顯的,或者可以通過本公開的實施而被獲悉。
附圖說明
參考以下附圖描述非限制性和非排他性例子。
圖1示出了用于輸入評估和響應(yīng)的示例性系統(tǒng)的概圖。
圖2示出了用于語音輸入評估和響應(yīng)的示例性例子的概圖。
圖3示出了本地部件處理的示例性方法。
圖4示出了由輸入理解服務(wù)部件處理的示例性方法。
圖5是示出可以實施本公開的各方面的計算設(shè)備的例子的框圖。
圖6a和6b是可以實施本公開的各方面的移動計算設(shè)備的簡化框圖。
圖7是可以實施本公開的各方面的分布式計算系統(tǒng)的簡化框圖。
具體實施方式
本公開的例子保持用戶私有信息的機密性,而不放棄使用利用在面向服務(wù)架構(gòu)下可用的豐富的知識源的更健壯模型的優(yōu)點。引入分布式和延時策略評估機制,其中在本地平臺的部件處進行正確選項/動作的最終確定。這允許輸入理解系統(tǒng)利用機密的客戶端信息,而不要求將私有信息運輸?shù)綄υ捓斫夥?wù)平臺。因此,不會損害用戶/客戶端的私有信息。
例如,輸入理解服務(wù)利用可用信息工作,并使用可用信息來部分地評估策略。策略是用于對輸入進行響應(yīng)的一個或多個動作??捎眯畔⒖梢园ú槐灰暈榭蛻舳?例如,用戶或服務(wù))私有的任何數(shù)據(jù)。限制本地平臺外部的輸入理解服務(wù)平臺訪問被視為敏感的(因此對本地平臺是私有的)信息的值。輸入理解服務(wù)平臺替代地將生成簡化模型并將其傳輸?shù)奖镜仄脚_,其中簡化模型是基于輸入理解服務(wù)平臺可用的數(shù)據(jù)制定的響應(yīng),可以在本地平臺處對該響應(yīng)進行評估而不要求大量的計算資源。
在至少一個例子中,本地平臺可以插入與本地平臺私有的信息相關(guān)的值,并基于由輸入理解服務(wù)平臺傳輸?shù)暮喕P秃捅镜仄脚_可用的私有信息來進行關(guān)于最終動作的確定。可以由輸入理解服務(wù)平臺向本地平臺提供用于完成策略的評估的指令。在一些例子中,輸入理解服務(wù)平臺確定客戶端的私有信息(其對輸入理解服務(wù)部件不可用)不會對所選動作導(dǎo)致任何改變。在該例子中,輸入理解服務(wù)平臺可以包括向本地平臺指示對于策略模型不需要進一步計算的指令。輸入理解服務(wù)平臺傳輸其關(guān)于如何對輸入進行響應(yīng)的當(dāng)前判斷(belief),從而推遲對客戶端私有或敏感的信息的可用性的決定。有權(quán)訪問輸入理解服務(wù)平臺的關(guān)于進一步動作的判斷及其自己的私有信息的本地平臺,能夠容易地確定對輸入的最佳響應(yīng),而不需要與輸入理解服務(wù)平臺進一步通信。
基于本公開實現(xiàn)了多個技術(shù)優(yōu)點,包括減少網(wǎng)絡(luò)帶寬使用以及輸入理解系統(tǒng)的部件之間交互的延時,增加輸入理解處理的效率和準(zhǔn)確性,增加數(shù)據(jù)傳輸安全性,改善處理安全性,以及改善用戶交互性能等其它多個技術(shù)優(yōu)點。本文描述的例子提供了額外的益處,包括:建立保持私有信息的機密性和私密性的敏感輸入理解系統(tǒng),通過不將敏感/個人信息輸送到服務(wù)平臺(例如,服務(wù)器)而在(用戶或服務(wù)的客戶端的)本地平臺上保持用戶的隱私敏感信息,利用任何服務(wù)側(cè)知識在輸入理解服務(wù)平臺上部分地評估策略,以及允許在本地部件上終止策略選擇,而不要求散列/混淆私有和/或敏感信息以用于傳回到本地平臺外部的輸入理解服務(wù)平臺。
圖1示出了用于輸入評估和響應(yīng)的示例性系統(tǒng)100的概圖。系統(tǒng)100是相互依賴的部件的組合,所述部件交互以形成集成的整體用于執(zhí)行輸入理解和處理。系統(tǒng)100的部件可以是硬件部件或?qū)崿F(xiàn)于系統(tǒng)100的硬件部件上的軟件。系統(tǒng)100的每個部件可以包括一個或多個系統(tǒng)部件。在一些例子中,系統(tǒng)100可以是具有處理器(例如,處理設(shè)備)的設(shè)備上的運行軟件部件的應(yīng)用或服務(wù)。例如,輸入理解應(yīng)用或服務(wù)可以在處理設(shè)備上運行,所述處理設(shè)備例如是計算機、移動電話、平板計算機、游戲控制臺、電子設(shè)備等,其中系統(tǒng)的部件可以在處理設(shè)備上執(zhí)行。在其它例子中,系統(tǒng)100的部件可以跨多個設(shè)備分散。例如,可以從網(wǎng)絡(luò)中的其它設(shè)備(例如,服務(wù)器設(shè)備和/或數(shù)據(jù)存儲)處理或訪問在客戶端設(shè)備上錄入的輸入和信息。請參考圖5-7以獲得可以作為系統(tǒng)100的一部分而被包括的硬件的額外例子。
作為一個例子,系統(tǒng)100包括例如本地平臺102和服務(wù)平臺104的部件,每個具有一個或多個額外部件。平臺(例如,本地平臺102和服務(wù)平臺104)是系統(tǒng)100的用于處理輸入、分析輸入、確定響應(yīng)策略以及將響應(yīng)策略傳遞給輸入提供方的部件的集合。在例子中,本地平臺102和服務(wù)平臺104可以包括硬件部件(操作系統(tǒng)(os))、在硬件部件上運行的軟件部件(例如,應(yīng)用、應(yīng)用程序接口、虛擬機)、運行時庫中的任意一個。在一個例子中,本地平臺102和服務(wù)平臺104提供用于軟件部件運行、服從操作的約束集、以及利用系統(tǒng)100的資源或設(shè)施的環(huán)境。在至少一個例子中,本地平臺102和服務(wù)平臺104的每個部件可以是在一個或多個處理設(shè)備上運行的軟件。本地平臺102和服務(wù)平臺104還可以包括例如數(shù)據(jù)存儲/存儲器/存儲庫的部件,例如在圖1中示出且在下文描述的知識存儲庫126。
在示例性輸入理解系統(tǒng)中,本地平臺102和服務(wù)平臺104并行操作,例如其中,本地平臺102為本地平臺本地的(例如,存儲于本地部件中的)數(shù)據(jù)服務(wù),并且服務(wù)平臺104與關(guān)于與本地平臺102分離的部件(例如,網(wǎng)絡(luò)部件)的數(shù)據(jù)相關(guān)聯(lián)。然而,系統(tǒng)100不限于這種例子。諸如系統(tǒng)100的系統(tǒng)的規(guī)模可以變化,并且包括比圖1中描述的更多或更少的部件。系統(tǒng)100的部件(例如本地平臺102和服務(wù)平臺104)之間的對接通過系統(tǒng)100的網(wǎng)絡(luò)連接部件和/或系統(tǒng)100外部的資源發(fā)生。在一個例子中,可以通過分布式環(huán)境(例如,云計算環(huán)境)連接系統(tǒng)100的部件。
本地平臺102與服務(wù)平臺104對接以提供對接收到的輸入的響應(yīng)。例如,本地平臺104管理客戶端(例如,用戶或服務(wù))本地的數(shù)據(jù)(包括私有或敏感信息),而不訪問額外的知識資源。服務(wù)平臺104管理額外的知識資源來增加檢查接收到的輸入的健壯性,而不訪問在本地平臺102上維持的私有或敏感信息。然而,本領(lǐng)域的技術(shù)人員將認(rèn)識到在本地平臺102和服務(wù)平臺104的每個上維持的信息可能在不同例子中有所變化。
系統(tǒng)100的部件與處理設(shè)備的os對接,以允許輸入理解和處理,包括用于錄入輸入和接收響應(yīng)的用戶界面(ui)。例如,系統(tǒng)100可以從本地部件102和輸入服務(wù)部件104中的一個或多個處的客戶端(例如,用戶或服務(wù))接收輸入。輸入接收部件提供用戶錄入輸入并使得系統(tǒng)100捕捉且處理輸入并返回響應(yīng)的接口。在一個例子中,系統(tǒng)100可以是輸入理解系統(tǒng),例如對話理解(cu)系統(tǒng)。然而,系統(tǒng)100的過程處理單元是可配置的,以處理任何類型的輸入,包括但不限于話音/語音輸入、文本輸入、手勢輸入、手寫輸入以及其它例子。例如,系統(tǒng)100可以作為智能個人助理操作。智能個人助理是移動軟件代理,其可以基于用戶輸入、位置感知和訪問來自各種在線源的信息的能力,來為個人執(zhí)行任務(wù)或服務(wù)。系統(tǒng)100與其操作的智能個人助理的例子包括但不限于:silvia、s-voice、voicemate、googlenow、cortana、hidi和siri以及其它例子。
系統(tǒng)100經(jīng)由輸入識別部件捕捉并解釋輸入。輸入識別部件是支持輸入形式的信息/數(shù)據(jù)錄入到系統(tǒng)100中并允許系統(tǒng)100與用戶通信或交互的部件。輸入識別部件捕捉過程并轉(zhuǎn)換接收到的輸入以用于識別。例如,輸入識別部件106能夠?qū)⒖谡Z查詢處理為文本。輸入識別部件106可以實現(xiàn)自動語音識別(asr)、計算機語音識別、或語音到文本(stt)以及其它例子,來將語音處理為文本以用于評估。輸入識別部件可以是本地部件102的部件(例如輸入識別部件108)和/或輸入服務(wù)部件104的部件(例如輸入識別部件122)。輸入識別部件108和122支持用戶輸入將被分析和處理的輸入。如上所述,輸入可以是任意形式,包括:話音/語音輸入、文本輸入、手勢輸入和手寫輸入以及其它例子。輸入識別部件108和122與處理設(shè)備的os對接以提供用戶接口,以供用戶向系統(tǒng)100錄入輸入。例如,輸入識別部件108和122可以根據(jù)對來自用戶的輸入項目的請求而顯示提示。在一個例子中,通過用戶采取動作(例如,點擊圖標(biāo)、按壓按鈕、進行語音請求、做手勢等)來發(fā)起用戶輸入提示。在替代例子中,在os上顯示用戶輸入的提示以供用戶錄入輸入。輸入識別部件108和122可以與os的其它部件對接。其它部件的例子包括但不限于:控制設(shè)備、顯示設(shè)備、頭戴式耳機、移動設(shè)備(例如,wifi、支持紅外或藍牙)、輸入面板(例如,軟輸入面板、語音輸入面板)、其它電子設(shè)備等,其可用于與輸入識別部件108和122協(xié)調(diào)以支持與例如用戶或服務(wù)的客戶端的交互。在一些例子中,輸入識別部件108和122與系統(tǒng)100的其它部件(例如輸入理解部件,如輸入理解部件108和輸入理解部件122)對接。輸入識別部件106還與本地平臺102上的本地非敏感上下文存儲庫116以及本地私有信息存儲庫118對接。輸入識別部件120還與本地平臺的本地非敏感上下文存儲庫116以及在服務(wù)平臺104上的知識存儲庫126對接。
非敏感上下文存儲庫116是在本地平臺102上維持的數(shù)據(jù)存儲庫,其存儲能夠被傳輸?shù)椒?wù)平臺104以利用服務(wù)資源來增強對捕捉到的輸入的響應(yīng)的信息。可以由本地平臺102的用戶或本地平臺102基于數(shù)據(jù)(例如,協(xié)議、管理策略和規(guī)則集)將非敏感上下文信息標(biāo)識為非敏感的。非敏感上下文存儲庫116由本地平臺102的部件使用以生成對接收到的輸入的響應(yīng)。另外,非敏感上下文存儲庫116與服務(wù)平臺104的部件對接,以應(yīng)用本地平臺104外部的資源,以改善對接收到的輸入的響應(yīng)。
私有信息存儲庫118是在本地平臺102上維持的數(shù)據(jù)庫,其存儲僅由本地平臺102使用的信息。私有信息或敏感信息是不通過網(wǎng)絡(luò)傳輸或不與服務(wù)平臺104共享的任何信息。私有信息的例子包括但不限于個人可識別信息、聯(lián)系人信息、消息/電子郵件數(shù)據(jù)、登錄信息、電話地址簿、文件數(shù)據(jù)和網(wǎng)絡(luò)信息以及其它例子。其還可以包括本質(zhì)上不是隱私敏感的、但是由于第三方許可或合同義務(wù)而不能被傳輸?shù)椒?wù)的信息。例如,客戶端可以知道在社交網(wǎng)絡(luò)上用戶被連接到哪個人,但是由于社交網(wǎng)絡(luò)所強加的合同約束可能限制這種信息的傳輸??蛻舳?例如,與本地平臺102相關(guān)聯(lián)的用戶或服務(wù))可以標(biāo)識或指定信息作為隱私信息,或替代地可以標(biāo)識其不愿與服務(wù)平臺104共享的信息。例如,服務(wù)(例如,分布式或共享服務(wù))可以提示用戶共享或上傳信息,例如聯(lián)系信息。在所述例子中,如果客戶端選擇不與服務(wù)共享聯(lián)系信息,則聯(lián)系信息被認(rèn)為是私有信息,并且服務(wù)將不能將聯(lián)系信息用作用于輸入理解的額外信息。在另一例子中,所實現(xiàn)的規(guī)則或協(xié)議可能不允許與服務(wù)平臺104共享私有信息。因此,服務(wù)平臺(例如,服務(wù)平臺104)將不能利用私有信息作出關(guān)于如何對輸入進行響應(yīng)的決策。
服務(wù)平臺104維持至少一個知識存儲庫126來存儲用于幫助服務(wù)平臺104開發(fā)用于響應(yīng)于接收到的輸入的策略的知識數(shù)據(jù)。策略是用于響應(yīng)輸入的一個或多個動作。在一些例子中,策略是服務(wù)平臺104生成的能夠由本地平臺102完成的條件動作。例如,策略可以基于本地平臺102上的私有信息存儲庫118所維持的私有信息是有條件的。本地平臺102可以輸入與私有信息相關(guān)聯(lián)的數(shù)據(jù),來完成服務(wù)平臺104生成的部分發(fā)布的策略。
知識存儲庫126的知識數(shù)據(jù)由服務(wù)平臺104應(yīng)用,以生成這種被部分評估的策略以用于響應(yīng)輸入。知識數(shù)據(jù)增加系統(tǒng)100具有的信息的量,使得其可以在給定時間點做出更明智的決策。知識存儲庫126可以維持的信息類型包括但不限于關(guān)于以下的信息:定義、規(guī)則、名稱數(shù)據(jù)、歷史數(shù)據(jù)(包括來自先前查詢的數(shù)據(jù))、在系統(tǒng)100的部件之間的相互關(guān)系、約束(例如,用于評估數(shù)據(jù)的真實的正式陳述描述)、類別(例如,集合、概念、編程類型)、屬性數(shù)據(jù)(例如,屬性、特征、特性、參數(shù))、公理、建模和統(tǒng)計數(shù)據(jù)、事件和功能術(shù)語以及其它例子。知識存儲庫126還可以與系統(tǒng)100外部的部件或資源通信,以收集或采集與執(zhí)行處理且做出關(guān)于系統(tǒng)100如何響應(yīng)輸入的最佳可能決策相關(guān)的信息。例如,知識存儲庫126可以通過互聯(lián)網(wǎng)被鏈接到網(wǎng)絡(luò)資源,例如搜索引擎(例如,bing、googlesearch、yahoosearch、ask、webcrawler、dogpile等)或任何其它知識庫(例如,wikipedia、imdb、quora、stackoverflow、amazon等)。服務(wù)平臺104的部件(例如,輸入識別部件120、輸入理解部件122和輸入上下文部件124)可以與知識存儲庫126對接,以基于知識數(shù)據(jù)生成被部分評估的策略。知識存儲庫126的知識數(shù)據(jù)可以由服務(wù)平臺104的部件使用,以增強用于響應(yīng)輸入的策略的生成。
在處理期間的任意點處,例如在輸入識別部件106、輸入理解部件108或輸入上下文部件110所進行的處理期間,本地平臺102可以確定需要額外信息來生成響應(yīng)于捕捉到的輸入的策略。替代地,與系統(tǒng)(例如,系統(tǒng)100)相關(guān)的協(xié)議可以在本地平臺102和服務(wù)平臺104的每個上執(zhí)行針對捕捉到的輸入的處理,以改善處理結(jié)果。在一些例子中,可以由除了本地平臺102的部件以外的部件處理輸入,例如,其中輸入通過第三方應(yīng)用或服務(wù)被傳遞。
一旦識別出輸入,輸入識別部件就將識別出的輸入傳遞到輸入理解部件,例如本地平臺102的輸入理解部件108或服務(wù)平臺104的輸入理解部件122。輸入理解部件108和122分析識別出的輸入以用于理解,包括確定對所分析的輸入的理解/備選理解。對接收到的輸入的理解是系統(tǒng)100基于系統(tǒng)100對接收到的輸入的分析而對接收到的輸入的解釋。例如,輸入理解部件108和122可以是自然語言理解(nlu)單元或口頭語言理解(slu)單元??梢苑治鲚斎氲母鞣矫嬉源_定對接收的輸入的理解。由輸入理解部件108分析的方面的例子包括但不限于:輸入的多個部分的標(biāo)記、輸入的句法/語義解析、來自輸入的適當(dāng)?shù)拿麡?biāo)識、輸入類別等。對接收到的輸入的分析可以包括:在被本地平臺102的部件處理時,來自本地平臺102的數(shù)據(jù)存儲庫的知識數(shù)據(jù)的應(yīng)用,以及在發(fā)生由服務(wù)平臺104進行的處理時,來自服務(wù)平臺104的知識存儲庫126的知識數(shù)據(jù)的應(yīng)用。在例子中,本地平臺102可以將捕捉到的輸入傳遞到服務(wù)平臺104進行處理。例如,知識存儲庫126維持信息,例如,輸入理解處理的規(guī)則、輸入的語義解析、用于識別輸入的多個部分并對與輸入相關(guān)聯(lián)的數(shù)據(jù)開槽(slot)的規(guī)則和方法,等等。這種信息對支持輸入理解部件122開發(fā)對捕捉到的輸入的理解是有用的。
由輸入理解部件確定出的理解被傳遞到輸入上下文部件以供進一步評估。輸入上下文部件(例如,(本地平臺102的)輸入上下文部件110和(服務(wù)平臺104的)輸入上下文部件124)評估所分析的輸入的上下文,包括確定對所分析的輸入的可能響應(yīng)和用于響應(yīng)用戶的策略。對接收到的輸入的理解的上下文的評估包括澄清接收到的輸入的含義。當(dāng)輸入被傳遞到輸入上下文部件124時,輸入上下文部件124與知識存儲庫126交互,來進一步分析由輸入理解部件確定出的理解。例如,輸入上下文部件124可以將知識數(shù)據(jù)應(yīng)用到所分析的輸入,以確定與輸入相關(guān)聯(lián)的狀態(tài),使得系統(tǒng)100可以確定如何繼續(xù)/響應(yīng)接收到的輸入。例如,輸入上下文部件(例如,輸入上下文部件124)確定接收到的輸入的上下文以及與上下文相關(guān)聯(lián)的參數(shù)(例如,基于其對接收到的輸入和理解的評估,可能需要什么信息來執(zhí)行與接收到的輸入相關(guān)聯(lián)的任務(wù)以及需要請求什么額外信息)。在確定接收到的輸入的上下文的點處,系統(tǒng)100經(jīng)由輸入上下文部件智能地評估會話的流/狀態(tài)。知識存儲庫126維持對輸入上下文部件124做出關(guān)于接收到的輸入的上下文評估的明智決策有用的信息。由知識存儲庫126維持的知識數(shù)據(jù)包括但不限于:用于解釋用戶輸入和所分析的理解的策略規(guī)則,關(guān)于當(dāng)前和過去用戶交互的歷史數(shù)據(jù),使用模式,詞語聯(lián)想,對系統(tǒng)100外部的部件或資源的訪問,等等。
基于對接收到的輸入的理解的評估,輸入上下文部件確定用于響應(yīng)于輸入的可能策略。輸入上下文部件評估的上下文的例子包括但不限于會話的先前片段、句法和語法、一天中的時間、用戶位置以及其它例子。例如,輸入上下文部件124開發(fā)的策略可以是被部分評估的策略,其需要信息來全面完成策略。也就是說,服務(wù)平臺104使用其可用的信息來生成一個策略的盡可能多的部分。然而,在一些情況下,服務(wù)平臺104可能缺少做出如何響應(yīng)接收到的輸入的最終決定所需的信息,例如當(dāng)服務(wù)平臺104不確定本地平臺102維持什么私有信息時。在所述例子中,輸入上下文部件124將一個或多個被部分評估的策略傳遞到本地平臺102,使得本地平臺102能夠做出關(guān)于響應(yīng)于輸入的策略選擇的最終決定。在本地平臺102生成用于輸入的策略的例子中,可以利用輸入上下文部件110可用的信息(例如,來自本地非敏感上下文存儲庫116和本地私有信息存儲庫118的數(shù)據(jù))來生成被完全評估的策略。當(dāng)本地平臺102可能不需要來自服務(wù)平臺104的被評估策略時的例子是接收到的輸入是“callruhi”的情況。本地平臺102可以捕捉并處理該輸入,并識別名稱為“ruhi”的聯(lián)系人存儲于在本地平臺102上存儲的聯(lián)系人列表中。在一個例子中,本地平臺102的聯(lián)系人列表作為私有信息被存儲于本地私有信息存儲庫118中。本地平臺102的輸入上下文部件110能夠準(zhǔn)確生成用于接收到的輸入的策略(例如,執(zhí)行呼叫來自聯(lián)系人列表的“ruhi”的動作),而無需進一步的澄清。在另一例子中,本地平臺102識別在本地存儲的聯(lián)系人列表中不存在名稱為“ruhi”的聯(lián)系人。本地平臺102可以將接收到的輸入傳輸?shù)椒?wù)平臺104進行處理,以便提供輸入“callruhi”的上下文。在所述例子中,服務(wù)平臺104開發(fā)被部分評估的策略(例如,用于對接收到的輸入進行響應(yīng)的、受到本地平臺102的終止化的可能動作)。服務(wù)平臺104經(jīng)由輸入上下文部件124將被部分評估的策略發(fā)送到本地平臺102,以進行進一步的評估。
當(dāng)服務(wù)平臺104生成的策略被傳輸?shù)奖镜仄脚_102時,本地平臺102的延遲策略評估部件112接收并處理來自服務(wù)平臺104的策略。利用延遲策略評估部件122實現(xiàn)的延遲策略評估機制允許系統(tǒng)100創(chuàng)建中間模型,其已經(jīng)并入服務(wù)平臺104的資源,但是延遲確定本地平臺102所做的最終選擇。然后,通過延遲策略評估部件122評估中間模型(例如,被部分評估的策略),其中應(yīng)用本地平臺102的資源以完成策略建模。例如,延遲策略評估部件122插入本地平臺102可用的信息(例如,私有信息)以完成被部分評估的策略,使得本地平臺102能夠適當(dāng)?shù)卦u估從服務(wù)平臺104接收到的評估策略。這支持本地平臺102響應(yīng)于接收到的輸入做出最佳選擇。在一個例子中,延遲策略評估部件112完成與被部分評估的策略相關(guān)聯(lián)的、屬于本地平臺102維持的私有信息的參數(shù)。所述延遲策略評估的至少一個益處包括利用服務(wù)器知識資源,同時保持本地平臺102的私有信息。例如,通過不要求本地平臺102執(zhí)行任何加密散列或使用其它模糊技術(shù)來保持敏感材料(然后將其以散列/模糊的方式傳回到服務(wù))的私密性,還最小化了本地平臺102和服務(wù)平臺104之間的通信開銷。本地平臺102例如通過延遲策略評估部件112執(zhí)行需要使用私有或敏感信息的計算和運算。因此,私有信息不會由于任何問題而遭受任何公開,其中,通過不需要在平臺之間來回傳輸數(shù)據(jù)而減少本地平臺102和服務(wù)平臺104之間所需的混淆方案或其它中斷(breach)和通信跳變。因此,可以最小化與網(wǎng)絡(luò)數(shù)據(jù)交換相關(guān)聯(lián)的時延。
除了完成服務(wù)平臺104所傳輸?shù)牟呗缘脑u估外,延遲策略評估部件112還在完成時評估由服務(wù)平臺104傳輸?shù)牟呗?,以確定最佳可能響應(yīng)選項。延遲策略評估部件112被配置為能夠比較完成的策略,以確定將對準(zhǔn)接收到的輸入的用戶意圖的一個或多個響應(yīng)選項。在一些例子中,策略的比較可以基于主觀測量或經(jīng)驗數(shù)據(jù)發(fā)生。主觀測量的例子包括但不限于:冪等性和非冪等性數(shù)據(jù)、時間敏感性、歷史使用模式和用戶交互以及其它例子。所收集的經(jīng)驗數(shù)據(jù)的例子包括關(guān)于注釋會話的數(shù)據(jù)和來自隨機試驗的數(shù)據(jù)。在例子中,策略的比較包括策略的統(tǒng)計建模和/或排名,由此可以應(yīng)用度量來對完成的策略排名,并且可以響應(yīng)于接收到的輸入而選擇多個排名最高的策略來進行呈現(xiàn)。例如,策略的排名基于策略的置信值(響應(yīng)選項)和與策略相關(guān)聯(lián)的參數(shù),其中可以基于關(guān)于策略的系統(tǒng)確定性和與該策略相關(guān)聯(lián)的參數(shù),來給該策略分配置信值。在一些例子中,本地平臺102包括用于與策略的計算評估有關(guān)的信息的一個或多個額外數(shù)據(jù)存儲庫。延遲策略評估部件112將所選策略傳遞給服務(wù)仲裁部件114,以輸出作為系統(tǒng)響應(yīng)。
服務(wù)仲裁部件114是本地平臺102的部件,其確定是使用服務(wù)平臺104生成的策略還是使用本地平臺102生成的策略來對接收到的輸入進行相應(yīng)。在一些例子中,本地平臺102識別其不具有足夠的信息來生成適當(dāng)?shù)捻憫?yīng),并因此由延遲策略評估部件112選擇服務(wù)平臺104的一個或多個策略,并且服務(wù)仲裁部件114確定輸出服務(wù)平臺104的策略。在其它例子中,本地平臺102確信本地平臺102擁有足夠的信息來生成適當(dāng)?shù)捻憫?yīng),并因此選擇本地平臺102生成的一個或多個策略,以供服務(wù)仲裁部件114傳輸。在所述情況下,服務(wù)仲裁部件114確定輸出由本地平臺102生成的策略。在至少一個例子中,服務(wù)仲裁部件114將多于一個的策略傳輸給用戶,以呈現(xiàn)用于對輸入進行響應(yīng)的選項,其中所傳輸?shù)牟呗钥梢园ㄓ杀镜仄脚_102和服務(wù)平臺104中的每個生成的策略。在其它例子中,將多個策略從本地平臺102或服務(wù)平臺104中的一個傳輸?shù)接脩簟?/p>
圖2示出了用于語音輸入評估和響應(yīng)的示例性系統(tǒng)200的概圖。系統(tǒng)200是圖1所述系統(tǒng)100的特定實現(xiàn)方式的例子。系統(tǒng)200是對話理解系統(tǒng),其是可配置的,以接收、處理和響應(yīng)話音或語音輸入。系統(tǒng)200可以包括硬件部件和軟件部件的組合,以用于響應(yīng)話語或語音輸入。
例如,捕捉話語或語音,其中捕捉到的輸入是“callfredmeyer”。在本地,本地平臺202在其地址簿或聯(lián)系人列表中可能具有名稱為“fredmeyer”的聯(lián)系人。如果是這樣,則本地平臺202可以通過其語音處理部件206推薦對輸入的響應(yīng),而無需聯(lián)系輸入服務(wù)部件。在語音處理部件206中包含的處理部件的例子包括:語音識別(sr)部件、口頭語言理解(slu)部件以及對話部件,其分別是如上在圖1的描述中所描述的輸入識別部件106、輸入理解部件108以及輸入上下文部件110的例子。本地平臺202包括兩個或更多數(shù)據(jù)存儲庫,例如,本地私有信息存儲庫208和本地非敏感上下文信息存儲庫210,其可以由本地平臺202的語音處理部件206訪問。例如,存儲庫208和210分別對應(yīng)于以上結(jié)合圖1的描述詳細(xì)描述的本地私有信息存儲庫118和本地非敏感上下文存儲庫116。來自本地非敏感上下文信息存儲庫210的信息與服務(wù)平臺204對接,以從本地平臺202向服務(wù)平臺204提供非敏感的信息。
如果本地平臺202在本地沒有存儲名稱為“fredmeyer”的聯(lián)系人,則本地平臺202將捕捉到的輸入傳輸?shù)椒?wù)平臺204進行處理,以返回可能的動作或推薦。在其它例子中,本地平臺202可以與服務(wù)平臺204對接,以改善基于接收到的輸入返回的動作或推薦。本地平臺202可以識別本地聯(lián)系人“fred”并將輸入傳遞給服務(wù)平臺204以進一步評估接收到的輸入的上下文,原因至少是因為其不確定聯(lián)系人“fred”是否是用戶打算呼叫的人。服務(wù)平臺利用其自己的sr、slu和對話部件(其分別是在圖1的描述中描述的輸入識別部件120、輸入理解部件122和輸入上下文部件124的例子)處理捕捉到的輸入。
服務(wù)平臺204提供接收到的輸入“callfredmeyer”的上下文。例如,用戶可能想要呼叫fredmeyer雜貨店而不是呼叫名稱為fredmeyer的聯(lián)系人。服務(wù)平臺204可以查找“fredmeyer”,并提供包括fredmeyer雜貨店的電話和地址的推薦動作或策略。然而,服務(wù)平臺204不會知道聯(lián)系人“fredmeyer”是否被本地地存儲于本地平臺202上,因為本地平臺202沒有與服務(wù)平臺204共享這種私有信息。服務(wù)平臺204通過基于服務(wù)平臺204可用的信息提供一個或多個策略的上下文,來部分地評估用于對捕捉到的輸入進行響應(yīng)的策略(例如,動作)。服務(wù)平臺204還識別其不具有的、需要本地平臺204完成的信息,例如,本地存儲于本地平臺204上的私有信息。
一旦生成被部分評估的策略,服務(wù)平臺204就將部分完成的策略傳輸?shù)奖镜仄脚_202進行進一步的評估。輸入服務(wù)部件可以呈現(xiàn)一個或多個策略(或動作)以供客戶端部件最終評估。例如,一個策略可能指明:如果名稱為“fredmeyer”的客戶存在于不與輸入服務(wù)部件共享的本地聯(lián)系人列表上,則聯(lián)系fredmeyer。另一策略可能指明:如果在本地聯(lián)系人列表中沒有“fredmeyer”,則提供電話號碼和/或呼叫與進行輸入的設(shè)備的位置最近的fredmeyer雜貨店。在一些例子中,服務(wù)平臺204將用于完成傳輸給本地平臺202的策略的評估的指令與被部分評估的策略包括在一起,或者在其它情況下,將該指令單獨傳輸?shù)奖镜仄脚_202。在接收到的輸入包括名稱(例如“fred”)的另一例子中,輸入理解系統(tǒng)或服務(wù)可能在地址簿中沒有發(fā)現(xiàn)任何名稱為“fred”的用戶,但是服務(wù)可以指出fred還可以例如是“frederick”或“alfred”或“wilfred”的簡稱。該信息對本地平臺可能是不可用的,從而在該情況下服務(wù)提供額外的上下文。類似地,服務(wù)平臺還可以指出“freddie”或“freddy”也是本地平臺可以替代地在地址簿上搜索的、用于替代“fred”的常見名稱。在另一例子中,服務(wù)平臺可以同樣做出貢獻的情況是同音異義詞。本地平臺最終可能使用最前面的識別出的形式的輸入(例如,語音輸入),但是服務(wù)平臺可以返回同一詞語的一串同音異義詞,并且本地平臺隨后可以搜索是否存在這些詞語中的任一個。例如,如果本地平臺識別輸入“calljohn”,則服務(wù)平臺可以返回“jon”來作為名稱“john”的同音異義詞。
在提供對接收到的輸入的響應(yīng)之前,本地平臺202評估由服務(wù)平臺202生成的策略,并最終確定如何對接收到的輸入進行響應(yīng),而無須進一步與服務(wù)平臺204協(xié)商。通過延遲策略評估部件212執(zhí)行服務(wù)平臺104的策略的評估和選擇。延遲策略評估部件212的描述與圖1的描述中所描述的延遲策略評估部件112類似。例如,在策略推薦中,服務(wù)平臺204可以識別參數(shù)或信息以供客戶端部件檢查本地存儲的聯(lián)系人“fred”。在所述例子中,本地平臺202能夠識別與聯(lián)系人“fred”相關(guān)聯(lián)的地址或電話號碼與本地fredmeyer雜貨店的電話號碼相同。策略評估部件212與本地私有信息存儲庫208對接,以完成服務(wù)平臺208部分評估的策略。例如,策略評估部件212與本地私有信息存儲庫208對接,以針對fredmeyer評估聯(lián)系人列表?;谒鲈u估,延遲策略評估部件212選擇用于對捕捉到的輸入進行響應(yīng)的動作。例如,如果“fredmeyer”不是聯(lián)系人列表中的聯(lián)系人或者聯(lián)系人“fred”不與“fredmeyer”相關(guān)聯(lián),則延遲策略評估部件212可以選擇與呼叫本地fredmeyer雜貨店相關(guān)聯(lián)的動作。因此,本地平臺202可以通過利用存儲于本地平臺202上的私有信息評估由服務(wù)平臺204生成的策略,來確信地識別對接收到的輸入的響應(yīng)動作。一旦延遲策略評估部件212選擇了響應(yīng)捕捉到的輸入的策略,則延遲策略評估部件212就向用戶輸出響應(yīng)策略。
在替代例子中,話語或語音輸入可以直接在服務(wù)平臺204處被接收,由服務(wù)平臺204的部件(包括服務(wù)語音識別部件214、服務(wù)口頭語言理解部件216以及服務(wù)對話部件218)處理。可以在服務(wù)平臺204處從與服務(wù)平臺204對接的本地平臺202外部的部件(在系統(tǒng)200內(nèi)或系統(tǒng)220外部的資源)接收話語或語音輸入。被部分評估的策略仍由服務(wù)平臺202生成并被傳輸?shù)奖镜仄脚_202(例如,延遲策略評估部件212)進行進一步評估。
圖3示出了本地平臺(例如,圖1所述的本地平臺102和圖2所述的本地平臺202)處理的示例性方法300。例如,方法300可以由系統(tǒng)執(zhí)行,所述系統(tǒng)例如是圖1的系統(tǒng)100、圖2的系統(tǒng)200、或者包括被配置為存儲和執(zhí)行程序或指令的至少一個處理設(shè)備的任何系統(tǒng)。然而,方法300不限于這樣的例子。方法300可以由一個或多個處理設(shè)備執(zhí)行。在其它例子中,方法300可以由輸入理解服務(wù)或應(yīng)用執(zhí)行。
流程開始于操作302,在其中捕捉輸入。例如,通過設(shè)備的部件捕捉輸入,所述設(shè)備上操作應(yīng)用或服務(wù)來接收并處理輸入。一旦已經(jīng)捕捉到接收到的輸入,流程就進行到?jīng)Q策操作304,其中本地服務(wù)確定其是否擁有足夠的信息來對捕捉到的輸入進行響應(yīng)。例如,本地服務(wù)是本地平臺。在上述圖1(本地平臺102)和圖2(本地平臺202)的描述中提供了本地平臺的描述。在其擁有足夠的資源/信息來生成對捕捉到的輸入的響應(yīng)的情況下,流程進行到操作306,其中由本地服務(wù)生成至少一個策略以用于對捕捉到的輸入進行響應(yīng)。策略是用于響應(yīng)輸入的一個或多個動作。在一些例子中,策略是服務(wù)平臺生成的能夠由本地服務(wù)完成的條件動作。在一個例子中,開發(fā)具有可以基于本地服務(wù)所擁有的信息來選擇(和執(zhí)行)的多個動作的策略。例如,策略可以以本地服務(wù)維持的私有信息為條件,其中如果本地服務(wù)的私有信息完成該策略,則發(fā)生一個動作,并且如果私有信息沒有完成該策略則發(fā)生另一動作。
當(dāng)流程進行到操作306時,評估生成的策略,并且確定(操作214)響應(yīng)于捕捉到的輸入繼續(xù)什么策略。當(dāng)選擇策略時,經(jīng)由本地服務(wù)向輸入的提供者發(fā)送響應(yīng)(操作316)。例如,所發(fā)送的響應(yīng)可以是基于所選的策略執(zhí)行的動作。例如,接收到的輸入可以是“sendanemailtoomar”。在所述情況下,所選的策略可以是打開給名稱為“omar”的聯(lián)系人的電子郵件的動作。在發(fā)送響應(yīng)之后,本地服務(wù)向服務(wù)平臺報告(操作318)所提供的響應(yīng)。這保持服務(wù)平臺與所提供的響應(yīng)同步,并允許服務(wù)平臺在其知識資源中包括這種信息以用于生成將來的策略。
返回到?jīng)Q策操作304,本地服務(wù)可以確定其不擁有足夠的信息來生成對捕捉到的輸入的策略或響應(yīng)。在所述情況下,流程繼續(xù)到操作308,其中將輸入傳輸給服務(wù)平臺。上文在圖1(服務(wù)平臺104)和圖2(服務(wù)平臺204)的描述中提供了服務(wù)平臺的描述。一旦服務(wù)平臺接收到捕捉到的輸入,則服務(wù)平臺可以處理輸入并基于捕捉到的輸入生成被部分評估的策略。服務(wù)平臺將被部分評估的策略傳輸?shù)奖镜胤?wù),在操作310中本地服務(wù)接收由服務(wù)平臺生成的被部分評估的策略。
流程然后進行到操作312,其中本地服務(wù)執(zhí)行被部分評估的策略。執(zhí)行被部分評估的策略可以包括遵從由服務(wù)平臺提供的處理指令。執(zhí)行被部分評估的策略包括將本地服務(wù)的信息應(yīng)用于被部分評估的策略。例如,在運行本地服務(wù)的設(shè)備上維持的私有信息可以被訪問并被應(yīng)用于被部分評估的策略。在一個例子中,本地服務(wù)插入與本地設(shè)備或本地服務(wù)私有的信息相關(guān)聯(lián)的值,以完成服務(wù)平臺提供的策略的評估。
一旦完全評估了策略,則本地服務(wù)確定(操作314)響應(yīng)于捕捉到的輸入繼續(xù)什么策略。在發(fā)送了響應(yīng)之后,本地服務(wù)向服務(wù)平臺報告(操作318)所提供的響應(yīng)。
圖4示出了由輸入服務(wù)部件進行處理的示例性方法。例如,方法400可以由系統(tǒng)執(zhí)行,所述系統(tǒng)例如是圖1的系統(tǒng)100、圖2的系統(tǒng)200、或者包括被配置為存儲和執(zhí)行程序或指令的至少一個處理設(shè)備的任何系統(tǒng)。然而,方法400不限于這樣例子。可以通過一個或多個處理設(shè)備執(zhí)行方法400。在其它例子中,可以通過輸入理解服務(wù)或應(yīng)用執(zhí)行方法400。
方法400的流程開始于操作402,其中在服務(wù)平臺處接收來自本地服務(wù)的輸入。本地服務(wù)是與圖1(本地平臺102)和圖2(本地平臺202)中描述的本地平臺相關(guān)聯(lián)的程序或應(yīng)用。上文在圖1(服務(wù)平臺104)和圖2(服務(wù)平臺204)的描述中提供了服務(wù)平臺的描述??梢栽诜?wù)平臺的部件處從本地服務(wù)的部件接收輸入。
在操作404處,評估針對接收到的輸入的上下文。參考在圖1的描述中詳述的輸入上下文部件110和124來描述針對接收到的輸入的上下文的評估?;趯邮盏降妮斎氲纳舷挛牡脑u估,生成響應(yīng)接收到的輸入的策略(操作406)。如前所識別出的,策略是響應(yīng)輸入的一個或多個動作。策略可以基于本地服務(wù)所擁有的、服務(wù)平臺也不能訪問的的信息是有條件的。被部分評估的策略的生成可以包括用服務(wù)平臺能夠提供的信息填充策略以及識別服務(wù)平臺不可用的信息,例如,本地服務(wù)所維持的私有信息。利用服務(wù)平臺可用的知識資源(例如,圖1的知識存儲庫126),服務(wù)平臺能夠識別能夠完成的參數(shù)以及需要本地服務(wù)填充的參數(shù)。服務(wù)平臺可以生成與其被部分評估的策略相關(guān)聯(lián)的指令,使得本地服務(wù)能夠容易地完成被部分評估的策略,而無需大量的計算資源。然后,服務(wù)平臺將被部分評估的策略傳輸(操作408)到本地服務(wù),以供本地服務(wù)完成策略并最終決定如何響應(yīng)接收到的輸入。
圖5-7及其相關(guān)聯(lián)的描述提供了可以實施本發(fā)明的例子的多種操作環(huán)境的討論。然而,相對圖5-7圖示和討論的設(shè)備和系統(tǒng)是為了示例和圖示的目的,而不是對本文描述的可用于實施本發(fā)明的例子的大量的計算設(shè)備配置進行限制。
圖5是示出計算設(shè)備502的物理部件的框圖,例如,可以實施本公開例子的輸入理解系統(tǒng)的部件。下文描述的計算設(shè)備部件可以適于上述計算設(shè)備。在基本配置中,計算設(shè)備502可以包括至少一個處理單元504和系統(tǒng)存儲器506。取決于計算設(shè)備的配置和類型,系統(tǒng)存儲器506可以包括但不限于易失性存儲設(shè)備(例如,隨機存取存儲器)、非易失性存儲設(shè)備(例如,只讀存儲器)、閃存、或這些存儲器的任意組合。系統(tǒng)存儲器506可以包括操作系統(tǒng)507以及一個或多個程序模塊508,其適于運行軟件應(yīng)用520,例如,應(yīng)用528、io管理器524和其它實用程序526。例如,系統(tǒng)存儲器506可以存儲用于執(zhí)行的指令。系統(tǒng)存儲器506的其它例子可以是例如知識資源的部件。操作系統(tǒng)507例如可以適于控制計算設(shè)備502的操作。此外,可以結(jié)合圖形庫、其它操作系統(tǒng)、或任意其它應(yīng)用程序?qū)嵤┍景l(fā)明的例子,并且本發(fā)明的例子不限于任何特定的應(yīng)用或系統(tǒng)。在圖5中通過虛線522內(nèi)的那些部件示出了該基本配置。計算設(shè)備502可以具有額外的特征或功能。例如,計算設(shè)備502還可以包括額外的數(shù)據(jù)存儲設(shè)備(可移除的和/或不可移除的),例如磁盤、光盤或磁帶。在圖5中通過可移除存儲設(shè)備509和不可移除存儲設(shè)備510示出了這種額外的存儲設(shè)備。
如上所述,多個程序模塊和數(shù)據(jù)文件可以被存儲在系統(tǒng)存儲器506中。在處理單元504上執(zhí)行時,程序模塊508(例如,應(yīng)用528、輸入/輸出(i/o)管理器524以及其它實用程序526)可以執(zhí)行過程,所述過程包括但不限于例如圖3到圖4中示出的操作方法300-400的一個或多個階段??梢愿鶕?jù)本發(fā)明的例子使用的其它程序模塊可以包括電子郵件和聯(lián)系人應(yīng)用、文字處理應(yīng)用、電子表單應(yīng)用、數(shù)據(jù)庫應(yīng)用、幻燈片演示應(yīng)用、繪圖或計算機輔助應(yīng)用程序等。
此外,可以在電路中或在包含電子元件或微處理器的單個芯片上實施本發(fā)明的例子,所述電路包括分立電子元件、包含邏輯門的封裝或集成電子芯片、利用微處理器的電路。例如,可以經(jīng)由片上系統(tǒng)(soc)實施本發(fā)明的例子,其中在圖5中示出的每個或多個部件可以被集成到單個集成電路上。這種soc設(shè)備可以包括一個或多個處理單元、圖形單元、通信單元、系統(tǒng)虛擬單元以及各種應(yīng)用功能,所有這些都被集成(或“被燒”)到芯片基底上以作為單個集成電路。當(dāng)經(jīng)由soc操作時,可以經(jīng)由與計算設(shè)備502的其它部件集成到單個集成電路(芯片)上的專用邏輯來操作本文描述的功能。還可以利用能夠執(zhí)行邏輯操作(例如,and、or和not)的其它技術(shù)(包括但不限于機械、光、流體和量子技術(shù))來實施本公開的例子。另外,可以在通用計算機內(nèi)或在任何其它電路或系統(tǒng)中實施本發(fā)明的例子。
計算設(shè)備502還可以具有一個或多個輸入設(shè)備512,例如鍵盤、鼠標(biāo)、筆、聲輸入設(shè)備、用于語音輸入/識別的設(shè)備、觸摸輸入設(shè)備等。還可以包括輸出設(shè)備514,例如,顯示器、揚聲器、打印機等。上述設(shè)備是示例性的,并且可以使用其它設(shè)備。計算設(shè)備504可以包括一個或多個通信連接516,其允許與其它計算設(shè)備518進行通信。適當(dāng)?shù)耐ㄐ胚B接516的例子包括但不限于rf發(fā)送器、接收器和/或收發(fā)器電路;通用串行總線(usb)、并行和/或串行端口。
本文使用的術(shù)語“計算機可讀介質(zhì)”可以包括計算機存儲介質(zhì)。計算機存儲介質(zhì)可以包括用任何方法或技術(shù)實現(xiàn)的用于存儲信息(例如,計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)或程序模塊)的易失性和非易失性的、可移除和不可移除的介質(zhì),。系統(tǒng)存儲器506、可移除存儲設(shè)備509以及不可移除存儲設(shè)備510都是計算機存儲介質(zhì)的例子(即,存儲器存儲設(shè)備)。計算機存儲介質(zhì)可以包括ram、rom、電可擦除只讀存儲器(eeprom)、閃存或其它存儲器技術(shù)、cd-rom、數(shù)字通用盤(dvd)或其它光存儲設(shè)備、磁帶盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可用于存儲信息且可由計算設(shè)備502訪問的任意其它制品。任何這種計算機存儲介質(zhì)可以是計算設(shè)備502的一部分。計算機存儲介質(zhì)不包括載波或其它傳播或已調(diào)數(shù)據(jù)信號。
通信介質(zhì)可以由已調(diào)數(shù)據(jù)信號(例如,載波或其它傳輸機制)中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其它數(shù)據(jù)來實現(xiàn),并包括任何信息輸送介質(zhì)。術(shù)語“已調(diào)數(shù)據(jù)信號”可以描述這樣的信號:所述信號以在所述信號中編碼信息的方式來設(shè)置或改變一個或多個特性。通過例子而非限制,通信介質(zhì)可以包括:有線介質(zhì),例如,有線網(wǎng)絡(luò)或直連線連接;以及無線介質(zhì),例如,聲、射頻(rf)、紅外、以及其它無線介質(zhì)。
圖6a和6b示出了移動計算設(shè)備600,例如,移動電話、智能電話、個人數(shù)字助理、平板個人計算機、膝上型計算機等,利用移動計算設(shè)備600可以實施本發(fā)明的例子。例如,移動計算設(shè)備600可以被實現(xiàn)為系統(tǒng)100或200,系統(tǒng)100或200的部件可以被配置為執(zhí)行如圖3-4中描述的處理方法以及其它例子。參考圖6a,示出了用于實現(xiàn)例子的移動計算設(shè)備600的一個例子。在基本配置中,移動計算設(shè)備600是手持計算機,其具有輸入元件和輸出元件。移動計算設(shè)備600通常包括顯示器605以及一個或多個輸入按鈕610,其允許用戶將信息錄入到移動計算設(shè)備600中。移動計算設(shè)備600的顯示器605還可以用作輸入設(shè)備(例如,觸摸屏顯示器)。如果被包含,則可選側(cè)邊輸入元件615允許進一步的用戶輸入。側(cè)邊輸入元件615可以是旋轉(zhuǎn)開關(guān)、按鈕、或任意其它類型的手動輸入元件。在替代例子中,移動計算設(shè)備600可以并入更多或更少的輸入元件。例如,在一些例子中,顯示器605可能不是觸摸屏。在另一替代例子中,移動計算設(shè)備600是便攜式電話系統(tǒng),例如蜂窩電話。移動計算設(shè)備600還可以包括可選鍵盤635??蛇x鍵盤635可以是物理鍵盤或在觸摸屏顯示器上生成的“軟”鍵盤。在各種例子中,輸出元件包括用于示出圖形用戶界面(gui)的顯示器605、視覺指示器620(例如,發(fā)光二極管)、和/或音頻換能器625(例如,揚聲器)。在一些例子中,移動計算設(shè)備600并入振動換能器,用于為用戶提供觸覺反饋。在又一例子中,移動計算設(shè)備600并入輸入和/或輸出端口,例如音頻輸入(例如,麥克風(fēng)插口)、音頻輸出(例如,頭戴式耳機插口)、以及視頻輸出(例如,hdmi端口),用于發(fā)送信號到外部設(shè)備或從外部設(shè)備接收信號。
圖6b是示出移動計算設(shè)備的一個例子的架構(gòu)的框圖。也就是說,移動計算設(shè)備600可以并入系統(tǒng)(即,架構(gòu))602以實現(xiàn)一些例子。在一個例子中,系統(tǒng)602被實現(xiàn)為“智能電話”,其能夠運行一個或多個應(yīng)用(例如,瀏覽器、電子郵件、日歷、聯(lián)系人管理器、消息傳輸客戶端、游戲以及媒體客戶端/播放器)。在一些例子中,系統(tǒng)602被集成為計算設(shè)備,例如,集成個人數(shù)字助理(pda)和無線電話。
一個或多個應(yīng)用程序666可以被加載到存儲器662中,并在操作系統(tǒng)664上或與操作系統(tǒng)664關(guān)聯(lián)地運行。應(yīng)用程序的例子包括電話撥號器程序、電子郵件程序、個人信息管理(pim)程序、文字處理程序、電子表單程序、互聯(lián)網(wǎng)瀏覽器程序、消息傳送程序,等等。系統(tǒng)602還在存儲器662中包括非易失性存儲區(qū)域668。非易失性存儲區(qū)域668可以用于存儲在系統(tǒng)602掉電時不應(yīng)該丟失的持久信息。應(yīng)用程序666可以使用信息并將信息存儲在非易失性存儲區(qū)域668中,所述信息例如是電子郵件應(yīng)用使用的電子郵件或其它消息等。同步應(yīng)用(未示出)也駐留在系統(tǒng)602上,并被編程為與駐留在主機計算機上的對應(yīng)同步應(yīng)用交互,以使得存儲于非易失性存儲區(qū)域668中的信息與存儲于主機計算機處的對應(yīng)信息同步。如應(yīng)該理解的,其它應(yīng)用也可以被加載到存儲器662中,并在移動計算設(shè)備600上運行,包括本文描述的應(yīng)用528、io管理器524、以及其它實用程序526。
系統(tǒng)602具有電源670,其可以被實現(xiàn)為一個或多個電池。電源670還可以包括外部電源,例如ac適配器或供電對接插座,其對電池進行補充或充電。
系統(tǒng)602可以包括外圍設(shè)備端口678,其執(zhí)行便于系統(tǒng)602和一個或多個外圍設(shè)備之間的連接的功能。在操作系統(tǒng)664的控制下進行到以及自外圍設(shè)備端口672的傳輸。換句話說,可以經(jīng)由操作系統(tǒng)664將由外圍設(shè)備端口678接收到的通信傳播到應(yīng)用程序666,反之亦然。
系統(tǒng)602還可以包括無線電設(shè)備672,其執(zhí)行發(fā)送和接收射頻通信的功能。無線電設(shè)備672經(jīng)由通信載波或服務(wù)提供商便于系統(tǒng)602和“外部世界”之間的無線連接。在操作系統(tǒng)664的控制下進行到以及自無線電設(shè)備672的傳輸。換句話說,可以經(jīng)由操作系統(tǒng)664將由無線電設(shè)備672接收到的通信傳播到應(yīng)用程序666,反之亦然。
視覺指示器620可以用于提供視覺通知,和/或音頻接口674可以用于經(jīng)由音頻換能器625產(chǎn)生可聽通知。在圖示的例子中,視覺指示器620是發(fā)光二極管(led),音頻換能器625是揚聲器。這些設(shè)備可以直接耦合到電源670,使得當(dāng)被激活時,它們保持開啟達由通知機構(gòu)指示的持續(xù)時間,即使處理器660和其它部件可能為了節(jié)約電池電源而關(guān)閉。可以對led編程以無期限地保持開啟,直到用戶采取動作來指示設(shè)備的通電狀態(tài)。音頻接口674用于向用戶提供可聽信號并從用戶處接收可聽信號。例如,除了耦合到音頻換能器625外,音頻接口674還可以耦合到麥克風(fēng)來接收可聽輸入,例如以便于電話會話。根據(jù)本發(fā)明的例子,麥克風(fēng)還可以用作音頻傳感器來便于控制通知,如下文描述的。系統(tǒng)602還可以包括視頻接口676,其支持機載攝像機630記錄靜止圖像、視頻流等的操作。
實現(xiàn)系統(tǒng)602的移動計算設(shè)備600可以具有額外的特征或功能。例如,移動計算設(shè)備600還可以包括額外的數(shù)據(jù)存儲設(shè)備(可移除的和/或不可移除的),例如,磁盤、光盤或磁帶。在圖6b中通過非易失性存儲區(qū)域668示出了這種額外的存儲設(shè)備。
由移動計算設(shè)備600生成或捕捉的并經(jīng)由系統(tǒng)602存儲的數(shù)據(jù)/信息可以本地存儲于移動計算設(shè)備600上,如上所述,或者數(shù)據(jù)可以存儲于任意數(shù)量的存儲介質(zhì)上,設(shè)備可以經(jīng)由無線電設(shè)備672或經(jīng)由移動計算設(shè)備600和與移動計算設(shè)備600相關(guān)聯(lián)的分離計算設(shè)備(例如,分布式計算網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))中的服務(wù)器計算機)之間的有線連接訪問所述存儲介質(zhì)。如可以理解的,可以通過移動計算設(shè)備600經(jīng)由無線電設(shè)備672或經(jīng)由分布式計算網(wǎng)絡(luò)訪問這種數(shù)據(jù)/信息。類似地,可以在計算設(shè)備之間根據(jù)已知的數(shù)據(jù)/信息轉(zhuǎn)移和存儲方式(包括電子郵件和協(xié)作數(shù)據(jù)/信息共享系統(tǒng))容易地轉(zhuǎn)移這種數(shù)據(jù)/信息,以用于存儲和使用。
圖7示出了用于向一個或多個客戶端設(shè)備提供可靠地訪問存儲系統(tǒng)上的目標(biāo)數(shù)據(jù)并處理通信故障的應(yīng)用的系統(tǒng)的架構(gòu)的一個例子,如上面所描述的。被應(yīng)用528、io管理器524、其它實用程序526和存儲設(shè)備訪問的、與其交互的或關(guān)聯(lián)于其編輯的目標(biāo)數(shù)據(jù)可以被存儲于不同的通信信道或其它存儲類型中。例如,可以利用目錄服務(wù)722、網(wǎng)絡(luò)門戶724、郵箱服務(wù)726、即時消息傳送存儲庫728、或社交網(wǎng)站730存儲各種文檔,應(yīng)用528、io管理器524、其它實用程序526和存儲系統(tǒng)可以使用這些類型的系統(tǒng)中的任意一個或者其它來支持?jǐn)?shù)據(jù)利用,如本文所描述的。服務(wù)器720可以通過網(wǎng)絡(luò)715提供存儲系統(tǒng),以供在通用計算設(shè)備502和移動設(shè)備600上操作的客戶端使用。通過示例,網(wǎng)絡(luò)715可以包括互聯(lián)網(wǎng)或任意其它類型的局域網(wǎng)或廣域網(wǎng),并且客戶端節(jié)點可以被實現(xiàn)為計算設(shè)備502,其具體體現(xiàn)于個人計算機、平板計算設(shè)備中和/或由移動計算設(shè)備600(例如,智能電話)體現(xiàn)??蛻舳擞嬎阍O(shè)備502或600的這些例子中的任一個可以從存儲庫716獲得內(nèi)容。
非限制性例子描述了一種在系統(tǒng)上執(zhí)行的、計算機實現(xiàn)的方法,所述系統(tǒng)包括:存儲器;以及與所述存儲器連接的至少一個處理器,其被配置為執(zhí)行過程。執(zhí)行的方法或過程包括:在本地平臺處捕捉輸入;將捕捉到的輸入發(fā)送給與本地平臺分離的服務(wù)平臺;從所述服務(wù)平臺接收響應(yīng)于捕捉到的輸入生成的至少一個被部分評估的策略;通過將本地平臺私有的信息應(yīng)用于被部分評估的策略來完成被部分評估的策略;以及基于完成,確定用于對捕捉到的輸入進行響應(yīng)的最終動作。所述確定根據(jù)一個或多個被部分評估的策略和由本地平臺生成的一個或多個策略來確定最終動作。被部分評估的策略包括基于在完成時輸入的、本地平臺私有的信息的條件動作。輸入包括將與私有信息相關(guān)聯(lián)的丟失特征的值插入到被部分評估的策略以生成被完全評估的策略。被部分評估的策略包括關(guān)于需要由本地平臺填充以生成被完全評估的策略的特征的指令。例如,本地平臺是在處理設(shè)備上運行的應(yīng)用或服務(wù)。
在一個例子中,執(zhí)行的完成還包括:將本地平臺私有的信息輸入到被部分評估的策略,以生成被完全評估的策略。通過比較完成的策略并基于比較選擇最終動作而確定最終動作。在另一例子中,所述方法或過程還包括:識別與捕捉到的輸入相關(guān)聯(lián)的非敏感上下文數(shù)據(jù),以及將所述非敏感上下文數(shù)據(jù)連同捕捉到的輸入一起傳輸給服務(wù)平臺,以用于生成被部分評估的策略。在又一例子中,執(zhí)行的所述方法或過程還包括:向服務(wù)平臺報告本地平臺所采取的最終動作。
另一非限制性例子描述了包含指令的計算機可讀存儲設(shè)備,所述指令在至少一個處理器上被執(zhí)行時,使得處理器執(zhí)行過程。所執(zhí)行的過程包括:從本地平臺接收輸入;當(dāng)與本地平臺分離的服務(wù)平臺缺少做出關(guān)于如何響應(yīng)接收到的輸入的最終決定所需要的信息時,在服務(wù)平臺處生成至少一個被部分評估的策略以用于響應(yīng)接收到的輸入,其中所述生成將知識數(shù)據(jù)應(yīng)用于接收到的輸入以生成被部分評估的策略;以及將被部分評估的策略發(fā)送給本地平臺以供進一步評估。在一個例子中,生成被部分評估的策略還包括:基于包括知識數(shù)據(jù)的、服務(wù)平臺可用的數(shù)據(jù),填充除了由本地平臺維持的私有信息外的信息,其包括與私有信息相關(guān)聯(lián)的參數(shù)。在另一例子中,所述生成生成多個被部分評估的策略,所述多個策略基于由本地平臺維持的、做出最終決定所需的信息是有條件的,并且所述發(fā)送將多個被部分評估的策略發(fā)送給本地平臺以基于發(fā)送的被部分評估策略和本地平臺維持的私有信息做出最終決定。
貫穿該說明書已經(jīng)提及“一個例子”或“例子”,這表示特別描述的特征、結(jié)構(gòu)或特性包含于至少一個例子中。因此,使用這種短語可以指的是多于僅一個例子。此外,可以以任意適當(dāng)?shù)姆绞皆谝粋€或多個例子中組合所描述的特征、結(jié)構(gòu)或特性。
然而,相關(guān)領(lǐng)域的技術(shù)人員可以認(rèn)識到可以在不具有一個或多個具體細(xì)節(jié)的情況下,或者通過其它方法、資源、材料等來實施這些例子。在其它實例中,沒有詳細(xì)示出或描述已知的結(jié)構(gòu)、資源或操作,僅僅是只為了避免使例子的各方面模糊。
雖然已經(jīng)圖示和描述了樣本例子和應(yīng)用,但是可以理解的是,例子不限于上述精確的配置和資源??梢栽诒疚墓_的方法和系統(tǒng)的布置、操作和細(xì)節(jié)中進行對本領(lǐng)域技術(shù)人員而言顯然的各種修改、改變和變型,而不偏離所要求保護的例子的范圍。