蔡夢杰,李學俊,王桂娟,周 銳,譚博友,趙韋鑫,吳亞東
(1.西南科技大學 計算機科學與技術學院,四川 綿陽 621010;2.四川輕化工大學 計算機科學與工程學院,四川 自貢 643002)
隨著移動電話的普及,大規模的通話數據給人們提供了研究城市結構和動態的機會。王桂娟等人[1]歸納了通信數據的來源、特征以及數據處理方法,并總結了基于通信數據的城市可視分析任務方法和特點。城市中的基站,能夠偵測和記錄人類的移動以及通信行為。通過對城市中所有移動通話基站使用記錄進行獲取和分析,管理者能夠獲悉每個用戶的行為模式以及用戶標簽,能夠有效地對用戶進行精準營銷,而且大規模的用戶通話記錄能夠以感知人類的行為模式為基礎輔助城市管理者進行交通規劃[2]。由于社會角色是指在社會生活中與位置相關聯的一套個人行為模式,所以可以通過對用戶行為模式的研究來探索用戶的社會角色。通過使用智能算法對大規模通話記錄進行分析,分析者能夠有效地捕捉城市居民的潛在行為模式,并且行為模式能夠反映用戶的社會角色。在此基礎上結合可視分析方法,分析者能夠在與系統交互的過程中解釋用戶行為以及探索用戶的社會角色。
人類活動分析對人的社會角色分析具有較大的參考意義,Zhu等人[3]基于時序序列向量化技術設計并開發了基于B/S架構的可視分析系統,該系統能夠對手機用戶的位置進行預測,基于可視分析以及視覺隱喻的方法對城市的交通狀態進行呈現以及評估,幫助城市管理者對大規模人群的移動性進行分析。李致昊等人[4]設計并開發了Trajectory2Vec系統,他們使用文本分析中的主題識別模型對城市每個區域的功能進行識別,在此基礎上對城市中人群的跨區移動性進行宏觀的探索分析。Cao等人[5]提出了一種新型的基于張量的異常分析算法,該算法具有可視化和交互設計,可以動態地產生上下文的、可解釋的數據摘要,并允許根據用戶的輸入對異常模式進行交互排序,由此來分析人群的行為模式。
在稀疏軌跡研究方面,Zheng等人[6]對社會中涉及移動的數據進行了整理研究,針對以出租車數據為主的密集數據以及以通話數據為主的稀疏數據分別進行了總結以及對比,并提出了一個能夠提高軌跡精度的數據融合框架。由于基站只會在用戶與基站之間觸發通信活動的時候記錄用戶的行為,GPS會定時對實時位置進行記錄生成密集的軌跡信息,相較于手機的GPS地理軌跡,基站軌跡的信息量較少,信息密度較低,不確定性較大[7]。用戶基站軌跡屬于稀疏軌跡,稀疏軌跡的不確定性給用戶行為分析帶來了一定的挑戰。但如果用戶數量足夠大,記錄時間跨度夠長,稀疏軌跡信息密度過低的缺陷可以被彌補,合理地對基站序列建模能夠捕獲用戶的宏觀移動行為和模式,進而識別其用戶角色。Al-Dohuki等人[8]提出了一種基于詞嵌入的出租車軌跡建模方法SemanticTraj,SemanticTraj可以直觀高效地來管理和可視化出租車軌跡數據。該方法會對出租車的軌跡進行編碼處理,處理為文檔中句子的形式,然后會基于文本查詢相關的算法對大規模的軌跡進行挖掘和分析。關海潮[9]基于文本編輯距離對用戶之間的軌跡序列相似度進行計算,接著基于相似度的用戶聚類分析對異常用戶進行發現。但以上的軌跡序列建?;蛘咔度氲姆椒ǘ紱]有考慮站點軌跡中的順序問題,而軌跡的順序對于其含義十分重要。該文基于通話記錄數據對社會角色進行推測,對于稀疏軌跡采用了一種基于序列的方式來進行研究,并考慮了順序問題。
在用戶角色分析方面,胡亞慧等人[10]將用戶角色定義為能夠使用區域訪問頻次、區域親密度、區域跳變性等方面進行識別的用戶屬性,例如用戶的職業等。王峰等人[11]通過對用戶所發微博提取必需的情景要素,對用戶的移動規律建立用戶角色與城市地域結構的互推斷模型。在社交行為方面,Lee等人[12]定義用戶角色為能夠使用社交行為進行識別的用戶屬性,例如用戶的社交影響力、用戶的社會地位等。用戶角色決定了其移動和社交特征,反過來,可以基于移動特征和社交特征反向推導用戶的社會角色。用戶在城市中整體移動頻率,移動范圍,通話頻率乃至通話時間的分布都與用戶職業或者角色高度相關。結合以上的信息,分析者能夠有效地推斷用戶的角色,從而更具針對性地對城市進行管理規劃。
該文的目標是對社會角色進行分析,使用詞嵌入以及位置嵌入共同構建基站語義的處理模型,然后結合可視分析對用戶的社會角色進行分析。提出的基于用戶軌跡和基站語義的社會角色推測可視分析方法的總體實現框圖如圖1所示。

