背景技術(shù):
據(jù)說人類是具有習(xí)慣的生物。因此,許多設(shè)備被設(shè)計為適用于或定制為適應(yīng)用戶的習(xí)慣行為或慣例。例如,許多蜂窩電話和家庭電話允許用戶將快速撥號號碼設(shè)置于其中,從而允許用戶通過僅按下一個鍵或按鈕來撥打快速撥號號碼,而不是必須撥打整個電話號碼。類似地,許多計算機(jī)程序允許用戶定制圖形用戶界面(gui),以便使得常用的工具或特征更易于訪問。雖然在用戶參與其習(xí)慣行為時這些設(shè)備是最有用的,但是在用戶偏離其慣例時這些設(shè)備的實用性受到損害。例如,用戶可能變得習(xí)慣于幫助其行為習(xí)慣的或以其它方式為其行為習(xí)慣定制的但是在違背慣例動作時不可用的特征。然而,通常,在用戶已經(jīng)背離、正在背離或計劃背離其慣例時,幫助才是最有用的。
技術(shù)實現(xiàn)要素:
提供該“發(fā)明內(nèi)容”是為了以簡化形式介紹下文在具體實施方式中進(jìn)一步描述的概念的選擇。該發(fā)明內(nèi)容并不旨在標(biāo)識所要求保護(hù)的技術(shù)方案的關(guān)鍵特征或必要特征,也不旨在用作幫助確定所要求保護(hù)的技術(shù)方案的范圍。
本公開的各方面涉及為慣例外事件定制的服務(wù)內(nèi)容。事件可以對應(yīng)于定義的用戶動作或一組用戶動作,其可以在定義的條件下,例如一天中的某時、一周中的某天、位置、或與用戶相關(guān)聯(lián)的其它模式或其它可檢測的行為,例如與地理位置相關(guān)聯(lián)的動作、位置的語義、與用戶一起的人、天氣條件等。用戶慣例或用戶的慣例可以對應(yīng)于可以對應(yīng)于用戶的重復(fù)發(fā)生的動作、行為模式、或其它習(xí)慣行為,例如用戶的鍛煉習(xí)慣、用戶的工作通勤慣例等。在該方面,可以根據(jù)組成慣例的一個或多個事件定義該慣例。
在某些方面,本公開提供了相對用戶檢測和追蹤事件的一個或多個實例。可以相對一個或多個慣例分析檢測到的事件。例如,基于對應(yīng)于用戶的由組成慣例的檢測到的事件形成的模式,慣例可以被識別為對應(yīng)于該用戶。
在其它方面,本公開涉及識別在用戶和用戶的一個或多個慣例之間的偏離(divergence)??梢酝ㄟ^確定組成慣例的一個或多個事件是慣例外事件,來識別在用戶和用戶慣例之間的偏離。在一些情況下,在以下情形下對于一慣例而言一事件可能是慣例外的:確定用戶相對該慣例將偏離或已經(jīng)偏離該事件。對此,偏離可以對應(yīng)于背離慣例的事件的檢測到的事件的建模模式。
通過識別慣例外事件,可以基于識別出的慣例外事件,向用戶提供內(nèi)容(例如服務(wù)內(nèi)容),從而為慣例外事件定制內(nèi)容。因此,例如,用戶可以接收幫助或接收定制的內(nèi)容,即使在識別出用戶將偏離、正偏離或已經(jīng)偏離其慣例時。在一些方面,可以基于識別一個或多個慣例外事件,以及還基于對應(yīng)于慣例外事件的上下文信息,將內(nèi)容提供給用戶??梢詾橐粋€或多個慣例外事件生成上下文信息,其可以表示慣例外事件的上下文(例如,慣例外事件的屬性)。此外,可以確定向用戶提供內(nèi)容的一個或多個推薦動作。這些和其它方面被認(rèn)為在本公開的范圍內(nèi)。
附圖說明
在下文參考附圖詳細(xì)描述了本發(fā)明,其中:
圖1是示出了根據(jù)本公開的實現(xiàn)方式用于為慣例外事件定制內(nèi)容的系統(tǒng)的框圖;
圖2是示出了根據(jù)本公開的實現(xiàn)方式的示例性慣例管理環(huán)境的框圖;
圖3示出了根據(jù)本公開實現(xiàn)方式的示例性內(nèi)容;
圖4是示出了根據(jù)本公開實現(xiàn)方式的用于為慣例外事件定制內(nèi)容的方法的流程圖;
圖5是示出了根據(jù)本公開實現(xiàn)方式的用于為慣例外事件定制內(nèi)容的方法的流程圖;
圖6是示出了根據(jù)本公開實現(xiàn)方式的用于為慣例外事件定制內(nèi)容的方法的流程圖;以及
圖7是適于用于本公開實現(xiàn)方式中的示例性計算環(huán)境的框圖。
具體實施方式
結(jié)合本文的特異性描述本發(fā)明的技術(shù)方案以滿足法定要求。然而,描述本身并不旨在限制本專利的范圍。而是,發(fā)明人已經(jīng)構(gòu)思出結(jié)合其它當(dāng)前或?qū)淼募夹g(shù)所要求保護(hù)的技術(shù)方案還可能以其它方式體現(xiàn),以包括類似于在本文檔中描述的步驟的不同步驟或步驟組合。此外,雖然術(shù)語“步驟”和/或“框”在此可以用于表示采用的方法的不同元素,但是所述術(shù)語不應(yīng)當(dāng)被解釋為暗示在此公開的各種步驟當(dāng)中或之間的任何特定次序,除非明確描述各步驟的次序時。
本公開的各方面涉及為慣例外事件定制的服務(wù)內(nèi)容。事件可以對應(yīng)于定義的用戶動作或用戶動作組,其可以在定義的條件之下,例如,一天中的某時、一周中的某天、位置、或與用戶相關(guān)聯(lián)的其它模式或其它可檢測的行為,例如與地理位置相關(guān)聯(lián)的動作、位置的語義、與用戶在一起的人、天氣條件等。用戶慣例或用戶的慣例可以對應(yīng)于用戶的重復(fù)發(fā)生的動作或行為模式。在該方面,可以根據(jù)組成慣例的一個或多個事件來定義慣例。
在某些方面,本公開提供了相對用戶檢測和追蹤事件的一個或多個實例??梢韵鄬σ粋€或多個慣例分析檢測到的事件。例如,基于對應(yīng)于用戶的由組成慣例的檢測到的事件形成的模式,該慣例可以被識別為對應(yīng)于該用戶。
在其它方面,本公開涉及識別在用戶和用戶的一個或多個慣例之間的偏離。用戶和用戶的慣例之間的偏離可以通過確定組成該慣例的一個或多個事件是慣例外事件來識別。在一些情況下,在以下情形下相對于一個慣例一個事件可能是慣例外的:確定用戶相對該慣例將偏離、已經(jīng)偏離或可能偏離該事件。對此,偏離可以對應(yīng)于背離慣例的事件的檢測到的事件的建模模式。
通過識別慣例外事件,可以基于識別出的慣例外事件而將內(nèi)容(例如,服務(wù)內(nèi)容)提供給用戶,從而為慣例外事件定制該內(nèi)容。因此,即使在識別出用戶將偏離、正在偏離或已經(jīng)偏離其慣例時,用戶也可以接收輔助。在一些方面,可以基于識別一個或多個慣例外事件,以及還基于對應(yīng)于慣例外事件的上下文信息,而將內(nèi)容提供給用戶??梢葬槍σ粋€或多個慣例外事件生成上下文信息,其可以表示慣例外事件的上下文。此外,可以基于用于向用戶提供內(nèi)容的一個或多個推薦動作來提供內(nèi)容。
在某些方面,可以基于能夠表示發(fā)生慣例事件的一個或多個實例的累積的用戶數(shù)據(jù),來分析慣例。累積的用戶數(shù)據(jù)可以包括對應(yīng)于用戶的數(shù)據(jù)的集合??梢酝ㄟ^多種可能的數(shù)據(jù)源和/或數(shù)據(jù)系統(tǒng)隨著時間連續(xù)收集用戶數(shù)據(jù),所述用戶數(shù)據(jù)總體形成用戶動作的模式的詳細(xì)記錄,且對應(yīng)于用戶的一個或多個慣例。根據(jù)累積的用戶數(shù)據(jù)可以在用戶獨自不可實現(xiàn)的范圍、精度和數(shù)量的級別上識別、提取和/或分析用戶的這些慣例。
意圖是用戶數(shù)據(jù)的積累體現(xiàn)針對個體、商業(yè)和公共部門組織的健壯的隱私和數(shù)據(jù)保護(hù)。在該方面,用戶被賦予了對與用戶數(shù)據(jù)相關(guān)的多個方面的控制權(quán),包括能夠選擇加入或選擇退出數(shù)據(jù)收集和/或在本文描述的各種追蹤或分析特征中的任意一個。此外,將實現(xiàn)保護(hù)措施來保護(hù)敏感用戶數(shù)據(jù)在沒有用戶明確同意的情況下不被其他方(包括其他用戶)訪問。另外,在可能時,意圖是使任意數(shù)據(jù)成為匿名的。
轉(zhuǎn)向圖1,提供了示出了可以采用本公開的一些實現(xiàn)方式的示例性系統(tǒng)100的圖。應(yīng)當(dāng)理解的是,本文描述的這個和其它布置僅僅是作為例子來闡述的。除了或替代圖示的那些之外,還可以使用其它布置和元件(例如,機(jī)器、接口、功能、命令以及功能組等),并且一些元件可以被一起省略。此外,本文描述的許多元件是功能實體,其可以被實現(xiàn)為分立的或分布的部件或與其它部件結(jié)合,并且在任意適當(dāng)?shù)慕M合和位置處。本文描述的由一個或多個實體執(zhí)行的各種功能可以由硬件、固件和/或軟件執(zhí)行。例如,可以通過執(zhí)行存儲于存儲器內(nèi)的指令的處理器來實現(xiàn)各種功能。
除了未示出的其它部件外,系統(tǒng)100包括多個用戶設(shè)備,例如用戶設(shè)備102a和102b-102n;多個數(shù)據(jù)源,例如數(shù)據(jù)源104a和104b-104n;服務(wù)器106;以及網(wǎng)絡(luò)108。應(yīng)該理解的是,圖1中示出的系統(tǒng)100是一個適當(dāng)?shù)挠嬎阆到y(tǒng)架構(gòu)的例子。圖1中示出的每個部件可以經(jīng)由任意類型的計算設(shè)備(例如,計算設(shè)備700)實現(xiàn),稍后將例如結(jié)合圖7描述。部件可以經(jīng)由網(wǎng)絡(luò)108彼此通信,所述網(wǎng)絡(luò)可以包括但不限于一個或多個局域網(wǎng)(lan)和/或廣域網(wǎng)(wan)。在示例性實現(xiàn)方式中,網(wǎng)絡(luò)108包括互聯(lián)網(wǎng)和/或蜂窩網(wǎng)絡(luò),以及多種可能的公共和/或私有網(wǎng)絡(luò)中的任何一個。
應(yīng)該理解的是,在本公開的范圍內(nèi),可以在系統(tǒng)100內(nèi)采用任意數(shù)量的用戶設(shè)備、服務(wù)器和數(shù)據(jù)源。每個可以包括單個設(shè)備或在分布式環(huán)境中合作的多個設(shè)備。例如,可以經(jīng)由布置在分布式環(huán)境中的統(tǒng)一提供本文描述的功能的多個設(shè)備提供服務(wù)器106。另外,未示出的其它部件也可以包含于分布式環(huán)境中。
用戶設(shè)備102a和102b-102n可以是在系統(tǒng)100的客戶端側(cè)的客戶端設(shè)備,而服務(wù)器106可以在系統(tǒng)100的服務(wù)器側(cè)。服務(wù)器106可以包括服務(wù)器側(cè)軟件,其設(shè)計為結(jié)合用戶設(shè)備102a和102b-102n上的客戶端側(cè)軟件工作,以便實現(xiàn)在本公開中討論的特征和功能的任意組合。提供系統(tǒng)100的這種劃分以示出適合系統(tǒng)的一個例子,并且對每個實現(xiàn)方式不要求服務(wù)器106和用戶設(shè)備102a和102b-102n的任何組合保持為單獨的實體。
用戶設(shè)備102a和102b-102n可以采用多種形式,例如個人計算機(jī)(pc)、膝上型計算機(jī)、移動電話、智能電話、智能手表、平板計算機(jī)、可穿戴計算機(jī)、個人數(shù)字助理(pda)、mp3播放器、全球定位系統(tǒng)(gps)設(shè)備、視頻播放器、手持通信設(shè)備、工作站、這些描述設(shè)備的任意組合、或任意其它適當(dāng)設(shè)備。
數(shù)據(jù)源104a和104b-104n可以包括數(shù)據(jù)源和/或數(shù)據(jù)系統(tǒng),其配置為使得數(shù)據(jù)可用于系統(tǒng)100的各種成分中的任一種。在一些情況下,至少一個數(shù)據(jù)源與用戶設(shè)備102a和102b-102n和服務(wù)器106是離散的。然而,至少一個數(shù)據(jù)源可以并入和/或集成到這些部件中的至少一個中。
系統(tǒng)100可以用于實現(xiàn)慣例管理環(huán)境,其中可以相對多個用戶識別、追蹤和分析慣例?,F(xiàn)在結(jié)合圖1參考圖2,圖2示出了根據(jù)本公開的實現(xiàn)方式的系統(tǒng)100的示例性慣例管理環(huán)境210。
慣例管理環(huán)境210包括慣例追蹤器212。慣例追蹤器212包括慣例識別器216和慣例外檢測器218。慣例識別器216配置為根據(jù)用戶數(shù)據(jù)識別一個或多個用戶的慣例。在一些情況下,針對用戶的慣例識別是適應(yīng)性的,從而針對一個用戶識別的慣例在將來基于隨著時間的用戶行為的改變(例如,行為模式的改變)可能不再針對該用戶而被識別。慣例外檢測器218配置為檢測或識別在用戶和其慣例之間的偏離。在各種實現(xiàn)方式中,慣例外檢測器218可以用于檢測或識別用戶將偏離、正在偏離、或已經(jīng)偏離于組成慣例的一個或多個事件。在一些情況下,基于用戶行為的改變可以隨著時間而調(diào)整用戶的慣例,從而更精確地檢測和識別從這些慣例的偏離(例如,以適應(yīng)用戶行為模式的改變)。
雖然慣例識別器216和慣例外檢測器218示出為單獨的部件,但是至少一些功能可以在部件之間共享。例如,識別慣例或事件可以隱含在慣例外檢測器218的功能中。作為例子,慣例外檢測器218在確定是否應(yīng)該識別慣例外事件時可以考慮由檢測到的事件形成的模式(表示慣例)的強(qiáng)度。因此,可以理解的是,不是所有在此描述的實現(xiàn)方式都需要慣例識別器216和慣例外檢測器218。
慣例識別器216和慣例外檢測器218可以采用來自一個或多個數(shù)據(jù)源的累積的用戶數(shù)據(jù)和/或解釋性數(shù)據(jù),所述數(shù)據(jù)源例如是數(shù)據(jù)源204a和204b-204n的任意組合,對應(yīng)于圖1中數(shù)據(jù)源104a和104b-104n。用戶數(shù)據(jù)對應(yīng)于與一個或多個用戶相關(guān)聯(lián)的數(shù)據(jù)。如本文使用的,用戶可以對應(yīng)于用戶賬戶,例如,用戶賬戶222之一,其可選地可以與用戶名、密碼、用戶設(shè)備(例如,媒體訪問控制地址)、互聯(lián)網(wǎng)協(xié)議(ip)地址、通用唯一標(biāo)識符(uuid)和/或其它用戶標(biāo)識符中的一個或多個相關(guān)聯(lián)。
解釋性數(shù)據(jù)對應(yīng)于慣例追蹤器212用于解釋用戶數(shù)據(jù)的數(shù)據(jù)。解釋性數(shù)據(jù)可以用于向用戶數(shù)據(jù)提供上下文,這可以支持由慣例追蹤器212做出的確定或推理。作為例子,用戶數(shù)據(jù)可以表示用戶吃了甜甜圈,而解釋性數(shù)據(jù)可以包括營養(yǎng)信息,由慣例追蹤器212用于推斷用戶吃了不健康的一餐。利用用戶數(shù)據(jù)和/或用戶數(shù)據(jù)與解釋性數(shù)據(jù)的組合,慣例追蹤器212可以檢測用戶相對慣例的事件,將在后文更詳細(xì)地描述。
數(shù)據(jù)收集部件214可以用于促進(jìn)一個或多個用戶的數(shù)據(jù)和/或用于慣例追蹤器212的解釋性數(shù)據(jù)的累積。數(shù)據(jù)可以通過數(shù)據(jù)收集部件214進(jìn)行累積以及可選地重新格式化和/或組合,并存儲于一個或多個數(shù)據(jù)庫中。數(shù)據(jù)源104a和104b-104n的任意組合可以包括通過數(shù)據(jù)收集部件214累積的一個或多個用戶的用戶數(shù)據(jù)和/或解釋性數(shù)據(jù)。
用戶數(shù)據(jù)可以與一個或多個用戶賬戶(例如,用戶賬戶222)相關(guān)聯(lián)。在一些情況中,用戶數(shù)據(jù)可能不直接與用戶賬戶相關(guān)聯(lián),而是與已知或指定為對應(yīng)于相同用戶的另一用戶賬戶相關(guān)聯(lián)。例如,用戶賬戶222之一可以鏈接到一個或多個其它用戶賬戶,其可以在另一系統(tǒng)或其它系統(tǒng)中。例如,相同用戶可以具有facebook賬戶、paypal賬戶、google賬戶、twitter賬戶、銀行賬戶、ebay賬戶以及amazon賬戶,其每一個可以與用戶的用戶數(shù)據(jù)相關(guān)聯(lián)。
用戶數(shù)據(jù)和解釋性數(shù)據(jù)可以從多個源累積,在所述源中可獲得多種形式的數(shù)據(jù)。用戶數(shù)據(jù)的例子包括源自一個或多個傳感器的數(shù)據(jù),例如傳感器提供智能電話數(shù)據(jù)、家庭傳感器數(shù)據(jù)、全球定位系統(tǒng)(gps)數(shù)據(jù)、車輛信號數(shù)據(jù)、可穿戴設(shè)備數(shù)據(jù)、用戶設(shè)備數(shù)據(jù)、陀螺儀數(shù)據(jù)、加速度計數(shù)據(jù)、日歷數(shù)據(jù)、電子郵件數(shù)據(jù)、日程數(shù)據(jù)、信用卡使用數(shù)據(jù)、購買歷史數(shù)據(jù)、可由傳感器(或檢測器)部件感知或檢測到的其它傳感器數(shù)據(jù),其源自與用戶相關(guān)聯(lián)的傳感器部件(包括地點、運動、方向、位置、用戶接入、用戶活動、網(wǎng)絡(luò)接入、充電設(shè)備、或能夠由一個或多個傳感器部件提供的其它數(shù)據(jù))以及更多。在一些方面,可以在用戶信號中提供用戶數(shù)據(jù)。用戶信號可以是從對應(yīng)的數(shù)據(jù)源對用戶數(shù)據(jù)的饋送。例如,用戶信號可以來自智能電話、家庭傳感器設(shè)備、gps設(shè)備(例如,用于位置坐標(biāo))、車輛傳感器設(shè)備、可穿戴設(shè)備、用戶設(shè)備、陀螺儀傳感器、加速度計傳感器、日歷服務(wù)、電子郵件賬戶、信用卡賬戶、或其它數(shù)據(jù)源。
可以以多種可能的方式實現(xiàn)慣例追蹤器212以追蹤慣例。在一些情況下,慣例追蹤器212包括推理引擎(例如,基于規(guī)則的推理引擎),其用于追蹤慣例。推理引擎可以利用解釋性數(shù)據(jù)來關(guān)聯(lián)用戶數(shù)據(jù)和慣例的一個或多個事件,以及識別和檢測從慣例的一個或多個事件的偏離。在一些情況下,慣例追蹤器212可以采用對應(yīng)于慣例的慣例模型,其例子在以下結(jié)合慣例模型230(在此也稱作“慣例230”)進(jìn)行描述;以及對應(yīng)于可檢測事件的事件模型,其例子在以下結(jié)合事件模型234(在此也稱作“事件234”)進(jìn)行描述。
慣例追蹤器212可以可選地基于對應(yīng)于慣例的慣例模型230追蹤慣例。慣例模型230對應(yīng)于對應(yīng)慣例的表示,其例子包括慣例模型232a和232b(在本文也稱作“慣例232a和232b”)。每個慣例模型包括組成對應(yīng)慣例的一個或多個事件。例如,慣例模型232a包括事件模型234a(在本文也稱作“事件234a”),并且慣例模型232b包括事件模型234b(在本文中也稱作“事件234b”)。
如上所述,事件可以對應(yīng)于定義的用戶動作或用戶動作組,其可以在定義的條件下,例如,一天中的某時、一周中的某天、位置、或與用戶相關(guān)聯(lián)的其它模式或其它可檢測行為,例如與地理位置相關(guān)聯(lián)的動作、位置的語義、與用戶在一起的人、天氣條件等。每個用戶動作可以由慣例追蹤器212利用由數(shù)據(jù)收集部件214提供的與用戶相關(guān)聯(lián)的一個或多個用戶信號進(jìn)行識別。事件的例子是用戶在餐廳吃飯、用戶在特定餐廳吃飯、用戶在地理區(qū)域、用戶在地理位置、用戶參加會議、接收與用戶相關(guān)聯(lián)的傳感器讀數(shù)、用戶去健身房、以及用戶在工作等許多更多可能性。
不同的慣例可以共享一個或多個事件,但是可以通過至少一個事件彼此區(qū)分開。因此,一個慣例可以包括去健身房的事件(例如,在特定時間或時間幀,例如在一周的某天、或在一天的特定小時)以及去工作的事件,以及另一慣例可以包括用戶參加會議的事件和用戶去健身房的事件。在當(dāng)前例子中,從事件234選擇組成慣例232a和232b的事件234a和234b。注意在一些情況下,事件(例如,事件234之一)可能不組成慣例,而是可用于識別一個或多個慣例外事件。
每個事件可以具有對應(yīng)的事件定義,其包括一個或多個條件以及可選的一個或多個追蹤變量。例如,事件234包括條件235和追蹤變量236;并且慣例模型232b包括事件234b,其包括條件235b和追蹤變量236b。慣例追蹤器212利用條件來確定是否發(fā)生以及是否應(yīng)該檢測事件的實例。特別地,慣例追蹤器212可以基于確定滿足對應(yīng)于事件的條件,來檢測已經(jīng)發(fā)生事件的實例。
可以對檢測事件的實例放置多種條件中的任一種。在一些方面,可以通過使得對應(yīng)于事件的數(shù)據(jù)可用于慣例追蹤器212而滿足事件的一個或多個條件。作為例子,對應(yīng)于用戶的血壓讀數(shù)的事件的實例可以以血壓讀數(shù)可用于監(jiān)視用戶的血壓的慣例為條件。
事件可以可選地包括一個或多個事件變量。事件變量包括數(shù)據(jù)字段,其可以填充有由慣例追蹤器212根據(jù)用戶數(shù)據(jù)生成的數(shù)據(jù),用戶數(shù)據(jù)是數(shù)據(jù)收集部件214所提供的。具有一個或多個事件變量的事件還可以被稱作變量事件。其它事件可以是靜態(tài)的,并可以稱作靜態(tài)事件。
在一些情況下,事件的條件可以采用一個或多個事件變量。例如,事件的一個或多個條件可以對由用戶數(shù)據(jù)針對事件的一個或多個事件變量提供的值進(jìn)行一個或多個約束。例如,對于事件的實例已經(jīng)發(fā)生而言,事件可以要求血壓讀數(shù)在指定范圍內(nèi)。
追蹤變量是由慣例追蹤器212相對事件的對應(yīng)的檢測到的實例分配和/或記錄的事件變量。特別地,對應(yīng)于追蹤變量的值可以與用戶相關(guān)聯(lián)地(例如,相對于用戶賬戶222的對應(yīng)一個)存儲于慣例追蹤數(shù)據(jù)238中。
追蹤變量可以對應(yīng)于多個用戶數(shù)據(jù)的任一個,其例子在以上進(jìn)行了描述并且包括可以由一個或多個傳感器感測的傳感器數(shù)據(jù)或讀數(shù)(例如,與用戶設(shè)備相關(guān)聯(lián)的關(guān)于地點、位置、運動/方向、用戶接入/觸摸、與充電器連接/斷開連接、在用戶設(shè)備上的用戶活動的信息,或可以由一個或多個傳感器(例如在移動設(shè)備上發(fā)現(xiàn)的傳感器)感知到的其它信息),gps坐標(biāo)樣本等??梢岳斫獾氖?,追蹤變量的值可以與一個或多個事件和/或慣例相關(guān)聯(lián),并不必是事件或慣例特定的。追蹤變量的例子是對應(yīng)于事件的相應(yīng)實例的時間戳。時間戳可以表示事件的實例相對于事件的其它實例(以及可選的對應(yīng)慣例的一個或多個其它事件的實例)的相對次序或順序。
作為另一例子,事件可以包括用戶到達(dá)商店。一個追蹤變量可以對應(yīng)于到達(dá)位置,例如到達(dá)位置名稱。在檢測事件時,慣例追蹤器212可以基于包括關(guān)于用戶電話(例如,圖1的用戶設(shè)備102a)的gps數(shù)據(jù)的用戶數(shù)據(jù)來推斷滿足到達(dá),其中基于解釋性數(shù)據(jù)將到達(dá)位置名稱識別為商店并進(jìn)行存儲,所述解釋性數(shù)據(jù)包括用于使來自用戶電話的坐標(biāo)與對應(yīng)的位置名稱相關(guān)聯(lián)的地圖數(shù)據(jù)。因此,例如,對于一個實例,到達(dá)位置名稱可以是“walmart”;而對于另一實例,到達(dá)位置名稱可以是“target”。然而,可以理解的是,檢測和追蹤事件的粒度級別可以改變。因此,作為例子,到達(dá)位置名稱不需要是追蹤變量。此外,可能的追蹤變量(或更一般地事件變量)的其它例子包括到達(dá)時間(例如,時間戳)、到達(dá)位置坐標(biāo)、驅(qū)動速度、每英里汽油消耗量、車輛名稱等。
慣例追蹤器212可以搜索和/或分析用戶數(shù)據(jù)以獲得多個事件和/或其事件變量中的任一個。通過匹配用戶數(shù)據(jù)和一個或多個事件和/或其事件變量,慣例追蹤器212可以檢測事件,并根據(jù)用戶的檢測到的事件的模式來識別慣例,以及相對于用戶識別和檢測從慣例的事件的可能的或?qū)嶋H的偏離。
本文描述了慣例識別器216如何進(jìn)行這種確定的一些例子。然而,慣例識別和追蹤的許多變型是可能的。在一些情況下,在確定用戶是否實踐慣例時,慣例識別器216可以確定慣例的置信度分?jǐn)?shù),和/或慣例的一個或多個事件的相應(yīng)置信度分?jǐn)?shù)。當(dāng)慣例的置信度分?jǐn)?shù)超過閾值時,慣例識別器216可以確定用戶實踐慣例。類似地,當(dāng)事件的置信度分?jǐn)?shù)超過閾值時,慣例識別器216可以確定用戶實踐事件。
置信度分?jǐn)?shù)可以對應(yīng)于出現(xiàn)在檢測到的事件的追蹤變量的一個或多個值的分布中對應(yīng)的建模模式的相對強(qiáng)度。置信度分?jǐn)?shù)可以受到各種因素的影響,例如,模式的方差、形成模式的檢測到的事件的年齡、以及形成模式的檢測到的事件的數(shù)量。在一些情況下,當(dāng)分配給慣例的所有事件的所有置信度分?jǐn)?shù)超過其相應(yīng)的閾值時,慣例識別器216可以確定用戶實踐慣例。應(yīng)該注意的是,上述閾值的任意組合可以相對彼此相同或不同。
可以通過利用一個或多個置信度度量來確定事件和/或慣例的置信度分?jǐn)?shù)。在一些實現(xiàn)方式中,基于如檢測到的事件形成的模式表示的、事件和/或慣例隨著時間的檢測到的重復(fù)或迭代,置信度度量增加置信度分?jǐn)?shù)?;谙鄬σ粋€或所有重復(fù)或迭代的經(jīng)過時間,可以對置信度分?jǐn)?shù)進(jìn)行折扣。例如,基于對應(yīng)的用戶行為發(fā)生在很久遠(yuǎn)的過去,在過去很高的置信度分?jǐn)?shù)現(xiàn)在可能是很低的。作為另一例子,隨著時間的推移,可能從考量和/或存儲逐漸停止迭代。這樣,慣例識別器216可以適應(yīng)于不斷改變的生活方式,其中用戶可以隨著時間改變其行為。
如上所述,慣例追蹤器212可以將在追蹤用戶慣例時采用的各種數(shù)據(jù)中的任意數(shù)據(jù)存儲為慣例追蹤數(shù)據(jù)238。在一些情況下,慣例追蹤數(shù)據(jù)238可選地包括識別慣例以及在慣例和一個或多個用戶之間的分配的條目。條目可以存儲或表示與慣例相關(guān)聯(lián)的各種數(shù)據(jù)中的任一種,例如,慣例的事件和/或與這些事件的追蹤變量相關(guān)聯(lián)的值。慣例追蹤數(shù)據(jù)238還可以包括關(guān)于事件和/或慣例的置信度分?jǐn)?shù),其對應(yīng)于一個或多個用戶。如上所述,隨著時間,當(dāng)周期性地分析用戶數(shù)據(jù)并且確定和/或更新置信度分?jǐn)?shù)時,慣例追蹤器212可以更新慣例追蹤數(shù)據(jù)238。
慣例外檢測器218可以利用慣例追蹤數(shù)據(jù)238來基于確定用戶將偏離、正偏離或已經(jīng)偏離該用戶的慣例的一個或多個事件而檢測或識別該用戶處于慣例外。在這方面,慣例外檢測器218可以識別一個或多個慣例外事件。在一些情況下,在以下情形下針對一個慣例而言一個事件可以是慣例外的:確定相對于該慣例用戶將偏離或已偏離該事件。就此,偏離可以對應(yīng)于背離慣例事件的檢測到的事件的建模模式??梢岳媒y(tǒng)計模型(例如,參數(shù)模型、或其它適當(dāng)?shù)哪P?對模式進(jìn)行建模,并可以對模式進(jìn)行分析以用于識別對其的偏離。
可以理解的是,在一些情況下,一個事件可以基于從該事件的實際偏離而被識別為是慣例外的,在實際偏離中用戶數(shù)據(jù)表示用戶已經(jīng)違背了該事件的某個條件或模式,這與從該事件的預(yù)測偏離相反,在預(yù)測偏離中用戶數(shù)據(jù)表示用戶可能違反該事件的某個條件或模式。例如,慣例外事件的例子可以是用戶在他們通常并不執(zhí)行一個或多個用戶動作(例如事件)的時間執(zhí)行該動作。在一些情況下,用戶可能在他們通常不進(jìn)行電話呼叫的時間進(jìn)行電話呼叫。在其它情況下,用戶可能在用戶通常不發(fā)送電子郵件的深夜發(fā)送電子郵件。然而,基于臨時的偏離,無需將事件識別為是慣例外的。例子是基于兒童(即,用戶)與他們通常不在線通信的人進(jìn)行通信來識別慣例外事件。另一例子是基于兒童(即,用戶)訪問兒童通常不訪問的網(wǎng)站而識別慣例外事件。再一個例子是基于用戶的駕駛行為(例如,由用戶駕駛的車輛和/或用戶的蜂窩電話中的一個或多個陀螺儀、加速度計和/或其它傳感器數(shù)據(jù)表示的)中不尋常的模式(例如,古怪的行為)而識別慣例外事件。
還可以理解的是,一個事件可以基于與該事件的偏離的預(yù)測而被識別為是慣例外的。這樣,對慣例外事件的識別可以是前瞻性的。對偏離的預(yù)測可以基于解釋性數(shù)據(jù)、檢測到的事件、以及關(guān)于將來用戶動作的一個或多個推理。作為例子,用戶可能通常每周四去公園,但是慣例外檢測器218可以基于表示周四很可能下雨的天氣預(yù)報來預(yù)測用戶可能在下周四不去公園散步。另一例子是識別或檢測到用戶在周一在公園,并且慣例外檢測器218預(yù)測用戶下周四可能不去公園,因為用戶的模式表示用戶通常每周僅去公園一次或僅在公園散步一次。
從事件的實際偏離的例子是用戶錯過了用戶每周三參與的會議。預(yù)測偏離的例子是在檢測到用戶實際已經(jīng)錯過會議之前預(yù)測用戶將錯過會議。例如,慣例外檢測器218可以基于確定用戶在會議期間將度假且不在城里而推斷用戶將錯過會議。確定可以基于一個或多個檢測到的事件和/或用戶數(shù)據(jù),例如日歷安排數(shù)據(jù)。
一個事件可以基于確定用戶尚未、將不會或可能不滿足該事件的預(yù)測實例而被識別為是慣例外的。例如,慣例外檢測器218可以分析歷史檢測到的事件以獲得一個或多個追蹤變量的值的模式,以便預(yù)測一個或多個追蹤變量的值范圍以定義事件的預(yù)測實例。當(dāng)確定用戶尚未、將不會或可能不滿足預(yù)測的值范圍時,可以檢測到慣例外事件。作為例子,慣例外檢測器218可以分析過去用戶外出吃午飯的時間分布(例如,利用時間戳值),并預(yù)測用戶將在12:00pm和1:00pm之間外出吃午飯?;跈z測到的事件表示用戶自從到達(dá)辦公室后尚未離開,在1:00pm之后,慣例外檢測器218可以基于實際偏離將事件識別為是慣例外的。作為另一例子,基于檢測到的事件表示用戶已經(jīng)為該天在11:30am安排了午餐會議,慣例外檢測器218可以基于預(yù)測到的偏離而將事件識別為是慣例外的。
如上所述,可以采用檢測到的事件的模式來識別慣例對應(yīng)于用戶和/或檢測從慣例的偏離。例如,慣例外檢測器218可以基于檢測到從慣例的事件的一個或多個追蹤變量的建模模式的偏離,來檢測慣例外事件。
下文描述了示例性方法,其中事件的每個實例具有形成模式的追蹤變量的對應(yīng)歷史值,并且慣例追蹤器212可以評估追蹤變量的分布以獲得模式。在后續(xù)例子中,事件的追蹤變量是對應(yīng)于事件的實例的時間戳。然而,可以理解的是,在概念上,后續(xù)內(nèi)容可以應(yīng)用于不同類型的歷史值。
一包時間戳(即,給定追蹤變量的值)可以表示為
該柱狀圖可以用于確定衍生柱狀圖。例如,一周某天的柱狀圖可以對應(yīng)于:
hj=σihij
一天的小時柱狀圖可以對應(yīng)于:
hi=σjhij
作為另一例子,可以為特定語義時間分辨率確定以下形式的一個或多個柱狀圖:
hic=σj∈chij
可以采用各種語義時間分辨率中的任一種,例如工作日和周末、或者早晨、下午和夜晚。后者的例子是c∈{早晨,下午,夜晚},早晨={9,10,11},下午={12,13,14,15,16},以及晚上={21,22,23,24}。
在表示事件使用的額外數(shù)據(jù)結(jié)構(gòu)可以包括在具有至少一個時間戳的每個日歷周中不同的時間戳的數(shù)量,其可以表示為:
作為例子,
慣例檢測器218可以生成置信度分?jǐn)?shù),其量化通過追蹤變量中的歷史值形成特定模式的確定性的水平。在后續(xù)例子中,利用貝葉斯統(tǒng)計來應(yīng)用上述原理。
在一些實現(xiàn)方式中,可以為對應(yīng)的追蹤變量生成置信度分?jǐn)?shù),追蹤變量是通過變化的分辨率的時間間隔來索引的追蹤。對于時間戳而言,例子包括周二9am、工作日早晨和周三下午??梢酝ㄟ^應(yīng)用dirichlet多項式模型以及計算每個周期的柱狀圖的后驗預(yù)測分布,來計算出置信度分?jǐn)?shù)。這樣,在特定柱狀圖中用于每個箱(bin)的預(yù)測可以由以下給出:
當(dāng)k表示箱的數(shù)量時,α0是編碼先驗知識的強(qiáng)度的參數(shù),并且
另外,在一些實現(xiàn)方式中,可以為通過周期和時間戳數(shù)量索引的對應(yīng)追蹤變量生成置信度分?jǐn)?shù)。例子包括每周訪問1次,以及每2周訪問3次。利用gaussian后驗,可以為每周期分辨率(表示為j)的模式生成置信度分?jǐn)?shù)這可以通過采用以下公式實現(xiàn):
在上文中,σ2是樣本方差,且
作為例子,考慮后續(xù)觀察
在確定模式存在之后,或者確定模式的置信度分?jǐn)?shù)足夠高(例如,超過閾值)之后,慣例追蹤器212可以利用一個或多個這些值來識別慣例對應(yīng)于用戶和/或慣例的一個或多個實例或預(yù)測出的實例是否偏離慣例。
作為例子,慣例外檢測器218可以確定慣例的追蹤變量的值是否偏離該模式。更具體地,慣例外檢測器218可以確定追蹤變量的值以及因此對應(yīng)事件的實例或預(yù)測出的實例偏離由追蹤變量的歷史值形成的模式。在一些情況中,在值大約大于或等于從模式的時間戳的一個標(biāo)準(zhǔn)偏差(deviation)時,可以檢測出偏離。在一些情況中,在值大約大于或等于從模式的時間戳的兩個標(biāo)準(zhǔn)偏差時,可以檢測出偏離。例如,可以通過將函數(shù)(例如,gaussian函數(shù)或貝爾曲線等)映射到模式的時間戳來建立標(biāo)準(zhǔn)偏差。
作為另一例子,當(dāng)一個或多個追蹤變量的一個或多個置信度分?jǐn)?shù)超過閾值時,慣例識別器216可以確定用戶正在實踐慣例的事件。就此,可以基于慣例識別器216識別事件的一個或多個追蹤變量的歷史值的一個或多個模式,確定正在實踐慣例的事件。
在關(guān)于用戶追蹤慣例時,慣例追蹤器212可以采用位置預(yù)測,其可以利用使用時間間隔索引的柱狀圖模型實現(xiàn),如上所述。利用當(dāng)前時間,柱狀圖模型可以應(yīng)用于每個已知的位置。這些位置中的每個位置可以產(chǎn)生估計在當(dāng)前時間對位置的訪問的一部分的概率:
量p(time=t|place=p)是上述柱狀圖模型。p(placce=p)是在位置p中的先驗概率。時間t的分辨率從窄放松到寬(例如,周二9am=>工作日早晨),直到上述量超過閾值,在該情況中我們的模型預(yù)測地點p。
此外,在關(guān)于用戶追蹤慣例時,慣例追蹤器212可以采用下一位置預(yù)測,其可以利用通過周期和時間戳(即,樣本)的數(shù)量索引的柱狀圖模型實現(xiàn),如上所述。利用該模型,可以利用以下公式計算利用先前訪問數(shù)量預(yù)期特定周的訪問:
利用具有最高置信度的周期計算每周的預(yù)期訪問次數(shù)。
在識別出用戶的慣例的一個或多個事件中的偏離后,可以基于識別出的偏離利用呈現(xiàn)部件220向用戶呈現(xiàn)內(nèi)容(例如,內(nèi)容240)。例如,可以在用戶設(shè)備102a和102b-102n的任意組合中呈現(xiàn)內(nèi)容。在該能力中,呈現(xiàn)部件220可以采用在慣例追蹤數(shù)據(jù)238中關(guān)于用戶賬戶222顯示的各種數(shù)據(jù)中的任一種以及其它數(shù)據(jù)。呈現(xiàn)部件220可以確定在何時和/或如何將內(nèi)容呈現(xiàn)給用戶。呈現(xiàn)部件220還可以確定向用戶呈現(xiàn)什么內(nèi)容。在一些實施例中,呈現(xiàn)部件220包括在計算設(shè)備(例如,在圖7中描述的包括用戶設(shè)備的設(shè)備700,例如移動計算設(shè)備)上或云中操作的一個或多個應(yīng)用或服務(wù)。
由呈現(xiàn)部件220基于從用戶慣例的識別出的偏離作出的關(guān)于待呈現(xiàn)內(nèi)容的確定可以可選地基于對應(yīng)于在用戶和慣例之間的偏離的上下文信息。在一些實現(xiàn)方式中,慣例追蹤器212可以生成上下文信息,其可以提供給呈現(xiàn)部件220。上下文信息一般對應(yīng)于向偏離提供上下文的信息。
慣例追蹤器212可以生成上下文信息,其利用解釋性數(shù)據(jù)來至少部分地根據(jù)與用戶相關(guān)聯(lián)的用戶數(shù)據(jù)推斷或確定上下文信息。例如,如果用戶位于與其住址不同的國家,則上下文信息可以表示用戶不在城里。其它解釋性數(shù)據(jù)可以用于進(jìn)一步區(qū)分該用戶是在個人休假還是出差。慣例追蹤器212還可以生成上下文信息,其利用解釋性數(shù)據(jù)來至少部分地根據(jù)與至少一個其他用戶相關(guān)聯(lián)的用戶數(shù)據(jù)(例如,用戶數(shù)據(jù)的集合)推斷或確定上下文信息。上下文信息可以包括對應(yīng)于識別出的偏離的語義數(shù)據(jù)。語義數(shù)據(jù)可以補(bǔ)充用于識別偏離的用戶數(shù)據(jù)(例如,傳感器數(shù)據(jù)),例如用戶的檢測到的事件的語義,其表示偏離。語義數(shù)據(jù)的例子包括一天中的時間、是否是周末、工作日或假期、天氣條件等。
上下文信息可以表示或?qū)?yīng)于從慣例偏離的原因或理由。在一些情況下,生成上下文信息包括對從慣例的偏離進(jìn)行分類。特別地,慣例追蹤器212可以向偏離分配一個或多個預(yù)定類別。分配的類別可以對應(yīng)于偏離的原因或理由的類別。該分配可以可選地基于對用戶數(shù)據(jù)(例如,聚合的用戶數(shù)據(jù)和/或?qū)?yīng)于用戶的用戶數(shù)據(jù))和/或解釋性數(shù)據(jù)的分析。
在一些情況下,生成上下文信息包括向偏離分配一個或多個用戶特定類別或者對用戶特定(即,用戶特定)的類別。此外,生成上下文信息可以包括向偏離分配一個或多個用戶通用類別或者對用戶通用(即,用戶通用或?qū)τ脩舨惶囟ǖ?的類別。對用戶特定的原因可以是對用戶是個人的。例如,用戶可能因為用戶生病而錯過了上班的事件。對用戶通用的原因可以在多個用戶之間共享。例如,多個用戶可能因為國家假期錯過事件的實例。
在一些情況下,慣例追蹤器212可以通過相對于一個或多個其他用戶的偏離來分析偏離,來確定原因是用戶特定的還是用戶通用的。例如,慣例追蹤器212可以針對相同或不同對應(yīng)事件和/或慣例而確定原因不在多個用戶之間共享。當(dāng)原因被一個或多個用戶共享時,慣例追蹤器212可以確定該原因?qū)τ脩羰峭ㄓ玫?。作為例子,慣例追蹤器212可以基于其他用戶從相同事件和/或慣例偏離的數(shù)量做出確定。如果許多其他用戶偏離相同的事件和/或慣例,則更可能的是:給定用戶的偏離的原因?qū)τ脩羰峭ㄓ玫?。因此,可以至少部分地基于其他用戶的?shù)量超過閾值而將原因分類為用戶通用的。
在確定原因是用戶特定的還是用戶通用的時,或生成用戶從慣例偏離的上下文信息和/或類別時,可以基于與該用戶的一個或多個識別出的類似性(即,用戶的子集)考慮其他用戶。例如,慣例追蹤器212可以通過一個或多個共享特性選擇或分組用戶。共享特性的一個例子是共享地理區(qū)域。例如,每個用戶可以基于來自與該用戶相同的城市、州、國家或大陸而被慣例追蹤器212考慮。作為另一例子,共享特性可以包括共享人口信息。例子包括共享的性別、年齡、年齡范圍、收入水平、種族和/或民族。
慣例追蹤器212可以根據(jù)與一個或多個用戶賬戶222相關(guān)聯(lián)的數(shù)據(jù)(例如,多個用戶的簡檔數(shù)據(jù))識別一個或多個共享特性。另外或替代地,共享特性可以基于一個或多個事件的一個或多個追蹤變量的一個或多個值。例如,追蹤變量可以是用戶的血糖水平。慣例追蹤器212可以基于血糖水平中識別出的類似性來選擇用戶。該類似性可以關(guān)于相對用戶累積的數(shù)據(jù)的聚合(例如,所有累積值的平均值),或者可以基于一個或多個特定實例、或?qū)嵗纸M,例如與偏離相關(guān)聯(lián)的一個或多個實例。
上下文信息的其它例子是置信度分?jǐn)?shù)、方差分?jǐn)?shù)、以及在識別慣例外事件時生成的其它信息。另一例子是識別出的慣例外事件的重要性水平。例如,重要性水平可以隨著針對事件檢測到的慣例外事件的次數(shù)而增加。當(dāng)重要性水平較低時,響應(yīng)于識別出慣例外事件而可能無需任何動作。此外,對于不同的重要性水平,可以采取或建議采取不同的動作。在針對一個或多個其它事件和/或慣例識別出的慣例外事件中也可以考慮重要性水平。例如,重要性水平可以在一個時間段中針對每個識別出的慣例外事件而增加。
在一些情況下,呈現(xiàn)部件220可以基于識別出的從慣例的偏離和/或?qū)?yīng)于偏離的上下文信息,向用戶提供內(nèi)容。例如,如果上下文信息表示用戶在scotland度假,則提供給用戶的內(nèi)容可以提供關(guān)于國家、在區(qū)域內(nèi)可用的休閑活動等的信息。例如,如果上下文信息表示用戶在canada或在工作,則該內(nèi)容將不被呈現(xiàn)。當(dāng)上下文信息包括一個或多個類別時,提供給用戶的至少一些內(nèi)容可以與分配給識別出的偏離的類別相關(guān)聯(lián)(例如,預(yù)先關(guān)聯(lián))。因此,不同的類別可以具有至少一些不同的相關(guān)聯(lián)的內(nèi)容用于呈現(xiàn),并且提供給用戶的內(nèi)容可以取決于哪個或哪些類別已經(jīng)被分配給識別出的偏離。
在一些情況下,可以向用戶提供當(dāng)用戶遵守慣例的每個事件時不向用戶提供的內(nèi)容。所述內(nèi)容可以是基于識別偏離而生成和/或呈現(xiàn)的新內(nèi)容。例如,假設(shè)ben按照慣例每天在大約1pm外出吃午飯。慣例追蹤器212可以基于檢測到ben在3pm尚未離開其辦公室,而確定ben已經(jīng)偏離慣例。基于檢測到的偏離,將建議ben訂餐的內(nèi)容呈現(xiàn)給ben,這如果不是識別出偏離則不會呈現(xiàn)給ben。所述內(nèi)容可以包括生成的內(nèi)容(例如,基于識別生成的),其包括一個或多個特定餐廳,例如快餐廳。至少一些內(nèi)容可以與慣例外事件相關(guān)(例如,慣例外事件的上下文信息),但是不與用戶的事件的追蹤模式相關(guān)。例如,推薦的餐廳可能在3pm前不開門,因此在基于追蹤的檢測事件的模式推薦給ben通常的1pm午飯時,該推薦的餐廳將是不相關(guān)的。
在實施例中,內(nèi)容包括基于檢測到的偏離的一個或多個建議、推薦、或相關(guān)信息。例如,在一個實施例中,當(dāng)確定用戶在早晨的特定時間(例如,10:00am)還沒到達(dá)他的辦公室而是待在家中(例如,用戶生病)時,可以生成包括建議用戶發(fā)送取消當(dāng)日安排的會議的電子郵件和/或詢問用戶是否想要自動重新安排會議的提示的內(nèi)容??梢陨刹⑻峁┙o用戶額外的內(nèi)容,包括詢問用戶是否想要安排約見醫(yī)生的提示和/或關(guān)于用戶可能感興趣的電視節(jié)目的信息。
作為另一例子,利用本發(fā)明的實施例,可以確定特定的用戶每周二晚上玩高爾夫球是一個慣例。當(dāng)確定該用戶錯過(或正錯過或?qū)㈠e過)她的高爾夫球游戲并因此偏離(或?qū)⑵x)她的慣例時,可以生成并提供給用戶包括以下一個或多個的內(nèi)容:(a)基于用戶的安排、用戶慣例信息、來自與高爾夫球場相關(guān)聯(lián)的源(例如,高爾夫球場的網(wǎng)站)的信息、和/或諸如日歷信息的其它用戶信息,而在將來安排開球時間的建議;(b)詢問用戶是否想要彌補(bǔ)錯過的高爾夫游戲(事件的錯過的實例)和/或用戶是否想要在將來自動安排游戲的提示;(c)基于上下文信息,與錯過的高爾夫游戲或彌補(bǔ)的游戲相關(guān)的額外信息,例如,可能的彌補(bǔ)游戲的日期和時間的場地費。
另外或替代地,呈現(xiàn)部件220可以基于識別出的從慣例的偏離和/或?qū)?yīng)于偏離的上下文而抑制呈現(xiàn)內(nèi)容給用戶。例如,有時可以基于慣例識別器216確定用戶實踐慣例而呈現(xiàn)內(nèi)容,基于慣例外檢測器218檢測到在用戶和慣例之間的偏離可以不呈現(xiàn)該內(nèi)容。內(nèi)容原本可能已經(jīng)在缺少對慣例外事件的識別時而被呈現(xiàn),但是由于偏離而不再相關(guān),并因此不被呈現(xiàn)。例如,呈現(xiàn)部件220通??梢曰陉P(guān)于用戶實踐慣例的指示(例如,來自慣例識別器216)而沒有關(guān)于識別出的慣例外事件的指示,而向用戶呈現(xiàn)內(nèi)容。
為了說明前文,在以上例子中,基于識別出ben的慣例,呈現(xiàn)部件220通??梢远ㄆ?例如,每天在他1pm午飯之前)向ben呈現(xiàn)包括推薦ben吃飯的地點的內(nèi)容(例如,對應(yīng)于事件和/或慣例的預(yù)測實例)。然而,基于慣例外檢測器218確定ben在12pm吃了午飯,呈現(xiàn)部件220可以抑制呈現(xiàn)對應(yīng)于該推薦的內(nèi)容。
當(dāng)呈現(xiàn)部件220抑制向用戶呈現(xiàn)內(nèi)容時,節(jié)省了與呈現(xiàn)內(nèi)容相關(guān)的處理、功率和其它資源。此外,在抑制向用戶呈現(xiàn)內(nèi)容包括抑制基于識別出偏離慣例和/或?qū)?yīng)于偏離的上下文信息而生成至少一些內(nèi)容的情況下,進(jìn)一步節(jié)省了資源。例如,生成內(nèi)容可能使用網(wǎng)絡(luò)帶寬、處理功率和能量。
此外,呈現(xiàn)部件220可以基于識別出偏離慣例和/或?qū)?yīng)于偏離的上下文信息,而修改呈現(xiàn)給用戶的內(nèi)容或其呈現(xiàn)。所述內(nèi)容可以對應(yīng)于在用戶正在實踐慣例并且沒有被檢測為偏離他們的慣例時通常呈現(xiàn)的內(nèi)容。修改內(nèi)容的例子包括編輯內(nèi)容、替代內(nèi)容、改變內(nèi)容、替換內(nèi)容、以及添加內(nèi)容。
在上述例子中,餐廳的推薦是這種內(nèi)容的例子。修改內(nèi)容的例子是當(dāng)推薦的餐廳是基于偏離慣例時。例如,基于檢測到ben到2pm尚未吃飯而偏離慣例,仍向ben推薦餐廳。
然而,推薦的餐廳(即,內(nèi)容)可以基于識別出偏離,從而其可以不同于在1pm之前推薦的餐廳。作為例子,呈現(xiàn)部件220可以通過從一個或多個其它可選餐廳(即,可選內(nèi)容)選擇餐廳來執(zhí)行餐廳(即,內(nèi)容)選擇。所述選擇可以相對一個或多個標(biāo)準(zhǔn)評價餐廳?;谧R別出的偏離慣例,評價的結(jié)果可能不同。例如,與偏離相關(guān)聯(lián)的追蹤變量的上下文信息和/或值可以導(dǎo)致基于偏離選擇的不同餐廳。作為例子,餐廳的選擇可以以餐廳在2pm仍提供午飯為條件,而在1pm之前推薦的餐廳在2pm不再提供午飯。
在一些實現(xiàn)方式中,利用一個或多個內(nèi)容模板或內(nèi)容卡確定呈現(xiàn)給用戶的內(nèi)容。在圖3中示出了填充的示例性內(nèi)容卡350。內(nèi)容卡可以包括一個或多個靜態(tài)內(nèi)容字段和/或一個或多個動態(tài)內(nèi)容字段。靜態(tài)內(nèi)容字段的例子包括圖3中的靜態(tài)內(nèi)容字段352a、352b、352c和352d。動態(tài)內(nèi)容字段的例子包括動態(tài)內(nèi)容字段354a、354b、354c和354d。靜態(tài)內(nèi)容字段對應(yīng)的內(nèi)容字段具有每次呈現(xiàn)內(nèi)容卡時顯示的對應(yīng)內(nèi)容。動態(tài)內(nèi)容字段對應(yīng)的內(nèi)容字段具有在呈現(xiàn)內(nèi)容卡之間可以變化的對應(yīng)內(nèi)容。
在一些情況下,呈現(xiàn)部件220可以利用一個或多個內(nèi)容卡(例如,內(nèi)容卡350)基于識別出的偏離慣例和/或?qū)?yīng)于偏離的上下文信息,而向用戶提供內(nèi)容。例如,呈現(xiàn)部件220可以基于識別出偏離而選擇一個或多個內(nèi)容卡,和/或基于識別出偏離而修改所選內(nèi)容卡的一個或多個動態(tài)內(nèi)容字段。因此,例如,一個或多個動態(tài)內(nèi)容字段的對應(yīng)內(nèi)容可以基于識別出偏離慣例而而進(jìn)行修改以用于呈現(xiàn)、從呈現(xiàn)移除、或進(jìn)行確定。此外,一個或多個內(nèi)容卡可以基于識別出偏離慣例而進(jìn)行修改以用于呈現(xiàn)、從呈現(xiàn)移除、抑制呈現(xiàn)或從呈現(xiàn)移除、或者被選擇。
因此,內(nèi)容卡350可以對應(yīng)于基于識別出的偏離慣例和/或?qū)?yīng)于慣例的上下文信息對內(nèi)容卡350的呈現(xiàn)。然而,當(dāng)沒有識別出偏離時,動態(tài)內(nèi)容字段354a可以讀作“開始安排一周的鍛煉。這里是您日歷上的自由時隙”。動態(tài)內(nèi)容字段354b和354c可以包括與所示不同的一個或多個鍛煉時隙,以及動態(tài)內(nèi)容字段354d可以讀作“不要詢問安排我的鍛煉”。
在一些實現(xiàn)方式中,慣例追蹤器212為呈現(xiàn)部件220選擇或生成在向用戶呈現(xiàn)內(nèi)容時的一個或多個推薦動作。推薦動作對應(yīng)于呈現(xiàn)部件220可以用于確定向用戶呈現(xiàn)內(nèi)容的各個方面的數(shù)據(jù)。推薦動作可以對應(yīng)于用于響應(yīng)識別出慣例外事件的動作的一個或多個過程。例如,推薦動作可以指定呈現(xiàn)部件應(yīng)該自動修改用戶內(nèi)容還是應(yīng)該從用戶處請求信息(例如,用戶確認(rèn))。
推薦動作可以指定或選定一個或多個內(nèi)容、一個或多個靜態(tài)和/或動態(tài)內(nèi)容字段(例如,在內(nèi)容卡中)、一個或多個內(nèi)容卡、時間、地點或位置、屏幕或菜單、環(huán)境、用戶交互的模式或方式、或相對動作可以并入到條件或指令中的其它因素。呈現(xiàn)部件220可以選擇或挑選遵守與推薦動作相關(guān)聯(lián)或?qū)?yīng)于推薦動作的一個或多個條件和/或指令,用于向用戶呈現(xiàn)內(nèi)容。
例如,推薦動作可以向呈現(xiàn)部件220(或另一應(yīng)用或服務(wù))指示和/或被呈現(xiàn)部件220用于確定以下任意組合:何時向用戶呈現(xiàn)內(nèi)容(例如,利用規(guī)定時間或時間范圍);如何向用戶呈現(xiàn)內(nèi)容;向用戶呈現(xiàn)什么內(nèi)容;何時進(jìn)行修改;生成或選擇待向用戶呈現(xiàn)的內(nèi)容;何時抑制向用戶呈現(xiàn)內(nèi)容;何時尋求用戶關(guān)于內(nèi)容的反饋;等等。
在一些實施例中,推薦動作可以對應(yīng)于一個或多個條件,可以基于與用戶相關(guān)聯(lián)的用戶設(shè)備上的傳感器,經(jīng)由以下內(nèi)容來評估:用戶歷史、模式或慣例(例如,用戶每天在8:00和8:30am之間開車去工作)、其它用戶信息(例如,用戶的在線活動、包括錯過的通信的用戶通信信息)、內(nèi)容的緊急或過時(例如,內(nèi)容應(yīng)該給在早晨呈現(xiàn)給用戶但是在10am之后不再相關(guān))、偏離的特定用戶慣例、和/或?qū)?yīng)于慣例外事件的上下文信息。例如,當(dāng)用戶可能在8:00和8:30am之間開車時,在該時間期間推薦呈現(xiàn)給用戶的內(nèi)容可以在用戶開車的同時聽覺地呈現(xiàn)給用戶。作為另一例子,關(guān)于用戶彌補(bǔ)錯過的呼叫的建議的內(nèi)容,例如當(dāng)用戶每周日呼叫某人(例如,他的媽媽)但是上周日沒有呼叫時,可以在用戶訪問在其移動設(shè)備上的電話app時被呈現(xiàn)給用戶。所述內(nèi)容可以呈現(xiàn)為彈出通知、突出消息、通知菜單中的圖標(biāo)或符號、文本、電子郵件、其它通信或類似菜單。(例如,當(dāng)選擇電話app進(jìn)行呼叫時,顯示消息通知用戶他周日沒有呼叫他的媽媽并詢問用戶是否想要現(xiàn)在呼叫他的媽媽)。類似地,在另一例子中,當(dāng)訪問電子郵件應(yīng)用時,提示用戶回復(fù)用戶尚未回復(fù)但是基于用戶的歷史用戶總是快速回復(fù)來自該聯(lián)系人的電子郵件(例如,來自用戶老板的電子郵件)的電子郵件。替代地,在撿起移動設(shè)備且沒有訪問電子郵件應(yīng)用時,向用戶呈現(xiàn)包括回復(fù)電子郵件的提醒的內(nèi)容。
當(dāng)推薦動作是針對一個或多個內(nèi)容模板或內(nèi)容卡的時,推薦動作可以指定一個或多個內(nèi)容卡。例如,推薦動作可以向用戶呈現(xiàn)一個或多個內(nèi)容卡,抑制向用戶呈現(xiàn)一個或多個內(nèi)容光卡,或者何時向用戶呈現(xiàn)一個或多個內(nèi)容卡。此外,推薦動作可以相對于與一個或多個動態(tài)和/或靜態(tài)內(nèi)容字段的內(nèi)容相關(guān)聯(lián)的動作指定指定這些字段。
在一些情況下,慣例追蹤器212基于生成的上下文信息生成一個或多個推薦動作。例如,推薦動作可以基于偏離慣例的類別。因此,基于偏離被分配了用戶特定類別,慣例追蹤器212可以選擇或生成一個推薦動作;以及基于偏離被分配了用戶通用類別,慣例追蹤器212可以選擇或生成另一推薦動作。作為另一例子,可以基于在識別慣例外事件時使用的置信度分?jǐn)?shù),來生成至少一個推薦動作。例如,可以基于置信度值超過或未超過閾值而選擇或生成推薦動作。
如上所述,在一些實現(xiàn)方式中,呈現(xiàn)部件220可以遵循由慣例追蹤器212提供的一個或多個推薦動作。在一些情況下,呈現(xiàn)部件220可以確定是否遵循一個或多個推薦動作。作為例子,推薦例子可以是向用戶請求信息。呈現(xiàn)部件220可以基于推薦動作從用戶請求信息。呈現(xiàn)部件220或在用戶設(shè)備上運行的另一應(yīng)用或服務(wù)可以確定或選擇遵循一個或多個推薦動作,并可以確定或選擇忽略、或不遵循一個或多個其它推薦動作。例如,基于一個或多個標(biāo)準(zhǔn),例如,呈現(xiàn)部件已經(jīng)訪問了信息、確定用戶遠(yuǎn)離設(shè)備或不可能對推薦動作進(jìn)行響應(yīng)、確定推薦動作不再適用或不再相關(guān)、呈現(xiàn)部件220具有另一適當(dāng)?shù)幕騼?yōu)選的動作和/或其它確定或推理(其基于用戶數(shù)據(jù)(例如,用戶設(shè)備數(shù)據(jù))和/或解釋性數(shù)據(jù)),可以忽略或不遵循一個或多個推薦動作。
此外,在一些實現(xiàn)方式中,呈現(xiàn)部件220可以選擇修改一個或多個推薦動作,并遵循一個或多個修改的推薦動作。另外或替代地,呈現(xiàn)部件220可以基于偏離而不管推薦動作,來選擇或生成用于向用戶呈現(xiàn)內(nèi)容的一個或多個動作。這些動作和推薦動作可以以彼此類似或不同的方式進(jìn)行確定,并可以考慮類似的信息。
在一些情況中,呈現(xiàn)部件220的實例并入到一個或多個服務(wù)(例如,應(yīng)用、過程、程序、線程等),其可以在用戶設(shè)備上和/或不同于慣例管理環(huán)境210的各種構(gòu)成的任意組合的系統(tǒng)上運行。作為例子,一個或多個服務(wù)可以接收由慣例管理環(huán)境210生成和/或存儲的信息的任何組合,其可以并入到慣例追蹤數(shù)據(jù)238中。
例子包括一個或多個置信度分?jǐn)?shù)、上下文信息、推薦動作、追蹤變量方差分?jǐn)?shù)等。服務(wù)可以在用戶設(shè)備上運行,并可以從服務(wù)器接收這種信息。作為另一例子,服務(wù)可以在與提供這種信息的服務(wù)器不同的系統(tǒng)中的服務(wù)器上運行。作為另一例子,可以從與服務(wù)在同一設(shè)備(例如,用戶設(shè)備)上運行的一個或多個其它服務(wù)接受信息。例如,圖2的一個到所有各種部件可以并入到同一設(shè)備中,這在一些情況下可能有利于安全性、隱私和/或其它原因。
在一些情況下,這些信息中的一個到所有可以例如基于對這些信息的訂閱而被從服務(wù)器推送到服務(wù)中。作為另一選項,可以通過服務(wù)查詢這些信息中的一個到所有。作為例子,信息可以存儲于對應(yīng)于慣例追蹤數(shù)據(jù)238的數(shù)據(jù)庫中的一個或多個條目中。服務(wù)(例如,應(yīng)用)可以查詢該信息以供呈現(xiàn)部件220使用。
因此,可以理解的是,在一些情況下,可以將慣例追蹤器212和/或慣例管理環(huán)境210的其它構(gòu)成提供給應(yīng)用或服務(wù)作為云服務(wù)。就此,用戶設(shè)備上的應(yīng)用可以可選地并入應(yīng)用程序接口(api),用于與云服務(wù)通信并用于提供呈現(xiàn)部件220的至少一些功能。這樣,可以將共同的框架提供給應(yīng)用,用于基于從用戶的慣例的偏離來為用戶定制內(nèi)容。
因此,本公開的實現(xiàn)方式涉及個給慣例外事件定制服務(wù)內(nèi)容?,F(xiàn)在結(jié)合圖1、2和3參考圖4,圖4是示出了用于給慣例外事件定制服務(wù)內(nèi)容的方法400的流程圖。方法400和本文描述的其它方法的每個框包括計算過程,其可以利用硬件、固件和/或軟件的任意組合執(zhí)行。例如,可以通過執(zhí)行存儲于存儲器內(nèi)的指令的處理器執(zhí)行各種功能。所述方法還可以實現(xiàn)為存儲于計算機(jī)存儲介質(zhì)上的計算機(jī)可用指令。舉幾個例子來說,所述方法可以由獨立應(yīng)用、服務(wù)或托管服務(wù)(獨立的或與其它托管服務(wù)組合)或到另一產(chǎn)品的插件提供。
在框480處,方法400包括識別用戶的慣例的慣例外事件。例如,假設(shè)jane每個周六鍛煉。在慣例管理環(huán)境210中,慣例232a對應(yīng)于以時間間隔(對于該例子是一周的天)索引的在健身房鍛煉的慣例。假設(shè)慣例232a包括具有事件定義的事件,其包括對應(yīng)于用戶心率的第一事件變量、對應(yīng)于gps坐標(biāo)的第二事件變量、以及對應(yīng)于鍛煉時間的第三事件變量。對于待檢測的事件,作為一個特定例子,允許檢測事件的一組條件可以是用戶心率大于120bpm,而gps坐標(biāo)在已知健身房的100步半徑內(nèi)??梢岳斫獾氖?,可以將許多其它變量和條件并入到事件中,并且條件可以提供多個方式使得用戶動作有資格作為事件。事件條件的另一例子可以采用加速度計讀數(shù)來檢測提高的物理活動。
第一變量可以來自用戶信號,用戶信號來自對應(yīng)于向用戶的蜂窩電話傳送心率讀數(shù)的外圍設(shè)備(例如,用戶戴著的健身帶中的心率監(jiān)視器)的數(shù)據(jù)源,心率讀數(shù)由數(shù)據(jù)收集部件214提供到慣例追蹤器212??梢詮膩碜詫?yīng)于用戶的蜂窩電話的數(shù)據(jù)源(例如,在用戶的蜂窩電話中的gps接收器)的用戶信號提供第二變量。可以根據(jù)對應(yīng)于系統(tǒng)時鐘的數(shù)據(jù)源生成第三事件變量。
在本例子中,鍛煉時間是追蹤變量。每次慣例追蹤器212檢測到事件(即,事件的實例)時,就將時間戳與事件相關(guān)聯(lián)地記錄下來。例如,每次jane鍛煉時,可以檢測到一個或多個事件。作為整體,檢測到的事件的時間戳形成一個或多個模式,其可以由慣例外檢測器218識別和分析。時間戳可以充分地聚集在周四和周六,從而慣例外檢測器218識別jane在周四和周六實踐鍛煉事件。例如,特定天的聚集時間戳可能具有足夠低的方差(例如,方差分?jǐn)?shù)表示的),并具有足夠的頻率,慣例外檢測器218可以識別所述天的模式。
繼續(xù)本例子,慣例外檢測218可以檢測周日事件,其對應(yīng)于jane接收到即將到來的周六的聚會邀請。例如,可以基于來自在jane的蜂窩電話上運行的jane的郵件服務(wù)的用戶數(shù)據(jù),來檢測到該事件。例如,jane可能從
慣例外檢測器218可以基于由jane的檢測到的事件形成的模式而預(yù)測jane將在即將到來的周六正常地進(jìn)行鍛煉。慣例外檢測器218還可以基于預(yù)測jane可能由于參加朋友的聚會而在即將到來的周六偏離一個或多個預(yù)測的鍛煉事件,而進(jìn)一步檢測到慣例外事件。
在框482,方法400包括生成對應(yīng)于識別出慣例外事件的上下文信息。作為一個例子,慣例追蹤器212可以將jane的預(yù)測出的錯過的鍛煉事件分類為用戶特定的。慣例追蹤器212可以基于使得慣例外事件被檢測到的一個或多個檢測到的事件,而將用戶特定類別分配給慣例外事件。例如,可以給婚禮邀請的檢測到的事件分配用戶特定類別(例如,在方法400之前預(yù)先分配的),這可以應(yīng)用于慣例外事件,或者用于生成慣例外事件的上下文信息。
作為另一例子,慣例追蹤器212能夠針對除了jane外的多個其他用戶分析類似的慣例并檢測類似的事件。慣例追蹤器212可以評估為其他用戶識別出的慣例外事件,并且基于其他用戶的檢測到的事件和/或慣例外事件而生成上下文信息。例如,慣例追蹤器212可以整體地分析慣例外事件,并且基于沒有檢測到與聚集的慣例外事件的關(guān)聯(lián)而確定jane的慣例外事件是用戶特定的。如果預(yù)測許多用戶將在周六錯過其鍛煉,則已經(jīng)檢測到關(guān)聯(lián),在該情況下可以基于關(guān)聯(lián)對慣例外事件分配用戶通用類別。利用該方法可以通過用作用于確定慣例外事件是否是用戶特定的啟發(fā)法來減少處理。此外,在許多實現(xiàn)方式中,慣例追蹤器212主動追蹤其他用戶的追蹤類似慣例(即,慣例模型),從而對應(yīng)于檢測到的其他用戶的事件和/或慣例外事件的信息已經(jīng)可用。
可以生成其它的上下文信息,例如由慣例外檢測器218生成的預(yù)測分?jǐn)?shù),其對應(yīng)于慣例外事件將發(fā)生的預(yù)測可能性。上下文信息的另一例子是關(guān)于事件基于預(yù)測的偏離而不基于從事件的實際偏離的指示。其它上下文信息可以包括由慣例外檢測器218生成的對應(yīng)于jane實踐慣例的事件的置信度的置信度分?jǐn)?shù)。可以根據(jù)追蹤變量的一個或多個值而生成其它上下文信息。這些值可以來自慣例的慣例外事件的檢測到的事件。作為另一例子,這些值可以來自用于識別引起慣例外事件的偏離的一個或多個檢測到的事件的追蹤變量。
在框484處,方法400包括基于識別出的慣例外事件和生成的上下文信息向用戶呈現(xiàn)內(nèi)容。繼續(xù)本例子,呈現(xiàn)部件220可以接收慣例外事件的識別,以及生成的上下文信息?;诮邮盏降淖R別和生成的上下文信息,呈現(xiàn)部件220可以選擇并呈現(xiàn)對應(yīng)于圖3中的內(nèi)容卡350的內(nèi)容卡(例如,在圖1中用戶設(shè)備102a中呈現(xiàn)的)。
呈現(xiàn)部件220可以基于表示慣例外事件是預(yù)測的偏離的上下文信息以及表示慣例外事件預(yù)測發(fā)生在周六的上下文信息,而生成動態(tài)內(nèi)容字段354a。因此,動態(tài)內(nèi)容字段354a可以讀作“看起來您可能錯過本周六的鍛煉。這里是您日歷上的一些替代時隙”。注意,可以替代地生成動態(tài)內(nèi)容字段354a,其類似于圖3中示出的,具有表示實際偏離的上下文信息。還基于上下文信息填充動態(tài)內(nèi)容字段354b和354c。例如,生成這些日期可以考慮錯過的鍛煉是針對將到來的周六而預(yù)測的。
作為另一例子,呈現(xiàn)部件220可以額外地或替代地基于識別出慣例外事件和/或上下文信息,抑制向jane呈現(xiàn)不同于上述內(nèi)容卡的另一內(nèi)容卡。例如,呈現(xiàn)部件220通??梢栽谥苋障騤ane呈現(xiàn)其它內(nèi)容卡,以為即將到來的一周安排她的鍛煉。之前可能已經(jīng)利用慣例識別器216識別了她的鍛煉慣例。呈現(xiàn)部件220可以抑制呈現(xiàn)和可能地生成該內(nèi)容卡的內(nèi)容,因為該內(nèi)容卡對于即將到來的一周可能不再與jane相關(guān)。如果jane已經(jīng)例如利用其它內(nèi)容卡安排了周六鍛煉,則呈現(xiàn)部件220可以自動取消鍛煉,或可以基于jane的輸入(例如,基于請求許可取消鍛煉而接收到的輸入)取消鍛煉。
在至少這些方式中,呈現(xiàn)部件220可以給慣例外事件定制提供給jane的內(nèi)容。因此,jane不僅可以在她處于慣例中而且可以在她偏離她的慣例時接收到幫助。
現(xiàn)在結(jié)合圖1和2參考圖5,圖5是示出了用于給慣例外事件定制服務(wù)內(nèi)容的方法500的流程圖。在框580處,方法500包括識別用戶事件的慣例外事件。例如,慣例追蹤器212可以運行為云上的云服務(wù),或可以是用戶設(shè)備上的本地服務(wù)。慣例外檢測器218可以識別慣例232b的至少一個事件234b是慣例外的。
在框582處,方法500包括生成對應(yīng)于識別出慣例外事件的上下文信息。例如,慣例追蹤器212可以為識別出的慣例外事件生成至少一些上下文信息224,如圖2所示。還可以生成或確定對應(yīng)于識別出的慣例外事件的一個或多個推薦動作。例如,慣例追蹤器212可以為識別出的慣例外事件生成至少一些推薦動作226,如圖2所示。作為例子,慣例追蹤器212可以為識別出的慣例外事件從一個或多個推薦動作(例如,在方法500之前預(yù)先定義的推薦動作)進(jìn)行選擇。所述選擇可以基于生成的上下文信息。此外,可以基于上下文信息可選地修改和/或定制所選的推薦動作模板。注意,僅通過示例,將上下文信息224、推薦動作226和慣例追蹤數(shù)據(jù)238示出為在用戶賬戶222內(nèi)。上下文信息224和推薦動作226例如可以是一個或多個用戶特定的或不特定的,并可以關(guān)聯(lián)于用戶或不關(guān)聯(lián)于用戶進(jìn)行存儲。
在框584處,方法500包括向服務(wù)提供關(guān)于識別出的慣例外事件的指示和生成的上下文信息,所述服務(wù)基于識別出的慣例外事件和生成的上下文信息向用戶呈現(xiàn)內(nèi)容。注意,向服務(wù)提供生成的上下文信息無須在每個實現(xiàn)方式中都執(zhí)行。此外,一個或多個推薦動作和/或其它慣例外事件可以可選地提供給服務(wù)。
作為一個例子,云服務(wù)可以向服務(wù)提供上述慣例外數(shù)據(jù),所述服務(wù)可以在包括云服務(wù)的云系統(tǒng)的外部。所述服務(wù)可以是第三方服務(wù),并可以在用戶設(shè)備102a上運行。更具體地,所述服務(wù)可以是應(yīng)用,例如日歷應(yīng)用、地圖應(yīng)用、電子郵件應(yīng)用、或其它類型的應(yīng)用或app。應(yīng)用可以并入用于與云服務(wù)通信的api。這可以包括請求數(shù)據(jù)和/或請求數(shù)據(jù)的一個或多個部分。作為請求的替代,例如,在檢測到慣例外事件時,將至少一些數(shù)據(jù)推送到應(yīng)用中。應(yīng)用可以訂閱接收這些推送消息。api可以進(jìn)一步提供功能,用于解釋接收到的數(shù)據(jù)(例如,推薦動作和上下文信息),并可能用于至少部分地幫助內(nèi)容的呈現(xiàn)。
雖然框584提及單個服務(wù),但是還可以將相同的或不同的慣例外數(shù)據(jù)提供給其它服務(wù)。因此,每個服務(wù)可以基于慣例外事件(例如,相同的慣例外事件)提供內(nèi)容,而無需單獨識別和追蹤用戶行為。在一些情況下,這些服務(wù)中的至少一些可以在與在框584中提及的服務(wù)相同的用戶設(shè)備上。當(dāng)服務(wù)器提供信息時,在一些情況下,僅需要向用戶設(shè)備發(fā)送一次信息以供用戶設(shè)備上的多個服務(wù)使用。
在一些情況下,可以使用相同的云系統(tǒng)和/或云服務(wù)來執(zhí)行方法500,從而向多個服務(wù)提供慣例外數(shù)據(jù),所述多個服務(wù)可以在多個不同用戶設(shè)備上運行。這樣,慣例管理環(huán)境210可以通過集中慣例追蹤功能而節(jié)省大量處理、帶寬、存儲和計算資源。例如,數(shù)據(jù)收集部件214可以累積多個用戶的用戶數(shù)據(jù)和解釋性數(shù)據(jù),從而每個用戶設(shè)備不要求單獨的和冗余的數(shù)據(jù)收集和存儲。此外,每個用戶設(shè)備無需為慣例追蹤目的而存儲和/或取回慣例模型230。另外,可以通過與和用戶緊密連結(jié)的用戶設(shè)備不關(guān)聯(lián)而使得處理和存儲慣例追蹤數(shù)據(jù)更匿名和安全。
現(xiàn)在結(jié)合圖1和圖2參考圖6,圖6是示出了用于給慣例外事件定制服務(wù)內(nèi)容的方法600的流程圖。在框680處,方法600包括接收關(guān)于識別出的慣例外事件的指示和對應(yīng)于慣例外事件的生成的上下文信息。例如,服務(wù)(例如,上述結(jié)合方法500描述的應(yīng)用)可以至少接收關(guān)于識別出的慣例外事件的指示以及可選的其它慣例外數(shù)據(jù),例如生成的上下文信息和一個或多個推薦動作。
在框682處,方法600包括:基于慣例外事件和生成的上下文信息,向用戶呈現(xiàn)內(nèi)容。例如,服務(wù)可以利用接收到的各種慣例外數(shù)據(jù)中的任一個來呈現(xiàn)內(nèi)容??梢岳糜脩粼O(shè)備102a的一個或多個呈現(xiàn)部件向用戶呈現(xiàn)內(nèi)容。當(dāng)接收到一個或多個推薦動作時,服務(wù)可以例如默認(rèn)地遵循至少一個推薦動作。例如,服務(wù)可以實現(xiàn)與推薦動作相關(guān)聯(lián)的一個或多個規(guī)則。除了或替代一個或多個推薦動作,服務(wù)可以可選地確定一個或多個要執(zhí)行的其它動作。作為例子,服務(wù)可以決定不執(zhí)行推薦動作,并可以基于決定執(zhí)行一個或多個其它動作。
在描述了本公開的實現(xiàn)方式后,在下文描述可以實現(xiàn)本發(fā)明的實施例的示例性操作環(huán)境,以便提供本公開的各方面的一般上下文。特別地,開始參考圖7,用于實現(xiàn)本發(fā)明的實施例的示例性操作環(huán)境示出為并一般指定為計算設(shè)備700。計算設(shè)備700僅僅是適當(dāng)?shù)挠嬎悱h(huán)境的一個例子,并不旨在暗示對本發(fā)明的用途或功能的范圍的任何限制。計算設(shè)備700也不應(yīng)該被解釋為具有與圖示的部件的任意一個或組合有關(guān)的任何依賴或要求。
可以以計算機(jī)代碼或機(jī)器可用指令的一般上下文描述本發(fā)明,包括由計算機(jī)或其它機(jī)器(例如,個人數(shù)據(jù)助理或其它手持設(shè)備)執(zhí)行的計算機(jī)可執(zhí)行指令(例如,程序模塊)。一般而言,包括例程、程序、對象、部件、數(shù)據(jù)結(jié)構(gòu)等的程序模塊指的是執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的代碼。本發(fā)明可以用多個系統(tǒng)配置來實施,包括手持設(shè)備、消費電子產(chǎn)品、通用計算機(jī)、更專業(yè)的計算設(shè)備等。本發(fā)明還可以在分布式計算環(huán)境中實施,其中通過經(jīng)由通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)。
參考圖7,計算設(shè)備700包括總線710,其直接或間接耦合下列設(shè)備:存儲器712、一個或多個處理器714、一個或多個呈現(xiàn)部件716、輸入/輸出(i/o)端口718、輸入/輸出部件720、以及圖示的電源722??偩€710表示可以是一個或多個總線(例如,地址總線、數(shù)據(jù)總線或其組合)。雖然為了清晰用線條示出圖7的各個框,但是實際上,描繪各個部件并不是如此清楚,從喻義上來說,線條將更精確地是灰色和模糊的。例如,人們可以將呈現(xiàn)部件(例如,顯示設(shè)備)看作是i/o部件。另外,處理器具有存儲器。發(fā)明人認(rèn)識到這是本領(lǐng)域的本質(zhì),并重申圖7的圖僅說明可以結(jié)合本發(fā)明的一個或多個實施例使用的示例性計算設(shè)備。沒有在諸如“工作站”、“服務(wù)器”、“膝上型計算機(jī)”、“手持設(shè)備”等的這些類別之間進(jìn)行區(qū)分,因為在圖7的范圍內(nèi)這些都能被想到并都是指“計算設(shè)備”。
計算設(shè)備700通常包括多個計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以是計算設(shè)備700可訪問的任意可用的介質(zhì),并包括易失性和非易失性介質(zhì)、可移除和不可移除介質(zhì)。通過例子而非限制,計算機(jī)可讀介質(zhì)可以包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲介質(zhì)包括易失性和非易失性、可移除和不可移除介質(zhì),其實現(xiàn)于存儲信息(例如,計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù))的任何方法或技術(shù)中。計算機(jī)存儲介質(zhì)包括但不限于ram、rom、eeprom、閃存或其它存儲器技術(shù)、cd-rom、數(shù)字通用盤(dvd)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或者能夠用于存儲期望信息并能夠由計算設(shè)備700訪問的任何其它介質(zhì)。計算機(jī)存儲介質(zhì)不包括信號本身。通信介質(zhì)通常具體體現(xiàn)計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或在已調(diào)數(shù)據(jù)信號中(例如,載波或其它傳輸機(jī)構(gòu))的其它數(shù)據(jù)并包括任何信息輸送介質(zhì)。術(shù)語“已調(diào)數(shù)據(jù)信號”是指這樣的信號:其特性中的一個或多個以將信息編碼在該信號中的方式被設(shè)置或改變。通過例子而非限制,通信介質(zhì)包括:有線介質(zhì),例如有線網(wǎng)絡(luò)或直連線連接;以及無線介質(zhì),例如聲、rf、紅外以及其它無線介質(zhì)。上述任意組合也應(yīng)該包含于計算機(jī)可讀介質(zhì)的范圍內(nèi)。
存儲器712包括易失性和/或非易失性存儲器形式的計算機(jī)存儲介質(zhì)。存儲器可以是可移除的、不可移除的或其組合。示例性硬件設(shè)備包括固態(tài)存儲器、硬驅(qū)動、光盤驅(qū)動等。計算設(shè)備700包括一個或多個處理器,其從各種實體(例如,存儲器712或i/o部件720)處讀取數(shù)據(jù)。呈現(xiàn)部件716向用戶或其它設(shè)備呈現(xiàn)數(shù)據(jù)表示。示例性呈現(xiàn)部件包括顯示設(shè)備、揚聲器、打印部件、振動部件等。
i/o端口718允許計算設(shè)備700邏輯地耦合到其它設(shè)備(包括i/o部件720),其中的一些可以是內(nèi)置的。說明性的部件包括麥克風(fēng)、操縱桿、游戲墊、衛(wèi)星盤、掃描儀、打印機(jī)、無線設(shè)備等。i/o部件720可以提供自然用戶接口(nui),其處理空中手勢、語音或用戶生成的其它生理輸入。在一些實例中,輸入可以被傳輸?shù)竭m當(dāng)?shù)木W(wǎng)絡(luò)元件以供進(jìn)一步處理。nui可以實現(xiàn)以下的任意組合:語音識別、觸摸和鐵筆識別、面部識別、生物識別、在屏幕上和鄰近屏幕的手勢識別、空中手勢、頭部和眼部追蹤、以及與在計算設(shè)備700上的顯示器相關(guān)聯(lián)的觸摸識別。計算設(shè)備700可以裝備有深度攝像機(jī),例如立體攝像機(jī)系統(tǒng)、紅外攝像機(jī)系統(tǒng)、rgb攝像機(jī)系統(tǒng)和這些的組合,用于手勢檢測和識別。另外,計算設(shè)備700可以裝備有支持檢測運動的加速度計或陀螺儀??梢詫⒓铀俣扔嫽蛲勇輧x的輸出提供給計算設(shè)備700的顯示器,以呈現(xiàn)浸入式增強(qiáng)現(xiàn)實或虛擬現(xiàn)實。
如可以理解的,本公開的實現(xiàn)方式提供給慣例外事件定制內(nèi)容。已經(jīng)結(jié)合特定實施例描述了本發(fā)明,其旨在所有方面是說明性而非限制性的。替代實施例對本發(fā)明所述領(lǐng)域的普通技術(shù)人員而言是顯而易見的,而不背離其范圍。
根據(jù)以上,可以看出,本發(fā)明非常適應(yīng)于實現(xiàn)上述目標(biāo)和目的,以及具有所述系統(tǒng)和方法顯然的且固有的其它優(yōu)點??梢岳斫獾氖牵囟ㄌ卣骱妥咏M合具有實用性,并可以在不參考其它特征和子組合的情況下采用。這在權(quán)利要求的范圍內(nèi)被構(gòu)思出且落入所述范圍內(nèi)。