畢佳佳,李京文
(安徽職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,安徽 合肥 230011)
近些年來,社會上電信詐騙的案例屢見不鮮,導(dǎo)致許多受害者遭受財產(chǎn)損失。傳統(tǒng)的預(yù)防電信詐騙的治理方法是通過對詐騙號碼的呼叫次數(shù)、主叫次數(shù)、規(guī)范性等進行統(tǒng)計分析,制定不同的規(guī)則去匹配詐騙號碼。這種方式分析的因素比較單一,規(guī)則制定比較簡單,準確性較低?;诖髷?shù)據(jù)詐騙電話分析技術(shù)通過機器學(xué)習(xí)方法,結(jié)合詐騙用戶的歷史行為進行分析,將此問題轉(zhuǎn)換成有監(jiān)督的二分類模型,將電話號碼劃分為詐騙電話和非詐騙電話兩種類別,發(fā)現(xiàn)詐騙號碼的潛在規(guī)律,提高識別詐騙號碼的準確率。
國內(nèi)已經(jīng)有一些學(xué)者對防欺詐的方法進行了深入的研究,取得了一定的成效。如劉輝[1]等采用樸素貝葉斯的方式建立電信欺詐分類模型。劉道宏[2]采用決策樹預(yù)測模型建立了電信欺詐預(yù)測系統(tǒng)。李夢琳[3]采用了基于CHAID 的決策樹算法建立了電信詐騙模型。葉柏椿[4]等結(jié)合大數(shù)據(jù)技術(shù)、選擇號碼標記等手段,探討了預(yù)防電信詐騙的措施和對策。
本文以用戶基礎(chǔ)信息、語音通話、短信收發(fā)、賬戶信息、終端信息、網(wǎng)站及APP 訪問記錄為基礎(chǔ),構(gòu)建了基礎(chǔ)特征和統(tǒng)計特征,通過大數(shù)據(jù)中機器學(xué)習(xí)算法以及模型融合技術(shù),構(gòu)建識別電信詐騙號碼的預(yù)測模型。該模型采用命中率、覆蓋率的調(diào)和平均值F1進行評價,F(xiàn)1越大表詐騙號碼識別效果越準確,能夠為有效預(yù)防電信詐騙提供一定的支撐。
電信詐騙號碼識別模型首先對采集到的原始數(shù)據(jù)進行數(shù)據(jù)清洗,如對離群點的剔除、缺失值的處理等方法來提升數(shù)據(jù)質(zhì)量,為進一步構(gòu)造特征、提升模型效果奠定基礎(chǔ)。
數(shù)據(jù)清洗后,進行特征工程,構(gòu)造訓(xùn)練集寬表。特征工程主要從兩方面進行構(gòu)造特征:一是根據(jù)專家經(jīng)驗構(gòu)造基礎(chǔ)的特征群,二是構(gòu)建一些統(tǒng)計特征群。
特征工程后,數(shù)據(jù)集中可能會包含一些無用的、冗余的特征,會造成維數(shù)災(zāi)難,為了提高模型的效果及效率,需要對數(shù)據(jù)集進行特征選擇,選擇對模型效果比較好的特征來進行建模。
實際的電話號碼中,詐騙電話只是占很少的一部分,詐騙電話和非詐騙電話的分布是及不平衡的,因此在訓(xùn)練時需要對不平衡數(shù)據(jù)進行相對平衡化處理,提高識別的效果。
最后采用在各大類競賽中最常用的分類算法XGBoost[5]與 LightGBM[6]算法進行訓(xùn)練,并采用Bagging[7]模型融合技術(shù),提升模型的識別準確率。整個流程圖如圖1所示。
圖1 電信防欺詐模型流程圖
為了提高防電信詐騙模型的準確率,在提取用戶的通信數(shù)據(jù)之后,需要對數(shù)據(jù)進行處理,保證數(shù)據(jù)質(zhì)量。數(shù)據(jù)處理部分主要包括對原始數(shù)據(jù)的清洗,對數(shù)據(jù)進行特征工程、特征選擇以及不平衡數(shù)據(jù)的處理。
1.2.1 數(shù)據(jù)提取
模型中所用數(shù)據(jù)由某運營商提供,原始數(shù)據(jù)包括用戶基礎(chǔ)信息、通話信息、短信信息、上網(wǎng)及訪問網(wǎng)站信息、渠道終端信息及賬戶信息,如表1至表6所示。其中,表1中的“是否欺詐用戶”是已經(jīng)標記的是否欺詐號碼的標簽列,即本次建立模型中的目標列,其余特征是用戶的基礎(chǔ)信息,欺詐用戶與非欺詐用戶在這些特征的表現(xiàn)上有所不同。表2 至表4 提供了連續(xù)60 天期間內(nèi)用戶產(chǎn)生的脫敏后的通信行為數(shù)據(jù),通過從用戶這幾方面信息挖掘特征,找出欺詐用戶的規(guī)律。
表1 用戶基礎(chǔ)信息
表2 用戶通話信息
表3 用戶短信信息
表4 上網(wǎng)及網(wǎng)站訪問信息
表5 渠道終端信息
表6 用戶賬戶信息
1.2.2 數(shù)據(jù)清洗
數(shù)據(jù)清洗主要針對數(shù)據(jù)中的臟數(shù)據(jù)進行處理,比如缺失數(shù)據(jù)、異常數(shù)據(jù)等,臟數(shù)據(jù)往往會對模型的效果造成一定的影響,因此先對用戶基礎(chǔ)信息、語音、短信等原始數(shù)據(jù)進行數(shù)據(jù)清洗處理,保證數(shù)據(jù)質(zhì)量。
如果數(shù)據(jù)中特征的缺失值比例大于50%,代表該特征信息丟失比較嚴重,對于模型效果沒有參考意義,則直接刪除該特征數(shù)據(jù);否則對于數(shù)值型特征采用該特征平均值來填充,對于分類型特征采用該特征的眾數(shù)來填充。對異常值的處理方法參考缺失值的處理方式,采用平均值或眾數(shù)來替換。
通過對數(shù)據(jù)的探索分析發(fā)現(xiàn),數(shù)據(jù)中“付費模式”“入網(wǎng)時長”“年齡”“終端品牌”字段缺失比率均小于20%,因此對“入網(wǎng)時長”“年齡”這兩個特征的缺失值采用對應(yīng)特征的平均值進行填充;“付費模式”“終端品牌”兩個特征的缺失值均采用其眾數(shù)進行填充?!澳挲g”中存在小于0 的數(shù)值,對于小于0 的異常值使用“年齡”的平均值進行替換。
用戶的通話信息可以體現(xiàn)出欺詐用戶的一些規(guī)律特征,但在通話數(shù)據(jù)中也會存在一些異常的、無意義的數(shù)據(jù),為了更好的提取欺詐用戶的規(guī)律,需要對這些特殊的通話記錄進行處理。針對通話數(shù)據(jù)中重復(fù)的通話記錄,去除冗余的記錄,保留一條不重復(fù)的記錄。根據(jù)專家經(jīng)驗分析,正常用戶的通話時長應(yīng)大于1 秒,且每月只有一次通話記錄的情況很少,針對這類異常的通話記錄,進行了清除處理。
特征工程是影響詐騙電話識別模型的關(guān)鍵步驟,主要根據(jù)原始數(shù)據(jù)構(gòu)造影響識別詐騙電話的特征寬表。筆者主要從兩方面進行特征構(gòu)造,即基礎(chǔ)特征群及統(tǒng)計特征群?;A(chǔ)特征群是基于原始數(shù)據(jù)集上的一些簡單計算與擴充,統(tǒng)計特征群是對基礎(chǔ)特征通過統(tǒng)計方法進一步聚合的新特征。通過兩種方式構(gòu)造出一些潛在的、相關(guān)的特征,用于建立防欺詐模型。
1.3.1 基礎(chǔ)特征群構(gòu)建
詐騙分子一般會遵循一定的詐騙模型,專家經(jīng)驗構(gòu)造特征法是通過分析詐騙號碼的行為,總結(jié)出詐騙用戶的規(guī)律,發(fā)現(xiàn)騷擾詐騙電話和正常用戶的通話行為之間的差異,找出影響指標,如主被叫占比不均衡、呼叫頻次高、呼叫具有單向性等。筆者從簡單到復(fù)雜層次構(gòu)建了基礎(chǔ)特征群、統(tǒng)計特征群。
基礎(chǔ)特征群是在原始特征的基礎(chǔ)上的一些簡單擴充與統(tǒng)計,主要從用戶基礎(chǔ)信息、渠道終端信息及賬戶信息3 個數(shù)據(jù)表中直接提取了用戶號碼的一些基礎(chǔ)特征。在提取的基礎(chǔ)特征中,對“付費模式”“信用度等級”“會員級別”“行業(yè)類型”“渠道大類編碼”“終端廠商”“手機終端型號”“終端品牌”等分類型特征,進行了One-Hot 獨熱編碼處理。
1.3.2 統(tǒng)計特征群構(gòu)建
由于通話信息、短信信息、上網(wǎng)及訪問網(wǎng)站信息提取的是60 個自然日的基礎(chǔ)信息,為了建模需要,對這三個數(shù)據(jù)表中的字段進行了合并處理,處理后的特征即為統(tǒng)計特征群。
針對數(shù)值類型的字段,如“24 小時內(nèi)呼叫次數(shù)”“24 小時內(nèi)接通次數(shù)”“試呼次數(shù)”“被叫號碼數(shù)”等字段,先按照“用戶號碼”進行分組,分別統(tǒng)計出這些數(shù)值類型字段在60 個自然日內(nèi)的均值、最大值、總數(shù)、標準差、最小值,并將統(tǒng)計結(jié)果作為新的統(tǒng)計特征。例如,基于“試呼次數(shù)”字段可統(tǒng)計出“試呼次數(shù)_mean”“試呼次數(shù)_max”“試呼次數(shù)_sum”“試呼次數(shù)_std”“試呼次數(shù)_min”5個統(tǒng)計特征,這些統(tǒng)計特征分別代表了該用戶號碼在60個自然日內(nèi)嘗試呼出的平均次數(shù)、最高次數(shù)、總次數(shù)、標準差、最小次數(shù)。
對于分類型特征,如“是否有短信群發(fā)情況”,將其60 條記錄合并成一條記錄,合并的策略為將有短信群發(fā)的天數(shù)作為其填充值,例如某個號碼在60 天中有25 天都存在短信群發(fā)情況,那就將25作為合并后該字段的值。
在特征工程部分,構(gòu)建了一系列通話信息、用戶基本信息等基礎(chǔ)特征以及統(tǒng)計特征等,所有特征加起來將近120 維,高維特征的數(shù)據(jù)不僅可能會導(dǎo)致維數(shù)災(zāi)難,而且還容易使訓(xùn)練的模型產(chǎn)生過擬合的情況。采用特征選擇方法可以將冗余無效的特征進行剔除,不僅可以降低模型運行時間,還可以提升模型的效果。
常用的特征選擇方法有皮爾森相關(guān)系數(shù)(Pearson Correlation)[8]、互信息和最大信息系數(shù)(MIC)[9]、基于學(xué)習(xí)模型的特征排序(Model based ranking)以及距離相關(guān)系數(shù)等。通過采用比較高效的基于學(xué)習(xí)模型的特征排序方法選擇top N 重要性更強的特征,這種方法是直接使用某種機器學(xué)習(xí)算法,輸出每個單獨特征對目標變量的重要度。一般針對非線性關(guān)系的模型,機器學(xué)習(xí)算法可采用一些基于樹的方法,如隨機森林、GBDT、XGBoost 等。本文采用 GBDT[10]算法的訓(xùn)練過程,對特征的重要性進行排序,剔除重要性較低的特征,進行重新訓(xùn)練,提高識別模型效果。經(jīng)過試驗,最終選定重要度大于60 的特征作為最終用于建立模型的輸入特征。
詐騙號碼用戶只占所有電信號碼用戶的極小一部分,分布極不平衡。數(shù)據(jù)分布不平衡會導(dǎo)致模型預(yù)測的結(jié)果傾向于類別多的那一類,從而影響到模型的識別準確率。為了降低類別不平衡對識別詐騙號碼的影響,筆者同時采用兩種方法來解決。
一是采用抽樣方法,隨機抽取部分非詐騙號碼用戶,使得詐騙號碼類別和非詐騙號碼類別相對平衡。二是在訓(xùn)練模型時設(shè)置類別權(quán)重,即代價敏感學(xué)習(xí),將類別較少的詐騙號碼的權(quán)重設(shè)得更高,將另一類非詐騙號碼的權(quán)重設(shè)低。首先通過抽樣的方法使詐騙號碼與非詐騙號碼的比例達到1:4 左右,再通過訓(xùn)練模型時,設(shè)置兩種類別的權(quán)重為5和1。通過對類別的不平衡處理,有效提高了模型的欺詐號碼的識別準確率。
2.1.1 算法設(shè)計
建立防電信詐騙模型的算法采用以決策樹為基分類器的 XGBoost、LightGBM 算法。XGBoost是在GBDT 算法的基礎(chǔ)上做了許多改進,進一步提升了繼承決策樹算法的效率及效果。LightGBM是一個由微軟開源的梯度boosting 框架,是一種分布式的,高效的決策樹集成分類算法,該算法針對大規(guī)模的數(shù)據(jù)具有更快的訓(xùn)練效率、更高的準確率,并且還支持并行化處理方式。
2.1.2 模型融合
模型融合是一種模型優(yōu)化方式,能夠進一步提高模型識別的準確率。該技術(shù)通過將建立的幾種效果較好的單模型再進行一次融合,最終結(jié)果按照模型的Bagging 機制進行處理,如圖2 所示。Bagging 機制即投票機制,在多個單模型預(yù)測的結(jié)果中,哪種類別的個數(shù)多,最終融合后的結(jié)果即為該類別。通過將XGBoost、LightGBM 等多種單一模型進行融合,進一步提升了欺詐號碼識別的準確性。
圖2 模型融合的流程圖
建模使用的數(shù)據(jù)采集于某省某運營商相關(guān)業(yè)務(wù)數(shù)據(jù),真實有效。本次提取的數(shù)據(jù)集中共涉及800000 個號碼的相關(guān)信息,其中屬于電信詐騙的號碼有3000 個。經(jīng)過不平衡處理后,非詐騙號碼有12000 個記錄,詐騙號碼3000 個記錄,80%左右作為訓(xùn)練集,20%左右作為驗證集,驗證模型效果。模型的評估指標采用F1 值進行評估,F(xiàn)1 值代表了詐騙用戶的查準率和查全率的調(diào)和平均值,F(xiàn)1 值越高,代表模型效果越好。F1 的計算公式如下:
其中,TP 代表樣本是電信詐騙號碼且模型預(yù)測結(jié)果也為詐騙號碼的個數(shù),F(xiàn)P 代表樣本實際為非詐騙號碼但模型預(yù)測結(jié)果為詐騙號碼的個數(shù),F(xiàn)N 代表樣本實際為詐騙號碼但模型預(yù)測結(jié)果為非詐騙號碼的個數(shù),TP+FP 代表模型預(yù)測為詐騙號碼的樣本總數(shù),TP+FN 代表實際為詐騙號碼的樣本總數(shù)。
通過對 GBDT、XGBoost、LightGBM 單模型以及Bagging融合模型進行了實驗和驗證,效果如表7所示。
表7 模型效果對比表
根據(jù)表7 所示,經(jīng)過模型融合技術(shù)的模型效果在查準率、查全率和F1結(jié)果上均優(yōu)于其他單模型,選取模型融合技術(shù)建立最終的電信防欺詐模型。模型訓(xùn)練好之后可以去預(yù)測其他號碼是否為詐騙電話,并根據(jù)預(yù)測出來屬于詐騙電話的概率值進行降序排序,將概率大于90%的電話定為詐騙電話,并采取標記預(yù)警監(jiān)控等措施,進行及時預(yù)警,防止用戶受到這類電話的詐騙。
利用用戶號碼的移動通信數(shù)據(jù),通過機器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù),建立了電信防欺詐識別模型。在建立模型過程中,通過對原始數(shù)據(jù)進行清洗、特征工程、特征選擇、類別不平衡處理以及不斷對模型進行調(diào)參、優(yōu)化,最終研究出一種多模型融合模型,有效地提高了防欺詐電話的識別率。但由于訓(xùn)練數(shù)據(jù)中,詐騙電話樣本量占比較少,識別的準確率有待進一步提高,后續(xù)會加入詐騙電話樣本量,提高模型的效果,更準確地識別出詐騙電話的規(guī)律。同時,在多模型融合技術(shù)中,采取的是Bag?ging 機制,后續(xù)會進一步研究stacking 模型融合技術(shù),將其有效地應(yīng)用在電信防欺詐模型中。
安徽職業(yè)技術(shù)學(xué)院學(xué)報2021年4期