圖1 基于用戶軌跡和基站語義的用戶社會 角色推測可視分析流程
實驗數據由中國某市的匿名移動通信運營商提供,包含某市半年中2萬左右手機用戶的話單數據,此話單數據集包含通話開始時間、通話持續時間、主叫用戶ID、被叫用戶ID、通話服務基站等,在該數據集中參與服務基站有1萬左右,位置覆蓋該市的所有地區。
張蘭云等人[2]對話單數據進行壓縮并對通話次數進行篩選,提取用戶的軌跡,選擇高活躍度用戶,該文借鑒這種思想進行軌跡提取和高活躍度用戶的選擇。該文關注的是用戶的行為模式而非每一次通話記錄,這樣就需要對用戶的冗余通話記錄進行處理,使得用戶基站序列中的相鄰元素各不相同。所以,對用戶基站軌跡進行如下定義:假設用戶u的第i次通話是經由基站ci進行服務的,那么該用戶在某一段時間T內的軌跡可以表示為:τ={c1,c2,…,cn}。
用戶稀疏的行為序列會導致建模較大的不確定性。所以要對用戶進行篩選,這里對用戶每周訪問基站的頻次進行了計算。統計結果為:用戶一周基站訪問頻次最小值為0,最大值為37,平均值為9,中位數為10。將具有低活躍度的用戶進行排除。該文將一周接打電話頻次為6及以上的用戶作為高活躍度用戶,并使用這些用戶的基站軌跡作為訓練樣本對提出的考慮基站序列順序的基站嵌入模型進行訓練。這樣不僅可以兼顧用戶規模,還可以保證模型的準確性。
1.2 考慮序列順序的基站嵌入模型Pos-Cell2Vec
該文提出的Pos-Cell2Vec模型是基于詞嵌入和位置嵌入模型。結合兩種模型,對用戶的基站軌跡信息進行識別分析。Word2Vec采用的語義模型是N-Gram模型+詞袋模型,也就是說假設一個單詞只與周圍若干個單詞有關且不考慮單詞間的順序關系。而該文提出的Pos-Cell2Vec模型能夠考慮人群稀疏軌跡的順序,從而提高模式識別的準確率以及模式的多樣性。
(1)詞嵌入模型。
首先是詞嵌入部分,詞嵌入通常定義一個映射fwe:→D從離散的詞索引到D維的實值向量,并且={0,1,2,…}。借鑒詞嵌入方法的思想,該文將高活躍用戶軌跡中的基站視為詞語,軌跡視為句子。而軌跡嵌入就是定義一個映射fwe:→D從離散的基站索引到D維的實值向量,并且={0,1,2,…}。這里將構建軌跡嵌入模型將手機用戶的基站軌跡轉換為向量。
通過以下幾個步驟保證Pos-Cell2Vec模型的正確訓練。
第一步,從現有的用戶軌跡中產生足夠的正樣本,將Sliding Window設置為n,也就是設置滑動窗口,這表示模型在對某個基站進行預測的時候,該基站的前面和后面的n個基站都是與它相關的上下文。當Sliding Window滑動的時候,模型就會利用此時出現在Sliding Window中的所有基站創建一個正樣本。每滑動一次都會產生一個正樣本。簡而言之就是使用CBOW模型的思想,將基站cn-1和基站cn+1作為上下文輸入,最終得到中心基站Cn。
第二步,對目標函數進行定義和優化,該文使用最大似然估計的方法對目標函數進行優化,目的是為了樣本的條件概率之積最大化。綜上,定義Pos-Cell2Vec模型的目標函數如下:
(1)
式中,M表示樣本大小,n表示基站序列的長度。
由于關于中心基站的預測屬于多分類問題,使用Softmax函數作為條件概率函數,即logk(·)=softmax(·)。該模型會對每一個基站語義信息進行處理,每一個基站的語義信息都可以使用一個向量進行表示。那么兩個基站之間的相似性可以使用歐氏距離進行衡量。于是,中心基站的條件概率的定義為:
(2)
該模型可以為每一個基站分配一個定長的向量,其中向量中的每一個維度表示相應基站某個語義的對數概率,簡而言之表示的是該基站與這個語義之間的關聯程度。這里將序列窗口大小n設置為2,語義向量長度N設置為100,通過使用高活躍度用戶的基站序列,Pos-Cell2Vec模型可以將所有的基站處理為100維的語義向量。
(2)位置嵌入模型。
然后是位置嵌入部分,以上的詞嵌入方法并沒有考慮句子中詞語的順序,基于同樣想法的基站軌跡嵌入方法也沒有考慮基站在軌跡中的順序。順序這個信息對于處理時間序列數據來說非常重要,它可以表示局部的結構甚至可以表示全局的結構。不僅是時間順序位置順序同樣重要,它們兩個并不嚴格相同。如果沒有學習到順序信息,將會影響到學習的效果。根據常識可知,基站在軌跡中的訪問順序具有重要的意義,不同的順序可能具有截然不同的意義,例如從學校到住宅的語義是放學,而從住宅到學校的語義則是上學。該文希望對基站在軌跡中的位置信息進行建模從而提高基站語義識別的準確性,因此,引入位置嵌入模型是為了能夠讓詞包含位置的信息,從而讓Pos-Cell2Vec能夠更好地處理基站軌跡信息。
位置嵌入(PE)類似于詞嵌入(WE),位置嵌入則是定義了另外一個映射關系fpe:→D,從離散位置索引映射到向量,能夠更加準確地捕獲基站之間的關系。該文使用Gehring提出的位置嵌入算法[13]對基站在軌跡中的位置進行編碼。對于基站位置的編碼有兩種方式,一種是使用one-hot獨熱向量輸入到embedding層獲得連續的向量,另外一種是使用公式進行計算。該文使用第二種方式進行位置編碼計算,奇偶位置情況需要分開討論,在生成位置的向量中,如果是偶數就使用公式3中的第一個公式,如果是奇數就使用公式3中的第二個公式。
(3)
其中,d是位置嵌入結果的向量長度,pos是基站在序列中所在的位置,i是embedding維度,例如詞向量的長度為512,則i屬于512。參數i指用于分別奇偶情況。由于基站映射關系fw和位置嵌入關系fp都僅取整數值作為單詞索引或位置索引,因此單獨訓練單個單詞或位置的嵌入矢量。每個單詞向量的獨立訓練是合理的,因為單詞索引基于給定任意詞匯的順序,并且不會捕獲與其相鄰單詞之間的任何特定順序關系。
(3)Pos-Cell2Vec模型。
最終,結合詞嵌入模型和位置嵌入模型,Pos-Cell2Vec模型對用戶軌跡的編碼如公式4,用戶最終的軌跡編碼是詞嵌入和位置嵌入共同編碼獲得。位于句子中第pos個基站cj的最終嵌入結果可以表示為:
f(cj,pos)=fce(cj)+fpe(pos)
(4)
其中,f(cj,pos)∈D,最終的基站軌跡編碼結果能夠同時包含基站嵌入信息和位置嵌入信息。在使用詞向量構建序列向量的時候無法考慮基站的順序,Vaswani等人[14]經過實驗驗證使用正弦函數能夠使每個位置都提供一個唯一的向量,這樣可以讓模型通過對應位置來學習。只需要將詞向量與位置向量疊加便能得到嵌入位置信息的詞嵌入結果。
上一節在使用Pos-Cell2Vec算法對用戶的基站移動軌跡進行建模之后,本節根據用戶的歷史移動軌跡,結合上一章的用戶軌跡嵌入方法提出了一個聚類方法。首先,該方法會創建用戶移動軌跡喜好向量,然后,使用t-SNE方法對該向量進行降維分析。該算法的流程如算法1所示。第一,它會考慮用通話記錄中出現的所有基站;第二,每個基站的權重參數使用用戶對每個基站使用的頻率表示;第三,對每一個基站語義向量的對數概率進行加權求和處理,最終獲得軌跡向量τ;第四,使用Softmax對軌跡向量進行標準化處理;最后,使用T分布隨機近鄰嵌入(t-SNE)[15]根據用戶的區域移動偏好向量對用戶基站序列進行處理。該函數最終的輸出就是需要得到的用戶軌跡嵌入向量。t-SNE算法的降維結果的特征是區域移動偏好類似的用戶會在可視化結果中處于相鄰的位置,算法如下:
算法1:基于Pos-Cell2Vec模型用戶有效基站語義偏好向量的聚類算法。

