用於檢測行為模式的方法及設備的製作方法
2023-12-03 20:02:31 4
專利名稱:用於檢測行為模式的方法及設備的製作方法
技術領域:
本發明涉及用於行為數據挖掘的軟體及方法。
技術背景
人類是具有習性的動物。因此,許多現代電子設備及其他設備設計成可以由它們 的所有者適應及定製化,以便通過適應來簡化所述設備的使用,從而適應這些習性。例如, 許多行動電話及家庭電話允許一用戶將快速拔號號碼編程到這些電話內,這允許所述用戶 僅需通過按一個按鍵或一個按鈕便可以撥打某些電話號碼,而不需要撥打整個電話號碼。 同樣地,許多計算機編程允許用戶根據他們的個人喜好來定製化一個或多個圖形用戶界 面。例如,在許多編程中(比如在Microsoft Word中),一用戶可以定製化工具欄,以使可 以更容易在所述工具欄上存取這些常用工具或功能,而較少使用的工具或功能則轉移到下 拉菜單或其他不那麼便利的存取通路。
有些現代電子設備甚至試圖自動地預測用戶喜好,並根據這些預測來定製化用戶 經歷。例如,某些現今可用到的數字視頻記錄裝置(DVRs)適合監控由它們的用戶選擇來進 行記錄的編程,以及根據使用該信息的預測性算法來預測該數字視頻記錄裝置(DVR)的用 戶可能感興趣的其他編程。因此,視該特定實施例而定,其可以自動地在該數字視頻記錄裝 置(DVR)上記錄這樣的編程及/或發送一信息到所述數字視頻記錄裝置(DVR),以便就關於 所述用戶可能感興趣的即將來臨的節目廣播,對所述用戶進行通知,並詢問所述用戶其是 否要記錄這些節目。
另一類似經歷的範例可以在不同商業網站找到。明確地說,如果一用戶通過一電 子商務網站購買一特定產品(或甚至僅僅是通過在所述網站上觀看一特定產品來表達對 該產品的興趣),許多網站將搜索它們本身的資料庫來確定該產品與其他產品的相互關係, 並在相同的網頁呈現那些其他產品,供消費者觀看。在本技術的一個特別普遍的實施例中, 一網站可以對其資料庫進行詢問以確定曾經購買正在被當前用戶觀看的產品的先前顧客 曾經經常購買哪些其他產品,然後向當前用戶推薦說他們可能對那些其他產品感興趣。發明內容
本發明公開一種用於預測性地適應設備的特性的系統、設備、技術及方法,作為一 用戶的歷史行為(例如習性)以及表現這些行為的特定語境的一功能。這樣的語境實質上 可以是任何事物,比如一周中的周幾、一日中的時間、季節、潮汐、溫度、天氣、用戶情緒、前 一天的一特定運動競賽的得分情況、月相、用戶位置等等。根據軟體的觀察,觀察用戶的習 性及這些習性發生的語境,以及根據用戶的行為模式及其語境定製化設備。
圖1為一框圖,其顯示一個特定的基於網絡的實施例中的系統的不同組件。
圖2為一圖形表示,其顯示用於所述系統的一些數據實體及它們的相互關係。
圖3為一圖形表示,其顯示與所述系統連同使用的一些其他概念及它們的相互關係。
圖4為一流程圖,其圖解根據一個實施例的客戶端軟體連續採集語境信息的操 作。
圖5為一流程圖,其圖解根據一個實施例的客戶端軟體響應一觸發行為而採集行 為及語境信息的操作。
圖6為一流程圖,其圖解根據一個實施例的伺服器端軟體處理來自客戶端軟體的 行為及語境信息的操作。
圖7為一流程圖,其圖解根據一個實施例的客戶端軟體的與觸發行為無關的採集 語境信息的操作。
圖8為一流程圖,其圖解根據一個實施例的伺服器端軟體處理由客戶端軟體提供 的語境信息的操作。
圖9為一流程圖,其圖解根據一個實施例的伺服器端軟體創建行為模型的操作。
圖10為一流程圖,其圖解根據一個實施例的客戶端軟體為伺服器端軟體產生推 理詢問的操作。
圖11為一流程圖,其圖解根據一個實施例的伺服器端軟體處理來自客戶端軟體 的推理詢問的操作。
具體實施方式
本發明公開用於預測性地適應設備的特性的多種系統、設備、技術及方法,作為一 用戶的歷史行為(例如習性)以及表現這些行為的特定語境的一功能。這樣的語境實質上 可以是任何事物,比如一周中的周幾、一日中的時間、溫度、天氣、用戶情緒、用戶位置、一年 中的時間、前一天的一特定運動競賽的得分情況、潮汐、月相等等。
實質上可以根據本發明討論的原理來適應任何類別的設備。這包括軟體系統、網 絡軟體、機械系統及生物系統。
許多行動電話允許所有者定製化其用戶界面,比如通過編程快速拔號號碼或「熱 鍵」。然而,用戶必須人工地定製化所述界面。此外,就所述界面將保持不變(除非及直到 用戶隨後再次改變它)而言,任何這樣的定製化是長久性的。
在此公開的技術、軟體、系統、方法及設備提供對目前技術發展水平的巨大改進。 明確地說,根據在此公開的技術、軟體、系統、方法及設備,一消費設備(比如一行動電話) 的用戶界面及/或其他運行參數根據對所述設備的歷史使用記錄及這些使用的語境的觀 察自動地定製化。換句話說,根據由在此描述的軟體的觀察,記錄用戶的習性及這些習性在 被觀察時所處的語境,以及根據用戶的行為模式及其語境自動地定製化所述設備。
為了闡明及清晰目的,在對在此描述的原理、設備、技術、方法及系統進行詳細描 述之前,讓我們考慮一個非常具體的涉及它們的應用的範例。明確地說,讓我們考慮一組合 行動電話/個人數字助手(此後簡稱「無線個人數字助手(PDA)」)。許多人在使用他們的 「無線個人數字助手(PDAs)」時有非常特別的模式,其模式視一日中的時間而定。例如,一 例示性的白領男性可能很少在周日的午夜12時與上午6時之間使用其電話(例如由於他 正在睡眠中)。此外,他可能相對較少在上午6時至上午9時之間使用其電話,但當他在這個時間段使用其電話時,一般是為了核對先前夜晚的專業運動競賽的得分情況、查看其日 歷以知曉當天的約會及/或呼叫其妻子的行動電話。另一方面,在上午9時與下午5時之 間,其電話很少使用(例如由於他正在上班),但當其電話在這個時間段使用時,一般是當 作財務計算器來使用(例如由於他是一位會計師)。最後,在下午5時與午夜之間,其電話 頻繁地使用來撥打或接收許多不同人員的電話。
行動電話及無線個人數字助手(PDAs)有一閒置屏幕,即當所述電話從睡眠模式 甦醒時呈現的屏幕。僅僅作為一個範例,在此描述的技術、系統、設備及方法可以根據語境, 為所述無線個人數字助手(PDA)呈現一定製化閒置屏幕。因此,在周日的午夜至上午6時 的時間段,所述行動電話的閒置屏幕可以未從工廠默認設置改變。然而,在周日的上午6時 至9時的時間段,所述閒置屏幕可以重新編程為顯示用戶的日曆(尤其是一單一日的視圖) 佔據屏幕的大部分,但也顯示一用於撥打其妻子的行動電話的快速拔號按鈕以及一提供單 鍵訪問一報導前一天的運動競賽得分情況的體育網站的熱鍵。
接著,在周日的上午9時與下午5時之間,所述閒置屏幕可以編程為顯示一不同 的、反映所述用戶在周日的日間的這些時間段的典型行為的視圖。因此,在周日的上午9時 至下午5時之間,所述閒置屏幕可以編程為顯示所述無線個人數字助手(PDA)的財務計算 器功能。
然後,從下午5時至午夜,所述閒置屏幕可以重新編程為呈現一不同的用戶界面, 作為所觀察的用戶習性的、按所述設備在日間的這些時間段的使用的一功能。在以上的範 例中,這可以是一傳統的電話界面。
如先前所述,以上描述的單獨根據在日間的每個時間段觀察的習性來定製化一移 動電話/無線個人數字助手(PDA)的閒置屏幕的例示實施例只是例示性的。所述技術的意 圖在於使其軟體能夠輕易地插入以及適合與實質上任何其他軟體連同使用而不論平臺或 協議。
在特別適合與網絡化設備連同使用的一個實施例中,所述軟體的一些部分存儲在 個別的網絡化客戶設備,而所述軟體的其他部分則存儲在所述網絡上的一個分別的伺服器 節點,所述伺服器節點可由所述網絡化設備的全部設備存取。這樣的一個實施例最小化所 述網絡化設備中的處理負荷以保持電池壽命,而且也允許所述軟體的基於網絡的部分由所 述網絡上的許多設備使用。因此,例如在上述無線個人數字助手(PDA)的範例中,所述基於 網絡的軟體可以用於協助數以千計的不同網絡用戶的無線個人數字助手(PDAs)的閒置屏 幕的定製化。此外,通過從數以千計的用戶採集數據,可以為每人改進定製化例程。猶有進 者,預想在此描述的系統將經常能夠比用戶親自定製化所述設備更好地定製化所述設備。 明確地說,人們經常未意識到他們本身的設備的全部能力。此外,人們甚至經常不完全意識 到他們本身的習性。
現在將連同一可以用於定製化以述無線個人數字助手(PDA)的閒置屏幕的、基於 網絡的實施例,更詳細地描述相關的系統、技術、設備及方法。
在此討論的裝置可以由一批互操作軟體數據類別、子系統、界面及服務來實施,這 些互操作軟體數據類別、子系統、界面及服務共同採集、分析及披露它們所累積的數據集中 的模式。其可以作為一網絡服務建議用於一網絡,並配置成從多個數據源(設備、操作系 統、軟體應用程式、地理定位場點、網絡服務等等)採集及累積涉及一網絡用戶的(1)「表現行為」及O) 「周圍語境」的數據。換句話說,(1) 一用戶做了什麼事及(2)所述用戶是在 什麼情況下做該事。
所述裝置將實際實施為軟體,該軟體優選(但並非必需)至少部分地在行為需修 改或控制的設備上運行。所述系統是一軟體引擎(此後有時簡稱為「引擎」),該軟體引擎 確定用戶喜好,作為跟蹤用戶行為的及觀察該行為時的語境的一功能,並幫助控制所述設 備,作為所述設備的一功能。所述軟體引擎採集關於一設備的使用以及這些使用的語境的 數據,以創建與特定語境相關的用戶行為的一數學模型。接著可以就行為模式分析該模型, 而該分析的結果可以通過幾個軟體界面詢問。所述軟體引擎中的其他軟體界面可以向另一 軟體編程提供這些詢問的結果,而所述另一軟體編程可以使用這樣的信息來定製化所述設 備,作為這些行為模式的一功能。
所述軟體引擎向一設備或多個設備(例如一行動電話或無線個人數字助手 (PDA))提供關於所述一設備或多個設備的一用戶的預測性行為信息。所述設備中的所述 軟體接著被授權以這些信息來改變其本身,以使所述設備「更有智能」或對所述用戶更為有 用。在一行動電話的情況,該電話的作業系統可以選擇在當月的第三周的星期二、在所述電 話是在從紐約(New York)開往「費城」(Philadelphia)的列車上時自動發動一電話呼叫 (或許只是直到所述用戶必須按「發送」鍵真正發動呼叫之時),以響應⑴所述電話被接 聽的檢測;及(2)被所述軟體引擎通知關於一用戶總是在每月的第三周的星期二其在從紐 約(New York)開往「費城」(Wiiladelphia)的列車上關閉了其膝上型計算機之後呼叫該相 同號碼。這類的設備稱為「預期設備」,這是由於它們預期人類行為。本配置中的所述系統 的應用可以擴展至桌面作業系統、單機軟體應用程式、社會網絡等等。
除了以上所述之外,所述發明軟體可以以一「標準」規則引擎及/或軟體代理界面 增大,而且由於用戶行為的一模式出現而可以在一指定語境內用於發動一系列的「網絡行 動」(如檢索一網頁、支付一帳單、或改變高清晰電視(HDTV)上的頻道)。
對於本文件的其餘部分,我們將把所述軟體引擎以外的但受其影響的任何設備、 作業系統、軟體應用程式、社會網絡等等稱為「宿主系統」。此外,我們將正式地定義
「表現行為」為由一用戶演示的、能夠依據一個或多個行為因素被電子俘獲的一行 為或活動。例如,可以通過將網絡交通的適當部分存儲為一行為因素,以電子手段俘獲一用 戶使用一行動電話來檢查電子郵件的行為。一用戶做這些事的意圖或想法不能被俘獲,至 少不能以目前的技術手段俘獲;以及
「周圍語境」為一用戶可能表現一行為的周圍情況。語境可以包含地理空間、時間、 情緒及其他域,只要所述域本身適合於依據語境因素進行的電子檢測及數據俘獲。
這裡應該說明,本討論的中心假設是,人類是具有習性的動物。他們的行為雖然經 常看來是隨機的,但其實是完成的帶有以多個變量為條件的「規律性」的一系列行動,而這 些行動可以俘獲及分析。該分析的一個方法以使用「機器學習」算法的知識管理(KM)系統 中完成的一些工作為基礎。這個方法可以在這裡使用。因此,在此討論的所述系統、技術、 設備及方法後面的一些數學部分將可以由這些領域的熟練技術人員充分了解。然而,在此 討論的所述系統、技術、設備及方法在預測人類行為的問題的應用方面並非這樣。
像將一用戶的「表現行為」及其「周圍語境」當成關於他們的生活的一本「書籍」的 文本那樣考慮所述系統的組件可能有所助益。像知識管理(KM)系統可以使用「機器學習」技術(或甚至以較新的算法(如Google的I^age Rank))來對「戰爭與和平」的文本進行主 題模式分析一樣,這些「生活文本」也可以被分析。此外,像網站Amazon, com曾經使用對不 同書本進行的文本挖掘分析結果來創建關於這些書籍的可搜索的「標籤雲」那樣,由所述系 統產生的分析結果也可以很好地利用。
本文件的其餘部分描述在此公開的技術的例示性組成部分及它們的互操作。
現在將參考圖1的一個基於網絡的實施例對所述系統進行描述。
I.客戶及伺服器
圖1圖解一網絡100(比如網際網路或一行動電話網絡),所述網絡100支持任何數 目的客戶設備IOla-IOld及伺服器節點10加-102(1。在所述客戶設備之中,有根據本發明配 置的客戶設備,比如客戶設備101d。此外,所述伺服器節點的至少其中之一(例如伺服器 102d)也根據本發明配置,而且包含設計成與所述客戶端軟體協力工作的軟體,以實施本文 件中討論的功能。
一般上,考慮基於網絡的實施例的一種方式是實施為一客戶-伺服器組合,其中 客戶端編碼104嵌入所述用戶的客戶設備101d,而所述伺服器端編碼存在於所述網絡上某 處的一伺服器節點102d ;伺服器節點102d可以由客戶設備IOld以某種方式通過網絡100 存取。所述系統的這個區分純粹是為了方便,這是由於並不存在規定所述伺服器及客戶必 須分開的要求。然而,事實是本配置準許一單一伺服器102d管理多個客戶101,而由於網 絡效應(向所述網絡添加一附加客戶或伺服器有利於該網絡上的所有客戶及伺服器的現 象),這有助於所述用戶獲得更好的整體經驗。更直接地,根據本發明配置的一單一伺服器 將能夠在算法上對來自多個客戶的行為及語境數據起槓桿作用,以便為每個單一客戶進行 更準確的預測。實質上,通過添加一個附加客戶及其合成行為及語境數據,每個客戶將變得 「更有智能」。
客戶端軟體104負責檢測一用戶的表現行為及周圍語境、俘獲它、然後將它傳輸 到伺服器102d。此外,客戶端軟體104是由用戶的宿主系統112使用的代理,用於詢問由服 務器端編碼創建的數學模型,以指示一用戶的可能行為。
與客戶端軟體形成對照,所述伺服器端軟體負責採集所俘獲的行為及語境、將它 們處理成具有數學意義的形式(即一模型)、起動對所述已處理數據的分析、接受來自所述 客戶的詢問以及回答結果。我們現在轉到由所述客戶及伺服器組成的子系統的較徹底的討 論。
A.客戶
客戶端軟體104分解為六個主要組件,即
1.行為收聽器106 ;
2.語境收聽器107 ;
3.控制杆 108 ;
4.行為服務109 ;
5.語境服務110;以及
6.推論服務111。
雖然我們的討論將假設所有這些組件是一單一批的編碼104的部分,而且常駐於 一客戶設備IOld中,它們並不一定是,只要需要可相互存取的所有組件可以這樣存取。15
1.收聽器及控制杆
行為收聽器106、語境收聽器107以及控制杆108組件是用戶的宿主系統112的最 有入侵性的編碼件,因此,它們每個都遭受實施例與實施例間的許多變化的影響。語境收聽 器的詳細討論將在稍後提供,但其他組件應在這裡討論。
a.行為收聽器
行為收聽器106的工作在於檢測用戶的行為以及以一個或多個行為因素來確定 編纂該行為的手段。(行為因素稍後將作為行為服務的討論的部分進行討論)。所述行為 收聽器的活動需在與行為收聽器106接觸的宿主系統112的部分一致的一框架內完成。
在一個實施例中,行為收聽器106可以設計為在大多時候保持閒置或睡眠的一宿 主系統中的一線程。當被所述用戶執行的一活動喚醒時(即一觸發事件)(而且通常這是通 過放置某種單線觸發器在所述宿主的原始碼中),所述行為收聽器線程迅速地獲得涉及所 述活動(即一行為實例)以及所有可用的語境(由語境服務110提供)的適當行為信息, 然後將包含這些數據的一對象(稱為一「原行為-語境雙對象」)放入行為服務109中的一 隊列。一般上,行為收聽器106設計成在所述宿主系統中儘量少佔據資源以及儘量迅速及 有效地運行。
例如,讓我們考慮根據本發明在一網絡博文或「博文」上執行的一簡單活動。如果 一博客需為博文創建一貼或信息,當HTTP-POST達到博文伺服器時,嵌入該博文伺服器的 一行為收聽器106將甦醒。行為收聽器106接著將俘獲所述博文貼中的文本作為一行為因 素以及一起俘獲相關的元數據,然後獲取周圍語境。有了這些數據,所述行為收聽器將創建 一包含這些數據的新原行為-語境雙對象,然後將它放置到所述行為服務內。所述行為收 聽器將與通常在一博文在一博文伺服器出現時開始的活動平行地執行這些功能。
b.控制杆
明確定義控制杆108稍微困難,這是由於其代碼將有大改變,視伺服器端組件送 回的數據的預期使用而定。在一客戶設備中可能有任何數目的控制杆。概括地說,控制杆 是應用程式、代理或軟體,它們允許所述客戶設備從所述伺服器端組件獲取關於一用戶未 來的可能行為,同時忽略這些信息怎樣確定的程序。照這樣,所述宿主系統的設計者不需要 知道所述軟體怎樣操作來利用其好處。幾個範例應能說明以上所述的意義範圍。
在以上所述的動態閒置屏幕的實施中,控制杆108是一塊軟體,其控制用於一移 動電話的第一屏幕或「閒置屏幕」(行動電話用法)的代碼的屏幕刷新部分。這個屏幕控制 杆與客戶端推論服務111協力工作,以使客戶設備IOld能夠創建一稱為推論詢問的對象, 並將所述推論詢問發送到伺服器102d中的伺服器端組件。所述推論詢問的特殊本性將在 以下連同推論服務111進行討論。然而,對本討論而言,將所述推論詢問描述為一包含明確 的關於一用戶未來的可能行為的信息的對象應已足夠。
對該推論詢問的反應在被所述引擎的所述伺服器端組件送回時將包含合乎該用 戶目前的語境(例如日期、時間、位置等等)的所有行為的一清單(例如可能呼叫的電話號 碼、將發送的簡訊服務信息以及將調用的應用程式)。在所述閒置屏幕中的控制杆108將接 著配置所述閒置屏幕,使所述閒置屏幕顯示這些數據,準予一用戶單擊訪問在該語境中對 其最重要的人員、信息及應用程式。因此,閒置屏幕控制杆108最小化或防止一用戶需要搜 索遍一地址簿來查找一共同聯繫人,或打開一通訊應用程式來收取一信息。閒置屏幕控制杆108通過使所述閒置屏幕成為「動態」及隱藏該動態情況怎樣實現的細節來完成上述工作。
在一第二個例示性的控制杆實施例中,一 RSS饋給被控制來供應一用戶在一已知 瞬間最可能希望利用的統一資源定位符(URLs)的一語境敏感清單。在這個範例中,所述控 制杆是在一網際網路伺服器上寫入及執行的一網落服務。當一瀏覽器達到所述RSS饋給統一 資源定位符時,這個網絡服務控制杆創建一推論詢問,並將其發送到所述伺服器端組件。當 反應送回時,所述控制杆將其轉置為一適當的XML格式,然後將結果送回到所述瀏覽器。
在前述兩個範例中,宿主系統112(所述行動作業系統及所述瀏覽器)不需要知道 關於所述引擎軟體的格式或操作細節來利用其數據。以比喻而言,所述客戶設備使用控制 杆108來問這個問題「我的用戶現在擔心的是什麼?,,並獲得一答案。
2.行為服各(客戶端)
行為服務109由於其需要在一客戶設備中存在及與一宿主系統112連接而可以有 許多相差頗大的實施。然而,一般上,行為服務109是一單獨代碼塊(一應用程式、服務、線 程或過程),其被設計來監督俘獲來自宿主系統112的行為及語境數據,以及將這些行為及 語境數據引至伺服器102d中的伺服器端組件。因此,行為服務109分別存在於所述宿主系 統的通常過程之外,而且可訪問所述軟體的服務端組件所在的同一網絡。
在啟動時,行為服務109發動一個或多個行為收聽器106,所述一個或多個行為收 聽器106與行動需在其中俘獲的宿主系統112的每個部分互動。行為服務109也發動一計 時器,所述計時器將設置行為服務109將向所述引擎的伺服器端組件遞送或「公布」其所採 集的行為的頻率。所述行為服務接著閒置,直到被一個或多個行為收聽器106或所述計時 器喚醒為止。當被一行為收聽器106喚醒時(行為收聽器106—般將指出所書行為收聽器 已經在一「原行為-語境雙對象」中俘獲一用戶行為),行為服務109將接受所述雙對象, 然後將其添加到一內部隊列。當被所述計時器喚醒時,所述行為服務將包裹排隊的「原行 為-語境雙對象」,然後向所述引擎的伺服器端組件公布它們。
到此為止,已經討論所述「原行為-語境雙對象」已經由所述行為收聽器創建。然 而,並非總是這樣。在所述引擎的客戶端代碼的一些實施中,所述行為收聽器只是創建一原 行為以供發送到所述行為服務,然後所述行為服務接著負責從所述語境服務搜集適當的語 境以及創建所述雙對象。這個活動發生的時間及地點將儘量接近所述原行為的創建,以便 保持所俘獲的數據的準確性。同樣地,行為服務109的一些實施可以只將行為收聽器106 當作一觸發器使用來執行所有創建及隊列一 「原行為-語境雙對象」的任務。以下將在討 論所述行為服務的公布機制之後,對所述原行為、語境及原行為-語境雙對象進行更詳細 的討論。
由於所述引擎可能應用於不同種類的宿主系統及網絡,所述行為服務的公布界面 以高度靈活性設計。這些界面預計支持與所述引擎的伺服器端組件的互動的「推」(PUSH) 及「拉」(PULL)模式。在一「推」(PUSH)模式的實施例中,客戶發動互動,而數據是由類似 HTTP-POST的一機制發送。在這種情況下,客戶將數據推到伺服器。在一「拉」(PULL)模式 的實施例中,客戶端行為服務109是以類似一網絡服務(該網絡服務準許所述引擎的服務 器端組件發動所述互動)的一機制實施。
3.語境服各(客戶端)
由於與所述行為服務一樣的原因,所述客戶端語境服務可以有多個不同的實施。 所述客戶端語境服務也趨向於一單獨代碼塊(一應用程式、服務、線程或過程),其分別存 在於所述宿主系統的通常過程之外。所述客戶端語境服務並不一定需要存取所述引擎的服 務器端組件所在的同一網絡,這是由於兩者之間沒有通信。然而,像所述引擎中的每個其他 方面一樣,靈活性是必要的。
語境服務110的主要功能在於建立周圍語境的一電子表達以及將所述表達俘獲 到一軟體對象內(即表達一語境信息實例的一語境對象內)。如同行為服務109,語境服 務110大多時候處於閒置或睡眠狀態,而且公布其對象供其他服務使用。在這種情況下, 所述使用是由行為收聽器106、控制杆108、客戶端行為服務109、推論服務111以及宿主 系統112中可能需要使用一語境對象中包含的信息的任何其他服務進行。此外,公布包含 「推」(PUSH)及「拉」(PULL)模式。
a.語境收聽器及語境服各(客戶端)
在啟動時,語境服務110創建一主要語境對象及一個或多個語境收聽器107,而需 檢測的每個語境因素使用一個語境收聽器107。以下將更詳細地討論語境因素。語境收聽 器107的設計與行為收聽器106的設計非常相似,其相似處在於語境收聽器使用較少宿主 系統起源、在大多時候處於閒置或睡眠狀態、而且負責喚醒閒置的語境服務110。然而,語 境收聽器107不創建原行為;反之,其向語境服務110提供被觀察的語境因素的一當時現行 值。
例如,一無線個人數字助手(PDA) IOlc上的一語境收聽器107可以設計成在該無 線個人數字助手(PDA)躍過基地塔時喚醒語境服務110。在這種情況下,被考慮的語境因素 將會是「基地位置區域代碼」(Cell Location Area Code)及「基地塔標識符」(Cell Tower ID)。只要這兩個因素的任何其中之一改變,語境收聽器107將喚醒語境服務110,然後向語 境服務110提供這些因素的最近的值。
在接收任何語境因素改變時,語境服務110更新所述主要語境對象,然後回到睡 眠狀態。然而,當另一服務警戒所述語境服務需要所述主要語境對象內的語境數據時,所 述語境服務製造該主要語境對象的一拷貝,然後向提出要求的服務提供所述拷貝。這是 「拉」 (PULL)模式。所述語境服務也可能在未被要求的情況下定期地向其他服務提供更新。 這是「推」(PUSH)模式。
4.原行為、語境及原行為-語境雙對象
現在讓我們在繼續討論推論服務111之前對用於上述系統的不同數據類別進行 討論。
a.原行為
在一個例示實施例中,所述原行為是一超級類別(用面向對象編程的語言),其被 子類以產生對正在由行為收聽器106俘獲的行為因素適當的特殊原行為對象。所述子類原 行為可以進一步子類,視所述宿主系統的要求而定。一般上,每個行為收聽器106隻在一個 類別的原行為對象上操作,雖然設計中的限制並未這樣要求。對於任何已知宿主系統及集 合的行為因素而言,可能需要許多不同類別的原行為對象。目前及計劃的原行為類別的一 不完整清單如下
用於俘獲移動臺發起(MO)移動臺終接(MT)語音及數據呼叫;
用於俘獲移動臺發起(MO)移動臺終接(MT)文本及二進位信息(SMS及匪S);
用於俘獲電子郵件(流入及流出);
用於俘獲簡訊、催函、任務清單;
用於俘獲網絡博文貼;
用於俘獲張貼到一統一資源定位符(URL)的突出文本;
用於俘獲點選流向(以一網絡瀏覽器訪問統一資源定位符(URL));
用於俘獲即時信息及交談;
用於俘獲交談記錄;
用於俘獲通過音樂軟體(包括基於網絡的音樂播放器)享用的音樂;
用於俘獲「獨立組播協議」(PIM)功能(日曆、地址簿、警報等等);
用於俘獲文件系統訪問(開啟及關閉一文件等等);
用於俘獲媒體捕獲及耗用(視頻、靜止圖像、上載及下載);
用於俘獲賭博活動;
用於俘獲地圖服務使用;
用於俘獲系統維護活動(備份、同步、密碼改變);
用於俘獲查找字符串。
每個原行為將包含一個或多個域的信息(所述行為因素)及元數據。有些作為一 用戶行為的部分被俘獲的域可能包括
1.用戶標識符
2.用戶發起或用戶終接活動
3.表現行為的經過時間
4.宿主系統名稱(Pandora、iTunes、&ifari、Firefox、電子郵件、文件)
5.所述表現行為中的活動的內部狀態
a.對於語音呼叫,這可能是振鈴、掛起、未接呼叫等等
b.對於信息,這可能是已創建、已讀、已刪除、已接收、已保存
6.對於文件或歌曲追蹤
a.標題及作者或藝術家
b.長度及大小
c.種類或流派
d.集合名稱(書籍標題或集郵本)
e.統一資源標識符(URI)-在適當時
7.與行為相關的人(不是用戶)(自、至、好友名單成員等等)
8.相關人員(不是用戶)的電話號碼或用戶標識符
9.對於一信息、貼、簡訊、網絡博文貼等等
a.集合名稱(博文標題等等)
b.主題或標題
c.用戶定義的種類或標籤
d.信息主體的文本
e.信息的參考或突出部分
f.統一資源標識符(URI)-在適當時
10.與行為相關的文件名稱及類別(「多功能網際網路郵件擴充服務」(MIME)類別) (視頻文件、歌曲等等)
一原行為的存在向所述引擎指出所述用戶的行為已經表現。然而,負面行為(在 所述引擎預測時未出現的那些行為)也可以電子化地創建及俘獲。
此外,由所述行為收聽器進行的行為信息俘獲沒有時間限制。換句話說,設計中 並未要求所述用戶展示的行為已經真正發生才能使所述相應的行為因素被所述引擎俘獲 及使用。例如,考慮一用戶已經將接下來的一天的會議的一日曆活動輸入其無線個人數字 助手(PDA)的情況。在本發明的一個實施例中,所述日曆活動的輸入將創建兩個行為觸發 器其中一個行為觸發器用於創建所述日曆輸入的行為,而第二個觸發器用於所述尚未採 取的、在接下來的一天出席所述會議的行為。
上述兩個行為將有與它們相關的行為因素,而且將從與所述無線個人數字助手 (PDA)上的日曆應用程式相關的行為收聽器產生「行為語境雙對象」。作為題外話,這樣的 一個實施例將不限於使用當時的現行周圍語境來通知兩個「行為-語境雙對象」。在這樣的 情況下,所述第一「行為語境雙對象」(包含代表所述日曆輸入的發生的所述行為者)可能 包含當前語境,而第二「行為語境雙對象」(包含尚未執行的所述行為者)則可能包含更準 確地代表所述尚未執行的行為將會被執行的時間、日期及位置的一語境(如可能從所述日 歷輸入本身或其他來源確定那樣)。
b.語境對象
像所述原行為一樣,所述語境對象趨向於一超級類別,其按提供所述語境因素的 所述宿主系統的要求規定而被子類。這具有重大意義,這是由於不是所有宿主系統將能夠 向所述引擎提供一廣泛集合的語境因素。例如,帶有一全球定位系統(GPQ無線電接收裝 置的一行動電話或無線個人數字助手(PDA)將能夠提供地理定位信息,而不帶一無線電接 收裝置的一桌面計算機作業系統將不能夠提供地理定位信息。
在大多數的實施例中,所述語境服務將定義為帶有一主要語境對象單件(所述主 要語境對象單件包括一個或多個語境因素域)以及多個只讀語境對象(所述多個只讀語境 對象將按所述引擎的其餘服務的需要或所述宿主系統的需要來創建及配置)。在每個語境 收聽器為其觀察的語境因素確定一值時,所述主要語境對象中相應的域被更新。以下清單 代表一不完整集合的由所述語境服務使用的語境因素
1.位置(地理空間、政治、網絡位置[網際網路協議地址、虛擬位置、行動電話網絡中 的位置])
2.網絡特性(信號強度、漫遊狀態、服務質量、帶寬等等)
3. 一日內的時間(實時、網絡時間、虛擬時間)
4.用戶情緒(情感反饋)
5.在使用中的設備的序號(「國際行動裝置身份碼」 [IMEI]、「國際移動用戶識別 碼」 [IMSI]、「媒體訪問控制」 [MAC]地址等等)
6.在使用中的設備的特性(無訊息模式對振鈴模式、有線網絡使用對無線網絡使 用等等)
7.主觀位置(住處、辦事處、汽車)
8.周圍設備(可發現行動電話、印表機、射頻識別(RFID)標籤等等)
9.周圍網絡(藍牙、ZigBee、射頻識別(RFID)、近距離無線通信(NFC))
10.天氣或溫度
11.用戶的電話號碼及/或用戶標識符
這裡值得注意的是,有些語境因素只能由對所述宿主系統的充分改變來提供(如 以上第4項-用戶情緒),而有些必須由用戶主觀定義(如以上第7項-主觀位置)。
例如,在用戶情緒的情況,一行動裝置的一個實施例可能是擴展電話撥號器應用 程序「結束通話」按鈕,以包括兩個軟鍵,使得可以通過按壓三個鍵中的任何一個來掛斷一 電話通話。每個鍵將接著被賦予一數學值來表示情緒。左邊軟鍵可以用於表示「高興」;右 邊軟鍵可以用語表示「生氣」;以及所述「結束通話」按鈕可以表示無情緒變化。每個按鍵上 的圖標可以向用戶指出哪個按鈕表示什麼情緒。
當一用戶掛斷一通話時,該用戶將選擇三個按鈕的其中之一,視該用戶在所述通 話結束時的感覺而定。這將使所述引擎能夠照自然狀態地俘獲用戶的情緒。
c.原行為-語境雙對象
最簡易地說,「原行為-語境雙對象」只是在未伸展的情況下結合原行為及語境對 象的一對象。作此說明的原因是,在所述引擎的客戶端代碼104的大多數實施例中,所述 「原行為-語境雙對象」並不是單獨地發送到所述引擎的伺服器端組件。一包裹器(通常以 一陣列或清單的形式)被使用,使得所述多個「原行為-語境雙對象」可以即刻向所述服務 器端軟體公布。
5.推論服各(客戶端)
如同行為服務109及語境服務110 —樣(以及因為相同原因),推論服務111可 以有多個不同的實施。同樣地,推論服務111也是最經常地涉及成一單獨代碼塊(一應用 程序、服務、線程或過程),其能夠分別存在於所述宿主系統的通常過程之外。推論服務111 應能夠訪問所述引擎的伺服器端組件102所在的網絡,這是由於推論服務111的主要功能 是充當宿主系統112與所述引擎的伺服器端組件通信的管道。該通信的交通工具是在下一 節討論的一稱為推論詢問的對象。
在操作中,推論服務111在大多時候處於閒置或睡眠狀態,並為接收來自一控制 杆108的要求或為直接接收來自宿主系統112的要求而甦醒。當一要求被接收時,所述要 求一般將包含所述控制杆或所述宿主系統尋求的行為數據類別、所述要求的答覆需轉置成 的格式以及所述宿主系統的安全憑證。
這些信息將被傳遞及重新格式化以便對一推論詢問適當,而且將有一附加的最近 語境對象(由語境服務110提供)。
在有些實施中,控制杆108或宿主系統112供應其本身的語境細節,作為向推論服 務111提出要求的一部分。當這發生時,由所述伺服器端組件送回的行為數據涉及這些語 境細節,而不是涉及所述用戶的實際周圍語境(如所述語境服務所提供者)。這個過程經常 在所述控制杆或宿主系統尋求一特殊或歷史集合的用戶行為時起動。參考一先前範例,如 果一用戶意欲在其動態閒置屏幕上查看其在上周的星期二(或兩小時後)的可能行為,或 如果所述用戶處於一不同位置,所述用戶可以指示所述閒置屏幕控制杆將向所述推論服務 提出的要求中使用的語境設置為與上星期二(或兩小時後)一致或與所述其他位置一致。21所述推論服務送回的數據將接著反映與這些語境參數相關的行為,而不是反映與所述用戶 的實際、當前周圍語境相關的行為(如所述語境服務本將指定者)。
在一個實施例中,所述推論服務包括一高速緩衝存儲器,所述高速緩衝存儲器存 儲先前的推論詢問及接收自所述引擎的伺服器端部分的答覆。這個高速緩衝存儲器設計成 最小化由所述引擎的伺服器端部分在一指定時期內提出的嚴密地匹配的推論詢問的數目。 項目在所述高速緩衝存儲器中保留的持續時間可以緊密地控制,使得給予推論詢問的太舊 而不可靠的答覆不被依賴。
所述最近創建的推論詢問將接著被測試是否與所述內部高速緩衝存儲器中包含 的任何先前推論詢問及相應的答覆匹配。如果所述推論詢問不與所述高速緩衝存儲器中 的任何一個推論詢問匹配,所述推論詢問將由推論服務111輸送到所述引擎的伺服器端部 分,而推論服務111將等待答覆。
在收到所述答覆時,所述結果將被置入所述高速緩衝存儲器以供隨後匹配,然後 被重新格式化而與所述控制杆108或宿主系統112提出的初始要求一致。所述重新格式化 的結果接著被傳送到所述呼叫服務或系統。
a.推論詢問、行為原子、數據點及知識實體
在可以繼續對所述推論詢問進行更有意義的討論之前,必須首先描述所述引擎的 最基本數據類別(知識實體)及其具備數學意義的近親(行為原子及數據點)以及一行為 模式的概念。在這項討論期間,可以參看圖2及3中這些不同實體的相互關係的視覺表達。
一知識實體201是所述系統能夠俘獲及存儲的最小量的知識。一般上,一知識實 體被定義為包含這些常用部件的一對象
1.所述實體的唯一標識符;
2.所述用戶的唯一標識符;以及
3.所述實體的描述(或名稱)。
附加的部件可以添加,但每個知識實體201將包含以上所述諸項。進行了上述說 明之後。知識實體照字面意義幾乎可以是能電子化地表達的任何事物。一些範例包括
1.短語「鐘聲為誰而鳴」
2.應用程式 iTunes
3.電話號碼+1012)555-1234
4.概念「和平」
5.十六進位號碼 0x53CF0D778E
6.日期1997年9月24日
7.統一資源定位符(URL) http://www. google, com
8.歌曲標題「歷史常常重演」
9.地理空間坐標「37° 24' 53. 64N, 122° 5' 33. 6E」
10.情緒「高興」
11.事件「與母親共進晚餐」
12.確定弗蘭克(Frank)是用戶的父親的關係操作數
13.確定2007年9月24日為星期一的的事件操作數
14.說天空為藍色的常識
一般上,一知識實體201將屬於這些種類的其中之一(然而,這個清單不完整,而 且所述種類名稱可受更改)
1.人員
2.地點(地點可指示客觀位置(例如哥倫比亞特區華盛頓市賓夕法尼亞大道 1700號)或主觀位置(例如住處),即使是那些可以從非位置明確語境數據(例如現在是 上午3時,而電話在三小時內尚未移動)推斷的位置)
3.應用
4.概念
5.事物
6.統一資源標識符(點擊流)
7.媒體文件(歌曲、視頻、書籍[音樂])
8.事件
9.情緒
10.關係
11.操作數
12.常識
參看圖2,一知識實體201在與一語境對象203結合時稱為一行為原子205。當該 行為原子由一數學算法209轉換使得其有數學意義時,所述行為原子稱為一數據點207,現 在參看圖3,在使用一適合的建模算法303以一具有數學意義的方式(比如NaiVeBayes) 排列及與一軟體引擎結合以便對該排列執行一數學分析時,多個數據點207統稱為一行為 模式301。模式一般由用戶通過一配置過程給予主觀名稱。
在有些實施例中,行為原子205設計成包含多個知識實體201及/或語境對象 203。在一例示實施例中,一附加因素(代表一隨機性程度的一參數)可以添加到這樣的一 個行為原子,使得關於知識實體及語境對象的該行為原子的值是非確定性的。換句話說,這 些值將以非預測性的方式、隨著時間的過去而改變。這樣的例示實施例的值是向所述行為 模式導入一定程度的「偶然性」或向所述引擎導入一定程度的「健忘性」。
這些數據類別的正式討論在以下有關所述引擎的伺服器端組件的討論中提供。然 而,以上描述足以提供了解推論詢問的基礎。
因此,綜上所述,推論詢問305是一包含下列部件的對象
1. 一唯一用戶標識符
2. 一安全性令牌
3.推論詢問305至所述伺服器的語境一般由語境服務110提供。所述語境將由一 個或多個下列語境因素組成
a.位置(地理空間、政治、網絡位置[網際網路協議地址、虛擬位置、行動電話網絡中 的位置])
b.網絡特性(信號強度、漫遊狀態等等)
C. 一日內的時間(實時、網絡時間、虛擬時間)
d.用戶情緒(情感反饋)
e.在使用中的設備的序號(「國際行動裝置身份碼」 [IMEI]、「國際移動用戶識別碼」 [IMSI]、「媒體訪問控制」 [MAC]地址等等)
f.在使用中的設備的特性(無訊息模式對振鈴模式、有線網絡使用對無線網絡使 用等等)
g.主觀位置(住處、辦事處、汽車)
h.周圍設備
i.周圍網絡(藍牙、ZigBee、射頻識別(RFID)、近距離無線通信(NFC))
j.天氣或溫度
k.用戶的電話號碼及/或用戶標識符
4.將用於產生一答覆予所述推論詢問的行為模式的名稱
5.所述詢問被引導的關於知識實體的種類。例如,下列的其中之一
a.人員
b.地點(地點可指示客觀位置,即使是那些可以從非位置明確語境數據推斷的位 置)
c.應用
d. _既念
e.事物
f.統一資源標識符(點擊流)
g.媒體文件(歌曲、視頻、書籍[音樂])
h.事件
i.情緒
j.關係
k.操作數
1.常識
6.對所述詢問的答覆中需包括的知識實體的數目。
這包括所述引擎的客戶端組件的一描述。
II.伺服器
所述引擎的伺服器端代碼可以當成分解為六個部分
1.行為服務117;
2.建模器服務118;
3.行為建模器119;
4.行為模式120 ;
5.推論服務121;以及
6.語境服務122。
雖然以下討論假設所有這些組件是一單一集合的伺服器代碼的部分,但只要所有 需要相互對話的組件可以相互存取(即它們共享相同網絡),這些組件不需要是一單一集 合的伺服器代碼的部分。在有些實施例中,為了可量測性,可以明確地從所述其他服務取出 建模器服務118(既然其處理趨向於計算密集而因此在處於活動狀態時對其他服務的執行有害)。
以下討論依次詳細闡述這些組件中的每種組件。
A.行為服各(服各器端)
所述引擎中的伺服器端行為服務117通常實施為一單獨伺服器過程,所述單獨服 務器過程設計成管理來自多種客戶端服務的多個同時連接。在一個實施例中,行為服務117 佔據一單一「傳輸控制協議/網際網路協議」(TCP/IP)埠,雖然在所述結構中沒有這樣的限 制。所述伺服器端行為服務的主要功能是將所述客戶端行為服務提供的「原行為-語境雙 對象」轉換成行為原子,以供存儲在一資料庫中。為了將所述客戶端行為服務提供的「原行 為-語境雙對象」轉換成行為原子,行為服務117必須將所述雙對象中的每個原行為解剖成 其多種行為因素,然後將這些因素分解為知識實體。接著通過所述雙對象的語境對象的應 用,將所述知識實體轉換為行為原子。為了執行這些任務,行為服務117可以依賴(而且經 常依賴)外部系統,而有些外部系統將在這裡提及。
由於將所述「原行為-語境雙對象」轉換為行為因素、然後轉換為知識實體的過程 可能計算密集及存儲器資源密集,這個轉換優選不在客戶設備IOId或提供所述雙對象(客 戶端代碼)的服務上進行。此外,如先前所述。有些轉換將依賴由外部支持系統向伺服器 端行為服務117提供的信息,而且因此將不一定可由客戶設備IOld或提供所述雙對象的服 務使用。說明了以上這些,如果一客戶設備或服務能夠支持所述轉換的計算及存儲器資源 要求,這樣的轉換可以在提供所述雙對象的設備上完成,因而完全消除對所述「原行為-語 境雙對象」的需要。
行為服務117可以分解為幾個組件
1. 一網絡服務131,用於接收來自客戶端的一清單或陣列的「原行為-語境雙對 象」,或用於向客戶端要求一清單或陣列的「原行為-語境雙對象」;
2. 一隊列133,用於暫時接收所述雙對象;
3.至少一個行為-語境處理器135,行為-語境處理器135檢查每個雙對象,然後 將之分解為一個或多個行為原子。所述行為原子接著由所述處理器轉換為知識實體;
4. 一隊列管理器137,隊列管理器137在被告知所述隊列中存在雙對象時檢查所 述清單或陣列的雙對象,並確定應發動哪個行為-語境處理器來處理每個雙對象;以及
5.三個關係資料庫
「原行為-語境雙對象資料庫」(RB⑶DB) 139,「原行為-語境雙對象數據 庫」(RB⑶DB) 139存儲「原行為-語境雙對象」;
知識實體資料庫(KE DB) 141,知識實體資料庫(KE DB) 141存儲處理了的知識實 體;以及
行為原子資料庫(BA DB) 143,行為原子資料庫(BA DB) 143在處理完成時存儲行 為原子。
在操作中,在被告知網絡服務131已經成功地接收一清單或陣列的雙對象並將該 對象放置入隊列133時,隊列管理器137將即刻檢查所述清單或陣列的內容。對於每個「原 行為-語境雙對象」,隊列管理器137將確定適當的行為-語境處理器,並啟動該處理器135 的活動。
所述處理器將接著從所述陣列或清單摘錄每個雙對象、檢查該雙對象、然後在該 雙對象中摘錄個別的行為因素。在大多數情況下,一單一雙對象將被轉換為許多行為因素。 這些因素接著被分解為一個或多個知識實體。以下將即刻對有關這個過程怎樣完成的詳情25以及有關在將所述知識實體存儲在知識實體資料庫141之前對所述知識實體執行的附加 處理的詳情進行討論。
一旦所述知識實體已經產生,所述處理器將這些知識實體與來自接受檢查的雙對 象的語境對象進行比較。這兩個對象的結合使所述知識實體成為行為原子。如果存在附加 的元數據(通常來自所述雙對象及所述行為服務之外的來源),附加的元數據將在這個階 段被添加到所述行為原子;例如,來自一自然語言處理(NLP)引擎的莖幹關係元數據。
在有些實例中,這些外部服務在與行為-語境處理器135互動時將導致產生所述 行為-語境雙對象中的那些知識實體之外的新知識實體。在類似一良性循環的循環中,來 自有些行為-語境處理器的知識實體將由外部服務處理,而合成數據將送回到行為-語境 處理器135,以進行附加的處理。這個反饋環路的最終結果是附加行為原子的產生。
—旦這個過程完成,所完成的行為原子被存儲到行為原子資料庫143。同樣地,所 述「原行為-語境雙對象」被存儲到「原行為-語境雙對象資料庫」 139,而所述知識實體(在 附加處理之後)被存儲在知識實體資料庫141。對於所述「原行為-語境雙對象」,這個存儲 允許由其他系統進行最後的處理,而這些其他系統中的大多數將在本說明書的範圍之外。
例如,考慮所述「原行為-語境雙對象」是從一用戶在根據本發明的原則配置的一 電子書閱讀器上高興地「突出」或選擇一些文本的一活動創建的案例。所述突出文本可能是 「鐘聲為誰而鳴」,而且這個行動可能是在7月1日星期三下午3時在用戶的家裡執行。以 下行為原子可能因由行為-語境處理器135處理而創建
·以「鐘聲為誰而鳴」為元數據的一媒體文件原子,所述媒體文件原子用於指出所 述行為是從一電子文件表達;
一位置原子,所述位置原子指出所述用戶的住處(可能帶有該位置的「全球定 位系統」(GPQ坐標);
一情感原子,所述情感原子用於「高興」(用戶的情緒);
一應用程式原子,所述應用程式原子用於電子書(即一電子書為所述宿主系 統);以及
幾個單獨概念原子,所述單獨概念原子用於所述突出文本的每個詞(在大多數 情況減去如「那」的停用詞)。
用於這些最近的概念原子的元數據一般將不是全部由所述行為-語境處理器 本身創建,而一般是全部由一外部自然語言處理(NLP)引擎創建,所述外部自然語言 處理(NLP)引擎將應用傳統文本挖掘技術(如幹處理)以及「檢索詞頻率-逆文獻頻 率」(TF-IDF)來產生所述元數據。在上述良性循環的一範例中,這個自然語言處理(NLP) 引擎將接著將這些元數據反饋到行為-語境處理器135中,而行為-語境處理器135將接 著將該元數據轉換成知識實體,然後轉換成行為原子。下一節將解釋為什麼這樣。
1.行為-語境處理器
行為-語境處理器135的工作趨向於一與查閱表一致的簡單的、行為因素到知識 實體的一對一或一對多轉換。這麼做是故意的,以便使所述兩個域的映射明確地人類可讀 (當所述數據的人類檢查)以及,推動迅速的過程完成。當需要一更為複雜的轉換機制時, 通常引入一附加的域特定處理器來承擔,如同導入可能是一行為因素的一部分的一自然語 言處理器來處理一些原始、非結構化文本一樣。
在一個實施例中,這個一對一或一對多轉換可能「硬連接」到所述代碼中。換句話 說,任何一個行為因素將總是映射到一個或多個預定知識實體,其分別只是可能與該知識 實體相關的元數據。然而,這個過程可以成為動態,或可以受一數學算法的影響。甚至可以 使這個過程受限於所述引擎本身的輸出,使得行為因素到知識實體的轉換完全地語境敏感 及/或行為敏感。
只要新行為因素被導入所述系統,通常需要對行為-語境處理器135進行改變,不 論所述新因素是否為一現有原行為的部分。這些改變通常限於將行為因素的一對一或一對 多映射改變為知識實體。
2.知識實體後處理
如先前所述,一知識實體是所述系統將俘獲的最小量的知識。每個知識實體是獨 特的,而且由下列這些常見部件構成
1.所述實體的唯一標識符;
2.所述用戶的唯一標識符;以及
3.所述實體的描述(或名稱)。
此外,知識實體可能將包含與所述「原行為-語境雙對象」相關但不一定是從所述 「原行為-語境雙對象」摘錄的元數據。例如(根據我們先前的範例建立),包含「鐘聲為誰 而鳴」的描述的一知識實體也可能有由外部方法提供的附加屬性,這些附加屬性可能包括
1.作者;
2.長度(摘錄所述文本的作品的長度);
3.流派;
4.國際標準書號(ISBN);以及
5.統一資源標識符(URI)(在適當的情況下)。
只要發現所述引擎中目前不存在匹配的實體,行為-語境處理器135將動態地創 建新的知識實體。這裡所執行的匹配是由所述行為-語境處理器對上述知識-實體資料庫 141執行。當新的知識實體創建時,它們被授予一初始加權或「活動性」屬性。這個屬性擔 當一種過濾器,指出最後將由所述引擎的其餘部分創建的行為模式中應包括或不應包括包 含這個知識實體的行為原子的程度。
這個「活動性」屬性可以由所述用戶控制或由一數學算法動態地控制,就像概念原 子的知識實體的情況一樣(其可以由一改進「檢索詞頻率-逆文獻頻率」(TF-IDF)算法控 制)。在一個實施例中,所有知識實體(除了那些涉及概念原子的知識實體之外)被設置以 一最大的「活動性」程度。在另一個實施例中,「活動性」可能受所述知識實體在所述用戶的 原行為中出現的頻率的影響。
B.建模器服務
像伺服器端行為服務117 —樣,建模器服務118 —般實施為一單獨伺服器過程。 建模器服務118負責從行為原子的資料庫準備數據集,以便最後產生一成為行為模式的數 據結構。所述行為模式是一用戶在由一特定範圍的語境描述的界限中的歷史行為的數學表 達,所述特定範圍的語境將在以下詳細討論。
建模器服務118分解為四個部分
1.模式配置155 ;27
2.模式配置資料庫153 ;
3.任務對象157;以及
4.排程器 151。
模式配置155是一集合的參數,其說明下列諸項
1.所述數據集的語境界限最後將用於創建所述行為模式(這通常指定為一系列 的語境屬性);
2.需用於從所述數據集過濾掉不需要的行為原子的知識實體「活動性」程度」;
3.為創建所述行為模式而需用於所述數據集的算法或行為建模器(所述行為建 模器的細節接著將在我們就所述行為模式進行的討論中替提及);
4. 一轉換模板(待稍後描述),所述轉換模板詳細提供對所述行為建模型器有用 的信息;以及
5.創建所述行為模式應使用的頻率。注意這個頻率完全與所述配置中指定的語 境範圍無關。
建模器服務118將為一個或多個用戶存儲多個模式配置在(建模器服務118的第 二部分)模式配置資料庫153中。
所述建模器服務的第三部分是任務對象157。任務對象157 —般實施為一線程,其 負責執行創建一行為模式的必需程序。當被創建時,所述任務對象被授予一模式配置,而所 述行為原子資料庫被授予一統一資源標識符(URI);所述任務對象將從所述行為原子數據 庫導出其數據集。在被執行時,任務對象157獲得必需的數據集,並將所述數據集傳遞到其 模式配置155中指定的算法或行為建模器119。一旦所述行為建模器已經完成所述行為模 式的創建,任務對象157將所述行為模式存儲在一分別的數據存儲器中。在一個實施例中 的這個存儲器是一高速緩衝存儲器,該高速緩衝存儲器由一關係資料庫或文件系統維持。
在一個實施例中,模式配置155實施為使其參數抑制任務對象157對一單一行為 建模器119應用其數據集。在另一個實施例中,任務對象157可以更靈活,而且其模式配置 巧5可能增大,以允許所述任務對象將其數據集傳遞到多個行為建模器110中。在這樣的背 景下創建的行為模式將接著用於允許伺服器端推論服務121(伺服器端推論服務121尚待 討論)運行對這集合的行為模式的一系列詢問。這些詢問將動態地及同時地執行,以確定 用來產生「最滿意」結果的「最佳」模式。所述「最佳」模式及「最滿意」結果在很大程度上 視所述詢問的結果的預期目的而定。
建模器服務118的第四暨最後部分為排程器151。這是一線程,所述線程負責定期 地授權任務對象157執行其操作。由於排程器151的設計相當常見,這裡將不作深入的討 論-除了說明排程器151的設計使得多個任務對象能夠同時運行,以及排程器151在每個 任務對象157中使用模式配置155來管理其排程。
1.行為建模器及行為模式
行為建模器119是在上述任務對象157的語境中執行的一對象。行為建模器119 負責將由任務對象157獲取的數據集從其作為來自行為原子資料庫143的數據的一子集的 初始狀態轉換為一行為模式,而我們現在將把所述行為模式定義為可以由一數學算法控制 的「數據點雲」。「雲」的意義以及所述數據點的結構將在稍後描述。這個數據轉換可以視 為一三步過程,所述三步過程可以描述如下
1.將語境預處理為語境值;
2.創建所述數據點「雲」;以及
3.選擇所述行為建模器算法。
當行為建模器110的工作完成時,所述用戶的歷史行為及周圍語境的一「有數學 意義」的模式將已經創建。這個模式其實是一複雜數據結構,其代表數據點與一算法(所述 算法包含一個或多個數學算法或機器學習算法)結合的一多維語境坐標系統。
2.行為津樽器算法
建模器服務118包含多個行為建模器,所述行為建模器算法中的每個行為建模器 算法使用其支持的一個行為建模器。為所述引擎的預測功能選擇支持多個算法是刻意的, 這是由於沒有任何單一算法在所有情況下達臻理想是合乎邏輯的。
合適的行為建模器算法包括機器學習算法,但其他類別的算法也可以被支持。行 為建模器算法預想由所述行為建模器設計支持的行為建模器算法包括但不限於
1.樸素貝葉斯(NaiveBayes);
2.分級樸素貝葉斯(HierarchicalNaiveBayes);
3.隱馬爾可夫(Hidden Markov);
4. MM^XW, (Expectation Maximization);
5.最近鄰(Nearest Neighbor);
6.質心分類器(Centroid Classifier);以及
7.分形維數(Fractal Dimension)。
儘管有多種機器學習算法,而且每種機器學習算法的數據集要求都有分歧,但所 述行為建模器設計向每個行為建模器算法以及向行為建模器119的基礎結構揭露一通用 集合的應用程式編程接口(APIs)。採用這個方式允許多個行為建模器算法的創建,同時允 許所有行為建模器對建模器服務118顯得相同,以及允許每個行為建模器產生帶有一致結 構的一行為模式。我們相信這個方式有很多獨特性。此外,可以使這個方式足夠通用,以應 用於所述引擎之外的應用。
3.數據點及「雲」
將行為原子的所述數據集轉換為一「數據點雲」的過程複雜。首先,所述數據集中 的每個行為原子轉換為一單一數據點,而所述單一數據點的結構由所述任務對象的模式配 置中的一轉換模板定義。在一般常識上,一數據點可以描述為所述行為原子的知識實體部 分與已經摘錄自該同一行為原子的一陣列的語境值結合。所述語境值的摘錄將稍後討論, 但它們的存在的背後目的是將在所述行為原子中俘獲的周圍語境解構為相一多維語境坐 標系統的一坐標的等同物,即一「度量空間」(如在數學上定義那樣)。這樣的空間在所述 行為建模器算法中有特別意義;在所述行為模式用於預測一用戶的行為時,所述行為建模 器算法將依賴這個坐標系統。
在我們討論所述語境值的創建的細節之前退後一步,我們可以考慮所述數據點 (如以上描述者)為一「屬性」,所述「屬性」置於由所述語境坐標系統的一多維「雲」中的 語境值指示的「坐標」。這個比喻對於接下來的有關所述伺服器端推論服務的討論將特別有 益,因此值得在此詳盡說明。
使用一簡化範例,考慮一顏色可能作為一屬性而與一三維(X-Y-Z)坐標系統中的一數據點有關。這個系統中的每個數據點將有一 X值、一 Y值及一 Z值、以及一顏色Q,這描 述一些真實世界特性(X1Y1Z1Q)。如果任何人有數以千計的這些有色數據點並選擇繪製每個 數據點,此人將發現其可能已經創建了色彩繽紛的數據點「雲」。
擴展所述比喻,這個「雲」的X、Y及Z值中的每個值將對應於所述數據點的語境值, 而所述知識實體將對應於所述顏色。由此推進到行為建模器119的設計細節-所述數據點 「雲」是一多維數據結構,其中所述數據點沿著由所述語境值定義的軸排列。這些語境值與 曾由任務對象模式配置155指示為行為原子的初始數據集的界限的語境屬性直接有關。
照這樣定義所述語境值造成對行為建模器119的限制,因為所屬「雲」的坐標系統 將只是包含曾是所述有界限數據集的一部分的語境屬性。例如,在建模器服務118中,一語 境屬性可能對預測一用戶的行為具有統計學意義,而且可能不包括在最後的行為模式中, 這是由於該用戶漏了在模式培植155中包括該語境屬性。
例如,如果碰巧一用戶只是在戶外氣溫為-5攝氏度時訪問「theweathercharmel. com」(天氣頻道)網站(例如由於該用戶喜歡滑雪而且對在寒冷時哪裡下雪感興趣),但溫 度不曾作為語境屬性的界限的其中之一而被包括在所述模式配置中,所述行為建模器的算 法將不能確定所述溫度是該用戶的未來行為的一個有意義的因素。
4.預處理及創津語境倌
所述摘錄語境值的多步驟過程以所述行為建模器119檢查所述行為原子的語境 部分中的每個語境屬性為開始。作為一第一步驟,所述語境屬性轉換為其「數字」或「名義」 表達。
這個數字或名義值接著重新投入一對象,所述對象在其結構中俘獲正在描述的屬 性的特性以及所述屬性的「數學意義」。在字面意義上,這意味著所述數字或名義值被置入 一新語境值對象,該新語境值對象僅限於正在描述的語境屬性的種類或類別。例如,-5攝 氏度的一溫度的語境屬性將轉換為一數值為-5的攝氏溫度語境值。
這個轉換的原因是所述新語境值壓縮軟體方法,這些軟體方法定義同將與所述 「雲」相關的行為建模器算法一致的標量值的「數學意義」。「數學意義」實際指所述語境值 屬於一明確定義的度量空間(即指所述度量空間有一相應的、滿足自反性、對稱性及三角 不等式公理的距離函數)。
一旦所述行為原子的所有語境值已經創建,它們被置入一特定順序,而所述特定 順序實際上成為一陣列。這個陣列確定所述行為建模器算法的多維坐標系統中的語境屬性 的坐標位置。這個坐標接著結合到所述行為原子的知識實體,以成為一數據點。
這個過程繼續至每個行為原子已經轉換。所述合成「雲」被傳送到一新行為模式 中,在所述新行為模式,所述合成「雲」由已在任務模式配置155中定義的行為建模器算法糹口口。
C.推論服各(服各器端)
推論服務121包括四個部分
1.一網絡服務界面167,通過網絡服務界面167,客戶被允許進行所述引擎的推論 詢問;
2.一隊列或集合體165,以允許同時處理多個推論詢問;
3.一詢問線程165,詢問線程165執行詢問本身的程序;以及
4. 一推論詢問高速緩存器167,所述推論詢問高速緩存器167與每個詢問核對,以 確保完全一樣的詢問在一時間段內不在相同的模式上執行。
網絡服務161可以效法網絡界面軟體的任何合理實施,以便在所述網絡上接收推 論詢問。
在操作中,網絡服務161首先接收來自所述客戶代碼的一推論詢問。如先前所述, 所述推論詢問包括
1.唯一用戶標識符
2.安全性令牌
3.用於所述詢問的語境。所述語境將由下列的一個或多個屬性組成
a.位置(地理空間、政治、網絡位置[網際網路協議地址、虛擬位置、行動電話網絡中 的位置])
b.網絡特性(信號強度、漫遊狀態等等)
c. 一日內的時間(實時、網絡時間、虛擬時間)
d.用戶情緒(情感反饋)
e.在使用中的設備的序號(「國際行動裝置身份碼」 [IMEI]、「國際移動用戶識別 碼」 [IMSI]、「媒體訪問控制」 [MAC]地址等等)
f.在使用中的設備的特性(無訊息模式對振鈴模式、有線網絡使用對無線網絡使 用等等)
g.主觀位置(住處、辦事處、汽車)
(i)總是用戶定義
h.周圍設備或網絡(藍牙、ZigBee、射頻識別(RFID)、近距離無線通信(NFC))
i.天氣或溫度
j.用戶的電話號碼或用戶標識符
4.用於所述詢問的模式的名稱
a.名稱由所述用戶在創建模式配置時隨意選擇。所述模式配置名稱為所述模式本 身的名稱
5.定向所述詢問涉及的行為實體類別。這將是以下的其中之一
a.人員
b.地點(不是根據語境數據創建,但可以根據語境數據推論)
C.應用
d. _既念
e.事物
f.統一資源標識符(點擊流)
g.媒體文件(歌曲、視頻、書籍[音樂])
h.事件
i.情緒
6.對所述詢問的答覆中需包括的行為實體的數目。
推論服務121俘獲所述推論詢問,並使用所述詢問中的所述模式的名稱來查找適 當的模式配置155,以用於創建一數據點。一旦其查找到所述模式配置,推論服務121使用所述模式配置為一指南,以便有效地以一空白的行為實體創建一新數據點。這個數據點將 適合應用於所述模式。這個新數據點的語境坐標根據摘錄自所述推論詢問的語境屬性創 建。因為不是所有語境屬性都適合於已經創建的每個模式,可能需執行一些語境屬性的過 濾。一旦帶有所述空白行為實體的所述數據點已經創建,推論服務121使用所述數據點來 在推論詢問高速緩存器167中查找,以確定所述系統新近是否曾運行將會產生與即將運行 的分析的結果相同的結果的分析。所述查找的匹配標準為
1.所述數據點的語境坐標;
2.所述模式的名稱;以及
3.正在尋找的行為類別。
這些標準中的每個標準應有一精確的匹配,以便使用高速緩存器167的結果。否 則,推論服務121使用所述模式名稱及行為實體名稱來獲取所述模式,然後對所述模式的 詢問界面應用所述數據點。應注意的是,所述模式在被創建及命名時是為了應用一單一行 為建模器算法來產生只是一個行為實體類別的一集合的結果。這麼做是為了效率。先前討 論的行為建模器算法產生數據點-雙對象的一分級清單,該分級清單滿足已被應用到所述 模式的數據點的語境坐標。這些雙對象在字面意義上是來自所述模式的數據點,附加有介 於0與1之間的指示所述數據點與所述語境坐標匹配的程度的一「信心得分」。這個得分是 由所述行為建模器算法執行的計算的副產品。所述推論服務接著分析所述分級清單,以提 取在所述初始推論詢問中要求的所述數目的行為實體。一旦已經獲取該數目的行為實體, 一對象通過所述網絡服務界面,被送回到所述呼叫客戶。
在以上描述的伺服器端推論服務的使用中,一數據點的知識實體部分保持不填 寫,使得所述知識實體部分可以通過將該數據點應用到所述行為模式的詢問界面來填寫。 可選擇地,所述數據點的語境值部分可以保持不填寫,而該相同的數據點的知識實體部分 被填寫。以這個方式,一旦應用於所述行為模式的詢問界面,所述數據點將由一分級清單的 語境值及一「信心得分」填寫。以這種方式使用,所述引擎不再在已知一語境的情況下預測 人類行為,而是在已知所述用戶的一人類行為的情況下預測語境。所述引擎答覆這個問題 「我應該在什麼集合的情況下預期用戶執行這個行為或這個集合的行為?」
這個替代方法帶來許多應用,特別是在監視領域。在一法律執行範例中,這樣的方 案將是預測一犯罪嫌疑人的位置的一個有用方法,條件是存儲在所述引擎中的數據可供使 用,而且跟蹤行為的一清單在手。例如,以這樣的方法,法律執行人員可以只知道一已知嚴 重犯罪者在其母親的生日撥電話聯繫其母親的情況下辨明所述已知嚴重犯罪者的去向。在 這一呼叫進行時,可以根據可送回關於該已知嚴重犯罪者出現的完整集合的位置的數據, 形成一推論詢問。
在另一範例中,一廣告代理可能在知道所述用戶在撥電話予其經紀人之後最易受 市場營銷信息影響的情況下,希望確定向一用戶顯示一金融服務商業廣告的最有效時間。 通過以所描述的行為創建一推論詢問,所述廣告代理可以接收到關於所述商業廣告可能最 有效的時間的一分級清單。
P.語境服各(服各器端)
語境服務122為一單獨過程,它在客戶端以非常相似於其同伴過程的方式發揮功 能。語境服務122有一顯著分別,其分別在於語境服務122不管理一主要語境對象。相反地,語境服務122維護一語境資料庫179。這個語境資料庫179由一稱為「記錄語境因素」 的新語境相關對象填寫,所述記錄語境因素隨後將進行描述。伺服器端語境服務122的主 要功能在於充當一查閱表,以填寫將在從伺服器端推論服務121及行為服務117的各種語 境對象中不時出現的間隙。
語境服務可分解為五個部分
1.所述語境服務的網絡服務171 ;
2.語境隊列173 ;
3.語境隊列管理器175 ;
4.記錄語境因素界面177 ;以及
5.記錄語境因素資料庫179。
實際上,所述語境服務的網絡服務171例行地接收來自不同的客戶端語境服務 110的語境對象。這些語境對象中的每個語境對象將包含許多語境因素,包括一時間戳。在 收到這些語境對象時,網絡服務171將把這些語境對象置入語境隊列173,然後通知語境隊 列管理器175。在接收這一通知時,語境隊列管理器175將從隊列173獲取所述語境對象, 然後「展開」所述語境對象,從而摘取獨立語境因素。語境隊列管理器175將接著使用所述 語境對象中的時間戳作為一鍵,為每個語境因素創建一分別的記錄語境因素對象。所述新 的記錄語境因素將接著包含所述初始語境因素及這個鍵。
所述記錄語境因素存儲在記錄語境因素資料庫179 ;在有些實施中,記錄語境因 素資料庫179更準確地描述為一持久性數據存儲器(而不是一關係資料庫),該持久性數據 存儲器包含一高速緩存器,並可能包含一文件系統。
當伺服器端行為服務117或推論服務121確定一原行為或推論詢問中的語境對象 缺失一個或多個語境因素時,其使用所述記錄語境因素界面來執行對記錄語境因素資料庫 179的查找。如果所述缺失因素已經由一不同客戶提供,則這些因素被送回行為服務117或 推論服務121,以填寫所述語境對象的間隙。
例如,讓我們考慮一用戶例行地在其根據本發明的原則配置的桌面機器上瀏覽網 絡。該機器將例行地向所述引擎的伺服器端行為服務117提供原行為。然而,由於大多數桌 面機器並不是位置感知,由所述客戶在這些機器上供應的語境對象將錯過位置語境因素。 然而,如果所述用戶也攜帶根據本發明的原則配置的包括位置感知的行動電話,由該移動 電話例行供應的語境對象將包括位置語境因素,而且這些因素可以用於填寫所述間隙。由 於這個原因,伺服器端語境服務122被創建。
III.在數學意義上
如先前所述,所述行為建模器算法為一個或多個數學算法或機器學習算法的實施 例,這些實施例根據所述「雲」及所述特定推論陣列中的數據點預測所述用戶的喜好。更明 確地說,它們與代表一特定語境中一用戶的採集行為的一「數據點雲」 一起構成所述引擎的 模式的部分。在應用中,這些算法被提供以一數據點,該數據點帶有來自所述引擎的推論服 務的一空白行為實體,並產生一集合的行為實體及一信心得分。
描述了所述客戶端及伺服器端軟體組件之後,對所述行為建模器算法進行描述是 合乎程序的。有許多廣為人知的常用統計建模算法根據一集合的數據點來預測事物,而實 際上這些常用統計建模算法中的任何統計建模算法可以作為一行為建模器算法用於本發明。如先前所述,不同的統計建模算法可以更好地為不同的推論詢問服務(即一個統計建 模算法可以在一已知情況下比另一統計建模算法提供更為準確的關於所述用戶的喜好的 預測)。任何這樣的算法可以由這些領域的熟練人員輕易地適應,作為所述行為建模器算法 的其中之一來使用。
IV.流稈圖
在對本發明的多種組件及操作進行描述之後,接著以圖4-10呈現的許多簡圖來 幫助說明根據本發明的多方面的操作流程。
A.語境信息(客戶端)的連續採集
圖4圖解所述客戶端軟體的持續的語境信息採集過程,所述過程定期地以由語境 收聽器107檢測到的最近語境信息來更新語境服務110。在步驟401,一觸發語境事件發生。 這可能僅僅是一設置為每兩分鐘消失的計時器。接著,在步驟403,所述語境事件由語境收 聽器107檢測。語境收聽器107將接著採集以語境因素為形式的語境信息,所述語境信息 將接著在步驟405被匯報到語境服務110。在最後的步驟407,所述語境服務將把所述新語 境因素添加到所述主要語境對象(如果不存在適用於該語境因素的值),或以所述新匯報 的數據來更新所述主要語境對象中的一現有語境因素。所述過程在步驟409結束。
B.行為及語境信息(客戶端)的採集
圖5圖解與創建所述模式所需的行為及語境對象的採集有關的、所述客戶端軟體 的一例示性流程。所述過程為響應一觸發行為而開始,例如,所述用戶在一無線個人數字助 理(PDA)上進行一電話呼叫。
因此,在步驟501,觸發原行為發生。接著,在步驟503,行為收聽器106檢測所述觸 發行為,並採集描述該行為的行為因素。在步驟505,行為收聽器106調用語境服務110來 搜集在所檢測的行為周圍的最新近的語境信息(如通過圖4的流程圖中圖解的過程採集那 樣)。在步驟509,語境服務110創建一語境對象,所述語境對象包含關於所述行為發生所 在的語境的原數據。語境服務110將所述語境對象送回行為收聽器108,接著在步驟511, 所述行為收聽器創建一行為-語境雙對象,然後將之發送到行為服務117。
接著,在某個時候,一個或多個所存儲的行為-語境雙對象被發送到所述伺服器 端軟體。例如,在步驟513,行為服務109創建及向本發明的所述伺服器端部分發送一包含 一個或多個行為-語境雙對象的信息(稱為一行為-語境雙對象清單)。所述過程在步驟 515結束ο
C. 「行為-語境雙對象」(伺服器端)的處理
圖6圖解與處理接收來自所述客戶端軟體的這些行為-語境雙對象清單(以便將 它們轉換成行為原子,供存儲在行為原子資料庫14 有關的流程。當來自所述客戶端軟體 的一行為-語境雙對象清單被接收時(見圖5中的步驟51 ,這個流程被調用(步驟601)。 在接收到一行為語境雙對象清單時,流程進入步驟603 ;在步驟603,行為網絡服務131蘇 醒。在步驟605,所述行為服務網絡將所接收的清單中的原行為-語境雙對象寫入隊列133。 接著,在步驟607,行為隊列管理器137檢查所述清單的內容、摘錄每個雙對象,然後發動適 當的、處理所述雙對象需使用的行為-語境處理器135。
在步驟609,所述特定處理起135摘錄該雙對象中的個別行為因素。在大多數情況 下,一單一雙對象將轉換為許多行為因素。
接著,在步驟611,這些行為因素中的每個行為因素被分解為一個或多個知識實 體。在步驟613,行為語境處理器135對這些知識實體與來自在檢查中的所述雙對象的語 境對象進行比較,以創建行為原子。在步驟615,所述行為原子被寫入行為原子資料庫143。 此外,行為語境處理器135也將在步驟601中接收的初始原行為-語境雙對象存儲到原行 為語境雙對象資料庫139中。在步驟619,行為語境處理器135也將所摘錄的知識實體(見 步驟611)存儲到知識實體資料庫141中。所述過程在步驟621結束。
D.語境信息(客戶端)的附加採集
如先前所述,可能有必要採集獨立於圖5的流程圖中圖解的過程無關的語境信 息;在圖5的流程圖中圖解的過程中,採集是由一原行為的發生而觸發的。與一觸發行為無 關的語境信息的採集將允許為某種語境中一行為的不存在進行建模;對於定製化用戶設備 的目的而言,這可以像所述行為信息一樣有用。因此,圖7圖解所述客戶端軟體的一第二過 程,該第二過程用於採集圖5的流程圖中所示的過程(其涉及為響應一原行為的檢測而採 集語境信息)無關的語境信息。
在步驟701,語境服務110調用語境收聽器107來採集語境信息。在步驟703,語 境收聽器107辨別語境因素,以確定其應採集什麼語境數據,然後採集之。在步驟705,所述 語境收聽器將所採集的數據向所述語境服務報告,所述語境服務接著創建一語境對象。在 步驟707,所述語境服務將所述語境對象發送到所述伺服器端軟體。所述過程在步驟709結束ο
E.語境對象(服各器端)的處理
圖8圖解響應接收來自所述客戶端軟體的一語境對象(如在圖4圖解的流程的步 驟413中發送者)的伺服器端操作。在步驟801,從所述客戶端軟體接收所述語境對象。在 步驟803,語境服務122中的網絡服務171被調用來處理所述語境對象。在步驟805,所述 語境服務的網絡服務171將所述語境對象寫入語境隊列173。在步驟807,語境隊列管理器 175從隊列173獲取所述語境對象,然後「展開」所述語境對象,從而摘取所述獨立語境因 素。在步驟809,隊列管理器175使用所述語境對象中的時間戳作為一鍵,為每個語境因素 創建一分別的記錄語境因素對象。
在步驟811,語境隊列管理器175將所述記錄語境因素對象寫入集錄語境因素數 據庫179。所述過程在步驟813結束。
F.創津一行為樽式(服各器端)
圖9圖解與建模器服務118創建一行為模式有關的流程。這是根據所採集的行 為及語境信息創建一行為模式的過程,而且可以通過這個過程運行一推論詢問以獲得一答 復,例如基於語境的一集合的一個或多個用戶喜好(作為所述特定控制杆的一功能)。在 步驟901,模式服務118的排程器151調用一任務157,任務157接著諮詢模式配置資料庫 153,以便檢索特定模式配置155,用於創建一行為模式。接著,在步驟903,任務157從行為 原子資料庫143檢索適當的數據集,然後將所述數據集傳送到行為建模器119。在步驟905, 行為建模器119創建一行為模式。在步驟907,任務157促使以上創建的行為模式存儲在行 為模式數據存儲器120中。所述過程在步驟909結束。
G.推論詢問(客戶端)的形成
圖10圖解根據一個例示實施例的客戶端軟體的流程,所述流程用於創建及傳輸一推論詢問到所述伺服器端軟體。在步驟1001,一事件自動地發生或通過所述用戶的某種 行動發生,該事件調用相關的控制杆108。例如,如果所述控制杆是一無線個人數字助理 (PDA),所述控制杆可以由所述用戶按一按鈕來將所述無線個人數字助理(PDA)從睡眠模 式喚醒,使得無需以一閒置屏幕圖像來描繪所述設備的顯示屏幕。在步驟1003,控制杆108 呼叫推論服務111。在步驟1005,推論服務111調用語境服務110。在步驟1007,語境服務 110創建一語境對象(如先前連同圖4進行描述者)。在步驟1009,語境服務110將所述語 境對象送回推論服務111。在步驟1011,推論服務111將所述語境對象與所述控制杆信息 結合,以創建一推論詢問。在步驟1013,推論服務111將所述推論詢問發送到所述伺服器端 軟體。所述過程在步驟1015結束。
H.推論詢問答覆(服各器端)的產牛
圖11圖解所述伺服器端上響應接收自所述客戶端軟體的一推論詢問(圖10的步 驟1013)的流程。在步驟1101,所述伺服器端軟體接收來自客戶端軟體的一推論詢問。在 步驟1103,推論服務121的網絡服務161被喚醒。在步驟1105,網絡服務161將所述推論 詢問寫入推論服務隊列163。
接著,在步驟1107,詢問線程165被呼叫,而且詢問線程165使用所述推論詢問中 的模式的名稱來查找適當的模式配置。在步驟1109,推論服務121使用所述配置為引導來 創建帶有一空白行為實體的一新數據點。在步驟1111,詢問線程165首先檢查推論服務隊 列163,以確定其新近是否曾服務來自相同設備的相同推論詢問。如果其新近曾服務來自相 同設備的相同推論詢問,流程進入步驟1113 ;在步驟1113,相應的推論詢問答覆檢索自推 論詢問高速緩存器167。流程接著進入步驟1115,其中一推論詢問答覆被送回提出要求的 客戶端軟體。所述過程在步驟1117結束。
另一方面,如果未在推論詢問高速緩存器167中找到所述推論詢問,流程相反地 從步驟1111進入步驟1119。在步驟1119,所述推論服務到行為模式數據存儲器120,並使 用上述模式名稱及行為實體名稱為這個特定推論詢問檢索適當模式。接著,在步驟1121,推 論服務121調用所述模式,並通過所述模式運行帶有所述空白行為實體的數據點,以獲得 對所述推論詢問的答覆。接著,在步驟1123,推論服務121創建一推論詢問答覆。
流程接著進入步驟1115,將所述推論詢問答覆送回提出要求的客戶端軟體。所述 過程在步驟1117結束。
對本發明的一些特定實施例進行描述之後,本發明的各種改變、修改及改進將能 輕易地由本領域中的熟練人員所知曉。雖然未明確在此成熟,但由本公開使得顯而易見的 這些改變、修改及改進屬於本說明書的部分,而且屬於本發明的精神及範圍。因此,以上描 述是在例示本發明,而不是限制其包括範圍。本發明僅限於以下權利要求及其等效物所定義者。
權利要求
1.一種根據對一設備的至少一用戶的行為的觀察(作為語境的一功能)來改變所述設 備的行為(作為所述設備的語境的一功能)的方法,所述方法包括跟蹤與所述設備有關的語境信息; 跟蹤與所述設備有關的、所述設備的一用戶的行為信息;使所述行為信息與所述語境信息互相關,以確定與所述設備有關的用戶行為在被展示 時所處的語境;根據所跟蹤的語境信息及所跟蹤的行為信息,產生所述設備的一用戶的將來行為的一 預測模式,作為與所述設備有關的語境的一功能;以及根據所述預測模式,調整所述設備的操作,作為與所述設備有關的一集合的語境信息 的一功能。
2.如權利要求1所述的方法,其中所述「調整」的步驟是與所述設備有關的一當前集合 的語境信息的一功能。
3.如權利要求1所述的方法,其中所述跟蹤語境信息的步驟包括在預定觸發事件發生時採集語境信息的實例; 所述跟蹤行為信息的步驟包括採集關於用戶與所述設備互動的實例;以及 所述使行為信息與語境信息互相關的步驟包括(以行為信息為一實例)在採集行為信 息的實例之前檢索語境信息的最新近實例。
4.如權利要求3所述的方法,其中所述觸發事件包括一預定時間期的消逝。
5.如權利要求1所述的方法,其中所述跟蹤行為信息的步驟包括檢測用戶與所述設備互動的實例及存儲關於所述用戶 互動的行為信息的一實例;以及所述跟蹤語境信息的步驟包括採集語境信息的實例,以響應用戶與所述設備互動的實 例的檢測。
6.如權利要求3所述的方法,其中所述方法是在一網絡環境中執行及其中所述設備是 一網絡上的一節點,以及其中所述跟蹤語境信息的步驟及所述跟蹤行為信息的步驟是在所 述設備上執行,而所述「產生」的步驟是在所述網絡的一單獨的伺服器節點執行。
7.如權利要求6所述的方法,進一步包括通過所述網絡,將所述語境信息及所述行為信息傳送到所述伺服器節點。
8.如權利要求7所述的方法,其中所述「調整」的步驟包括將包括關於所述設備的語境信息的一實例的一集合的數據應用於所述預測模式; 根據所述預測模式,確定所述用戶的一預測行為,作為包括語境信息的一實例的所述 集合的數據的一功能;以及根據所述預測行為,調整所述設備的一操作參數。
9.如權利要求8所述的方法,其中包括關於所述設備的語境信息的一實例的所述集合 的數據包括關於所述設備的一當前語境的語境信息。
10.如權利要求8所述的方法,其中所述設備的所述操作參數包括所述設備的一閒置 屏幕的一顯示的一配置。
11.如權利要求10所述的方法,其中所述預測模式產生,作為所述網絡上的其他設備 的其他用戶的行為信息及相應語境信息的一功能。
12.如權利要求11所述的方法,其中所跟蹤的行為信息進一步包括一特定語境中一行 為的不存在。
13.如權利要求6所述的方法,其中所述設備包括多個設備及其中所述「調整」的步驟 可以包括根據所採集的有關一第二設備的信息來調整一第一設備的操作。
14.如權利要求13所述的方法,其中所採集的有關所述第二設備的信息包括與所述第 二設備有關的語境信息的一實例、與所述第二設備有關的行為信息的一實例以及與所述第 二設備有關的行為信息及互相關語境信息的至少其中之一。
15.如權利要求8所述的方法,進一步包括 提供多個建模算法,以產生所述預測模式;以及選擇所述建模算法的其中之一,作為包括關於所述設備的語境信息的一實例的所述集 合的數據的一功能。
16.如權利要求8所述的方法,進一步包括 提供多個建模算法,以產生所述預測模式;以及 其中所述「調整」的步驟包括將包括關於所述設備的語境信息的一實例的一集合的數據應用於所述多個預測模式 中的至少兩個預測模式;根據所述至少兩個預測模式中的每個預測模式,確定所述用戶的一預測行為,作為包 括語境信息的一實例的所述集合的數據的一功能;在所述至少兩個模式中選擇提供了一更佳預測行為的其中一個模式;以及 根據所選擇的預測行為,調整所述設備的一操作參數。
17.一種根據對一設備的至少一用戶的行為的觀察(作為語境的一功能)來改變所述 設備的行為(作為所述設備的語境的一功能)的方法,所述方法包括跟蹤與所述設備有關的語境信息; 跟蹤與所述設備有關的、所述設備的一用戶的行為信息;產生及存儲行為原子,所述行為原子包括一知識實體,該知識實體與其相應的語境信 息的所述實例結合;通過將一建模算法應用於所述行為原子以創建包括一有組織的集合的數據點,從而產 生所述設備的一用戶的將來行為的一預測模式,作為與所述設備有關的語境的一功能; 產生一空白數據點,所述空白數據點包括一集合的語境信息而沒有行為信息; 通過將所述空白數據點應用於所述模式,產生所述設備的一用戶的一預測行為;以及 調整所述設備的操作,作為所述預測行為的一功能。
18.如權利要求17所述的方法,其中所述空白數據點包括關於所述設備的當前語境的語^ife息。
19.如權利要求17所述的方法,其中所述「產生一預測行為」的步驟被執行來響應一觸發事件。
20.如權利要求19所述的方法,其中所述觸發事件是與所述設備有關的一用戶行為。
21.如權利要求19所述的方法,進一步包括 檢測所述觸發事件,以及產生一推論詢問以響應所述觸發事件,所述推論詢問包括語境信息的一實例以及至少一個需預測的行為類別;其中在所述推論詢問中識別的所述行為類別的所述預測行為的產生步驟被執行來響 應所述推論詢問。
22.如權利要求21所述的方法,進一步包括 維護推論詢問及對它們的答覆的一存儲器;在產生所述預測行為以響應一推論詢問之前,檢查推論詢問及對它們的答覆的所述存 儲器,以確定先前是否曾經向一相似的推論詢問提供服務;以及如果先前曾經向一相似的推論詢問提供服務,使用所述相應的推論詢問答覆。
23.如權利要求21所述的方法,其中所述推論詢問進一步包括需使用的一預測模式的 一標識,以產生一答覆予所述推論詢問,及其中在所述推論詢問中識別的所述預測模式用 於產生所述推論詢問答覆。
24.一種根據對一設備的至少一用戶的行為的觀察(作為語境的一功能)來改變所述 設備的行為(作為所述設備的語境的一功能)的方法,所述方法包括在一設備處,採集包括所述設備的使用的多個實例的行為信息; 在所述設備處,採集包括所述設備的語境的多個實例的語境信息,語境的每個實例相 應於所述設備的使用的所述實例的其中之一,而且語境的每個實例此後稱為一語境對象;通過一網絡,將帶有所述相應語境對象(此後稱為行為-語境雙對象)的所述設備的 使用的所述實例傳送到一伺服器;在所述伺服器處接收所述行為-語境雙對象; 在所述伺服器處,從每個行為-語境雙對象摘錄一行為因素; 在所述伺服器處,將每個行為因素轉換為至少一個知識實體; 在所述伺服器處,將每個知識實體與所述行為-語境雙對象(所述知識實體源自所述 行為-語境雙對象)的所述語境對象結合,所述結合此後稱為一行為原子;在所述伺服器處,根據所述行為原子,創建關於所述設備的用戶行為的一預測模式,所 述預測模式包括源自所述行為原子的多個數據點;在所述設備處,產生包括一語境對象的一推論詢問; 通過所述網絡,將所述推論詢問傳送到所述伺服器; 在所述伺服器處,接收所述推論詢問;在所述伺服器處,產生包括來自所述推論詢問的所述語境對象的一空白數據點; 將所述空白數據點應用於所述預測模式,以產生包括所述設備的一用戶的一預測行為 的一推論詢問答覆,作為所述語境對象的一功能;通過所述網絡,將所述推論詢問答覆傳送到所述設備;以及 改變所述設備的一操作,作為所述推論詢問答覆的一功能。
25.如權利要求M所述的方法,進一步包括在所述伺服器處,存儲所述推論詢問及相應的推論詢問答覆; 在所述伺服器處,為響應一推論詢問的接收,確定先前是否曾經存儲對一相似推論詢 問的一推論詢問答覆;以及如果先前曾經存儲一相似推論詢問,使用相應於所述先前存儲的推論詢問的推論詢問 答覆,產生對所述即時推論詢問的一推論詢問答覆。
26.如權利要求M所述的方法,進一步包括在所述伺服器處,將所述行為原子存儲於一行為原子資料庫;在所述伺服器處,將所述行為-語境雙對象存儲於一行為-語境雙對象資料庫;以及在所述伺服器處,將所述知識實體存儲於一知識實體資料庫。
27.如權利要求M所述的方法,其中所述傳送行為-語境雙對象的步驟包括 存儲多個行為-語境雙對象於所述設備;以及向所述伺服器傳送多個行為-語境雙對象的一清單。
28.如權利要求M所述的方法,進一步包括採集語境對象(不考慮所述設備的伴隨使用),以跟蹤關於所述設備的行為的不存在, 作為語境的一功能(此後稱為空白語境對象);以及以相似於處理所述行為-語境雙對象那樣處理所述空白語境對象,以便為所述模式創 建附加數據點。
29.如權利要求M所述的方法,進一步包括 在所述伺服器處提供多個預測模式;以及選擇所述預測模式的其中之一,作為所述相應推論詢問的一功能。
30.如權利要求四所述的方法,其中所述推論詢問進一步包括與該推論詢問連同使用 的所述預測模式的其中之一的一標識。
31.如權利要求M所述的方法,其中所述預測模式產生,作為所述網絡上的其他設備 的其他用戶的行為原子的一功能。
32.如權利要求M所述的方法,其中所述設備包括多個設備及其中所述改變的步驟包 括根據所採集的關於一第二設備的信息來改變一第一設備的操作。
33.如權利要求32所述的方法,其中所採集的關於所述第二設備的所述信息包括在所 述第二設備產生的一語境對象、根據來自所述第二設備的信息產生的一行為原子以及與所 述第二設備有關的一行為-語境雙對象的至少其中之一。
34.一種根據對一設備的至少一用戶的行為的觀察(作為語境的一功能)來改變所述 設備的行為(作為所述設備的語境的一功能)的方法,所述方法包括採集包括所述設備的使用的多個實例的行為信息;採集包括所述設備的語境的多個實例的語境信息,語境的每個實例相應於所述設備的 使用的所述實例的其中之一,而且語境的每個實例此後稱為一語境對象;產生包括帶有所述相應語境對象的所述設備的使用的所述實例的行為-語境雙對象; 從每個行為-語境雙對象摘錄一行為因素; 將每個行為因素轉換為至少一個知識實體;將每個知識實體與所述行為-語境雙對象(所述知識實體源自所述行為-語境雙對 象)的所述語境對象結合,所述結合此後稱為一行為原子;根據所述行為原子,創建關於所述設備的用戶行為的一預測模式,所述預測模式包括 源自所述行為原子的多個數據點;產生包括一語境對象的一推論詢問;產生包括來自所述推論詢問的所述語境對象的一空白數據點; 將所述空白數據點應用於所述預測模式,以產生包括所述設備的一用戶的一預測行為的一推論詢問答覆,作為所述語境對象的一功能;以及改變所述設備的一操作,作為所述推論詢問答覆的一功能。
35.如權利要求34所述的方法,進一步包括 存儲所述推論詢問及相應的推論詢問答覆;為響應一推論詢問的產生,確定先前是否曾經存儲對一相似推論詢問的一推論詢問答 復;以及如果先前曾經存儲一相似推論詢問,使用相應於所述先前存儲的推論詢問的推論詢問 答覆,產生對所述即時推論詢問的一推論詢問答覆。
36.如權利要求34所述的方法,進一步包括 將所述行為原子存儲於一行為原子資料庫;將所述行為-語境雙對象存儲於一行為-語境雙對象資料庫;以及 將所述知識實體存儲於一知識實體資料庫。
37.如權利要求34所述的方法,進一步包括採集語境對象(不考慮所述設備的伴隨使用),以跟蹤關於所述設備的行為的不存在, 作為語境的一功能(此後稱為空白語境對象);以及以相似於處理所述行為-語境雙對象那樣處理所述空白語境對象,以便為所述模式創 建附加數據點。
38.如權利要求34所述的方法,其中所述推論詢問 在所述伺服器處提供多個預測模式;以及選擇所述預測模式的其中之一,作為所述相應推論詢問的一功能。
39.如權利要求38所述的方法,其中所述推論詢問進一步包括與該推論詢問連同使用 的所述預測模式的其中之一的一標識。
40.如權利要求34所述的方法,其中所述預測模式產生,作為所述網絡上的其他設備 的其他用戶的行為原子的一功能。
41.如權利要求34所述的方法,其中所述設備包括多個設備及其中所述改變的步驟包 括根據所採集的關於一第二設備的信息來改變一第一設備的操作。
42.如權利要求41所述的方法,其中所採集的關於所述第二設備的所述信息包括在所 述第二設備產生的一語境對象、根據來自所述第二設備的信息產生的一行為原子以及與所 述第二設備有關的一行為-語境雙對象的至少其中之一。
43.一種包括計算機可執行指令的計算機編程產品,在由一計算設備執行時,所述計算 機可執行指令根據對一設備的至少一用戶的行為的觀察(作為語境的一功能),改變所述 設備的行為(作為所述設備的語境的一功能),所述計算機編程產品包括計算機可執行指令,以採集包括所述設備的使用的多個實例的行為信息; 計算機可執行指令,以採集包括所述設備的語境的多個實例的語境信息,語境的每個 實例相應於所述設備的使用的所述實例的其中之一,而且語境的每個實例此後稱為一語境 對象;計算機可執行指令,以接收所述設備的一用戶的一預測行為,作為所述設備的語境的 一功能;以及計算機可執行指令,以根據所述預測模式,調整所述設備的操作,作為與所述設備有關的一當前集合的語境信息的一功能。
44.如權利要求43所述的計算機編程產品,其中所述設備的所述操作參數包括所述設 備的一閒置屏幕的一顯示的一配置。
45.如權利要求43所述的計算機編程產品,進一步包括 計算機可執行指令,以產生包括一語境對象的一推論詢問;以及 計算機可執行指令,以通過一網絡,將所述推論詢問傳送到一伺服器;其中用於接收所述設備的一用戶的一預測行為(作為所述設備的語境的一功能)的所 述計算機可執行指令包括用於通過所述網絡接收一推論詢問答覆的計算機可執行指令。
46.如權利要求45所述的計算機編程產品,其中所述推論詢問進一步包括與該推論詢 問連同使用的所述預測模式的其中之一的一標識。
47.如權利要求43所述的計算機編程產品,進一步包括計算機可執行指令,以通過一網絡,將帶有所述相應語境對象(此後稱為行為-語境雙 對象)的所述設備的使用的所述實例傳送到一伺服器。
48.如權利要求47所述的計算機編程產品,其中用於傳送所述行為-語境雙對象的所 述計算機可執行指令包括計算機可執行指令,以存儲多個行為-語境雙對象及向所述伺服器傳送多個行為-語 境雙對象的一清單。
49.一種包括計算機可執行指令的計算機編程產品,在由一計算設備執行時,所述計算 機可執行指令根據對一設備的至少一用戶的行為的觀察(作為語境的一功能),產生所述 設備的一用戶的一行為的一預測(作為所述設備的語境的一功能),所述計算機編程產品 包括計算機可執行指令,以接收包括所述設備的使用的多個實例的行為信息及包括所述設 備的語境的多個實例的語境信息,語境的每個實例相應於所述設備的使用的所述實例的其 中之一,而且語境的每個實例此後稱為一語境對象;計算機可執行指令,以使所述行為信息與所述語境信息互相關,以確定與所述設備有 關的用戶行為在被展示時所處的語境;計算機可執行指令,以根據所跟蹤的語境信息及所跟蹤的行為信息,產生所述設備的 一用戶的將來行為的一預測模式,作為與所述設備有關的語境的一功能;計算機可執行指令,以將包括關於所述設備的語境信息的一實例的一集合的數據應用 於所述預測模式;以及計算機可執行指令,以根據所述預測模式,確定所述用戶的一預測行為,作為包括語境 信息的一實例的所述集合的數據的一功能。
50.如權利要求49所述的計算機編程產品,進一步包括計算機可執行指令,以傳送所 述預測行為到所述設備。
51.如權利要求49所述的計算機編程產品,進一步包括計算機可執行指令,以接收其他設備的其他用戶的行為信息及語境信息; 其中用於產生所述預測模式的所述計算機可執行指令產生所述預測模式,作為所述網 絡上的其他設備的其他用戶的行為信息及相應語境信息的一進一步功能。
52.如權利要求49所述的計算機編程產品,其中所述設備包括多個設備及其中用於產生所述預測模式的所述計算機可執行指令包括根據所述預測模式來確定關於一第一設備 的一用戶的一預測行為(作為關於一第二設備的行為及語境信息的一功能)的計算機可執 行指令。
53.如權利要求49所述的計算機編程產品,進一步包括計算機可執行代碼,以提供多個預測模式;以及計算機可執行代碼,以選擇所述預測模式的其中之一,作為包括關於所述設備的語境 信息的一實例的所述集合的數據的一功能。
54.如權利要求49所述的計算機編程產品,其中用於接收行為信息及語境信息的所述計算機可執行代碼包括用於接收包括一知識實 體(該知識實體與其相應的語境信息的所述實例結合)的行為原子的計算機可執行代碼;用於產生一預測模式的所述計算機可執行指令包括計算機可執行代碼,以將一建模算法應用於所述行為原子以創建包括一有組織的集合 的數據點;計算機可執行代碼,以產生一空白數據點,所述空白數據點包括一集合的語境信息而 沒有行為信息;以及計算機可執行代碼,以通過將所述空白數據點應用於所述模式,產生所述設備的一用 戶的一預測行為。
55.如權利要求49所述的計算機編程產品,進一步包括計算機可執行指令,以接收一推論詢問,所述推論詢問包括語境信息的一實例以及至 少一個需預測的行為類別;其中將包括關於所述設備的語境信息的一實例的一集合的數據應用於所述預測模式 的計算機可執行指令被執行來響應所述推論詢問;以及其中根據所述預測模式確定所述用戶的一預測行為的所述計算機可執行指令產生一 答覆予所述推論詢問。
56.如權利要求55所述的計算機編程產品,進一步包括計算機可執行指令,以維護推論詢問及對它們的答覆的一存儲器;計算機可執行指令,以在將包括關於所述設備的語境信息的一實例的一集合的數據應 用於所述預測模式的步驟被執行以響應所述推論詢問之前,檢查推論詢問及對它們的答覆 的所述存儲器,以確定先前是否曾經向一相似的推論詢問提供服務;以及如果先前曾經向一相似的推論詢問提供服務,使用所述相應的推論詢問答覆,而不將 包括關於所述設備的語境信息的一實例的一集合的數據應用於所述預測模式。
57.如權利要求56所述的計算機編程產品,其中所述推論詢問進一步包括需使用的一 預測模式的一標識,及其中將包括關於所述設備的語境信息的一實例的一集合的數據應用 於所述預測模式的步驟被執行以響應所述推論詢問的所述計算機可執行指令使用在所述 推論詢問中識別的所述算法來產生所述預測模式。
58.一種包括計算機可執行指令的計算機編程產品,在由一計算設備執行時,所述計算 機可執行指令根據對一設備的至少一用戶的行為的觀察(作為語境的一功能),產生所述 設備的一用戶的一行為的一預測(作為所述設備的語境的一功能),所述計算機編程產品 包括計算機可執行指令,以接收來自一設備的行為-語境雙對象,每個所述行為-語境雙對 象包括帶有一相應語境對象的所述設備的一使用的一實例,所述相應語境對象包括所述設 備的所述使用的所述實例周圍的、所述設備的語境信息;計算機可執行指令,以從每個行為-語境雙對象摘錄一行為因素; 計算機可執行指令,以將每個行為因素轉換為至少一個知識實體; 計算機可執行指令,以將每個知識實體與所述行為-語境雙對象(所述知識實體源自 所述行為-語境雙對象)的所述語境對象結合,所述結合此後稱為一行為原子;計算機可執行指令,以根據所述行為原子,創建關於所述設備的用戶行為的一預測模 式,所述預測模式包括源自所述行為原子的多個數據點;計算機可執行指令,以接收包括一語境對象的所述推論詢問; 計算機可執行指令,以產生包括來自所述推論詢問的所述語境對象的一空白數據點; 計算機可執行指令,以將所述空白數據點應用於所述預測模式,以產生包括所述設備 的一用戶的一預測行為的一推論詢問答覆,作為所述語境對象的一功能;以及 計算機可執行指令,以將所述推論詢問答覆傳送到所述設備。
59.如權利要求58所述的計算機編程產品,進一步包括 計算機可執行指令,以存儲所述推論詢問及相應的推論詢問答覆;計算機可執行指令,以響應一推論詢問的接收,確定先前是否曾經存儲對一相似推論 詢問的一推論詢問答覆;以及計算機可執行指令,以便如果先前曾經存儲一相似推論詢問,使用相應於所述先前存 儲的推論詢問的推論詢問答覆,產生對所述即時推論詢問的一推論詢問答覆。
60.如權利要求59所述的計算機編程產品,進一步包括 計算機可執行指令,以將所述行為原子存儲於一行為原子資料庫;計算機可執行指令,以將所述行為-語境雙對象存儲於一行為-語境雙對象資料庫;以及計算機可執行指令,以將所述知識實體存儲於一知識實體資料庫。
61.如權利要求58所述的計算機編程產品,進一步包括計算機可執行指令,以提供多個預測模式,以用於產生所述預測模式;以及 計算機可執行指令,以選擇所述預測模式的其中之一,以產生一推論詢問答覆,作為所 述相應推論詢問的一功能。
62.一種根據對一設備的至少一用戶的行為的觀察(作為語境的一功能)來預測一自 願行為將被展示時所處的一語境的方法,所述方法包括跟蹤與所述設備有關的語境信息; 跟蹤與所述設備有關的、所述設備的一用戶的行為信息;使所述行為信息與所述語境信息互相關,以確定與所述設備有關的用戶行為在被展示 時所處的語境;根據所跟蹤的語境信息及所跟蹤的行為信息,產生所述設備的一用戶的將來行為的一 預測模式,作為與所述設備有關的語境的一功能;以及根據所述預測模式,預測所述設備的一用戶的一語境,作為與所述設備有關的一行為 的一功能。
63.如權利要求62所述的方法,其中所述跟蹤語境信息的步驟包括採集語境信息的實例; 所述跟蹤行為信息的步驟包括採集關於用戶與所述設備互動的實例;以及 所述使行為信息與語境信息互相關的步驟包括(以行為信息為一實例)檢索語境信息 的當時相應實例。
64.如權利要求63所述的方法,其中所述「預測」的步驟包括將包括與所述設備有關的行為信息的一實例的一集合的數據應用於所述預測模式;以及根據所述預測模式,確定所述設備的一預測集合的語境信息,作為包括語境信息的一 實例的所述集合的數據的一功能。
65.如權利要求64所述的方法,其中包括關於所述設備的行為信息的一實例的所述集 合的數據包括當前行為信息。
66.如權利要求63所述的方法,其中所跟蹤的行為信息進一步包括一特定語境中一行 為的不存在。
67.如權利要求64所述的方法,進一步包括 提供多個建模算法,以用於產生所述預測模式;以及選擇所述建模算法的其中之一,作為包括與所述設備有關的行為信息的一實例的所述 集合的數據的一功能。
全文摘要
用於預測性地適應設備的特性的系統、設備、技術及方法,作為一用戶的歷史行為(例如習性)以及表現這些行為的特定語境的一功能。這樣的語境實質上可以是任何事物,比如一周中的周幾、一日中的時間、季節、潮汐、溫度、天氣、用戶情緒、前一天的一特定運動競賽的得分情況、月相、用戶位置等等。根據軟體的觀察,觀察用戶的習性及這些習性發生的語境,以及根據用戶的行為模式及其語境定製化設備。
文檔編號G06N5/00GK102037481SQ200980118360
公開日2011年4月27日 申請日期2009年3月19日 優先權日2008年3月19日
發明者奧馬爾·格林, 德西蕾·戈斯比 申請人:蘋果核網絡股份有限公司