社交網絡用戶的位置估計的方法和系統的制作方法
【專利摘要】本發明的各個實施例涉及估計社交網絡用戶的位置。在一個實施例中,接收給定用戶產生的多個社交媒體消息。從所述社交媒體消息中提取多個位置特征。每個所述位置特征通過分類器集成中的至少一個分類器進行處理。通過每個所述分類器產生每個所述社交媒體消息的位置分類。每個分類包括位置以及與該位置關聯的權值。根據所述位置分類的所述權值的組合從所述位置分類中選擇一個位置作為所述給定用戶的位置。
【專利說明】社交網絡用戶的位置估計的方法和系統
【技術領域】
[0001]本發明一般地涉及位置估計,更具體地說,本發明涉及根據社交網絡消息估計用戶位置。
【背景技術】
[0002]社交網絡服務和社交網絡消息傳送近幾年得到迅速發展。這促使大量研究的重點放在通過社交網絡消息挖掘各種應用(例如,事件檢測,傳染病傳播和新聞推薦)的數據。上述以及其它許多應用都可從有關用戶位置的信息中獲益。但是,與社交網絡消息關聯的位置數據目前非常稀少,甚至不存在。
【發明內容】
[0003]在一個實施例中,公開了ー種方法。所述方法包括接收給定用戶產生的多個社交媒體消息。從所述社交媒體消息中提取多個位置特征。通過分類器集成中的至少ー個分類器處理每個所述位置特征。通過每個所述分類器產生每個所述社交媒體消息的位置分類。每個分類包括位置以及與該位置關聯的權值。根據所述位置分類的所述權值的組合從所述位置分類中選擇ー個位置作為所述給定用戶的位置。
[0004]在另ー實施例中,公開了ー種系統。所述系統包括存儲器和在通信上與所述存儲器相連的處理器。位置估計器在通信上與所述存儲器和所述處理器相連。所述位置估計器被配置為接收給定用戶產生的多個社交媒體消息。從所述社交媒體消息中提取多個位置特征。通過分類器集成中的至少ー個分類器處理每個所述位置特征。通過每個所述分類器產生每個所述社交媒體消息的位置分類。每個分類包括位置以及與該位置關聯的權值。根據所述位置分類的所述權值的組合從所述位置分類中選擇ー個位置作為所述給定用戶的位置。
[0005]在又一實施例中,公開了ー種包括計算機可讀存儲介質的計算機程序產品,所述計算機可讀存儲介質上面包含計算機可讀程序代碼。所述計算機可讀程序代碼包括被配置為接收給定用戶產生的多個社交媒體消息的計算機可讀程序代碼。從所述社交媒體消息中提取多個位置特征。通過分類器集成中的至少ー個分類器處理每個所述位置特征。通過每個所述分類器產生每個所述社交媒體消息的位置分類。每個分類包括位置以及與該位置關聯的權值。根據所述位置分類的所述權值的組合從所述位置分類中選擇ー個位置作為所述給定用戶的位置。
【專利附圖】
【附圖說明】
[0006]附圖與下面的【具體實施方式】一起在此納入并構成本說明書的一部分,用于進一歩闡述各種實施例以及解釋完全根據本發明的各種原理和優點,在所述附圖中,相同的參考標號指示各個單獨的圖之間相同或功能相似的部件,其中:
[0007]圖1是示出根據本發明的一個實施例的操作環境的框圖;[0008]圖2是示出根據本發明的一個實施例的統計分類器的框圖;
[0009]圖3示出根據本發明的一個實施例的社交網絡消息的實例;
[0010]圖4示出根據本發明的一個實施例通過社交網絡消息識別的位置特征;
[0011]圖5是示出根據本發明的一個實施例的啟發式分類器的框圖;
[0012]圖6是示出在本發明的一個實施例中使用的美國四個時區中每人每天天每小時的平均消息發送量的實例的圖形;
[0013]圖7是示出在本發明的一個實施例中使用的跨時區消息發送量標準差的變形的圖形;
[0014]圖8是示出根據本發明的一個實施例的分類器集成的框圖;
[0015]圖9是示出根據本發明的一個實施例的分層式分類器集成的框圖;
[0016]圖10是示出根據本發明的一個實施例判定社交網絡用戶位置的過程的操作流程圖;以及
[0017]圖11是示出可在本發明的實施例中使用的信息處理系統的框圖。
【具體實施方式】
[0018]圖1示出適用于本發明的實施例的操作環境100。如圖所示,一個或多個用戶系統102在通信上與一個或多個網絡104相連。用戶設備102的實例包括膝上型計算機、筆記本計算機、個人計算機、平板計算設備、無線通信設備、個人數字助理、游戲裝置等。在該實施例中,網絡104為廣域網、局域網、有線網絡、無線網絡和/或類似的網絡。
[0019]ー個或多個社交網絡服務器106和至少ー個位置服務器108也在通信上與網絡104相連。社交網絡服務器106為用戶設備102的用戶提供ー個或多個社交網絡服務(和/或環境)110。社交網絡服務/環境110的實例包括微博服務和社交網站。用戶通過諸如Web瀏覽器或應用編程接ロ(API)之類的接ロ 112訪問社交網絡服務110。例如,用戶能夠通過接ロ 112將諸如微博和涂鴉墻之類的社交網絡消息提交到社交網絡服務器106。
[0020]位置服務器108包括位置估計器114,用于根據用戶的社交網絡消息116估計他們的位置。在該實施例中,位置估計器114使用用戶的社交網絡消息及其社交網絡消息發送行為,以不同的粒度(例如,國家、城市、州、時區和/或地理區域)估計或判定這些用戶的家庭住址。用戶的“家庭”住址是指以ー個或多個粒度(通過術語“家庭住址”、“主位置”和“位置”表示,這些術語可以互換地使用)表示的用戶居住/駐留的位置。位置估計器114從社交網絡服務110檢索/接收社交網絡消息116。在該實施例中,位置估計器114使用各種機制(例如,社交網絡服務110提供的允許位置估計器114從服務110接收社交網絡消息流的API)獲取社交網絡消息116。
[0021]位置估計器114包括消息預處理器118、一個或多個統計分類器120、啟發式分類器122、基于行為的分類器124,以及ー個或多個可預測性分類器126。分類器的各種實例包括NaiVe Bayes、NaiVe Bayes Multimonial、序列最小優化(SMO)(支持向量機(SVM)實現)、J48、PART和Random Forest。消息預處理器118從ー個或多個給定用戶產生的社交網絡消息116提取各種位置特征(也稱為“特征”或“術語”)并將這些特征(術語)傳遞到對應的分類器120、122、124和126。統計分類器、啟發式分類器和基于行為的分類器120、122和124分析這些特征并輸出用戶的位置。在該實施例中,一個或多個統計分類器120在執行位置判定過程時利用地理數據128。地理數據的ー個實例是國家、州/地區、城市、郡等的名稱。地理數據128由人類用戶手動輸入和/或從諸如美國地質勘探局(USGS)地名錄之類的源獲取。可預測性分類器126分析針對給定統計分類器以及給定分類器120、122和124的統計模型提取的特征來判定是否可以判定用戶的位置。
[0022]在該實施例中,統計分類器120、啟發式分類器122和基于行為的分類器124中的ー個或多個通過提取自訓練數據集(包括社交網絡消息測試樣本)的不同特征(術語)進行預訓練。可預測性分類器126根據正確或不正確的統計分類器、啟發式分類器和基于行為的分類器的輸出進行預訓練。[0023]針對統計分析器120提取自社交網絡消息的特征實例包括單詞、標簽(或其它任何元數據標簽)、地名(例如,國家、州、郡和城市位置名稱),以及位于地名本地的術語。因此,在該實施例中,統計分類器120包括根據單詞特征預訓練的分類器202、根據標簽特征預訓練的分類器204,以及根據地名特征預訓練的分類器206,如圖2所示。這些預訓練的分類器還稱為預訓練統計模型,它們各自包括與給定數量的分類關聯的預訓練特征集,這些分類的數量等于訓練數據集粒度內的總位置數。例如,如果訓練數據集的粒度位于城市級別,則統計分類器202、204和206的總分類數對應于訓練數據集中的總城市數。位置估計器114的位置分類過程利用統計分類器的統計模型(以及啟發式分類器和/或基于行為的分類器的預訓練模型),根據消息116中的特征識別用戶的家庭住址。
[0024]訓練數據集中的每個消息都使用與產生消息的用戶關聯的位置進行注釋。該注釋可根據實際用戶給定的位置產生。例如,參與訓練過程的用戶可以提供他們的家庭住址作為訓練過程的一部分。在另ー實例中,注釋可根據發出社交網絡消息的位置產生。在該實例中,使用地理編碼API,根據每個城市的經緯度獲取邊界框。然手使用社交網絡服務的流式API的地理標簽過濾選項針對每個邊界框記錄社交網絡消息,直到從每個位置的給定數量的唯一用戶處接收到給定數量的消息。假設與發現用戶的邊界框對應的城市就是該用戶的家庭住址。
[0025]在訓練過程中,訓練數據集中的每個消息的特征被輸入適當的分類器202、204和206。消息的家庭住址也被輸入分類器202、204和206。然后根據這些輸入,對姆個分類器執行統計式機器學習過程。作為此訓練過程的結果,產生在位置分類過程期間使用的已訓練統計模型。在訓練期間,統計模型可以針對位于每個粒度級別上的每個分類器202、204和206產生。另外,分類器202、204和206可根據在位置分類過程期間執行的分類繼續訓練。盡管該訓練分類器的實例應用于分類器120,但是該實例可以類似地應用于訓練啟發式分類器和基于行為的分類器。
[0026]訓練完分類器之后,可以執行位置分類。在位置分類過程期間,位置估計器114獲取一個或多個與ー個或多個給定用戶關聯的社交網絡消息116。圖3示出位置估計器114獲取的示例性社交網絡消息300。消息預處理器118處理社交網絡消息116以提取各種特征(術語),這些特征被傳遞到分類器120、122和124。為了針對統計分類器202、204和206提取這些特征,消息預處理器118執行標記化過程以通過消息116產生標記,同時刪除標點和其它空格。然后刪除所有包括統ー資源定位器(URL)或特殊字符(例如“ぎ’、“?”、“ ! ”)的標記。但是不刪除來自位置服務的包括URL的標記以及表示以# (例如,圖3中的標簽#Porland)開頭的標簽(或其它感興趣的元數據標簽)的標記。[0027]提取完標記之后,使用各種過程提取特定于每個統計分類器202、204和206的特征。對于單詞分類器202,消息預處理器118從標記中提取所有單詞,包括該實施例中的名詞和非停止詞。消息預處理器118利用詞性標記過程識別名詞標記中的所有單詞。形容詞、動詞、介詞以及類似的詞性不用作該實施例中的單詞分類器202的特征,因為這些詞經常是通用的,不能區分位置。消息預處理器118還將標記中的單詞與預定義的停止詞列表進行比較,列表中的單詞是在處理自然語言數據(文本)之前或之后篩選出的單詞。然后從標記中刪除所有包括匹配此列表的單詞的標記。通過這種方式,該實施例的消息預處理器118僅提取作為名詞和非停止詞的單詞。
[0028]對于標簽分類器204,消息預處理器118識別/提取所有以#號(或其它任何感興趣的符號)開頭的標記。對于地名分類器206,消息預處理器118提取在社交網絡消息116中出現的ー組特征以及從地理數據128中提取匹配的美國城市名和州名。由于并非所有城市名或州名都是單個單詞,因此消息預處理器118首先通過標記(可以是序列表)產生ニ元詞組和三元詞組。消息預處理器118然后將所有一元詞組、ニ元詞組和三元詞組與地理數據128中的城市名和州名進行比較。將所有匹配的名稱用作地名分類器206的特征。
[0029]消息預處理器118針對特定統計分類器識別/提取ー組特征之后,在該實施例中,消息預處理器118識別這些特征中的哪些特征對于感興趣的粒度級別上的位置特別具有區分性(或位干“本地”)。例如,從圖3中的第四社交網絡消息提取的特征“BaSeballTeam_A”位于城市“ Boston”本地。消息預處理器118利用ー種或多種啟發法從提取自消息116的特征集中選擇本地特征。在該實施例中,消息預處理器118計算針對每個位置選定的特征的頻率以及在其社交網絡消息中使用該位置的人數。消息預處理器118保留位于該位置上至少閾值百分比人數的消息中的特征,其中該閾值為根據經驗選擇的參數(例如5%)。此過程還消除了可能的嘈雜特征。
[0030]消息預處理器118然后針對每個特征(術語)計算位置的平均和最大條件概率,并且測試這些概率之差是否高于閾值Tdiff。如果該測試成功,則消息預處理器118進ー步測試最大條件概率是否高于閾值!1.。這樣確保特征具有朝向特定位置的高偏置。應用這些啟發法允許消息預處理器118 識別本地特征并消除大量與跨所有位置的統一分布關聯的特征。高于閾值的非限制性實例包括Tdiff=0.1并且Tmax=0.5。圖4示出示例性特征及其條件分布。這些本地特征變為被輸入各個統計分類器202、204和206的特征。因此,統計分類器202、204和206能夠接收本地術語,以及上述各種特征(術語)。
[0031]每個已提取的特征208、210和212然后被傳遞到對應的統計分類器202、204和206,如圖2所示。每個統計分類器202、204和206接收從消息預處理器118接收對應的特征208、210和212之后,每個分類器202、204和206將統計模型應用于這些特征并根據它們判定用戶位置的概率。每個分類器然后輸出位置分類214、216和218,這些分類包括作為用戶位置最高概率的位置。例如,單詞分類器202根據消息內的單詞輸出位置。標簽分類器204根據消息內的標簽輸出位置。地名分類器206根據消息內的地名輸出位置。如果使用本地特征作為輸入,則這些分類器202、204和206也可以根據本地術語輸出位置。這些分類器202、204和206的輸出214、216和218可進行組合以創建分類器集成,該集成根據各個分類器202、204和206的輸出214、216和218的組合輸出用戶位置。
[0032]除了統計分類器202、204和206之外,位置估計器114還利用以不同的粒度判定/預測用戶位置的啟發式分類器122。例如,圖5示出第一啟發式分類器502。該分類器502是本地啟發式分類器,專門對城市或州級別的位置進行分類。該分類器502利用的啟發法是:用戶在諸如Tweet之類的社交消息中提及其所在城市和州的頻率要大于其它城市和州。因此,本地啟發式分類器502從消息116中接收城市和州術語作為輸入并計算與給定用戶關聯的給定數量消息中提及的城市和州的頻率/計數。本地啟發式分類器502利用該計數作為給定用戶和與給定城市或州的匹配分數。本地啟發式分類器502輸出位置分類508,其中包括具有最高匹配分數的城市或州作為給定用戶的位置。
[0033]第二啟發式分類器504是訪問歷史啟發式分類器,該分類器適用于所有粒度上的位置分類。該分類器504的啟發法是:用于訪問自家周圍地點的頻率要大于訪問其它位置周圍地點的頻率。為了檢索用戶訪問歷史,消息預處理器搜索給定用戶消息中由位置服務產生的URL(例如,圖3中的第二社交網絡消息包含一個這樣的URL)。消息預處理器118訪問URL所指的內容,并使用與位置服務關聯的ー個或多個API檢索與內容關聯的場所位置信息(城市、州等)。該場所位置信息510被輸入訪問歷史啟發式分類器504,該分類器針對所需粒度級別上的已訪問位置創建基于頻率的統計。訪問歷史啟發式分類器504輸出用戶的位置分類512,其中包括具有最高頻率的位置。ー個或多個這些啟發式分類器的輸出可組合在一起,另外與一個或多個統計分類器的輸出共同創建分類器集成,下面將進行介紹。
[0034]統計分類器和啟發式分類器根據用戶的社交網絡消息116的內容判定用戶位置。在某些實施例中,用戶位置備選地或補充地根據用戶的消息發送行為來判定。基于行為的分類器124根據用戶發送/產生其社交網絡消息116的時間判定用戶位置。圖6示出美國四個時區(通過GMT示出)中每人每天天每小時的平均消息發送量。根據該圖形600,全天的消息發送行為在各個時區的形狀均相同,但是其中存在顯著的時間偏移,分類器124可利用此偏移預測用戶所在時區。
[0035]基于行為的分類器124通過將一天分為具有指定持續時間的大小相等的時隙來配置。每個時隙都表示分類器124的特征維度。分類器124的時隙可設置為任意持續時間,在該實例中,根據1分鐘持續時間來設置。對于每個時隙,分類器124針對ー組消息116中的每個用戶,計算在該時隙期間發送的消息數量。由于一天內的總消息發送頻率在不同的用戶之間有所變化,因此某個用戶在某個時隙中的消息數量通過該用戶的總消息數量進行歸ー化。圖6示出不同時區中消息發送量之差在一天內不統一。圖7中的圖形700示出跨時區消息發送量標準差的變形。這些變形表示一天內的不同時期更容易區分,該變形通過使用每個時隙的標準差對該時隙的特征值進行加權來捕獲。
[0036]如果從用戶消息中提取的特征與基于統計內容的位置分類器120經過訓練的模型所使用的區分特征沒有足夠的重疊,則可能無法通過該分類器正確地預測用戶位置。這對于啟發式分類器122也是適用的;如果所提及的本地地名或位置訪問不存在或不具有可區分性,則可能無法正確地預測用戶。因此,判定用戶位置是否可通過這些類型的分類器判定/預測是有利的。另外,集成分類器可通過去除無法針對其特征區分性較弱(適用于統計分類器和啟發式分類器)并且與經過訓練的模型重疊較少(適用于統計分類器)的用戶提供準確預測的分類器來提高精確性。
[0037]因此,在一個實施例中,位置估計器114結合使用可預測性分類器126與每個位置分類器120、122和124。每個可預測性分類器126具有ニ進制輸出:可預測或不可預測。如果用戶不可預測,則該用戶的位置不能使用對應的位置分類器預測。使用T表示用戶消息中的ー組在使用特定分類器進行分類時考慮的術語。對于統計分類器120,術語t的匹配位置分布是包含該術語的訓練模型中的ー組位置。如果該分布不為空,則將該術語稱為匹配術語。當針對T中的所有術語計算匹配位置分布時,可找到該用戶的累積匹配位置分布。對于本地分類器502,此分布包含地理數據128中與用戶消息內容匹配的位置以及匹配頻率。對于訪問歷史分類器504,此分布包含在地理數據128中出現的用戶訪問歷史中的位置及其訪問頻率。例如,對適用于城市粒度上用戶的基于單詞的統計分類器202,考慮以下匹配位置分布:{New York: 20, Los Angeles: 10,Chicago:5, Dallas:3, Boston:6}。根據此分布,計算多個度量值以用作對應的可預測性分類的特征。
[0038]用戶的平均分類強度或分類強度是匹配位置分布中匹配位置數量的倒數。因此,對于上述實例,(平均)分類強度為1/5=0.2。最大分類強度是匹配位置分布中最大位置頻率與總頻率的比率。對于最小分類強度,分子是同一分布中的最小位置頻率。在此,最大分類強度為20/44=5/11=0.4545,最小分類強度為3/44=0.068。這三個分類強度度量值用作所有可預測性分類器的特征。
[0039]用戶的重疊強度是匹配特征(術語)數量與總特征數量的比率。例如,如果用戶通過社交網絡消息(例如,tweet)識別出100個單詞,并且其中50個具有非空匹配位置分布,則基于單詞的可預測性分類的重疊強度為1/2。在一個實施例中,該特征僅用于針對基于內容的統計分類器120訓練可能性分類器126。為了構建可能性分類器126的標簽數據,使用對應的位置分類器。對于每個用戶,使用該位置分類器產生位置分類并且根據該分類是否正確設置可預測性分類標簽。
[0040]在一個實施例中,單個分類器120、122和124被組合在一起形成位置分類器集成800,如圖8所示。在該實施例中,分類器集成是加權的線性位置分類器集成。使用
IA,C2,....,CJ作為ー組分類器,使用魂)、…).....Yn(Xi)作為每個分類器產生的
分類,其中輸入數據為Xi,Yj(Xi)對應于第j個分類器預測的位置。在最簡單的打包集成方法中,每個分類器接收相等的權值。也可使用諸如Boosting之類的更復雜的方法。在boosting中,自動根據效能學習權值。在該實施例中,分類器根據它們的區分能力(通過分類該實例的分類強度判定)以啟發的方式被賦予權值。通過加權線性組合,具有最高排序的位置被返回作為結果,如圖8所示。
[0041]圖8示出每個統計分類器120、啟發式分類器122和行為分類器124輸出多個位置分類。如果可預測性分類器126判定用戶位置無法通過分類器120、122和124之一預測,則可預測性分類器126會阻止該分類器針對與用戶關聯的ー個或多個消息產生位置分類。分類器120、122和124產生的位置分類包括與權值關聯的位置。在圖8的實例中,統計分類器120產生權值為Wi的位置分類U,權值為W2的另一位置分類L1;以及權值為W3的位置分類L2。這些位置分類可通過單個統計分類器或多個統計分類器產生。啟發式分類器122產生權值為W4的位置分類L3,權值為W5的另一位置分類L1;以及權值為W6的另一位置分類L2。這些位置分類可通過單個啟發式分類器或多個啟發式分類器產生。行為分類器產生權值為%的位置分類L4,權值為W8的另一位置分類L1;以及權值為%的另一位置分類U。這些位置分類可通過單個行為分類器或多個行為分類器產生。
[0042]組合802與同一位置對應的位置分類的權值。例如,組合位置分類U的權值;組合位置分類l2的權值;組合位置分類l3的權值;以及組合位置分類l4的權值。然后輸出包括最高權值(或最低權值,具體取決于加權和/或排序機制)的位置分類804作為用戶的位置分類。
[0043]在某些實施例中,不針對基于行為的分類器124使用利用分類強度的加權啟發法。在這些實施例中,可使用下面的集成方法。使用TCi作為基于內容的時區分類,使用Wi作為其關聯權值的歸ー化值,其中Wi被計算為分類TCi的關聯權值(TCi的分類強度總和)與基于內容的分類的關聯總分類強度值的比率。使用TC2作為tweet行為分類器產生的分類,使用W2作為分類TC2的關聯權值,其中W2為分類TC2的關聯概率值或置信度。返回具有較高權值的分類作為最終分類。
[0044]對于較小粒度(例如,城市級別)上的位置分類,分類器區分大量位置以產生位置分類。在一個實施例中,該任務通過摘取大型分類問題并將其分為多個較小分類問題(其中分類器120、122、124和126分層組織)來簡化。此類系統中的初始分類器產生高級分類(諸如針對時區),用于特定實例的較低級別分類器通過初始分類器的分類進行判定。
[0045]在該實施例中,利用兩級層次結構判定位置,其中時區為層次結構的第一級別。位置估計器114僅在特定的時區之間進行分類(諸如東部、中部、山地和太平洋)。時區分類器集成使用所有基于內容的分類器和基于行為的分類器進行訓練。在該實施例中,針對每個時區訓練城市分類器,其中每個分類器僅判定/預測自己時區中的城市,并且僅通過該時區中的實例進行訓練。
[0046]圖9示出示例性分層式集成分類器900。在該實例中,第一層(或頂層)包括時區分類器902,例如基于行為的分類器124。在某些實施例中還利用可預測性分類器。第二層(或較低層)包括城市分類器904,例如統計分類器122和/或啟發式分類器124 (分層式分類器集成并不僅限于兩層,可以包括用于其它粒度的其它層)。時區分類器902從消息預處理器118接收作為輸入的消息發送行為特征906。在進ー步的實施例中,使用允許判定時區位置的其它特征作為輸入。時區分類器902處理這些特征并產生時區位置分類908。如果通過時區分類器902判定多個時區位置分類,則選擇具有最高概率/權值的分類。城市分類器904處理時區位置分類908并產生城市位置分類910。如果通過時區分類器902判定多個城市位置分類,則選擇具有最高概率/權值的分類作為用戶位置。
[0047]在州層次結構配置中,使用州/地區作為層次結構的第一層。州分類器集成包括基于內容的分類器,并且針對所有州構建城市分類器。在區域層次結構配置中,使用地理區域作為層次結構的第一層(例如,東北部、中西部、南部和西部),區域層次結構分類器使用與州層次結構分類器相同的基本方法來構建。
[0048]因此,本發明的實施例使用用戶的社交網絡消息內容和/或消息發送行為以不同的粒度(例如,城市、州、時區或地理區域)推斷社交網絡用戶的家庭住址。某些實施例利用統計分類器和啟發式分類器的集成判定/預測位置。某些實施例利用用于提高預測準確性(例如,通過首先預測時區、州或地理區域,然后預測城市)的分層式分類方法。在某些實施例中利用“可預測性”分類器判定針對給定用戶是否具有足夠的信息來預測家庭住址。
[0049]圖10是示出根據本發明的一個實施例判定社交網絡用戶位置的過程的操作流程圖。在步驟1002,位置估計器114獲取給定用戶產生的社交網絡消息116。在步驟1004,位置估計器114從每個消息116中提取位置特征。在步驟1006,位置估計器114將已提取的特征傳遞到分類器集成800/900內對應的分類器120、122和124。
[0050]在步驟1008,與分類器集成800/900中的每個關聯的可預測性分類器126判定是否可通過給定分類器預測給定用戶的位置。如果此判定的結果為否,則在步驟1010,位置估計器114阻止該分類器針對給定用戶產生位置分類。該位置估計器114可以阻止針對與給定用戶關聯的所有消息或消息的子集產生位置分類。如果此判定的結果為是,則在步驟1012,每個分類器處理對應的特征并針對給定用戶產生加權的位置分類。在步驟1014,位置估計器114組合包括同一位置的每個位置分類的權值。位置估計器114根據與位置分類關聯的組合權值選擇位置分類作為給定用戶的位置。控制流程然后結束。針對分層式分類器集成或針對單個分類器執行類似的過程。
[0051]圖11是示出可在本發明的實施例中使用的信息處理系統的框圖。信息處理系統1100基于適當配置的處理系統,該系統適合于實現本發明的一個或多個實施例(例如,圖1中的用戶系統102和/或服務器系統106)。可使用任何適當配置的處理系統作為本發明的實施例中的信息處理系統1100。
[0052]信息處理系統1100包括計算機1102。計算機1102具有處理器1104,該處理器與主存儲器1106、海量存儲接ロ 1108以及網絡適配器硬件1110相連。系統總線將這些系統組件進行互連。盡管針對計算機1102示出僅ー個CPU1104,但是可以同樣有效地使用具有多個CPU的計算機系統。盡管圖11未示出,但是主存儲器1106包括位置估計器114及其組件,以及社交網絡消息和地理數據128。在另ー實施例中,位置估計器114可以駐留在處理器1104內,也可以是單獨的硬件組件。
[0053]海量存儲接ロ 1108用于將諸如海量存儲器件1114之類的海量存儲器件與信息處理系統1100進行連接。數據存儲器件的ー個特定類型是諸如⑶/DVD驅動器之類的光驅,它可用于將數據存儲到計算機可讀介質或存儲產品或從中讀取數據,所述光驅包括但不限于CD/DVD1116。另ー數據存儲器件類型是被配置為例如支持NTFS型文件系統操作的數據存儲器件。
[0054]包括在主存儲器中的操作系統是適當的多任務處理操作系統,例如Linux、UNIX、Windows和基于Windows Server的操作系統中的任一系統。本發明的實施例還能夠使用其它任何適當的操作系統。本發明的某些實施例利用架構,例如面向對象的框架機制,此機制允許操作系統組件的指令在位于信息處理系統1100內的任ー處理器上執行。網絡適配器硬件1110用于提供到網絡104的接ロ。本發明的實施例能夠改編為與任何數據通信連接協作,這些連接包括現今的模擬和/或數字技術或通過未來的聯網機制。
[0055]附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含ー個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。[0056]此處使用的術語只是為了描述具體實施例,并非旨在限制本發明。如在此使用的那樣,単數形式“一”、“ー個”和“所述” g在同樣包括復數形式,除非上下文明確地另有所指。還將理解,當在此說明書中使用時,根術語“包括”和/或“包含”指定存在聲明的特征、整數、步驟、操作、元素和/或組件,但是并不排除存在或増加其它特征、整數、步驟、操作、元素、組件和/或它們構成的組。
[0057]本發明的各個方面可以實現為系統、方法或計算機程序產品。因此,本發明的各個方面可以具體實現為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結合的實施方式,這里可以統稱為“電路”、“模塊”或“系統”。此外,在一些實施例中,本發明的各個方面還可以實現為在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼。
[0058]可以采用一個或多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。
[0059]計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發送、傳播或者傳輸用于由指令執行系統、裝置或者器件使用或者與其結合使用的程序。
[0060]計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括——但不限于——無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0061]可以以ー種或多種程序設計語言的任意組合來編寫用于執行本發明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言ー諸如Java、Smalltalk、C++等,還包括常規的過程式程序設計語言ー諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為ー個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡——包括局域網(LAN)或廣域網(WAN) —連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
[0062]下面將參照根據本發明實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述本發明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出ー種機器,使得這些計算機程序指令在通過計算機或其它可編程數據處理裝置的處理器執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。[0063]也可以把這些計算機程序指令存儲在計算機可讀介質中,這些指令使得計算機、其它可編程數據處理裝置、或其他設備以特定方式工作,從而,存儲在計算機可讀介質中的指令就產生出包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的指令的制造品(article of manufacture)0
[0064]也可以把計算機程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機或其它可編程裝置上執行的指令能夠提供實現流程圖和/或框圖中的方框中規定的功能/操作的過程。
[0065]所給出的對本發明的描述在于示意和描述,并非是窮盡性的,也并非是要把本發明限定到所公開的形式。在不偏離本發明的范圍和精神的情況下,對于本領域的技術人員而言,許多修改和變化都將是顯而易見的。實施例的選擇和描述,g在最好地解釋本發明的原理、實際應用,當適合于所構想的特定應用時,可使本【技術領域】的普通人員理解本發明帶有各種修改的各種實施例。
【權利要求】
1.ー種位置估計的方法,包括: 接收給定用戶產生的多個社交媒體消息; 從所述社交媒體消息中提取多個位置特征; 通過分類器集成中的至少ー個分類器處理每個所述位置特征; 通過每個所述分類器產生每個所述社交媒體消息的位置分類,每個位置分類包括位置以及與該位置關聯的權值;以及 根據所述位置分類的所述權值的組合從所述位置分類中選擇ー個位置作為所述給定用戶的位置。
2.根據權利要求1的方法, 其中所述分類器集成是分層式分類器集成,以及 所述分層式分類器集成的給定層中的每個分類器以低于所述分層式分類器集成的較高層中的每個分類器的粒度識別位置。
3.根據權利要求2的方法,其中所述產生包括: 通過所述分層式分類器集成的第一層中的每個分類器,識別所述給定用戶的時區位置;以及 通過所述分層式分類器集 成的第二層中的每個分類器,至少部分地根據在所述第一層中識別的所述時區位置識別所述給定用戶的城市位置,其中所述第二層在所述第一層以下。
4.根據權利要求2的方法,其中所述產生包括: 通過所述分層式分類器集成的第一層中的每個分類器,識別所述給定用戶的州位置;以及 通過所述分層式分類器集成的第二層中的每個分類器,至少部分地根據在所述第一層中識別的所述州位置識別所述給定用戶的城市位置,其中所述第二層在所述第一層以下。
5.根據權利要求2的方法,其中所述產生包括: 通過所述分層式分類器集成的第一層中的每個分類器,識別與所述給定用戶關聯的地理區域位置;以及 通過所述分層式分類器集成的第二層中的每個分類器,至少部分地根據在所述第一層中識別的所述地理區域位置識別所述給定用戶的城市位置,其中所述第二層在所述第一層以下。
6.根據權利要求1的方法,其中所述處理包括通過至少一個統計分類器處理所述位置特征的子集,所述位置特征的子集包括位于給定城市本地的術語、元數據標簽、以及地名。
7.根據權利要求1的方法,其中所述處理包括通過至少一個啟發式分類器處理所述位置特征的子集,所述位置特征的子集包括所述社交媒體消息中的城市名頻率和州名頻率中的至少ー項。
8.根據權利要求1的方法,其中所述處理包括通過至少一個啟發式分類器處理所述位置特征的子集,所述位置特征的子集包括根據所述社交媒體消息中的統ー資源定位器通過所述社交媒體消息識別的已訪問位置的頻率。
9.根據權利要求1的方法,其中所述處理包括通過至少一個基于行為的分類器處理所述位置特征的子集,所述位置特征的子集包括所述給定用戶在多個時段中產生的社交媒體消息的頻率。
10.根據權利要求1的方法,其中所述處理包括: 通過與所述分類器集成中的ー個所述分類器關聯的ニ進制分類器,判定與給定用戶關聯的位置是否可通過所述一個分類器預測;以及 如果所述ニ進制分類器判定所述位置不可通過所述一個分類器預測,則阻止所述ー個分類器產生所述位置分類。
11.根據權利要求1的方法,其中所述處理包括: 通過至少一個統計分類器處理所述位置特征的至少ー個子集; 通過至少一個啟發式分類器處理所述位置特征的至少ー個子集;以及 通過至少一個基于行為的分類器處理所述位置特征的至少ー個子集。
12.根據權利要求11的方法,其中所述處理進ー步包括通過與所述分類器集成中的一個所述分類器關聯的ニ進制分類器,判定與給定用戶關聯的位置是否可通過所述一個分類器預測。
13.ー種位置估計的系統,包括: 被配置為接收給定用戶產生的多個社交媒體消息的模塊; 被配置為從所述社交媒體消息中提取多個位置特征的模塊; 被配置為通過分類器集成中的至少ー個分類器處理每個所述位置特征的模塊; 被配置為產生每個所述社交媒體消息的位置分類的分類器,每個位置分類包括位置以及與該位置關聯的權值;以及 被配置為根據所述位置分類的所述權值的組合從所述位置分類中選擇ー個位置作為所述給定用戶的位置的模塊。
14.根據權利要求13的系統, 其中所述分類器集成是分層式分類器集成,以及 所述分層式分類器集成的給定層中的每個分類器以低于所述分層式分類器集成的較高層中的每個分類器的粒度識別位置。
15.根據權利要求14的系統,其中所述分類器包括: 被配置為識別所述給定用戶的時區位置的所述分層式分類器集成的第一層中的分類器;以及 被配置為至少部分地根據在所述第一層中識別的所述時區位置識別所述給定用戶的城市位置的所述分層式分類器集成的第二層中的分類器,其中所述第二層在所述第一層以下。
16.根據權利要求14的系統,其中所述分類器包括: 被配置為識別所述給定用戶的州位置的所述分層式分類器集成的第一層中的分類器;以及 被配置為至少部分地根據在所述第一層中識別的所述州位置識別所述給定用戶的城市位置的所述分層式分類器集成的第二層中的分類器,其中所述第二層在所述第一層以下。
17.根據權利要求14的系統,其中所述分類器包括: 被配置為識別與所述給定用戶關聯的地理區域位置的所述分層式分類器集成的第一層中的分類器;以及 被配置為至少部分地根據在所述第一層中識別的所述地理區域位置識別所述給定用戶的城市位置的所述分層式分類器集成的第二層中的分類器,其中所述第二層在所述第一層以下。
18.根據權利要求13的系統,其中所述被配置為通過分類器集成中的至少ー個分類器處理每個所述位置特征的模塊包括: 被配置為判定與給定用戶關聯的位置是否可通過所述一個分類器預測的與所述分類器集成中的ー個所述分類器關聯的ニ進制分類器;以及 被配置為在所述ニ進制分類器判定所述位置不可通過所述一個分類器預測的情況下,阻止所述ー個分類器產生所述位置分類的子模塊。
19.根據權利要求13的系統,其中所述配置為通過分類器集成中的至少ー個分類器處理每個所述位置特征的模塊被進ー步配置為通過至少ー個統計分類器處理所述位置特征的子集,所述位置特征的子集包括位于給定城市本地的術語、元數據標簽、以及地名。
20.根據權利要求13的系統,其中所述配置為通過分類器集成中的至少ー個分類器處理每個所述位置特征的模塊被進ー步配置為通過至少ー個啟發式分類器處理所述位置特征的子集,所述位置特征的子集包括所述社交媒體消息中的城市名頻率和州名頻率中的至少ー項。
21.根據權利要求13的系統,其中所述配置為通過分類器集成中的至少ー個分類器處理每個所述位置特征的模塊被進ー步配置為通過至少ー個啟發式分類器處理所述位置特征的子集,所述位置特征的子集包括根據所述社交媒體消息中的統ー資源定位器通過所述社交媒體消息識別的已訪問位 置的頻率。
22.根據權利要求13的系統,其中所述配置為通過分類器集成中的至少ー個分類器處理每個所述位置特征的模塊被進ー步配置為通過至少ー個基于行為的分類器處理所述位置特征的子集,所述位置特征的子集包括所述給定用戶在多個時段中產生的社交媒體消息的頻率。
【文檔編號】G06F17/30GK103455545SQ201310216946
【公開日】2013年12月18日 申請日期:2013年6月3日 優先權日:2012年6月4日
【發明者】C·德魯斯, J·U·馬哈茂德, J·W·尼科爾斯 申請人:國際商業機器公司