2.Foruin 手機用戶集合U:
3. 記Tui為手機用戶ui的基站軌跡;
4. Forcin posjofTui:
5.vc=Cell_EB(c)+Pos_EB(c,j),|vc|=N;

8. List[i]=Vsum;
9.PL=t-SNE (List);
10.return PL /* PL是所有用戶坐標的數組,后續的可視化交互視圖將使用該算法輸出的數組*/
對于該文的分析任務,設計了基于通話數據的用戶角色推測及群體行為模式可視分析系統,如圖2所示。圖中,A部分是用戶軌跡嵌入結果使用t-SNE算法的聚類投影結果;B部分是用戶的時序相關的特征以及移動相關的特征統計結果;C部分是用戶行為甘特圖,用以呈現用戶在長時間區間內的基站訪問情況;D部分是基站列表,呈現了部分重要基站在不同小時的使用頻次特征;系統的基礎地理信息圖層,即E部分是基站分布及用戶移動特征地圖。接下來會對每個部分的設計以及功能任務進行描述。
用戶軌跡聚類投影不好進行呈現,該文設計了一個可交互的探索視圖,它是一個帶有坐標信息的圓盤,上面的散點表示所有手機用戶(如圖3所示),每個散點的x和y坐標都是由基于用戶軌跡嵌入的聚類方法處理得到??梢酝ㄟ^刷選的選擇方法進行交互,用戶可以通過鼠標控制一個小圓盤(小圓盤的半徑可以調整),然后對感興趣的點進行刷選,刷選后的散點將使用紅色著色,作為候選興趣用戶。選擇完成之后,分析者選擇的興趣用戶將順時針排列在視圖中取代用戶軌跡嵌入結果,如圖3右所示。如果用戶之間有通話聯系,將使用虛線將他們之間進行連接。此外,多維特征統計圖將呈現該用戶群體的相關特征值。在分析者點擊某個用戶之后,地圖視圖將使用熱力圖顯示興趣用戶的移動范圍,散點圖標注所有到訪過的基站,基站列表和用戶活動甘特圖將根據選中用戶的相關信息進行更新。使用者點擊用戶聚類視圖中的中心能夠返回到聚類可視化結果。
該文希望呈現用戶時序和空間相關的多維統計特征,幫助分析者對用戶角色進行分析,如圖2B所示。在系統用戶選擇感興趣的手機用戶之后,矩陣圖將呈現其時序特征。左矩陣圖中的散點用以表征一個用戶在日間和夜晚的通話頻率對比,右矩陣圖中散點用以表征一個用戶的工作日以及休息日之間的對比情況。對于空間相關的特征,使用單維散點圖對興趣用戶的每日平均移動次數、每日平均移動舉例等特征進行呈現。使用者點擊基站列表中的某個基站能夠在地圖中高亮其所在的位置,并在甘特圖中高亮與其相關的移動事件。

