馬強 付艷茹


摘 要: 基于手機LBS定位方法對以犯罪嫌疑人為對象的社交網絡進行挖掘,通過提取手機數據和基站數據建立數據字典,提出了一個LBS位置服務數據挖掘算法,關聯分析了社交行為、社交網絡和犯罪線索的潛在關系,并以實例形式給出了基于Python機器學習功能的實現過程。
關鍵詞: 手機; 定位; Python; 社交網絡; 位置服務; 關聯
中圖分類號: TP 393.08 文獻標志碼: A 文章編號: 1671-2153(2016)04-0092-05
0 引 言
隨著LBS(location based service)手機定位方法增值的位置服務,手機已不再局限于雙方通訊的功能,而是由手機社交網絡集合了多方的社交行為(如指示服務場所、訪問網絡、商務活動、電子支付等)。手機實名制及手機LBS定位功能有助于在社交網絡中分析一般用戶的社交行為和發現特定人為犯罪嫌疑人的線索,而不局限于以往單純的用戶一方手機話單數據的分析。如果基于LBS的位置服務對手機數據和基站數據進行關聯分析,則可能從犯罪嫌疑人的社交行為中挖掘出社交網絡,并可利用Python的機器學習功能進行演繹,形成多角度獲取線索和證據的解決方案。
1 手機話單數據分析的不足
傳統上獲取犯罪嫌疑人犯罪線索的手段多從分析手機話單數據入手[1]-[3]。但手機話單數據分析存在一定不足:一是為得到更多的線索,往往需要由通話軌跡來分析犯罪嫌疑人的社交網絡,試圖通過關聯的人脈關系發現新線索,但由合法手機用戶轉變為犯罪嫌疑人是相對漸進的過程,其中手機用戶會基于不同的目的產生雙方通訊,通話持續的時間也可能不盡相同,一般手機用戶個體之間的通話持續時間少于1 min的占61%,通話持續時間超過15 min的占11%,平均的通話持續時間在1 min51s[4]??疾閿祿年P聯性,這種通話時長只是以權重的方式反映通訊的頻度而已,而在暴露社交網絡方面則是不充分的。二是手機話單數據分析的前提是獲取的手機號碼與身份識別相一致,而現實之中因遺失、改號、盜用、借用等原因手機使用者身份喪失排他性。三是手機話單數據無關乎內容,線索跟蹤只限于手機通話或短信行為的有無,而實際更多的是通信背后以手機上網數據相關聯的碎片化社交信息。四是通話記錄和短信記錄可能被手機用戶直接刪除,甚至手機數據被全部清除,導致通話軌跡陡變而失去數據關聯分析的意義。
2 改進手機數據分析的基本設想
改進前述不足的方法之一是將手機數據分析的范圍從話單延展到手機社交網絡,即從該網絡節點及邊的關系入手,分析移動狀態下犯罪嫌疑人由手機完成的社交行為。雖然受手機數據涉及個人隱私的法律限制,還不能類似固定網絡以IP地址確定使用者位置的普遍方法來定位任意用戶和獲取手機數據,但在偵辦手機用戶涉嫌犯罪的特定條件下,獲取手機數據以及分析相應的社交行為具有強制性。分析的方法既可基于時間也可基于內容,前者可通過判斷社交網絡每個時間片是否存在變化點來確定社交行為的發生[5],而后者可通過手機定位中位置服務內容是否存在變化來確定社交行為的發生。本文即基于LBS定位的位置服務將手機數據延展到基站數據,即將手機話單數據和手機社交網絡數據綜合進行分析。
LBS定位用戶手機的最大優勢是在定位不受天氣和位置影響的前提下而實現了基站與用戶之間的數據交換,其增值的位置服務僅僅借助了至少3個移動通信基站的信號差異?;臼且环N移動通信無線電臺形式,其功能是在以無線電覆蓋一定區域范圍內,通過移動通信交換中心,與用戶移動電話終端之間進行雙向收與發的無線信息傳遞。當基站數量充足的時候,LBS定位精度50 m以內的概率可達到67%,定位精度150 m以內的概率可達到95%,響應速度可達到小于3 s,雖然這和至少需要4顆衛星提供經度和緯度坐標信號定位手機的GPS(global positioning system)技術指標不相上下,但在形成手機社交網絡的位置服務方面更具應用優勢。
一般嫌疑人在案前與案后的具體時間和空間位置上,通過手機完成的社交行為都必然會表現為不同的注意力投放,包括瀏覽于閱讀、搜索、購物、交友、游戲、音樂、論壇、軟件等網絡欄目內容,當基站地理位置和瀏覽的網絡內容具有一定的關聯模式時,就可借助基站與手機之間的數據交換,由犯罪嫌疑人的社交網絡分析其社交行為,再關聯于潛在的犯罪線索。
3 系統設計方案
為了建立前述關聯模式,設定手機社交網絡是由有限的集合或集合中的元素及其相互關系組成,一般可用有向圖G=(V, E)相應表示,其中V為節點集,E為邊集,網絡節點vi∈V表示某個人,邊ej∈E表示不同網絡節點間的相互關系。
考慮到在LBS位置服務中關注的是手機用戶使用網絡資源服務的內容,它需要在社交網絡中由邊集E來區分節點集V中節點間關系類型,以及需要表達兩個相鄰節點vi和vj之間的關系,故可相應提取手機數據和基站數據,將其寫成對應的數據字典。
3.1 基站數據提取
以LBS位置服務來定位手機需要獲取基站的服務小區和鄰近服務小區的相關信息。基站數據主要包括了國家、運營商、位置區LAC、服務小區CELL、緯度、經度、糾偏緯度、糾偏經度、覆蓋范圍、URL訪問地址等10類字段。它同移動電話終端的手機用戶數據有所不同,后者包含了用戶編碼、網絡制式、位置區、基站經度、基站緯度、業務名稱、業務入口名稱、開始時間、上行包數、下行包數、上行流量、下行流量、網站名稱、網站頻道、應用體系標識、分類體系標識、內容分類標識、URL訪問地址等8類共計幾十個字段,且以CSV格式存儲。
手機平臺的不同,調用手機協議棧函數也不同。以Android平臺為例,位置服務信息應包含下列數據:標識基站服務小區的ID 號CELLID、識別手機客戶所屬移動網絡的代碼MNC、標識移動網絡所屬國家的代碼MCC、標識不同位置區的代碼LAC、接收手機信號強度的指示值RSSI。
3.2 建立數據字典
3.2.1 手機數據
對手機部分的數據建立以CSV格式存儲的文本文件類型的數據字典。在不同的手機平臺下,一個完整的CSV數據字典可以包含用戶編碼、網絡制式、位置區、基站經度、基站緯度、業務名稱、業務入口名稱、開始時間、上行包數、下行包數、上行流量、下行流量、網站名稱、網站頻道、應用體系標識、分類體系標識、內容分類標識、URL訪問地址等8類幾十個字段,但考慮到由社交網絡判定用戶行為的實際應用,僅選取手機用戶編碼ID為Key項,對應的Values為時間、地理位置、業務類型等3個關鍵字段,即可經Python編程計算出節點的中心度,并生成標定數據流動的社交網絡布局圖。例如,假設ID為'49515218'的手機用戶在一段時間內采用手機移動方式2次連接互聯網和訪問社交網站若干欄目,則保存在數據字典中的手機數據記錄一部分的格式為
20151208114236,39.756781_116.626031,“社交”
20151208114253,39.756781_116.626031,“社交”
3.2.2 基站數據
對基站部分的數據可采集為基站服務小區ID 號CELLID、移動網絡代碼MNC、國家代碼MCC、位置區代碼LAC、信號強度指示值RSSI、服務分類標識、Sink端和Source端的流量標識等字段??紤]到由社交網絡判定用戶行為的實際應用,只需要手機用戶編碼ID對應的服務標識和相應的流量即可滿足社交網絡的定位要求。例如,對于ID為'49545217'的手機用戶,可依LBS定位需要至少三個基站服務小區的信息,其基站服務小區的記錄格式可依次表示為
5023,TD-SCDMA,15302,120.7364,28.8539,
10104,0
5716,TD-SCDMA,15671,120.7231,28.8514,
10088,0
49961,TD-SCDMA,19196,121.4153,28.62478,
10104,0
接下來再考慮位置服務的內容。假設ID為'49545217'的手機用戶于同一地點2次連接互聯網,而且訪問了社交網站的瀏覽、視頻2個欄目,使用了1次百度搜索,使用的流量分別是22481、25446、26276個kB,則當不考慮標識符時,基站數據記錄格式可表示為
20151208114236,39.756781_116.626031,
22481,“瀏覽”
20151208114253,39.756781_116.626031,
25446,“視頻”
20151208114253,39.756781_116.626031,
26276,“搜索”
3.3 LBS位置服務挖掘算法
在完成數據字典的基礎上,建立如下LBS位置服務挖掘算法:
步驟1:編程調用手機協議棧函數,以網絡節點vi∈V為信標節點,獲取3組至6組所處基站的服務小區和鄰近服務小區的CELLID,MNC,MCC,LAC,RSSI值;
步驟2:通過手機的 HTTP協議,將步驟1的vi∈V位置服務小區信息傳輸到Google Gelocation Server中,以獲取vi相對應的服務小區經度與緯度;
步驟3:對于基站由信標節點vi測定出的手機接收信號強度RSSI值,計算vi對應的自由空間損耗LBF的數值。對于所有vi∈V測定的發射功率PT,接收天線增益GR,發射天線增益GT,電纜與電纜線頭之間的衰耗LC,則由公式RSSI=PT+GR+GT-LC-LBF按信號強度計算自由空間的損耗LBF;
步驟4:采用LBF=32.5+20lgF+20lgD的無線電傳播路徑損耗公式,按一定的頻率F,對所有vi∈V,將自由空間損耗LBF轉化為計算相對應的距離D;
步驟5:在前述3~6組的基站服務小區和鄰近服務小區的坐標信息和距離中,以至少選取的3個信標節點vi為圓心,信標節點vi到未知節點vj為半徑作3個圓,經雙精度轉換處理后,再由聯立方程求出內側3個交點x,y,z及三角形質心Ox,y,z,以此定位手機的當前位置。
步驟6:由手機移動用戶所處基站地理位置信息和服務的流入量生成該手機用戶的CSV詞典,由Python的Networkx軟件包創建手機在不同時間和空間位置上的數據流動網絡;
步驟7:由數據流動網絡生成轉移矩陣M,對手機用戶在不同時間和空間位置的注意力投放介入人工解釋,得到社交網絡的數據展示。
4 結果與分析
為驗證位置服務挖掘算法的有效性,在手機社交網絡G=(V,E)中,任意選取一個基站標定ID為'49515218'的手機用戶,再在基站和手機兩端建立數據字典my.txt,然后從基站數據的Source端和Sink端提取手機社交網絡中指定的手機號碼的位置服務數據流入量(如表1所示),繼而由Python語言編程生成網絡相關度和轉移矩陣數據圖,再分析手機社交網絡特性。
為了編程預處理數據字典和數據流入量,先在Python語言中選取加載Networkx軟件包[6]。由于Networkx軟件包內置了數據圖與復雜網絡分析算法,便于仿真建模分析手機社交網絡中的復雜網絡,故可基于NetworkX軟件包進行編程將手機社交的有向網絡G=(V,E)轉化為無向網絡,將網絡節點視為信標節點。計算信標節點測度與生成測度分布序列,包括一個信標節點vi到網絡中所有的其他信標節點vj(i≠j)之間的距離、節點離心度、中心度以及手機社交網絡G=(V,E)的密度分布,即社交網絡G中實際存在的信標節點鏈接數量■ei和給定節點數量■vi與鏈接數量■ei之間比值,并由Python編程生成手機位置服務的可視化數據統計圖。
下列是采用Python代碼按上述LBS位置服務算法實現的部分可視化數據統計圖,包括社交網絡相關度生成圖(圖1)及轉移矩陣M數據圖(圖2):
import networkx as nx
import matplotlib.pyplot as plt
G=nx.DiGraph()
with open('e://my.txt', 'r') as h:
for i in h:
x,y,w = i.strip().split(',')
G.add_edge(x.decode('utf-8'),y.decode('utf-8'),weight=int(w))
alpha = G.nodes()
alpha[0] = 'other'
A = nx.to_numpy_matrix(G)
fig = plt.figure()
ax = fig.add_subplot(111)
cax = ax.matshow(A, interpolation='none')
ax.set_xticks(range(22))
ax.set_yticks(range(22))
ax.set_xticklabels(alpha,rotation=90, fontsize=8,verticalalignment='bottom')
ax.set_yticklabels(alpha,rotation=0, fontsize=8,verticalalignment='bottom')
fig.colorbar(cax)
plt.savefig('e://matrix.bmp', dpi =600)
plt.show()
在手機社交網絡相關度生成的數據圖(圖1)中,橫軸表示的是信標鏈接節點的測度(即服務流入量數據的距離);縱軸表示的是信標節點的中心度(即服務流入量數據的重要性)??梢园l現,除去Source端和Sink端外,ID為'49515218'的手機用戶在手機位置服務中表現的信標節點鏈接數量集中在測度為29.0到30.0之間的序列區間內,中心度主要相應集中在0~5000的范圍內,除去3個較高中心度且分布稀疏的網絡節點vi、vj、vk以外,其他相應的信標節點數量達到了17個,即vs(s=1,…,17且s≠i,j,k),只有很少的通話行為和上網行為分布在28.0~28.5的測度區間內。雖然這3個信標節點vi、vj、vk的中心度達到了55 000~155 000的較高值,但其網絡密度分布不均衡,其信標節點在位置網絡中的離心度較高,而信標節點的數量則偏少。
為進一步區分手機社交行為有位置服務網絡中的流動情況,將上述二個數據圖與數據字典my.txt和源自基站數據的Source端和Sink端及位置服務的數據流入量相結合,由生成的網絡轉移矩陣對手機用戶的網絡行為及潛在的社交網絡進行解釋。由圖2可知,轉移矩陣數據圖基本上是對稱的,元素的稀疏或密集代表了使用不同服務之間的注意力流動,以及不同社交行為的聚集。即相對偏少的3個信標節點vi、vj、vk說明ID為'49515218'的手機用戶相應的通話聯系或上網行為可能是偶發的,而在另外的17個信標節點vs(s=1,…,17且s≠i,j,k)中,手機位置服務中的產生“搜索”和“網上購物”二類數據流量的節點距離很近,“瀏覽”、“閱讀”、“資訊”三類數據流量的需求比例較相近,“音樂”、“視頻”二類數據流量的節點距離近,產生“游戲”、“旅游”、“房產”、“郵箱”、“支付”五類數據流量的需求比例較小,但信標節點間的位置距離較遠。
依據數據分析結果,如果是對特定的犯罪嫌疑人,則可獲得在使用手機LBS位置服務建立的手機社交網絡G中,其社交行為的注意力流動傾向依次排序為:訪問社交網站、網上購物、查閱社會資訊、網上娛樂等,由此可判定個人的日常喜好、社交行為方式、性格傾向等。為縮小目標范圍,可在前述數據分析基礎上,對手機社交網絡G縱深挖掘,即對任意一條邊ei∈E附加時間權重或語境內容權重的選項,再次進行深度數據分析。在此基礎上,對以上手機社交行介入人工解釋,依照手機社交網絡G=(V,E)展現的符合閾值要求的網絡關聯度,將不同ID的手機用戶按照LBS位置服務內容挖掘算法類似處理的結果進行串并,并結合上網行為與手機話單進行分析,再將手機社交行為與可疑號碼的通話時間、通話次數、通話圈、通話頻率等通話軌跡數據進行匹配,以獲取與之關聯的人脈關系,并發現可疑線索和關聯證據。
5 結束語
LBS定位手機一個最大的低成本優勢是在顯示服務場所方面只與數據點的采集與更新有關,不涉及地圖數據的采集與更新,這在包月流量計價漸入常態的今天,會驅動用戶不自主地選擇LBS定位方式。而“服務場所”恰恰是挖掘犯罪嫌疑人社交網絡的核心與焦點,這將在執法領域有更為普遍的應用。
參考文獻:
[1] 馬李芬. 電話信息在案件偵查中的運用[J]. 社科縱橫,2010,25(12):71-74.
[2] 斯進. 手機話單分析信息碰撞技戰法的應用研究[J]. 信息網絡安全,2011(7):63-68.
[3] 王彥學. 基于人、機到案層面的手機數據收集與研判[J]. 警察技術,2015(2):38-41.
[4] Lugano G. Mobile Social Networking in Theory and Practice[J]. First Monday,2008,13(11):15-20.
[5] 施偉,劉慧君,傅鶴崗,等. 基于手機數據的社交網絡構建[J]. 計算機工程,2013,39(5):101-105.
[6] Aric A. Hagberg,Daniel A. Schult and Pieter J. Swart.Exploring network structure,dynamics,and function using NetworkX[C]//Proceedings of the 7th Python in Science Conference(SciPy2008),Pasadena,CA USA,2008:11-15.
Abstract: The approach concerns mainly a series of works: the analysis of data mining for the social networks to criminal suspects based on LBS, the establishing data dictionary by extracting phone data and base station data, the proposing of a data mining algorithm on LBS, the analysis of the prospective relationship between social behavior, social networks and crime clue. Finally, an example was given about implementation process of machine learning based on Python.
Keywords: phones; positioning; python; social networks; LBS; association
(責任編輯:徐興華)