◎張婧旭
(中國(guó)電信股份有限公司福建分公司 福建 福州 350000)
隨著電信行業(yè)和計(jì)算機(jī)科技的迅速發(fā)展,出現(xiàn)一些團(tuán)體為了經(jīng)濟(jì)利益等,通過騷擾電話、垃圾短信等方式對(duì)目標(biāo)人群進(jìn)行騷擾;通過利用電腦設(shè)備和專用軟件,可以自動(dòng)變換呼叫頻率,按照特定規(guī)則生成呼叫號(hào)碼并且實(shí)現(xiàn)高頻率呼叫。由于當(dāng)前辦理移動(dòng)電話號(hào)碼的成本很低,騷擾電話發(fā)起者會(huì)經(jīng)常變換用于騷擾的電話號(hào)碼,增加對(duì)電話號(hào)碼捕捉的難度。因此,本文從實(shí)戰(zhàn)角度,介紹了一種適用于運(yùn)營(yíng)商的基于用戶行為特征的騷擾欺詐電話識(shí)別技術(shù),對(duì)提高治理騷擾、欺詐電話的準(zhǔn)確度提供借鑒。
騷擾電話有三種行為,分別是直接撥打、誘導(dǎo)回?fù)芎瓦B續(xù)呼叫。直接撥打,就是騷擾人直接撥打被騷擾人電話傳播事先錄制好的語音;誘導(dǎo)回?fù)?,就是撥打電話響鈴后自?dòng)掛斷,當(dāng)被騷擾人回?fù)芎髸?huì)聽到騷擾語音;連續(xù)呼叫,就是通過計(jì)算機(jī)對(duì)被騷擾人連續(xù)呼叫,影響被騷擾人正常通話。三種騷擾行為共同點(diǎn)是:呼叫頻率高;單位時(shí)間內(nèi)被叫數(shù)量大;呼叫時(shí)間比較集中;響鈴時(shí)間短;騷擾號(hào)碼被呼叫時(shí)的通話時(shí)間短;被叫號(hào)碼集中度高;被叫號(hào)碼為空號(hào)的比例大。
用戶在辦理業(yè)務(wù)時(shí)留下了檔案信息,包括戶名、證件號(hào)、性別、產(chǎn)品(套餐)等信息,在用戶通信過程中生成了通話詳單、上網(wǎng)詳單。對(duì)這些信息可以進(jìn)行初步的整合加工,得到我們進(jìn)行深度學(xué)習(xí)的基礎(chǔ)數(shù)據(jù)。如客戶入網(wǎng)時(shí)間、在網(wǎng)產(chǎn)品個(gè)數(shù)、套餐類別、開通時(shí)間、月通話次數(shù)、主叫通話次數(shù)、被叫號(hào)碼數(shù)、漫游地、上網(wǎng)流量等。同時(shí)為進(jìn)行深度學(xué)習(xí),還需通過人工方式獲取一定量的騷擾、欺詐、快遞、外賣、客服等真實(shí)的號(hào)碼。
1.標(biāo)簽字段
將人工標(biāo)記的結(jié)果數(shù)據(jù)轉(zhuǎn)換為數(shù)值型的編碼,用于后續(xù)的算法使用。
2.日期型字段
用戶數(shù)據(jù)中有大量的日期型的數(shù)據(jù),如客戶入網(wǎng)時(shí)間、套餐開通時(shí)間等,該類數(shù)據(jù)真正關(guān)心的不是具體的日期,而是該日期過去了多久,距今多少天或多少月等,用戶是老用戶還是新用戶等,因此需要對(duì)日期型數(shù)據(jù)進(jìn)行處理轉(zhuǎn)換,可以在python中處理,但更建議在數(shù)據(jù)庫中處理,因?yàn)閿?shù)據(jù)庫中處理相對(duì)簡(jiǎn)單。部分?jǐn)?shù)據(jù)因?yàn)闅v史原因存在異常,需先對(duì)異常值進(jìn)行處理,如入網(wǎng)時(shí)間的最小最大值分別為11111111、99991231。
3.類別型字段
用戶數(shù)據(jù)中有大量的類別型的數(shù)據(jù),如用戶星級(jí)、用戶終端廠商、用戶主套餐等,該類數(shù)據(jù)相對(duì)于數(shù)值型的數(shù)據(jù),一方面是不同取值之間不存在大小的判斷,另一方面取值存在字符數(shù)據(jù)包括中文數(shù)據(jù),因此需對(duì)這類數(shù)據(jù)進(jìn)行預(yù)處理,同時(shí)部分類別型字段的取值范圍太多(如終端型號(hào)、套餐類別等)需進(jìn)行歸類。
4.連續(xù)型字段
連續(xù)型字段指通話分鐘數(shù)、上網(wǎng)流量、客戶積分等數(shù)據(jù),該類數(shù)據(jù)為實(shí)數(shù)型或整數(shù)型字段,可以根據(jù)業(yè)務(wù)理解基于已有數(shù)據(jù)加工大量新的字段供機(jī)器學(xué)習(xí)算法進(jìn)行數(shù)據(jù)挖掘。
5.綜合數(shù)據(jù)處理
將日期型字段、類別型字段、連續(xù)型字段結(jié)合起來做一些綜合性處理,例如將以上特征(字段)選取部分做聚類,再構(gòu)造統(tǒng)計(jì)特征。
6.內(nèi)存優(yōu)化
內(nèi)存優(yōu)化的思路是將數(shù)值型數(shù)據(jù)的數(shù)據(jù)類型轉(zhuǎn)為最合適的,如將數(shù)據(jù)類型由'intt64'轉(zhuǎn)為'int8'類型等。由此降低數(shù)據(jù)對(duì)內(nèi)存的占用,騰出內(nèi)存供機(jī)器學(xué)習(xí)算法使用,提高模型訓(xùn)練速度。
為保障機(jī)器學(xué)習(xí)訓(xùn)練出來的模型能用來預(yù)測(cè),前面的數(shù)據(jù)處理是將訓(xùn)練數(shù)據(jù)和需要預(yù)測(cè)的數(shù)據(jù)(應(yīng)用數(shù)據(jù))合并在一起處理的,以保證處理方式一致。因此,需將訓(xùn)練數(shù)據(jù)和應(yīng)用數(shù)據(jù)拆分出來,并需明確因變量和自變量,同時(shí)為測(cè)試模型的優(yōu)劣,需將訓(xùn)練數(shù)據(jù)中留出一定比例的數(shù)據(jù)作為測(cè)試集。
1.算法選擇
要預(yù)測(cè)的label字段取值有5個(gè),因此該識(shí)別問題是個(gè)多分類問題,python中能做多分類的算法有隨機(jī) 森 林(Random Forest Classifier)、 多 分 類(One Vs Rest Classifier)、 邏 輯 回 歸(Logistic Regression),xgboost、LightGBM等,前三個(gè)Python的Scikit-learn中自帶,后兩個(gè)需下載安裝包在Python中安裝。經(jīng)過比較,xgboost、LightGBM的效果較好,LightGBM效率比xgboost高非常多,因此最終選擇了LightGBM算法。
2.算法實(shí)現(xiàn)
因樣本數(shù)量嚴(yán)重不均衡,需對(duì)此進(jìn)行處理,處理方式有過采樣、欠采樣、smote算法等,本次通過對(duì)訓(xùn)練模型設(shè)置權(quán)重來實(shí)現(xiàn)。
訓(xùn)練開始:2020.02.23 10:58:26
訓(xùn)練結(jié)束:2020.02.23 12:31:23
訓(xùn)練耗時(shí):1小時(shí)32分鐘57.36秒
3.參數(shù)調(diào)優(yōu)
可以用GridSearchCV進(jìn)行參數(shù)調(diào)優(yōu)。
該調(diào)優(yōu)方法是對(duì)parameters中的所有參數(shù)進(jìn)行組合后逐個(gè)運(yùn)行,花費(fèi)時(shí)間較長(zhǎng),例如以上例子中若對(duì)max_depth,n_estimators兩個(gè)參數(shù)同時(shí)調(diào)優(yōu),需花費(fèi)的時(shí)間約為7×5*1.5小時(shí),約兩天。因此該調(diào)優(yōu)方法只適用于小數(shù)據(jù)量情況下,對(duì)于電信的大數(shù)據(jù)量同時(shí)調(diào)優(yōu)多個(gè)參數(shù)耗時(shí)都以天為單位,盡量只對(duì)每個(gè)參數(shù)進(jìn)行逐個(gè)調(diào)優(yōu)。
4.應(yīng)用測(cè)試集測(cè)試模型效果
查看AUC值
5.輸出結(jié)果
(一)模型訓(xùn)練結(jié)束,即可用模型對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)。
騷擾欺詐電話嚴(yán)重?cái)_亂正常的生產(chǎn)生活秩序。對(duì)于普通用戶來說,這種行為不僅擾亂了正常工作生活,還造成精神上和經(jīng)濟(jì)上的損失;對(duì)于電信運(yùn)營(yíng)商來說,這種行為影響了通信網(wǎng)絡(luò)資源的正常使用,影響了企業(yè)品牌形象。本文從實(shí)戰(zhàn)角度出發(fā)介紹了騷擾欺詐電話識(shí)別的一般過程,向運(yùn)營(yíng)商提供一種可以基于用戶大數(shù)據(jù)利用人工智能技術(shù)進(jìn)行騷擾、欺詐電話的預(yù)測(cè)識(shí)別辦法,有利于提高治理騷擾、欺詐電話的準(zhǔn)確度和覆蓋率。