圖2 基于通話數據的用戶角色推測及群體行為模式可視分析系統
手機用戶在不同基站上的時序使用偏好能夠反映出基站對于用戶的功能,該系統采用基站列表(圖2D部分)對用戶在高相關基站上的時序訪問特征使用頻率圖進行可視化。
地圖將對用戶懸浮的基站使用Icon進行展示,幫助其對基站相關信息進行連結。通過觀察該列表,分析者能夠快速發現用戶高頻訪問的基站以及基站相對應的功能。
該系統使用甘特圖(圖2C部分)對用戶長時間的行為記錄進行可視化。在用戶行為活動甘特圖中,縱軸表示不同的基站或者基站所屬的聚類,橫軸代表時間的遞進。甘特圖中的連接線用于輔助呈現通話事件之間的時序關系。在這個空間中,使用圓環描述用戶的每一次移動事件,圓環的顏色基于基站或者基站所屬簇ID決定。甘特圖的下層呈現了以用戶頻次為高度的面積圖,用以描述用戶在整個時段內的移動頻次變化。
基于DBSCAN算法提出地圖放縮級別敏感的基站算法Zoom Level Sensitive (ZoLeSe) - DBSCAN,該算法至少需要兩個參數(ε,MinPts)用來描述鄰域的樣本分布緊密程度。在設置了初始參數之后,參數ε能夠跟隨地圖當前的放縮級別進行縮放。如圖4所示,該方法能夠自動聚合在當前放縮因子下地理位置相近的基站,接著計算這些基站的中心位置作為聚合基站的新位置,最后提取被聚類基站名字的公共子串作為聚合基站的新名字。為了呈現基站的地理特征以及手機用戶的移動行為特征,該文基于Mapbox.GL框架對地圖進行開發。在興趣用戶被確定后,地理信息視圖(圖2E部分)會提取該用戶群體頻繁訪問的基站,并將其展示在地圖中,基站之間的語義相似度也被使用散點圖進行呈現。一方面,采用動態基站縮放聚類的方式對基站相關信息進行刻畫以幫助分析者對手機用戶的移動行為模式進行多層次分析。另一方面,系統亦使用熱力圖對興趣用戶相關的地理空間分布進行展示,從而幫助分析者快速獲取興趣用戶的行為活動特征和移動趨勢。

