丁洪麗
摘要:針對只利用單數(shù)據(jù)源進(jìn)行關(guān)系人發(fā)現(xiàn)不準(zhǔn)確、不完備的問題,研究利用多維數(shù)據(jù)的關(guān)系人分析方法。針對航班和火車出行數(shù)據(jù),采用同行規(guī)律挖掘算法得到與目標(biāo)人物一起出行的同行關(guān)系人;針對話單數(shù)據(jù),采用通聯(lián)規(guī)律統(tǒng)計(jì)算法得到與目標(biāo)人物有通話的通聯(lián)關(guān)系人;針對出行數(shù)據(jù)和話單數(shù)據(jù),采用會面關(guān)系人分析方法得到與目標(biāo)人物有會面的會面關(guān)系人;根據(jù)重點(diǎn)關(guān)系人發(fā)現(xiàn)規(guī)則從上述關(guān)系人得到重點(diǎn)關(guān)系人。實(shí)驗(yàn)結(jié)果表明,本文提出的方法在關(guān)系人分析方面是十分有效的。
關(guān)鍵詞:同行規(guī)律挖掘;通聯(lián)規(guī)律統(tǒng)計(jì);會面關(guān)系人分析;重點(diǎn)關(guān)系人分析
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)01-0001-04
1概述
關(guān)系人分析主要是從大量數(shù)據(jù)中挖掘出潛在的、不為人所知的、人與人之間的各種關(guān)系。隨著現(xiàn)有數(shù)據(jù)獲取技術(shù)手段的提高,獲取的各種人類行為數(shù)據(jù)量劇增,話單數(shù)據(jù)、出行數(shù)據(jù)是其中的典型代表,其中潛藏著各種類型的人物關(guān)系,這些人物關(guān)系可支撐嫌疑人查找、團(tuán)伙發(fā)現(xiàn)、商品推銷等應(yīng)用,如何從這些海量數(shù)據(jù)中挖掘人物關(guān)系及其類型變得尤為重要。
傳統(tǒng)方法在進(jìn)行關(guān)系人分析時(shí)僅采用單一數(shù)據(jù)源進(jìn)行處理,只利用話單數(shù)據(jù)進(jìn)行重點(diǎn)關(guān)系人發(fā)現(xiàn),其缺點(diǎn)是容易出現(xiàn)漏判和誤判情況。
利用話單數(shù)據(jù)進(jìn)行關(guān)系人分析是比較常用的方法,一般將通話次數(shù)多、通話時(shí)間長的人員列為重點(diǎn)關(guān)系人。然而現(xiàn)在網(wǎng)購已經(jīng)成了大家的習(xí)慣,隨之而來的快遞員、外賣送餐員越來越多。如果目標(biāo)人物經(jīng)常網(wǎng)購買東西或者定外賣,那么其與快遞員或者外賣送餐員的通話次數(shù)就很多,利用傳統(tǒng)分析方法,很容易將快遞員或者外賣送餐員等日常關(guān)系人判斷為目標(biāo)人物的重點(diǎn)關(guān)系人,產(chǎn)生誤判;另外還存在某些重點(diǎn)關(guān)系人和目標(biāo)人物通話次數(shù)并不多的情況,利用傳統(tǒng)分析方法,這些重點(diǎn)關(guān)系人就被過濾掉了,產(chǎn)生漏判。所以話單數(shù)據(jù)僅適合發(fā)現(xiàn)通聯(lián)度高的關(guān)系人。
利用航班和火車等出行數(shù)據(jù)也可以進(jìn)行重點(diǎn)關(guān)系人發(fā)現(xiàn),但也可能存在誤判和漏判的情況。經(jīng)常一起出行的人大多可認(rèn)為是重點(diǎn)關(guān)系人,但也存在兩個(gè)沒有任何關(guān)系的出差達(dá)人經(jīng)常一起出行的情況;另外不是所有的關(guān)系人都會經(jīng)常一起出行。所以出行數(shù)據(jù)僅適合發(fā)現(xiàn)同行度高的關(guān)系人。
針對上述問題,我們提出一種基于多維數(shù)據(jù)的關(guān)系人分析方法。本方法采用多數(shù)據(jù)源進(jìn)行關(guān)系人發(fā)現(xiàn),將處理過程進(jìn)行融合,判定結(jié)果既互相補(bǔ)充又交叉驗(yàn)證,減少了漏判和誤判的情況。
基于多維數(shù)據(jù)的關(guān)系人分析方法流程示意圖如圖1所示。
2關(guān)系人分析方法研究
2.1同行關(guān)系人分析
針對航班和火車出行數(shù)據(jù),采用同行規(guī)律挖掘算法挖掘與目標(biāo)人物姓名一起出現(xiàn)的頻繁項(xiàng)目2一項(xiàng)集得到與目標(biāo)人物一起出行的同行關(guān)系人列表。同行關(guān)系人列表項(xiàng)包括目標(biāo)人物姓名、目標(biāo)人物證件號碼、同行關(guān)系人姓名、同行關(guān)系人證件號碼和同行次數(shù)。
同行規(guī)律挖掘算法(cRM,Co-occurrence Rule Mining)流程圖如圖2所示,具體為:
相關(guān)概念如下:
·k-項(xiàng)集:如果事件A中包含k個(gè)元素,那么稱這個(gè)事件A為k項(xiàng)集。
·支持度:指事件A和事件B同時(shí)發(fā)生的概率。
·最小支持度:由用戶定義的衡量支持度的一個(gè)閾值,表示項(xiàng)目集在統(tǒng)計(jì)意義上的最低重要性。
·頻繁項(xiàng)目集:事件A滿足最小支持度閾值的事件。
CRM的實(shí)現(xiàn)流程如下:
a]CRM預(yù)讀數(shù)據(jù),對出行數(shù)據(jù)中的旅客姓名進(jìn)行排序。
b)排序后,CRM將掃描一遍整個(gè)數(shù)據(jù)集,生成一個(gè)只包含一個(gè)項(xiàng)目的項(xiàng)集。計(jì)算在事務(wù)集合中的支持度,并據(jù)此得到初始的單項(xiàng)目頻繁項(xiàng)目集F.(即卜項(xiàng)集),隨后的每一輪搜索(假設(shè)接下來進(jìn)行第k輪搜索1都分為3步:
1)將算法第(k-1)輪搜索生成的頻繁項(xiàng)目集集合作為種子集合產(chǎn)生候選項(xiàng)集集合Ck;
2)掃描整個(gè)事務(wù)數(shù)據(jù)庫,計(jì)算候選項(xiàng)集集合Ck中每個(gè)候選項(xiàng)集的支持度;
3)本輪搜索的最后,算法計(jì)算出候選項(xiàng)集集合Ck中每個(gè)候選項(xiàng)集的支持度,并將符合最小支持度要求的候選項(xiàng)集加入k-項(xiàng)集Fk。
值得注意的是,第b)步中1)由合并和剪枝兩步完成:
1)合并:將兩個(gè)(k-1)一頻繁項(xiàng)目集合并來產(chǎn)生一個(gè)可能的k-候選項(xiàng)集c。兩個(gè)頻繁項(xiàng)目集的前k-2個(gè)項(xiàng)目都相同,只有最后一個(gè)項(xiàng)目不同,則該候選項(xiàng)集被加入候選項(xiàng)集集合Ck中。
21剪枝:判斷合并步中得到的候選項(xiàng)集集合中的候選項(xiàng)集c的所有(k-1)一子集是否都在(k-1)一項(xiàng)集Fk-1中,若其中任何一個(gè)不在(k-1)一項(xiàng)集中,則c必然不是頻繁項(xiàng)目集,則將c從候選集Ck中刪除。
同時(shí),在第二步的整個(gè)計(jì)算過程中,并不需要將整個(gè)數(shù)據(jù)集加載入內(nèi)存,只需要在內(nèi)存中保留一條事務(wù)記錄,這一特點(diǎn)使得CRM可以用于處理非常巨大的數(shù)據(jù)集。算法僅需對數(shù)據(jù)集掃描K次,K是最大項(xiàng)集的大小,在本文中,K=2。
針對時(shí)間效率這一挑戰(zhàn),為了確保頻繁項(xiàng)目集生成的高效性,本算法首先對航班和火車出行數(shù)據(jù)中的旅客姓名進(jìn)行排序,同時(shí),本算法采用逐級搜索,所以很方便就能夠在某一輪搜索完成后就停止。這一點(diǎn)在實(shí)際應(yīng)用中很重要,因?yàn)楹芏嗲闆r下過長的頻繁項(xiàng)目集或規(guī)則并無實(shí)際應(yīng)用,無須將它們找出。
2.2通聯(lián)關(guān)系人分析
針對話單數(shù)據(jù),采用通聯(lián)規(guī)律統(tǒng)計(jì)算法得到與目標(biāo)人物有通話的通聯(lián)關(guān)系人列表。通聯(lián)規(guī)律統(tǒng)計(jì)算法包括通聯(lián)頻次統(tǒng)計(jì)和通聯(lián)時(shí)長統(tǒng)計(jì)。如圖3所示,通聯(lián)頻次統(tǒng)計(jì)模塊查詢話單數(shù)據(jù)得到目標(biāo)人物的全部通話記錄,遍歷全部通話記錄,統(tǒng)計(jì)所有對端號碼的通聯(lián)頻次,通聯(lián)頻次降序排列,得到通聯(lián)關(guān)系人列表1。如圖4所示。通聯(lián)時(shí)長統(tǒng)計(jì)模塊查詢話單數(shù)據(jù)得到目標(biāo)人物的全部通話記錄,遍歷全部通話記錄,統(tǒng)計(jì)所有對端號碼的通聯(lián)時(shí)長,通聯(lián)時(shí)長降序排列,得到通聯(lián)關(guān)系人列表2。通聯(lián)關(guān)系人列表項(xiàng)包括目標(biāo)人物姓名、目標(biāo)人物證件號碼、目標(biāo)人物電話號碼、通聯(lián)關(guān)系人姓名、通聯(lián)關(guān)系人證件號碼、通聯(lián)關(guān)系人電話號碼、通聯(lián)頻7欠/通聯(lián)時(shí)長。
2.3會面關(guān)系人分析
針對出行數(shù)據(jù)和話單數(shù)據(jù)中的位置信息,利用會面規(guī)則得到與目標(biāo)人物有會面行為的會面關(guān)系人列表。會面關(guān)系人列表項(xiàng)包括目標(biāo)人物姓名、目標(biāo)人物證件號碼、會面關(guān)系人姓名、會面關(guān)系人證件號碼和會面次數(shù)。
以下會面規(guī)則滿足任意一條,即可判定分析對象和目標(biāo)人物有會面行為。
會面規(guī)則1:分析對象在目標(biāo)人物的停留地點(diǎn)范圍內(nèi)同時(shí)出現(xiàn)過且出現(xiàn)時(shí)間≥CXSJ分鐘;分析對象至少屬于同行關(guān)系人列表或者通聯(lián)關(guān)系人列表之一。
會面規(guī)則2:分析對象與目標(biāo)人物在活動(dòng)路線上同時(shí)出現(xiàn)過且并行時(shí)間≥BXSJ分鐘;分析對象至少屬于同行關(guān)系人列表或者通聯(lián)關(guān)系人列表之一。
其中CXSJ、BXSJ可根據(jù)需要進(jìn)行設(shè)置。
會面關(guān)系人分析方法流程圖如圖5所示。會面關(guān)系人分析模塊遍歷出行數(shù)據(jù)和話單數(shù)據(jù)中的位置信息時(shí)空序列,11查找與目標(biāo)人物在停留地點(diǎn)同時(shí)出現(xiàn)的人,判定出現(xiàn)時(shí)間是否≥CXSJ分鐘,判斷是否屬于同行關(guān)系人或通聯(lián)關(guān)系人,得到滿足會面規(guī)則1的會面關(guān)系人;21查找與目標(biāo)人物在活動(dòng)路線上并行出現(xiàn)的人,判定并行時(shí)間是否≥BXSJ分鐘,判斷是否屬于同行關(guān)系人或通聯(lián)關(guān)系人,得到滿足會面規(guī)則2的會面關(guān)系人;3)去除重復(fù)的關(guān)系人,得到最終的會面關(guān)系人。
2.4重點(diǎn)關(guān)系人分析
針對同行關(guān)系人列表、通聯(lián)關(guān)系人列表和會面關(guān)系人列表中的數(shù)據(jù),利用重點(diǎn)關(guān)系人發(fā)現(xiàn)規(guī)則判定得到重點(diǎn)關(guān)系人列表,重點(diǎn)關(guān)系人列表項(xiàng)包括目標(biāo)人物姓名、目標(biāo)人物證件號碼、目標(biāo)人物電話號碼、重點(diǎn)關(guān)系人姓名、重點(diǎn)關(guān)系人證件號碼、重點(diǎn)關(guān)系人電話號碼。
以下重點(diǎn)關(guān)系人判定規(guī)則滿足任意一條,即可判定分析對象為目標(biāo)人物的重點(diǎn)關(guān)系人。
規(guī)則1:關(guān)系人同時(shí)存在于同行關(guān)系人列表、通聯(lián)關(guān)系人列表和會面關(guān)系人列表,將其加入重點(diǎn)關(guān)系人列表;
規(guī)則2:關(guān)系人同時(shí)存在于同行關(guān)系人列表、通聯(lián)關(guān)系人列表和會面關(guān)系人列表中的任意兩個(gè)表中,將其加入重點(diǎn)關(guān)系人列表。
規(guī)則3:關(guān)系人只存在于同行關(guān)系人列表,同行次數(shù)排序前10,將其加入重點(diǎn)關(guān)系人列表。
規(guī)則4:關(guān)系人存在于通聯(lián)關(guān)系人列表,通聯(lián)頻7欠/通聯(lián)時(shí)長排序前10,將其加入重點(diǎn)通聯(lián)關(guān)系人列表。
規(guī)則5:關(guān)系人存在于會面關(guān)系人列表,會面次數(shù)大于2,將其加入重點(diǎn)關(guān)系人列表。
規(guī)則6:關(guān)系人只存在于通聯(lián)關(guān)系人列表,通聯(lián)頻次或通聯(lián)時(shí)長排序前10,但是目標(biāo)人物與此關(guān)系人存在如下通聯(lián)規(guī)律:通話時(shí)間點(diǎn)規(guī)律經(jīng)常在中午11:00-13:00期間,通話位置在同一基站位置內(nèi),且通話前后目標(biāo)人物位置相對固定,但關(guān)系人位置在不停變化。此關(guān)系人疑似外賣送餐員,可將此關(guān)系人從重點(diǎn)關(guān)系人列表移除。
通話時(shí)間點(diǎn)規(guī)律具體為:
將00:00-24:00區(qū)間分成若干個(gè)時(shí)間段,將用戶號碼每次通話的事件發(fā)生日期時(shí)間映射到每個(gè)時(shí)間段、統(tǒng)計(jì)每個(gè)時(shí)間段的通話次數(shù),得出通話時(shí)間點(diǎn)規(guī)律。
進(jìn)一步的,經(jīng)過以上規(guī)則得到的重點(diǎn)關(guān)系人列表需要根據(jù)證件號碼進(jìn)行去重處理。
3實(shí)驗(yàn)結(jié)果及分析
針對出行數(shù)據(jù)和話單數(shù)據(jù),本文搭建了一個(gè)關(guān)系人分析演示系統(tǒng)。演示系統(tǒng)采用基于松耦合架構(gòu)進(jìn)行設(shè)計(jì)的B/S架構(gòu),應(yīng)用服務(wù)開發(fā)基于J2EE的設(shè)計(jì)開發(fā)規(guī)范,采用Java語言開發(fā),前端采用JavaScfipt開發(fā),數(shù)據(jù)庫方面采用impala數(shù)據(jù)庫。把出行數(shù)據(jù)和話單數(shù)據(jù)提交給演示系統(tǒng)進(jìn)行關(guān)系人分析。針對分析對象ABRAMOWICZORYSHLOMO,同行關(guān)系人發(fā)現(xiàn)模塊的結(jié)果如圖6所示。通聯(lián)關(guān)系人發(fā)現(xiàn)模塊的結(jié)果如圖7所示。會面關(guān)系人發(fā)現(xiàn)模塊的結(jié)果如圖8所示。系統(tǒng)最終給出重點(diǎn)關(guān)系人列表,并以關(guān)系網(wǎng)絡(luò)圖的形式展示目標(biāo)人物的關(guān)系網(wǎng)絡(luò),如圖9所示。經(jīng)過對比分析,系統(tǒng)給出的結(jié)果相比采用單一數(shù)據(jù)源進(jìn)行重點(diǎn)關(guān)系人發(fā)現(xiàn)得到的結(jié)果更加準(zhǔn)確,完備。
4結(jié)束語
本文提出的基于多維數(shù)據(jù)的關(guān)系人分析方法采用多數(shù)據(jù)源進(jìn)行關(guān)系人發(fā)現(xiàn),將處理過程進(jìn)行融合,判定結(jié)果既互相補(bǔ)充又交叉驗(yàn)證,減少了漏判和誤判的情況,解決了只利用單一的數(shù)據(jù)源進(jìn)行關(guān)系人發(fā)現(xiàn)不準(zhǔn)確、不完備的問題。