推斷的上下文的日程表匹配和標簽傳播的制作方法
【專利摘要】本發(fā)明描述用于推斷的上下文的日程表匹配的方法、系統(tǒng)、計算機可讀媒體和設備。在一個潛在實施例中,移動裝置可以使用上下文信息產生推斷的上下文的日程表??梢允褂脕碜栽既諝v數據的標簽信息更新推斷的上下文的日程表內的推斷的上下文。另外,可以將所述標簽傳播到推斷的上下文日程表中的將來的上下文和條目。
【專利說明】推斷的上下文的日程表匹配和標簽傳播
【背景技術】
[0001]本發(fā)明的方面涉及電子上下文確定。具體來說,使用可用于供上下文引擎進行分析的傳感器或應用程序數據確定電子裝置的上下文的裝置、系統(tǒng)和方法。
[0002]今天的社會節(jié)奏飛快,人們可能要參與無數次活動,拜訪幾十個地方,以及與幾十到幾百人互動,所有這些都在同一天里發(fā)生。準確地估計人的情境或上下文可以允許選擇性地呈現或實施服務或功能性。
[0003]許多移動裝置現在包含一些應用程序,這些應用程序收集關于裝置正在其中操作和/或預期在將來某個時間將在其中操作的環(huán)境的數據。此些應用程序可以讓移動裝置能夠基于所述信息對操作特性做出反應或者加以改變。在通信行業(yè)中,此些上下文意識能力正在變得越來越流行。然而,大量潛在的上下文使得難以可靠地并且精確地估計上下文。
[0004]因此,逐漸需要用于在通信裝置中實施上下文意識的新的并且有用的技術和結構。
【發(fā)明內容】
[0005]本文中描述的各種實施例涉及用于使用可用于由上下文引擎分析的傳感器或應用程序數據來確定電子裝置的上下文的裝置、系統(tǒng)和方法。舉例來說,一個實施例包括一種方法,其包含:存取與移動裝置相關聯的上下文信息;使用所述上下文信息針對第一時間周期識別所述移動裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息;存取與所述移動裝置的用戶和所述第一時間周期相關聯的第一原始日程表數據;從所述第一原始日程表數據中識別來自所述第一原始日程表數據中的一或多個標簽的第一標簽;通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配;基于所述使所述第一標簽和所述第一推斷的上下文匹配,使所述上下文信息和所述第一標簽相關聯;以及基于所述使所述上下文信息和所述第一標簽相關聯,并且基于所述第一標簽和所述第一推斷的上下文的所述匹配,更新所述移動裝置。
[0006]此方法的額外實施例可進一步起作用,其中,所述一或多個標簽包括與所述第一原始日程表數據中包含的地點識別符相關聯的地點標記信息,或者所述一或多個標簽包括與所述第一原始日程表數據中包含的人識別符相關聯的人標記信息。此方法的另外其它額外實施例可起作用,其中,基于所述使所述第一標簽和所述第一推斷的上下文匹配更新所述移動裝置包括:基于所述使所述第一標簽和所述第一推斷的上下文匹配針對比所述第一時間周期晚的第二時間周期改變第二推斷的上下文。此方法的額外實施例可進一步起作用,其中,從移動裝置傳感器、用戶接口輸入和網絡通信推導出所述上下文信息。
[0007]此方法的額外實施例可進一步起作用,其中,基于所述使所述第一標簽和所述第一推斷的上下文匹配更新所述移動裝置包括:使用所述上下文信息將所述第一推斷的上下文與跟不同于所述第一時間周期的第二時間周期相關聯的第二推斷的上下文匹配;以及將所述第一標簽傳播到所述第二推斷的上下文。
[0008]此方法的額外實施例可進一步起作用,其中,將所述第一標簽傳播到所述第二推斷的上下文包括更改與所述第二推斷的上下文相關聯的第二標簽以匹配所述第一標簽。
[0009]此方法的額外實施例可進一步起作用,其中,所述上下文信息包括來自硬件傳感器的傳感器信息的上下文流,并且其中基于所述使所述第一標簽和所述第一推斷的上下文匹配更新所述移動裝置包括使標記信息與所述傳感器信息相關聯。
[0010]此方法的額外實施例可進一步包含存取與所述移動裝置的所述用戶和所述第一時間周期相關聯的第二原始日程表數據;從所述第二原始日程表數據中識別來自所述第二原始日程表數據中的一或多個標簽的第二標簽;在基于所述使所述第一標簽和所述第一推斷的上下文匹配使所述上下文信息與所述第一標簽相關聯之前確定所述第二標簽與所述第一推斷的上下文不一致。
[0011]替代實施例可以是一種裝置,其包括傳感器,其存取與所述裝置相關聯的上下文信息;存儲器,其存儲包含包括至少第一標簽的第一原始日程表數據的原始日程表數據;
[0012]處理器,其從所述傳感器接收所述上下文信息,使用所述上下文信息針對第一時間周期識別所述裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息,進一步接收所述第一原始日程表數據,并且從所述第一原始日程表數據中的一或多個標簽中識別所述第一標簽,通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配,基于所述使所述第一標簽和所述第一推斷的上下文匹配而使所述上下文信息和所述第一標簽相關聯,并且基于所述使所述上下文信息和所述第一標簽相關聯而更新所述裝置。
[0013]此裝置的替代實施例可額外包含顯示模塊,其耦合到所述處理器,其中作為基于所述使所述上下文信息和所述第一標簽相關聯對所述裝置的所述更新的一部分,調整從所述處理器對所述顯示模塊的輸出。
[0014]此裝置的替代實施例可起作用,其中,所述傳感器包括位置模塊,所述位置模塊包括接收位置信號的全球定位系統(tǒng)接收器,并且其中所述上下文信息識別所述裝置的位置。此裝置的替代實施例可以起作用,其中,所述傳感器包括藍牙模塊,并且其中所述上下文信息識別所述裝置附近的其它藍牙模塊,或者其中,所述傳感器包括由所述處理器執(zhí)行的日程表應用程序,其中所述上下文信息包括所述第一原始日程表數據。
[0015]此裝置的替代實施例可進一步包含用戶輸入模塊,其從用戶處接收規(guī)則和約束,其中對向所述顯示模塊的所述輸出的所述調整是基于所述規(guī)則和約束。
[0016]另一替代實施例可包含一種裝置,其包括:用于接收與所述裝置相關聯的上下文信息的裝置;用于接收包含與所述裝置相關聯的第一原始日程表數據的原始日程表數據的裝置;處理器,其接收所述上下文信息,并且使用所述上下文信息針對第一時間周期識別所述裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息,進一步接收所述第一原始日程表數據,并且從所述第一原始日程表數據中的一或多個標簽中識別第一標簽,通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配,并且基于所述使所述第一標簽和所述第一推斷的上下文匹配而使所述上下文信息與所述第一標簽相關聯;以及用于基于所述使所述上下文信息與所述第一標簽相關聯而更新所述裝置的裝置。
[0017]又一替代實施例可以是一種非暫時性計算機可讀存儲器,其包括計算機可讀指令,所述計算機可讀指令當被處理器執(zhí)行時,使得包含所述處理器的裝置執(zhí)行上下文推斷方法,所述上下文推斷方法包括:存取與移動裝置相關聯的上下文信息;使用所述上下文信息針對第一時間周期識別所述移動裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息;存取與所述移動裝置的用戶和所述第一時間周期相關聯的第一原始日程表數據;從所述第一原始日程表數據中識別來自所述第一原始日程表數據中的一或多個標簽的第一標簽;通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配;基于所述使所述第一標簽和所述第一推斷的上下文匹配,使所述上下文信息和所述第一標簽相關聯;以及基于所述使所述上下文信息和所述第一標簽相關聯,并且基于所述使第一標簽和所述第一推斷的上下文匹配,更新所述移動裝置。
[0018]在非暫時性計算機可讀存儲器的此實施例的替代實例中,通過執(zhí)行所述計算機可讀指令而執(zhí)行的所述方法可以進一步包括:存取與所述移動裝置的所述用戶和所述第一時間周期相關聯的第二原始日程表數據;從所述第二原始日程表數據中識別來自所述第二原始日程表數據中的一或多個標簽的第二標簽;以及在基于所述使所述第一標簽和所述第一推斷的上下文匹配使所述上下文信息與所述第一標簽相關聯之前確定所述第二標簽與所述第一推斷的上下文不一致。
[0019]另一替代實施例可以是一種裝置,其包括:用于存取與所述裝置相關聯的上下文信息的裝置;用于使用所述上下文信息針對第一時間周期識別所述裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息的裝置;用于存取與所述裝置的用戶和所述第一時間周期相關聯的第一原始日程表數據的裝置;用于從所述第一原始日程表數據中識別來自所述第一原始日程表數據中的一或多個標簽的第一標簽的裝置;用于通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配的裝置;用于基于所述第一標簽和所述第一推斷的上下文的所述匹配,使所述上下文信息和所述第一標簽相關聯的裝置;以及用于基于所述使所述上下文信息和所述第一標簽相關聯,并且基于所述使所述第一標簽和所述第一推斷的上下文匹配,更新所述裝置的裝置。
[0020]此裝置的替代實施例可以進一步起作用,其中,所述上下文信息包括至少部分地由網絡輔助位置服務接收到的位置簽名信息。
[0021]此裝置的替代實施例可以進一步包含用于基于所述使所述上下文信息和所述第一標簽相關聯,并且基于所述使所述第一標簽和所述第一推斷的上下文匹配,更新由所述裝置呈現的用戶接口的裝置。
[0022]雖然本文中通過描述特定實例而提供上下文。但是將了解,對本文中特定提供的實例的其它替代實例將是可能的,同時仍然在本文中呈現的創(chuàng)新的范圍內,并且可以在元件的功能和布置中進行各種改變,而不背離各種實施例的精神和范圍。
【專利附圖】
【附圖說明】
[0023]借助于實例圖解說明本發(fā)明的方面。在附圖中,相似的參考標號指示類似的元件,并且:
[0024]圖1A圖解說明用于一個潛在實施例中的上下文引擎的系統(tǒng)圖;
[0025]圖1B圖解說明根據一個潛在實施例的用于在裝置中控制應用程序的系統(tǒng);
[0026]圖2圖解說明用于與根據各種實施例的上下文系統(tǒng)一起使用的移動裝置;
[0027]圖3圖解說明用于匹配和傳播用于推斷的情境的標簽的方法;
[0028]圖4描述根據一個潛在實施例的確定推斷的上下文的方法;
[0029]圖5描述根據一個潛在實施例的確定推斷的上下文的方法;以及
[0030]圖6圖解說明其中可以根據各種實施例實施一或多個方面的計算系統(tǒng)的實例。
【具體實施方式】
[0031]現在將參照附圖描述幾個說明性實施例,所述附圖形成本發(fā)明的一部分。雖然下文描述了其中可以實施本發(fā)明的一或多個方面的特定實施例,但是可以使用其它實施例,并且可以進行各種修改,而不背離本發(fā)明的范圍或所附權利要求書的精神。
[0032]實施例是針對將原始日程表數據與推斷的上下文匹配,以及將用這種方式匹配的信息傳播到將來的推斷的上下文,以便改進上下文推斷系統(tǒng)的功能性。使用與其它上下文信息匹配的日程表信息的系統(tǒng)、方法和裝置可以改進可靠地并且準確地估計上下文的能力,并且可以使得能夠為未知的位置或上下文加上標簽,這樣可以實現將來用于所述位置的改進的上下文。此些系統(tǒng)、方法和裝置還可以通過針對特定時間段的預期的推斷的上下文的改進的預測而使得在裝置上操作的使用推斷的上下文起作用的應用程序的功能得到改進。舉例來說,假設日程表事件指示與鮑勃的會議安排在會議室A從Ipm到2pm。如果現在是1:15PM,則可以使當前位置簽名(使用定位技術從可以使用基于WiFi簽名的技術的GPS衛(wèi)星信號或網絡輔助的位置系統(tǒng)檢測的)與位置標簽會議室A相關聯,并且可以使附近藍牙簽名與鮑勃相關聯??梢詫斍拔恢煤灻退{牙簽名視為上下文信息。如果另一方面,裝置的速度上下文是60mph,則可以基于60mph的上下文信息假設未在參加會議。如果推斷的上下文是正在參加會議,則可以使位置標簽與位置簽名和藍牙簽名兩者相關聯,并且可以在將來的上下文分析中再用位置標簽。舉例來說,可以將位置標簽傳播到具有類似識別符的將來的記入日程表的會議,并且如果在安排了會議的將來的時間期間看到與鮑勃相關聯的藍牙簽名,則裝置進行的會議推斷可以發(fā)生得更快。使用多個上下文信息流因此可以在裝置處提供更順利的上下文呈現,并且可以進一步改進推斷的上下文的創(chuàng)建和預測的準確度和速度。
[0033]如本文中所使用,“上下文信息”是指在計算系統(tǒng)處接收到的用于推斷上下文的數據。此信息可以是來自直接地測量環(huán)境的物理方面(例如光、聲音或裝置移動)的硬件收發(fā)器。此信息可以被視為是來自“硬”傳感器,例如全球定位系統(tǒng)(GPS)、麥克風、無線天線、加速計、磁力計、陀螺儀、藍牙系統(tǒng)、WIFI系統(tǒng)、環(huán)境光監(jiān)視器、接近監(jiān)視器、相機、壓力傳感器、溫度傳感器或任何其它此些類似的硬件傳感器。上下文信息可以另外是應用程序在裝置內存儲的摘要信息。日程表、聯系人或識別與用戶或用戶裝置互動的其它各方或裝置的簡檔可以是此些摘要信息的實例。此上下文信息可以被視為是來自“軟”或“軟件”傳感器,例如日程表、電子郵件、SMS記錄、通話記錄、應用程序使用情況或其它此些用作向上下文系統(tǒng)輸入數據的傳感器的裝置應用程序。
[0034]如本文中所使用,使用“上下文”來描述裝置在其中操作的情境。上下文的實例包含:繁忙、空閑、會議、乘車、乘飛機、在家、在辦公室、在健身房、用餐或任何其它這樣的環(huán)境概念。裝置然后可以使用環(huán)境上下文選擇設置。舉例來說,如果上下文是“在乘飛機”,則裝置可以設置成自動回復電話消息,指示用戶現在無法接聽。如果上下文是“會議”,則振鈴器可以自動靜音。
[0035]在一個實例中,裝置可以存取指示移動裝置的上下文的信息,和與移動裝置的用戶相關聯的日程安排信息??梢曰谥甘疽苿友b置的上下文的信息和日程安排信息更新一或多個標簽。舉例來說,指示上下文的信息可以指示用戶正在開會,并且日程表條目可以指示用戶安排在具有房間標簽的特定房間參加會議。響應于這些指示,可以使指示移動裝置的位置簽名的信息與從日程表信息獲得的房間標簽相關聯。對于WiFi定位的實例,可以使用于一或多個WiFi接入點的識別符和/或信號強度或與WiFi接入點有關的其它信息與地點標簽相關聯。對于一些定位技術,可以使緯度、經度和/或海拔(或例如街道住址和任選的樓層指示等類似信息)與地點標簽相關聯。
[0036]在另一實例中,上下文信息可以指示用戶正在開會,并且地點標簽信息可能已經可供所述會議室使用(舉例來說,通過事先使用上文描述的技術)。然而,可能有一或多個發(fā)言人是系統(tǒng)無法識別的。日程表信息可以存取用于會議參加者的標簽信息,并且使參加者中的一或多個與音頻信息相關聯??梢源鎯@個信息以供將來使用。
[0037]類似地,如本文中所使用,“推斷的上下文”是指由裝置進行的用于確定裝置當前正在哪種上下文下操作的由計算機實施的決定。推斷的上下文描述可以根據傳感器數據進行的任何推斷(高水平或低水平)。可能的上下文的列表可能對于特定上下文系統(tǒng)或上下文引擎是應用程序特有的??梢詮膯蝹€傳感器(單模數據)或從多個傳感器(多模數據)推斷上下文。一些樣本列表是:企業(yè)情境推斷(開會、獨自工作、午餐、健身、通勤、聽課);運動類型(車輛運動、步行運動、靜止);運動狀態(tài)分類(步行、跑步、坐著、站著、晃動、休息、駕駛);講話檢測(在講話,不在講話);室內/戶外檢測(室內、戶外);會議檢測(在開會,不在開會);位置檢測(在某一 GPS坐標的500英尺內,在通過基于WIFI的簽名識別的位置內);或任何其它此上下文。在某些實施例中,預期的推斷的上下文可以是與將來的時間相關聯的推斷的上下文。當與所述時間相關聯的額外上下文信息變得可以獲得時,可以更新預期的推斷的上下文。最后,在實際時間期間,可以使用預期的推斷的上下文和在預期了預期的推斷的上下文的時間期間接收到的任何額外上下文信息兩者來采集實時或最近的上下文信息以識別裝置的當前上下文。
[0038]在某些實施例中,可以將預期的或將來的推斷的上下文匯集成推斷的日程表。如本文中描述的,“推斷的日程表”是指上下文信息可用于創(chuàng)建用于各種時間段的預期的推斷的上下文的時間段的日程表。所述推斷的日程表還可以存儲來自確定和使用了推斷的上下文的過去的時間段的歷史推斷的上下文?!巴茢嗟娜粘瘫硇畔ⅰ笔侵竿茢嗟娜粘瘫碇姓埱蟮娜魏涡畔?,并且可包含過去、現在和將來的推斷的上下文、用于創(chuàng)建這些推斷的上下文的上下文信息的列表和與上下文信息和/或推斷的上下文相關聯的標簽。
[0039]相比之下,“原始日程表數據”是指存儲在裝置的日程表應用程序或功能中的信息。此信息可以由用戶、可以存取用戶的日程表的第三方或者存取日程表應用程序的應用程序來輸入。此原始日程表數據可包含對與特定時間相關聯的事件的描述。這些描述可包含識別用于與特定時間相關聯的人、地點和/或活動的信息。
[0040]“標簽”是指與特定時間相關聯的識別信息,如上所述??梢杂枚喾N方式創(chuàng)建標簽并且使標簽與特定時間相關聯。在一個潛在實施例中,文本剖析器可以剖析原始日程表數據的一部分的描述來識別關鍵項目??梢詫⒛切╉椖孔R別為標簽,或者可以通過分析使那些項目與標簽相關聯,所述分析例如是對同義詞、反義詞或原始日程表數據與標簽之間的先前識別的關系的語言學分析。在一個特定實例中,可以識別某個電話號碼連同撥打所述電話號碼時的所在位置的歷史。如果基于足夠大的樣本大小,在100%的時間,所述號碼是從用戶的辦公室撥打的,則可以使標簽“辦公室”與來自原始日程表數據的電話號碼相關聯。在先前實例中,可以從原始日程表數據中提取位置標簽,作為對事件的描述的一部分。
[0041]如本文中所使用,術語“計算機”、“個人計算機”和“計算裝置”是指已知的或者將來將研發(fā)的任何可編程的計算機系統(tǒng)。在某些實施例中,計算機將耦合到例如本文中描述的網絡。計算機系統(tǒng)可以用處理器可執(zhí)行軟件指令來配置以執(zhí)行本文中描述的過程。此些計算裝置可以是移動裝置,例如電話、數據助理、平板計算機或其它此移動裝置。替代地,在服務器計算機、臺式計算系統(tǒng)或與非移動組件集成的系統(tǒng)的情況下,此些計算裝置可以是不移動的。圖6提供計算機的額外細節(jié),如下所述。
[0042]如本文中所使用,術語“組件”、“模塊”和“系統(tǒng)”意在指代與計算機有關的實體,其是硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件。舉例來說,組件可以是但不限于是在處理器上運行的過程、處理器、對象、可執(zhí)行文件、執(zhí)行線程、程序和/或計算機。作為說明,在服務器上運行的應用程序和服務器兩者都可以是組件。一或多個組件可以駐留在過程和/或執(zhí)行線程內,并且組件可以局部化于一臺計算機上和/或分布在兩臺或更多臺計算機之間。
[0043]圖1A描述可以起作用以創(chuàng)建推斷的和/或匯集的上下文決定的上下文引擎100的一種潛在實施方案。上下文引擎100包含用戶輸入模塊110、知識模塊120、學習模塊130、上下文信息模塊140、概率性推斷模塊150、文本處理模塊160、推理模塊170和決定模塊 180。
[0044]用戶輸入模塊110可以用作任何用于接收對于上下文系統(tǒng)的用戶設置的輸入系統(tǒng)。在某些實施例中,用戶輸入模塊110可包含用戶對于上下文服務的注冊,包含經由網絡服務器輸入用戶注冊信息或其它此些注冊服務。用戶輸入模塊110還可以用于接收用戶上下文選擇和設置以供存儲在知識模塊120中。舉例來說,用戶可以識別用戶想要通過上下文引擎100自動地推斷的特定上下文。用戶可以另外識別用于每一所識別的上下文的設置,例如聲音設置、應用程序設置和用戶接口設置,這些設置在不同上下文之間可以變化。用戶還可以特別識別不被推斷的上下文,并且還可以識別用于在上下文引擎100不能充分地推斷上下文時要使用的默認上下文和用于默認上下文的裝置設置。
[0045]知識模塊120可包含模型、規(guī)則和上下文歷史的記錄以改進上下文決定。如圖1A中展示,知識模塊可包含規(guī)則和約束122、語義模型124和推斷的日程表126。規(guī)則和約束可以是裝置對于裝置控件設置的規(guī)則和限制,其在確定匯集的上下文決定時可供上下文系統(tǒng)使用。規(guī)則和約束122還可以包含用戶設置。語義模型124可包含當使用文本來推斷上下文時用于上下文信息的定制的或客制的規(guī)則。舉例來說,在某些實施例中,日程表中的“咖啡”可以解釋為等效于“會議”或特定類型的會議。在學習模塊130基于上下文信息識別、更新和改進上下文決定并且在推斷的日程表126中存儲學習到的信息時,還可以在語義模型124中包含隨時間識別的與特定上下文相關聯的的特定語言用法。推斷的日程表126因此可以存儲推斷的上下文的歷史;用于創(chuàng)建歷史的、當前的和預期的推斷的上下文的上下文信息、模型和推斷過程的細節(jié);從用戶使用或輸入接收到的與推斷的上下文的質量或準確度有關的反饋;以及與推斷的上下文有關的任何其它信息。然后可以使用此信息在將來創(chuàng)建用于用戶的推斷。
[0046]學習模塊130還可以識別推斷的上下文的錯誤或錯誤指派,以便改進上下文引擎100將來的操作??梢皂憫谟脩舴答伓R別此些錯誤,或者可以通過以意外的方式變化的上下文來識別此些錯誤,或者通過不符合當前推斷的上下文的用戶裝置使用來識別。此學習可以另外是由用戶設置的選項,以允許學習模塊130基于推斷上下文時學習到的成功來自動地更新規(guī)則和約束122。
[0047]上下文信息模塊140可以用于從傳感器采集上下文信息,并且將所述信息傳送到各種分析模塊以用于推斷上下文。概率性推斷模塊150、文本處理模塊160和推理模塊170可以各自包括用于從上下文信息推斷上下文的不同的方法。概率性推斷模塊150可包含分析可以從上下文數據推導出的期望,并且文本處理模塊可以剖析作為上下文信息接收到的文本信息,以識別與識別出的文本一致的上下文??梢詫⑺羞@個信息(包含多個上下文信息流和各種推斷或中間上下文推斷)傳送到推理模塊170,推理模塊170可以使用預定義的規(guī)則以及學習到的規(guī)則和上下文知識或歷史來分析各種形式的上下文信息。決定模塊180然后可以從所有的接收到的上下文信息和分析中識別一或多個最終推斷的上下文或匯集的上下文決定。在某些實施例中,舉例來說,某些上下文可以是相關的,并且是相容的,從而同時選擇多個上下文和其相關聯的規(guī)則,如相對于圖1B進一步論述。
[0048]在某些實施例中,來自決定模塊180的這個決定可以是存在過多的不確定性,并且可能識別不出推斷的上下文。在一個實例實施例中,推理模塊170可以識別出多個潛在上下文,并且向每一潛在上下文指派一個得分。如果最高得分低于規(guī)則和約束122設置的閾值,那么決定模塊180可以設置默認上下文,因為未識別出匯集的上下文。
[0049]圖1B進一步圖解說明可以配合圖1A中所描述的上下文引擎100操作的上下文系統(tǒng)。圖1B包含上下文引擎100、潛在推斷的上下文196和應用程序198。在一個潛在實施例中,這些可以全都存在于單個移動裝置上。在替代實施例中,可以在網絡連接到移動裝置的裝置上實施不同的上下文引擎模塊或者由上下文引擎推斷的上下文,并且可以經由網絡與移動裝置通信。當上下文引擎100從所有的潛在推斷的上下文196中識別出最終推斷的上下文或匯集的上下文時,系統(tǒng)可以起作用以向選定的應用程序198調用或提供特定設置。
[0050]舉例來說,在某些實施例中,如果識別出“繁忙”作為推斷的上下文,則即時消息接發(fā)可以調用某些設置。如果推斷的上下文是“重要會議”,那么可以調用某些呼叫規(guī)則,并且還可以調用與“繁忙”上下文相關聯的規(guī)則,因為所述上下文是相關聯的。類似地,如果識別出“慢跑”作為推斷的上下文,則可以激活移動裝置上的里程追蹤器應用程序,并且還可以自動地調用運動機構應用程序。類似地,依據從上下文引擎100輸出的識別出的推斷的上下文,可以為應用程序198設置用于特定應用程序或整個裝置的隱私設置。因此,上下文系統(tǒng)可以操作以響應于上下文引擎100從潛在推斷的上下文196中識別出一或多個推斷的上下文而經由應用程序198提供功能性。
[0051]圖2是圖解說明可以配合本文中描述的實施例使用的移動裝置的一個潛在實施例的框圖。此些移動裝置可包含硬件、軟件或固件以單獨地或者配合額外的網絡連接的計算裝置而實施全部或一部分上下文推斷系統(tǒng)。此上下文系統(tǒng)可以是移動裝置200,其可以是任何移動裝置,例如智能手機、蜂窩電話、個人數字助理、平板計算機、個人媒體播放器以及任何其它類型的提供類似或組合功能性的便攜式電子裝置。此移動裝置200可以實施圖1中展示的上下文引擎100或應用程序198的任何方面。
[0052]應明白,裝置200還可以包含觸覺按鈕、電力裝置(例如,電池),以及其它通常與便攜式電子裝置相關聯的組件。因此,不應將圖2理解為限制性的,因為一些組件被省略了。
[0053]在圖2所示的實施例中,裝置200包含經配置以執(zhí)行指令用于在多個組件處執(zhí)行操作,并且可以是舉例來說通用處理器或適合于在便攜式電子裝置內實施的微處理器。處理器210與移動裝置200內的多個組件通信地耦合。為了實現這個通信耦合,處理器210可以跨總線240與其它圖解說明的組件通信??偩€240可能是任何適于在移動裝置200內傳遞數據的子系統(tǒng)??偩€240可能是多個計算機總線,并且包含用以傳遞數據的額外電路。
[0054]存儲器220可以耦合到處理器210。在一些實施例中,存儲器220提供短期和長期兩種存儲,并且實際上可以分成幾個單元。存儲器220可以是易失性的,例如靜態(tài)隨機存取存儲器(SRAM)和/或動態(tài)隨機存取存儲器(DRAM),和/或可以是非易失性的,例如只讀存儲器(ROM)、快閃存儲器等等。此外,存儲器220可包含可裝卸式存儲裝置,例如安全數字(SD)卡。因此,存儲器220為移動裝置200提供對計算機可讀指令、數據結構、程序模塊和其它數據的存儲。在一些實施例中,存儲器220可以分布到不同的硬件模塊中。
[0055]在一些實施例中,存儲器220存儲多個應用程序模塊221A-221M。應用程序模塊221A-22IM含有將由處理器210執(zhí)行的特定指令。存儲器220可以存儲任何數目的應用程序模塊。應用程序模塊221A-221M中的相應一個可以是(舉例來說)日程表應用程序、地圖位置應用程序、電力管理應用程序、智能警報應用程序、社交媒體應用程序(例如,Twitter?或Facebook?)、加速計應用程序、天氣應用程序、溫度呈現應用程序或任何具有將由處理器210執(zhí)行的指令的應用程序類模塊。在某些實施例中,由移動裝置操作的傳感器可以具有相關聯的應用程序,以便可以由應用程序存取來自移動裝置200所操作的傳感器的上下文信息,而不是直接從傳感器或傳感器固件存取上下文信息。
[0056]在一個潛在實施例中,上下文推斷系統(tǒng)可以作為特殊的上下文模塊221N操作。此模塊可以實施各種實施例中所描述的與確定移動裝置200的上下文相關聯的任何操作、確定或計算。舉例來說,上下文模塊221N可以從傳感器和其它應用程序采集上下文信息、從各組上下文信息確定推斷的上下文、產生推斷的上下文日程表和控制對移動裝置200的基于上下文的變化,例如基于推斷的上下文來改變接口設置。
[0057]在一些實施例中,存儲器220包含操作系統(tǒng)223。操作系統(tǒng)223可以是可操作的以起始執(zhí)行由應用程序模塊221A-221N提供的指令和/或管理硬件模塊201-502。操作系統(tǒng)223可以適于跨裝置200的組件執(zhí)行其它操作,包含線程化、資源管理、數據存儲控制和其它類似功能性。
[0058]在一些實施例中,移動裝置200包含一或多個無線模塊212。無線模塊212可包含W1-Fi收發(fā)器、用于與蜂窩電話塔通信的收發(fā)器或任何其它用于實施無線通信的此模塊。可以使用此些無線模塊212作為移動裝置200和應用程序201-202的一部分,以便與可以輔助上下文確定的服務器通信。舉例來說,在某些實施例中,上下文模塊221N可以經由無線模塊212向可以輔助確定推斷的上下文的輔助服務器傳送上下文信息。然后,可以經由無線模塊212將所分析的數據或上下文相關聯的信息傳回到移動裝置200,以便在移動裝置200處設置推斷的上下文。
[0059]另外,在一些實施例中,移動裝置200包含多個硬件模塊201-202。硬件模塊201-202中的每一個是裝置200內的物理模塊。然而,雖然是將硬件模塊201-202中的每一個永久地配置成一個結構,但是硬件模塊201-202中的相應一個可以暫時地經配置以執(zhí)行特定功能或者被暫時地激活。常見的實例是應用程序模塊,其可以對相機模塊(即,硬件模塊)進行編程,以進行快門釋放和圖像捕獲。硬件模塊201-202中的相應一個可以是(舉例來說)加速計、衛(wèi)星導航系統(tǒng)接收器(例如,GPS模塊)、壓力模塊、溫度模塊、音頻輸出和/或輸入模塊(例如,麥克風)、相機模塊、接近傳感器、切換線路服務(ALS)模塊、電容性觸摸傳感器、近場通信(NFC)模塊、藍牙收發(fā)器、蜂窩收發(fā)器、磁力計、陀螺儀、慣性傳感器(例如,組合加速計與陀螺儀的模塊)、環(huán)境光傳感器、相對濕度傳感器或任何其它類似可操作以提供感覺輸出和/或接收感覺輸入的模塊。在一些實施例中,可以在固件或軟件中作為各種模塊來實施硬件模塊201-202的一或多個功能。
[0060]除了硬件模塊201-202和應用程序模塊221A-221M之外,移動裝置200還可以具有顯示模塊203和用戶輸入模塊204。顯示模塊203用圖形的方式將來自裝置200的信息呈現給用戶。這個信息可以從一或多個應用程序模塊221A-221M、一或多個硬件模塊201-202、其組合或者任何其它用于為用戶解析圖形內容(例如,通過操作系統(tǒng)224)的合適的裝置推導出來。顯示模塊203可以是液晶顯示器(LCD)技術、發(fā)光聚合體顯示器(LPD)技術或其它某種顯示技術。在一些實施例中,顯示模塊203是電容性或電阻性觸摸屏幕,并且可以是對于用戶的觸感和/或觸覺接觸敏感的。在此些實施例中,顯示模塊203可包括多點觸摸敏感顯示器。
[0061]移動裝置的額外實施例可以進一步包括計算裝置的各種部分,如下文相對于圖6詳細描述的。
[0062]圖3圖解說明來自日程表310內的原始日程表數據的標簽到推斷的日程表330中的推斷的上下文的匹配和傳播。日程表310是由原始日程表數據312-316組成的。推斷的日程表330是從上下文信息331推導出來的,并且包括推斷的上下文332a、332b、334、336、338和339。上下文信息可以是(舉例來說)識別與裝置相關聯的物理坐標或其它位置信息的位置簽名信息,或者是本文中描述的任何其它此上下文信息。日程表310和推斷的日程表330兩者都識別時間周期302。時間周期可以與特定的原始日程表數據或推斷的上下文相關聯。可以通過特定年、月、天、小時、分鐘和秒的跨度或者這些時間中的任一個的若干部分來識別此些時間周期,或者可以使用任何時間參考或時間代碼通過開始和停止時間來識別此些時間周期。
[0063]然后可以在特定原始日程表數據與推斷的上下文之間進行匹配340。在圖3中,展示了原始日程表數據312與推斷的上下文332a之間、原始日程表數據313與推斷的上下文338之間、原始日程表數據315與推斷的上下文332b之間以及原始日程表數據316與推斷的上下文339之間的匹配。在各種實施例中,與原始日程表數據相關聯的僅一些部分的時間可以與匹配的推斷的上下文重疊。
[0064]舉例來說,原始日程表數據312 (其可包括或包含與位置標簽334b相關的信息)和推斷的上下文332a(其可以舉例來說與從上下文信息331推導出來的第一位置簽名相關聯)可以匹配,因為它們是在足夠接近的時間段內發(fā)生的。這個匹配可以基于確切的時間段匹配、基于對于匹配來說可接受的識別出的時間窗或基于任何其它可以用于使原始日程表數據312與推斷的上下文332a相關聯的此匹配而發(fā)生。這個然后實現位置標簽334b與從用于識別推斷的上下文332a的上下文信息331推導出來的位置簽名之間的關聯。
[0065]對于3與4PM之間展示的日程表310中重疊的事件,有兩個安排的事件。這些展示為原始日程表數據314和原始日程表數據315。原始日程表數據315可以(舉例來說)包含與原始日程表數據312相同的標簽信息。當到了 3PM時,所述裝置可以識別出裝置處在第一位置,第一位置是上文針對推斷的上下文332a識別出的相同位置。由于系統(tǒng)先前使傳播的標簽352與來自上下文信息331的第一位置相關聯,所以當裝置識別出其在3PM處在第一位置時,裝置可以將傳播的標簽352設置成傳播的標簽358,并且可以進一步基于從原始日程表數據312和原始日程表數據315中的標簽信息之間的標簽匹配識別出的與原始日程表數據315的匹配,進一步推斷所述裝置在3PM處在與1PM相同的上下文。如果來自原始日程表數據314的標簽信息不匹配位置簽名和從推斷的上下文332a傳播的標簽,則可以進一步使用標簽信息核實推斷的上下文332b不與原始日程表數據314相關聯。因此,使用傳播的位置標簽352基于位置簽名匹配和標簽傳播來改進原始日程表數據315與用于3-4PM時間段的正確的推斷的上下文更恰當地相關聯的置信度。
[0066]在額外的類似實施例中,實例原始日程表數據315可以創(chuàng)建預期推斷的上下文332b,其一直持續(xù)到特定的會議結束時間為止,但是實時或最近上下文信息指示推斷的上下文的變化可以使推斷的上下文332b在比預期更早的時間改變成新的上下文。指示用戶在會議按照安排結束的時間之前離開房間的位置簽名信息可以創(chuàng)建此情境。類似地,如上所述并且如推斷的上下文338與推斷的上下文332b之間所展示,可能未針對某些時間周期識別出推斷的上下文。
[0067]進而,日程表310可包含沖突的原始日程表數據,例如當會議被安排在重疊的時間周期,如圖用原始日程表數據314和315所示。在此些情況下,可以使用其它上下文信息來識別與原始日程表信息314或315相關聯的最可能的推斷的上下文,假設這些推斷的上下文與尚未合并的分開的不同的會議相關聯??梢允褂闷渌舷挛男畔碜R別一組原始日程表數據與上下文信息(例如位置和會議參加者)一致,而其它組原始日程表數據與其它上下文信息不一致。然后可以匯集所有這個信息以在推斷的日程表330中創(chuàng)建或更新推斷的上下文。
[0068]圖3進一步描述可以響應于日程表匹配和原始日程表數據內識別出的標簽與用于推導推斷的上下文的上下文信息之間的關聯而發(fā)生的裝置更新。舉例來說,在裝置內,可以更新在推斷的上下文內關聯的信息以添加標簽。舉例來說,可以在原始日程表數據316內識別出傳播的標簽,并且使其與推斷的上下文339和與推斷的上下文339相關聯的任何上下文信息相關聯。類似地,可以在原始日程表數據312內識別出傳播的標簽352,并且使用傳播的標簽352來更新裝置,可以向推斷的上下文332a添加傳播的標簽358作為傳播的標簽352的副本。這可以引起額外傳播,其中可以使用傳播的標簽352與跟推斷的上下文332a相關聯的上下文信息之間的新關聯來向推斷的上下文332b指派標簽,推斷的上下文332b可以是與推斷的上下文332a相同或類似的上下文。此外,可以將某些標簽視為估計的標簽。舉例來說,原始日程表數據313可以不包含任何標簽,但是可以包含可以用于概率性地推斷標簽的信息。也可以使用過去的歷史或上下文引擎內的特定分析系統(tǒng)來確定此標簽。舉例來說,可以使用歷史數據來創(chuàng)建估計的標簽,并且可以設置預定規(guī)則以使某些類型的信息與標簽匹配,并且統(tǒng)計學習可以產生、改進和應用標簽。下文可以進一步描述根據各種實施例的裝置更新的額外實施例和實例。
[0069]圖4描述用于推斷的上下文的日程表匹配和標簽傳播的一種潛在的方法。在S410中,可以存取與移動裝置相關聯的上下文信息。在最簡單的情況下,這可以簡單地就是識別將來事件的原始日程表信息。替代地,如上所述,這可以是任何其它此信息,例如顯示可以用于預測將來位置的反復樣式的位置數據,例如具有相關聯的訂餐應用程序的在工作日6AM到6:30AM之間有規(guī)律地接近和訪問的咖啡店。這還可以與工作位置內每周訪問的特定房間相關聯。在S412中,然后可以使用這個信息來識別推斷的上下文。舉例來說,即使沒有上文描述的與咖啡店相關聯的原始日程表信息,也可以使用這個位置信息為周一至周五在6AM至6:30AM的時間周期中創(chuàng)建預期的推斷的上下文。對于所述房間也是類似地,可以識別出推斷的會議。以后,在相關聯的時間周期期間,與咖啡店相關聯的額外位置信息和/或支付應用程序的使用可以驗證或增加推斷的上下文的置信度。
[0070]在S420中,在與S412的上下文信息和時間周期相關聯的相同時間周期期間為用戶存取原始日程表數據。在每周去往工作位置內的特定房間的實例中,如果在發(fā)生每周去往所述房間的時間期間輸入了具有原始日程表信息的單個日程表條目,則可以存取這個原始日程表信息。在S422中,然后分析原始日程表信息以識別至少一個標簽。舉例來說,“房間A”可以是此原始日程表數據中的標簽。然后,在S430中,可以匹配第一標簽和推斷的上下文。舉例來說,這個操作可以這樣發(fā)生:通過驗證在發(fā)生先前去往特定房間的每周的時間周期期間用戶返回到相同位置。然后在發(fā)生了對一致性的驗證之后,可以在S432中使先前推斷的上下文與上下文信息相關聯。繼續(xù)位置實例,可以將位置標記為“房間A”。然后,在S434中,基于上下文信息與標簽之間的所創(chuàng)建的關聯來更新移動裝置。在所述實例中,這可以等于識別對所述位置的訪問的歷史記錄,以及針對每次訪問用標簽“房間A”來更新歷史數據庫。這還可以涉及基于每周對所述位置的訪問將繼續(xù)的足夠置信度更新對于具有標簽“房間A”的每周時間的預期推斷的上下文,即使未識別出原始日程表數據指示這個時也是如此。以后,如果每周會議結束,則預期的推斷的上下文可以結束,但是特定位置信息與標簽“房間A”的關聯可以一直繼續(xù)到接收到沖突的信息為止,或者由于缺乏使用而認為所述信息是無關的為止。
[0071]圖5描述了根據各種實施例的方面的額外替代方案。在S510中,裝置用戶可以激活用戶移動裝置上的上下文引擎以起始上下文敏感操作且與移動裝置介接。用戶可以向網站申請預訂上下文服務作為此激活的一部分,或者可以下載應用程序作為此激活的一部分。用戶可以進一步選擇用戶設置、默認值、隱私設置和其它類似設置以用于上下文引擎的操作。用戶還可以提供對上下文引擎或應用程序的任何必需授權,以起始從移動裝置上的硬傳感器和軟傳感器采集上下文信息,并且使得上下文引擎能夠存取這個上下文信息。
[0072]在S512中,上下文引擎可以從一個或多個上下文信息源接收上下文信息。如上所述,可能有任何種類的硬傳感器或應用程序或者軟傳感器或應用程序,其提供與移動裝置在其中操作的上下文有關的信息。這可以進一步包含本機地存儲在移動裝置上或者遠程地存儲在服務器計算機中的數據庫信息。在S514中,可以使用這個信息來創(chuàng)建新的推斷的日程表,或者更新現有的推斷的日程表。
[0073]在S516中,可以接收到與用戶或移動裝置和特定時間周期相關聯的新的或更新的原始日程表信息。這可包含用于日程表的產生沖突標簽的重疊條目。在S518中,可以從S516的原始日程表信息識別出一或多個標簽。在S520中,針對在所述時間周期期間識別出的任何標簽,確定是否每一標簽與其它上下文信息一致。這可以包含等候實際時間周期來驗證一致性,或者可以使用預測性上下文信息進行,在實際時間周期期間可以進一步驗證預測性上下文信息。在S522中,對于被識別為與推斷的上下文一致的標簽,標簽與用于創(chuàng)建推斷的上下文的適當的上下文信息相關聯。可以丟棄與其它上下文信息沖突的標簽,或者可以保留某些標簽與推斷的上下文不一致的記錄以便將來用于預測上下文和創(chuàng)建用于預測上下文的模型。如果可以獲得的上下文信息是有限的,并且所有信息都是沖突的,則可以確定可能未識別出推斷的上下文。然后,系統(tǒng)可以存儲所有或一些上下文信息,并且等待額外上下文信息以實現創(chuàng)建推斷的上下文的足夠置信度。
[0074]在S524中,然后可以將與推斷的上下文一致的標簽和彼此相關聯的其它上下文信息傳播到具有足夠類似的上下文信息的其它類似上下文??梢栽谏舷挛囊鎯葓?zhí)行額外分析,以確定其它推斷的上下文是否足夠地類似以保證傳播標簽,并且如果針對標簽被傳播到的推斷的上下文出現沖突的上下文信息,則以后可以改變或移除傳播的標簽。最后,在S526中,在已經對系統(tǒng)和系統(tǒng)中的任何裝置進行了更新之后,可以基于當前推斷的上下文與一組移動裝置設置之間的關聯,使用作為裝置更新的一部分識別出的任何改變或轉變將裝置轉變成新的一組特征或裝置設置。作為這個操作的一部分,可以作為基于對裝置和系統(tǒng)的更新的額外分析的一部分,進行上下文歷史數據庫或對過去推斷的上下文的任何額外更新。
[0075]因此,使用多個上下文信息流,可以在某個程度上推斷用戶的情境。通過利用調度服務(例如,電子日程表)中存在的數據,可以使用戶的情境與各種調度的事件(當可以獲得時)匹配。為了進行這個操作,可以使用各種類型的信息來了解日程表匹配。在日程表上存在沖突事件的情況下,可以組合信息數據源以推斷匹配。進而,可以使用日程表作為學習各種訪問的地點的標簽和/或其它標簽的源。
[0076]在替代實施例中,使用多種類型的上下文信息來推斷用戶的上下文或情境,舉例來說,對于用戶正在開會的指示可包含:檢測到存在發(fā)言,檢測到或推斷出對某個地點的訪問,以及檢測到或推斷出位于同一位置的參加者。配合對會議的推斷,可以使用某些準則使所述推斷與跟調度服務(例如,在電子日程表上)相關聯的特定條目匹配。舉例來說,上下文引擎可以估計用戶正在開會或者可能正在開會,然后存取日程表信息以便使所述確定與一或多個日程表條目匹配。
[0077]日程表信息可包含與調度服務的日程表條目相關聯的信息。日程表信息可包含事件標簽(例如,“會議”)、位置標簽(例如,“會議室A”)、共同參加者(例如,“約翰和比爾”或者“其他四位參加者”)和/或時間數據(例如,“3pm-4pm”或“開始時間:3pm”或“開始時間:3pm;持續(xù)時間:1小時”)??梢允褂美缛粘瘫硇畔⑹谷粘瘫項l目與其它上下文信息匹配。舉例來說,可以在確定下面的內容后檢測到與日程表條目#1的匹配:用戶在條目的位置處,用戶與條目中注明的特定共同參加者在一起,用戶與條目中注明為共同參加者的多個人在一起,和/或當前時間在條目中注明的時間窗內。
[0078]在一個潛在實施例中,使日程表條目與其它上下文信息匹配,方法是通過估計當前地點標簽,并且將所述地點標簽與一或多個日程表條目的位置標簽比較。可以首先使用任何可用的信息來估計地點標簽。所述地點標簽可以用統(tǒng)計方式學習、從背景知識或興趣點的數據庫獲得,或者經由常識類型規(guī)則推斷。舉例來說,可以通過觀察到集體占據樣式是會議室或者是用戶的家而學習地點類型。可以用一些用戶簡檔信息來學習地點名稱(例如,識別“家”或“工作”的位置)。作為另一實例,可以通過觀察對一個地點的訪問樣式而推斷所述地點是用戶的辦公室。使用這些地點標簽,可以使訪問與日程表的位置標簽匹配,以推斷用戶正在參加特定事件(例如,在開會)。
[0079]進而,可能有其它使日程表事件與推斷匹配的方式。舉例來說,如果用戶對(未知標簽的)一個地點的訪問大概在時間上與日程表上的事件的持續(xù)時間匹配,則基于時間的匹配提示事件的最可能的匹配。作為另一實例,通過經由藍牙或其它接近檢測技術觀察附近存在其他用戶的裝置,可以推斷用戶是否在參加特定會議(通過使觀察到的裝置/用戶與會議的受邀者匹配)。
[0080]在一些實施例中,日程表-條目匹配取決于多種技術。舉例來說,可以首先確定哪個當前信息是可以獲得的(例如,當前地點標簽是否可以獲得),以及有哪個日程表-條目信息是可以獲得的(例如,特定事件是否標示了共同參加者)??梢詫⒁恍┗蛩锌梢垣@得的當前信息與用于一或多個條目的一些或所有可以獲得的日程表信息比較??梢越o一些類型的信息(例如,時間數據)的匹配比其它類型的信息(例如,共同參加者信息)的匹配的加權高很多??梢詾橐换蚨鄠€條目中的每一個計算一個匹配得分。可以將與最高匹配得分或高于閾值的匹配得分相關聯的日程表事件識別為匹配。
[0081]一旦確定了日程表匹配,如果地點標簽不是已經知道的,則可以從日程表獲得標簽,并且將標簽傳播到對應于訪問的地點的模型。一旦學習到這個信息,然后就可以使用這個信息隨后推斷日程表事件和情境。這個類型的推斷可以用離線或在線模式在客戶端或服務器上發(fā)生。
[0082]圖6圖解說明其中可以實施一或多個實施例的計算系統(tǒng)的實例。圖6中圖解說明的計算機系統(tǒng)可以被并入作為例如圖2的移動裝置等先前描述的計算機化的裝置的一部分或圖1A和IB描述的上下文引擎或上下文推斷系統(tǒng)的元件中的任一個。根據各種實施例的系統(tǒng)的任何組件可包含圖6所描述的計算機系統(tǒng),包含各種移動裝置或網絡連接的裝置和服務器。圖6提供對計算機系統(tǒng)600的一個實施例的示意性圖解說明,其可以執(zhí)行本文中描述的各種其它實施例提供的方法,和/或可以用作正為其確定上下文的移動裝置,或者作為可以處理與移動裝置相關聯的上下文信息以確定移動裝置的上下文的網絡連接的計算系統(tǒng)。圖6僅意在提供對各種組件的一般性說明,在適當情況下可以利用所述組件中的任何或所有。因此,圖6寬泛地圖解說明可以如何用相對分開的或者相對更加整合的方式來實施各個系統(tǒng)元件。
[0083]計算機系統(tǒng)600展示為包括可以經由總線605電氣耦合(或者在適當的情況下可以用其它方式通信)的硬件元件。硬件元件可包含一或多個處理器610,包含但不限于一或多個通用處理器和/或一或多個專用處理器(例如數字信號處理芯片、圖形加速處理器和/或類似裝置),一或多個輸入裝置615,其可包含但不限于鼠標、鍵盤和/或類似裝置,以及一或多個輸出裝置620,其可包含但不限于顯示裝置、打印機和/或類似裝置。
[0084]計算機系統(tǒng)600可以進一步包含一或多個非暫時性存儲裝置625 (和/或與之通信),所述非暫時性存儲裝置625可包括但不限于本機和/或網絡可接入存儲設備,且/或可包含但不限于磁盤驅動器、驅動器陣列、光學存儲裝置、固態(tài)存儲裝置,例如隨機存取存儲器(“RAM”)和/或只讀存儲器(“ROM”),其可以是可編程的、快閃可更新的和/或類似裝置。此些存儲裝置可經配置以實施任何適當的數據存儲設備,包含但不限于各種文件系統(tǒng)、數據庫結構和/或類似的數據存儲設備。
[0085]計算機系統(tǒng)600還可包含通信子系統(tǒng)630,其可包含但不限于調制解調器、網卡(無線的或有線的)、紅外通信裝置、無線通信裝置和/或芯片組(例如,Bluetooth?裝置、802.11裝置、W1-Fi裝置、WiMax裝置、蜂窩通信設施等)和/或類似的通信接口。通信子系統(tǒng)630可以準許與網絡(例如下文描述的網絡,這只是一個實例)、其它計算機系統(tǒng)和/或本文中描述的任何其它裝置交換數據。在許多實施例中,計算機系統(tǒng)600將進一步包括非暫時性工作存儲器635,其可包含RAM或ROM裝置,如上所述。
[0086]計算機系統(tǒng)600還可以包括軟件元件,展示為當前位于工作存儲器635內,包含操作系統(tǒng)640、裝置驅動器、可執(zhí)行文件庫和/或其它代碼,例如一或多個應用程序645,其可包括各種實施例提供的計算機程序,和/或可以經設計以實施其它實施例提供的方法和/或配置其它實施例提供的系統(tǒng),如本文中所述。僅僅借助于實例,可以將相對于上述方法所描述的一或多個程序實施為計算機(和/或計算機內的處理器)可執(zhí)行的代碼和/或指令;在一個方面中,然后,可以使用此代碼和/或指令來配置和/或適配通用計算機(或其它裝置)以執(zhí)行根據所描述的方法的一或多個操作。
[0087]一組這些指令和/或代碼可以存儲在計算機可讀存儲媒體(例如上文描述的存儲裝置625)上。在一些情況下,存儲媒體可以并入在計算機系統(tǒng)(例如計算機系統(tǒng)600)內。在其它實施例中,存儲媒體可以與計算機系統(tǒng)(例如,可裝卸媒體,例如壓縮光盤)分開,和/或在安裝封裝中提供,使得存儲媒體可以用于用存儲在其上的指令/代碼來編程、配置和/或適配通用計算機。這些指令可以采用可執(zhí)行代碼的形式,所述可執(zhí)行代碼可以由計算機系統(tǒng)600執(zhí)行,和/或可以采用源和/或可安裝代碼的形式,其在編譯和/或安裝在計算機系統(tǒng)600上(例如,使用多種總體上可用的編譯器、安裝程序、壓縮/解壓工具等中的任一個)后,然后即刻采用可執(zhí)行代碼的形式。
[0088]可以根據特定的要求進行實質性改變。舉例來說,還可以使用定制的硬件,和/或可以在硬件、軟件(包含便攜式軟件,例如小應用程序等)或這兩者中實施特定元件。而且,提供某些功能性的硬件和/或軟件組件可包括專用系統(tǒng)(具有專門化的組件),或者可以是更加通用的系統(tǒng)的一部分。舉例來說,經配置以提供本文中描述的與上下文信息模塊140對活動的選擇有關的一些或所有特征的活動選擇子系統(tǒng)可包括專門化的硬件和/或軟件(例如,專用集成電路(ASIC)、軟件方法等)或者通用硬件和/或軟件(例如,處理器610、應用程序645等)。進而,可以采用與其它計算裝置(例如網絡輸入/輸出裝置)的連接。
[0089]一些實施例可以采用計算機系統(tǒng)(例如計算機系統(tǒng)600)來執(zhí)行根據本發(fā)明的方法。舉例來說,計算機系統(tǒng)600可以響應于處理器610執(zhí)行工作存儲器635中含有的一或多個指令的一或多個序列(其可以并入到操作系統(tǒng)640和/或例如應用程序645等其它代碼中)而執(zhí)行所描述的方法的一些或所有程序??梢詫⒋诵┲噶顝牧硪挥嬎銠C可讀媒體(例如存儲裝置625中的一或多個)讀取到工作存儲器635中。僅僅借助于實例,執(zhí)行工作存儲器635中含有的指令的序列可能使得處理器610執(zhí)行本文中描述的方法的一或多個程序。
[0090]本文中使用的術語“機器可讀媒體”和“計算機可讀媒體”是指參與提供使得機器以特定方式操作的數據的任何媒體。在使用計算機系統(tǒng)600實施的實施例中,各種計算機可讀媒體都可能參與向處理器610提供指令/代碼,和/或可能用于存儲和/或攜帶此些指令/代碼(例如,作為信號)。在許多實施方案中,計算機可讀媒體是物理的和/或有形的存儲媒體。此媒體可以采用許多種形式,包含但不限于非易失性媒體、易失性媒體和傳輸媒體。非易失性媒體包含(舉例來說)光盤和/或磁盤,例如存儲裝置625。易失性媒體包含但不限于動態(tài)存儲器,例如工作存儲器635。傳輸媒體包含但不限于同軸電纜、銅線和光纖(包含包括總線605的金屬線),以及通信子系統(tǒng)630的各種組件(和/或通信子系統(tǒng)630用以提供與其它裝置的通信的媒體)。因此,傳輸媒體還可以采用波的形式(包含但不限于無線電波、聲波和/或光波,例如在無線電波和紅外數據通信期間產生的無線電波、聲波和/或光波)。另一方面,非暫時性存儲媒體可以不采用此些形式,并且在各種實施例中,可以使用非暫時性存儲媒體實施任何參與提供使得機器以特定方式操作的數據的存儲媒體。
[0091]物理和/或有形計算機可讀媒體的常見形式包含(舉例來說)軟盤、柔性磁盤、硬盤、磁帶或任何其它磁性媒體、CD-ROM、任何其它光學媒體、孔卡、紙帶、任何其它帶有孔的圖案的物理媒體、RAM、PR0M、EPR0M、快閃EPR0M、任何其它存儲器芯片或卡盒、下文中所描述的載波,或任何其它計算機可以從其讀取指令和/或代碼的媒體。
[0092]各種形式的計算機可讀媒體都可以參與將一或多個指令的一或多個序列攜帶到處理器610以供執(zhí)行。僅僅借助于實例,起初可以在遠程計算機的磁盤和/或光盤上攜帶指令。遠程計算機可以將指令加載到其動態(tài)存儲器中,并且將指令作為信號在傳輸媒體上發(fā)送,以供計算機系統(tǒng)600接收和/或執(zhí)行。根據各種實施例,這些信號(其可能采用電磁信號、聲音信號、光學信號和/或類似信號的形式)都是可以在上面編碼指令的載波的實例。
[0093]通信子系統(tǒng)630 (和/或其組件)總體上將接收信號,并且總線605然后可以將信號(和/或信號攜帶的數據、指令等)攜帶到工作存儲器635,處理器605從工作存儲器635檢索和執(zhí)行指令。工作存儲器635接收到的指令可以任選地在處理器610執(zhí)行之前或之后存儲在非暫時性存儲裝置625上。
[0094]上述的方法、系統(tǒng)和裝置是實例。在適當的情況下,各種實施例可以省略、替換或增加各種程序或組件。舉例來說,在替代配置中,可以用不同于所描述的次序的次序來執(zhí)行所描述的方法,且/或可以添加、省略和/或組合各種階段。而且,相對于某些實施例所描述的特征可以在各種其它實施例中組合。實施例的不同的方面和元件可以用類似方式組合。而且,技術演進,并且因此許多元件是不會將本發(fā)明的范圍限于那些特定實例的實例。
[0095]描述中提供了特定細節(jié)以提供對實施例的透徹理解。然而,可以在沒有這些特定細節(jié)的情況下實踐實施例。舉例來說,已經在沒有不必要的細節(jié)的情況下展示了眾所周知的電路、過程、算法、結構和技術,以便避免使實施例混淆。這個描述只提供了實例實施例,并且不意在限制各種實施例的范圍、適用性或配置。實際上,對實施例的前述描述將給所屬領域的技術人員提供用于使得能夠實施實施例的描述??梢詫υ墓δ芎筒贾眠M行各種改變,但并未背離各種實施例的精神和范圍。
[0096]而且,作為在具有過程箭頭的流中描繪的過程描述了一些實施例。雖然每一實施例可以將操作描述為循序的過程,但是可以并行或同時地執(zhí)行許多所述操作。此外,可以重新安排操作的次序。過程可以具有圖中未包含的額外步驟。此外,可以通過硬件、軟件、固件、中間件、微代碼、硬件描述語言或其任何組合來實施所述方法的實施例。當在軟件、固件、中間件或微代碼中實施時,可以將用以執(zhí)行相關聯的任務的程序代碼或代碼段存儲在例如存儲媒體等計算機可讀媒體中。處理器可以執(zhí)行相關聯的任務。
[0097]已經描述了幾個實施例,可以使用各種修改、替代構造和等效物,而并不背離本發(fā)明的精神。舉例來說,上述元件可以僅僅是更大系統(tǒng)的組件,其中其它規(guī)則可以優(yōu)先于各種實施例的應用或者以其它方式修改各種實施例的應用。而且,可以在考慮上述元件之前、期間或之后采取多個步驟。因此,上面的描述不限制本發(fā)明的范圍。
【權利要求】
1.一種方法,其包括: 存取與移動裝置相關聯的上下文信息; 使用所述上下文信息針對第一時間周期識別所述移動裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息; 存取與所述移動裝置的用戶和所述第一時間周期相關聯的第一原始日程表數據; 從所述第一原始日程表數據中識別來自所述第一原始日程表數據中的一或多個標簽的第一標簽; 通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配; 基于所述使所述第一標簽和所述第一推斷的上下文匹配,使所述上下文信息和所述第一標簽相關聯;以及 基于所述使所述上下文信息和所述第一標簽相關聯,并且基于所述使所述第一標簽和所述第一推斷的上下文匹配,更新所述移動裝置。
2.根據權利要求1所述的方法,其中所述一或多個標簽包括與所述第一原始日程表數據中包含的地點識別符相關聯的地點標記信息。
3.根據權利要求1所述的方法,其中所述一或多個標簽包括與所述第一原始日程表數據中包含的人識別符相關聯的人標記信息。
4.根據權利要求1所述的方法,其中基于所述使所述第一標簽和所述第一推斷的上下文匹配更新所述移動裝置包括:基于所述使所述第一標簽和所述第一推斷的上下文匹配針對比所述第一時間周期晚的第二時間周期改變第二推斷的上下文。
5.根據權利要求1所述的方法,其中從移動裝置傳感器、用戶接口輸入和網絡通信推導出所述上下文信息。
6.根據權利要求1所述的方法,其中基于所述使所述第一標簽和所述第一推斷的上下文匹配更新所述移動裝置包括: 使用所述上下文信息將所述第一推斷的上下文與跟不同于所述第一時間周期的第二時間周期相關聯的第二推斷的上下文匹配;以及 將所述第一標簽傳播到所述第二推斷的上下文。
7.根據權利要求6所述的方法,其中將所述第一標簽傳播到所述第二推斷的上下文包括更改與所述第二推斷的上下文相關聯的第二標簽以匹配所述第一標簽。
8.根據權利要求1所述的方法,其中所述上下文信息包括來自硬件傳感器的傳感器信息的上下文流,并且其中基于所述使所述第一標簽和所述第一推斷的上下文匹配更新所述移動裝置包括使標記信息與所述傳感器信息相關聯。
9.根據權利要求1所述的方法,其進一步包括: 存取與所述移動裝置的所述用戶和所述第一時間周期相關聯的第二原始日程表數據; 從所述第二原始日程表數據中識別來自所述第二原始日程表數據中的一或多個標簽的第二標簽; 在基于所述使所述第一標簽和所述第一推斷的上下文匹配使所述上下文信息與所述第一標簽相關聯之前確定所述第二標簽與所述第一推斷的上下文不一致。
10.一種裝置,其包括: 傳感器,其存取與所述裝置相關聯的上下文信息; 存儲器,其存儲包含包括至少第一標簽的第一原始日程表數據的原始日程表數據; 處理器,其從所述傳感器接收所述上下文信息,并且使用所述上下文信息針對第一時間周期識別所述裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息,進一步接收所述第一原始日程表數據,并且從所述第一原始日程表數據中的一或多個標簽中識別所述第一標簽,通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配,基于所述使所述第一標簽和所述第一推斷的上下文匹配而使所述上下文信息和所述第一標簽相關聯,并且基于所述使所述上下文信息和所述第一標簽相關聯而更新所述裝置。
11.根據權利要求10所述的裝置,其進一步包括: 顯示模塊,其耦合到所述處理器; 其中作為基于所述使所述上下文信息和所述第一標簽相關聯對所述裝置的所述更新的一部分,調整從所述處理器向所述顯示模塊的輸出。
12.根據權利要求11所述的裝置,其中所述傳感器包括位置模塊,所述位置模塊包括接收位置信號的全球定位系統(tǒng)接收器,并且其中所述上下文信息識別所述裝置的位置。
13.根據權利要求11所述的裝置,其中所述傳感器包括藍牙模塊,并且其中所述上下文信息識別所述裝置附近的其它藍牙模塊。
14.根據權利要求11所述的裝置,其中所述傳感器包括由所述處理器執(zhí)行的日程表應用程序,并且其中所述上下文信息包括所述第一原始日程表數據。
15.根據權利要求11所述的裝置,其進一步包括: 用戶輸入模塊,其從用戶處接收規(guī)則和約束,其中對向所述顯示模塊的所述輸出的所述調整是基于所述規(guī)則和約束。
16.一種裝置,其包括: 用于接收與所述裝置相關聯的上下文信息的裝置; 用于接收包含與所述裝置相關聯的第一原始日程表數據的原始日程表數據的裝置; 處理器,其接收所述上下文信息,并且使用所述上下文信息針對第一時間周期識別所述裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息,進一步接收所述第一原始日程表數據,并且從所述第一原始日程表數據中的一或多個標簽中識別第一標簽,通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配,并且基于所述使所述第一標簽和所述第一推斷的上下文匹配而使所述上下文信息與所述第一標簽相關聯;以及 用于基于所述使所述上下文信息與所述第一標簽相關聯而更新所述裝置的裝置。
17.一種非暫時性計算機可讀存儲器,其包括計算機可讀指令,所述計算機可讀指令當被處理器執(zhí)行時,使得包含所述處理器的裝置執(zhí)行上下文推斷方法,所述上下文推斷方法包括: 存取與移動裝置相關聯的上下文信息; 使用所述上下文信息針對第一時間周期識別所述移動裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息; 存取與所述移動裝置的用戶和所述第一時間周期相關聯的第一原始日程表數據;從所述第一原始日程表數據中識別來自所述第一原始日程表數據中的一或多個標簽的第一標簽; 通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配; 基于所述使所述第一標簽和所述第一推斷的上下文匹配,使所述上下文信息和所述第一標簽相關聯;以及 基于所述使所述上下文信息和所述第一標簽相關聯,并且基于所述使所述第一標簽和所述第一推斷的上下文匹配,更新所述移動裝置。
18.根據權利要求17所述的非暫時性計算機可讀存儲器,其中通過執(zhí)行所述計算機可讀指令而執(zhí)行的所述方法進一步包括: 存取與所述移動裝置的所述用戶和所述第一時間周期相關聯的第二原始日程表數據; 從所述第二原始日程表數據中識別來自所述第二原始日程表數據中的一或多個標簽的第二標簽;以及 在基于所述使所述第一標簽和所述第一推斷的上下文匹配使所述上下文信息與所述第一標簽相關聯之前確定所述第二標簽與所述第一推斷的上下文不一致。
19.一種裝置,其包括: 用于存取與所述裝置相關聯的上下文信息的裝置; 用于使用所述上下文信息針對第一時間周期識別所述裝置的第一推斷的上下文以創(chuàng)建第一推斷的日程表信息的裝置; 用于存取與所述裝置的用戶和所述第一時間周期相關聯的第一原始日程表數據的裝置; 用于從所述第一原始日程表數據中識別來自所述第一原始日程表數據中的一或多個標簽的第一標簽的裝置; 用于通過驗證所述第一標簽與所述第一推斷的上下文一致而使所述第一標簽和所述第一推斷的上下文匹配的裝置; 用于基于所述第一標簽和所述第一推斷的上下文的所述匹配,使所述上下文信息和所述第一標簽相關聯的裝置;以及 用于基于所述使所述上下文信息和所述第一標簽相關聯,并且基于所述使所述第一標簽和所述第一推斷的上下文匹配,更新所述裝置的裝置。
20.根據權利要求19所述的裝置,其中所述上下文信息包括至少部分地由網絡輔助位置服務接收到的位置簽名信息。
21.根據權利要求19所述的裝置,其進一步包括: 用于基于所述使所述上下文信息和所述第一標簽相關聯,并且基于所述使所述第一標簽和所述第一推斷的上下文匹配,更新由所述裝置呈現的用戶接口的裝置。
【文檔編號】H04L29/08GK104272709SQ201380023696
【公開日】2015年1月7日 申請日期:2013年5月7日 優(yōu)先權日:2012年5月7日
【發(fā)明者】丁力, 維迪亞·納拉亞南, 李晉元 申請人:高通股份有限公司