圖3 基于用戶軌跡序列的用戶嵌入投影結果圖 圖4 基于ZoLeSe-DBSCAN的基站聚類方法
為了展示該系統在對角色識別以及行為模式發現上的能力,本章選擇的是一個月的數據結合三個案例對根據移動偏好、根據時空特征以及營銷角色的有效性進行驗證。
該案例對文中方法結合用戶的時空特征對用戶的角色發現的能力進行評估,從而進一步驗證文中方法的可行性。首先,在用戶聚類視圖中選擇具有聚類傾向的一組用戶。從圖5中的多維特征統計圖中可以發現,該組用戶的通話頻率相對較高,每日平均移動距離也較大。從中隨機選擇用戶U1132對其進行詳細的剖析,如圖5所示。

圖5 結合用戶時空特征的角色發現
從地圖中可以發現,該用戶的移動區域非常廣,其中訪問最頻繁的區域是梓潼的城區,主要活動區域都是從此為中心向外輻射。接著,觀察該用戶在用戶活動甘特圖上的表現可以發現,該用戶在工作日和非工作日會頻繁地離開城區,空間轉移的頻率非常高,并且空間的轉移在地圖上呈現出顯著的連續性特征??梢酝茢?,該用戶群體很可能是運輸相關的司機。通過網絡上公開的信息對該手機用戶號碼進行查詢,發現該用戶為梓潼市的出租車司機,從而印證了推斷。這個案例有效地證明了文中方法對群體用戶以及單個用戶的行為模式的識別以及解釋能力。
該案例對文中方法結合用戶移動偏好對用戶的角色發現的能力進行評估,從而驗證文中方法的可行性。選擇大學生這個具有顯性行為模式的群體進行分析。因為校園一般都有時間管制措施,學生必須在這個時間內返?;蛘叱鲂?、大多數學生統一上課下課,在下午5:00-7:00之間出入校園的大多是學生群體。所以選擇這個時間段常在大學區域的用戶進行篩選,對用戶的行為模式進行觀察,結合多維統計視圖可以發現,該組手機用戶在白天通話頻率高于夜晚,工作日通話頻率高于休息日,表現出較為自由的行為特征。進一步對該組用戶的角色進行分析,從該用戶群中選擇用戶U3719對其詳細的情況進行分析。圖6呈現了該用戶時空相關的特征。結合用戶行為甘特圖可以發現,該用戶在工作日活動的位置較為固定,其出現在大學附近的概率遠高于其他位置,平均通話次數相較休息日更高。該用戶白天主要出現在教學樓附近,在夜晚長時間停留在學校且基站大多靠近宿舍附近,可以推測該用戶具有較大的概率是學生。同時,從地圖中能夠發現,該組用戶工作日主要停留在大學附近,而在休息日常訪問火車站、商業區等,這是由于該類用戶的消費頻率和出行頻率較大且周末的時間較為自由。

圖6 結合用戶移動偏好的角色發現-學生
從該行為特征來看,該用戶十分符合大學生群體的行為模式。該案例有效驗證了文中方法對城市區域人群的行為模式的識別以及解釋能力。
該案例通過先驗知識對文中設計的可視分析系統發現異常用戶的能力進行驗證評估。異常用戶的定義就是那些頻繁出現異常行為的用戶,比如經常進行大量短通話,在特定的時間進行大量的短通話,移動行為沒有規律,每次都會在特定的地點進行連續大量通話。
在用戶聚類視圖中選擇一組比較偏離中心的用戶群,該組用戶相關的可視化結果呈現在圖7中。從多維統計特征視圖中可以發現,該組用戶的通話頻率十分高,且平均通話時間較短。從中選擇手機用戶U8193進行觀察,從圖中地圖部分結合基站列表可以發現,該用戶移動區域較為固定,主要集中在M市的三臺縣內。觀察用戶行為甘特圖可以發現,其運動模式十分單一,通話頻率十分高。根據以上的線索可以推測,該組用戶的活動模式與營銷及騷擾電話的撥打者十分匹配。該案例對文中系統對于營銷及騷擾用戶的識別的能力進行了有力的驗證。

圖7 結合用戶移動偏好的角色發現-營銷/騷擾人員
Pos-Cell2Vec模型相較于Cell2Vec模型,能夠考慮序列的順序,理論上能夠更加準確地捕獲用戶的移動行為模式。為了驗證算法在用戶移動行為模式捕獲上是否有有效的提升,選擇了100個學生用戶,使用用戶之間的相似度作為算法準確度的度量對Pos-Cell2Vec與Cell2Vec模型進行對比。該度量由以下公式計算得到:
(5)
其中,N為用戶集合,vi為用戶i的軌跡嵌入向量,符號⊙表示兩個向量間的歐氏距離,該度量值越小表示這些用戶的移動行為模式越相似。已知這些用戶擁有同樣的社會角色,這意味著用戶應該有更高的相似度,也就是通過該模型得到的度量值越小,算法越能正確捕獲用戶的移動行為模式。
這里選擇了三個不同的窗口大小,基于相同的訓練數據集,對Pos-Cell2Vec和Cell2Vec模型進行了對比,對比結果如表1所示。

表1 模型對比
從結果中可以發現,Pos-Cell2Vec模型相較Cell2Vec模型具有更加優秀的用戶行為移動模式捕獲能力。
結合真實數據的案例分析表明,文中方法能夠有效地通過用戶的軌跡、基站語義以及通話特征來探索用戶的行為模式,進而推測用戶的社會角色。對于未來的工作,將繼續改進該方法,通話數據規模一般比較大,對于聚類降維圖的處理相對耗時,當數據的可用時間跨度增大或者城市的規模更大時,實時交互將面臨較大挑戰。未來將繼續優化Pos-Cell2Vec模型,希望可以達到交互式對用戶數據進行快速處理的目標,以便推測出更多的社會角色。