劉文龍,時(shí)鎮(zhèn)軍(中國(guó)移動(dòng)通信集團(tuán)江蘇有限公司,南京 210003)
基于多分類器融合的垃圾短信處理系統(tǒng)
劉文龍,時(shí)鎮(zhèn)軍
(中國(guó)移動(dòng)通信集團(tuán)江蘇有限公司,南京 210003)
本文提出了利用樸素貝葉斯、社交網(wǎng)絡(luò)SNS和廣告主挖掘多個(gè)分類器融合的垃圾短信處理方式,系統(tǒng)基于Hadoop處理平臺(tái),從用戶發(fā)送內(nèi)容和發(fā)送行為兩個(gè)維度著手堆垃圾短信識(shí)別,可以大幅度提升目前垃圾短信治理的召回率和準(zhǔn)確率。
樸素貝葉斯;社交網(wǎng)絡(luò);分類器融合;垃圾短信處理
目前對(duì)于垃圾短信的治理手段,多采用流量和的處理方式。在實(shí)際使用時(shí),為了防止誤攔截流量策略一般設(shè)置較為寬松,只有用戶發(fā)送行為明顯出現(xiàn)異常時(shí)才會(huì)被檢出,對(duì)于
策略,一般是從已知的垃圾短信中提取出
,再結(jié)合適當(dāng)?shù)拈T限值來進(jìn)行配置,該種策略對(duì)于已知的垃圾短信有較好的檢出率,但是對(duì)于新型短信,或者內(nèi)容變化較大的短信則較難檢出。并且對(duì)于采用純流量和
+流量的治理方式,需要耗費(fèi)大量的人力來對(duì)策略進(jìn)行維護(hù),當(dāng)策略數(shù)量達(dá)到一定數(shù)量級(jí)后,手動(dòng)維護(hù)已經(jīng)較為吃力。對(duì)于單純使用文本分類算法來處理垃圾短信的方式,雖然內(nèi)容判斷較為準(zhǔn)確,但是由于脫離了用戶的發(fā)送行為,較容易造成誤攔截。
本文提出基于可橫向擴(kuò)展的Hadoop分布式計(jì)算、非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)和處理能力系統(tǒng)結(jié)構(gòu),從底層保證系統(tǒng)的大數(shù)據(jù)處理性能和系統(tǒng)易擴(kuò)展性能,充分利用經(jīng)人工審核已確認(rèn)的垃圾短信作為深入挖掘和智能分析的樣本,融合基于短信內(nèi)容的貝葉斯分類算法和基于用戶發(fā)送行為的社交網(wǎng)絡(luò)算法提高系統(tǒng)的查準(zhǔn)率,并且利用廣告主挖掘算法來大幅提高垃圾短信的查全率,從垃圾短信的根源和本質(zhì)進(jìn)行治理,從而可大幅提升垃圾短信的治理效果。
如圖1所示,系統(tǒng)總體軟件架構(gòu)邏輯上共分為4層:數(shù)據(jù)獲取及預(yù)處理層、數(shù)據(jù)存儲(chǔ)計(jì)算框架層、數(shù)據(jù)分析層和數(shù)據(jù)應(yīng)用層,其中中間3層數(shù)據(jù)獲取及預(yù)處理層、數(shù)據(jù)存儲(chǔ)計(jì)算框架層、數(shù)據(jù)分析層以及操作維護(hù)為本系統(tǒng)的核心組成部分。
數(shù)據(jù)獲取及預(yù)處理層:提供針對(duì)不同數(shù)據(jù)源的數(shù)據(jù)獲取接口,如FTP、數(shù)據(jù)庫接口等用來從數(shù)據(jù)源獲取源數(shù)據(jù);預(yù)處理部分針對(duì)實(shí)際處理需要以及數(shù)據(jù)源的格式等完成統(tǒng)計(jì)粒度內(nèi)數(shù)據(jù)合并處理、獲得數(shù)據(jù)的結(jié)構(gòu)化處理、源數(shù)據(jù)格式的處理和轉(zhuǎn)換、源數(shù)據(jù)抽取、過濾等功能。經(jīng)過該層的處理后,所獲取的源數(shù)據(jù)保存在由數(shù)據(jù)存儲(chǔ)計(jì)算框架層提供的分布式存儲(chǔ)中,可供上層數(shù)據(jù)分析層直接處理。
收稿日期:2015-11-16
圖1 系統(tǒng)架構(gòu)圖
數(shù)據(jù)存儲(chǔ)計(jì)算框架層:主要包括由DMP平臺(tái)封裝提供的Hadoop的Map/Reduce分布式并行計(jì)算框架和HDFS分布式文件系統(tǒng),以及用于存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)和基礎(chǔ)結(jié)果數(shù)據(jù)的商用關(guān)系型數(shù)據(jù)庫。采用DMP平臺(tái)集成的Hadoop框架,主要是考慮其分布式文件系統(tǒng)超大的存儲(chǔ)空間能夠滿足短信挖掘高帶寬大數(shù)據(jù)量的存儲(chǔ)需求以及Map/Reduce分布式并行計(jì)算框架能夠滿足對(duì)數(shù)據(jù)分析處理性能的要求。
數(shù)據(jù)分析層:數(shù)據(jù)分析主要包含廣告主挖掘、樸素貝葉斯分類、社交SNS等分類器的分析處理。
操作維護(hù)OMM:操作維護(hù)包括對(duì)整套系統(tǒng)的各種操作維護(hù)的需求功能,包括常用的設(shè)備管理、故障管理、系統(tǒng)監(jiān)控、日志管理和權(quán)限管理,還包括配置管理和元數(shù)據(jù)管理。配置管理包括對(duì)MAP/Reduce計(jì)算系統(tǒng)的配置、統(tǒng)計(jì)分析和挖掘分析處理的各種配置。
2.1樸素貝葉斯算法
貝葉斯分類算法是統(tǒng)計(jì)學(xué)的一種分類算法,它是一種利用概率統(tǒng)計(jì)知識(shí)進(jìn)行分類的算法。其中樸素貝葉斯算法作為貝葉斯分類算法的一種,具有算法邏輯簡(jiǎn)單,易于實(shí)現(xiàn)的特點(diǎn),并且分類過程中對(duì)于時(shí)間和存儲(chǔ)的開銷小,算法穩(wěn)定性和健壯性好,目前被廣泛用于文本分類,人工智能等領(lǐng)域。
2.1.1貝葉斯基本公式
由貝葉斯基本公式
可以導(dǎo)出:
2.1.2統(tǒng)計(jì)學(xué)轉(zhuǎn)換到垃圾監(jiān)控領(lǐng)域
P(A)是A的先驗(yàn)概率或邊緣概率,它不考慮任何B方面的因素。
P(A|B)是已知B發(fā)生后A的條件概率,也由于得自B的取值而被稱作A的后驗(yàn)概率。
P(B)是B的先驗(yàn)概率或邊緣概率,也叫做標(biāo)準(zhǔn)化常量(Normalized Constant)。
轉(zhuǎn)化做垃圾短信監(jiān)控領(lǐng)域中后:A是一個(gè)詞,B是一條短信。
P(B|A)就是當(dāng)A詞出現(xiàn)時(shí),短信B是垃圾短信的概率,是后驗(yàn)概率,也就是貝葉斯分類的系數(shù)。
P(B)、P(A)和P(A|B)是先驗(yàn)概率,通過對(duì)分類器進(jìn)行訓(xùn)練得出。
P(B)是短信B在所有樣本短信中出現(xiàn)概率 = 短信B的條數(shù)/所有樣本短信條數(shù),由歷史全量樣本中統(tǒng)計(jì)得出。
P(A)是詞A在樣本的所有特征分詞中出現(xiàn)概率 =詞A出現(xiàn)次數(shù)/所有特征分詞出現(xiàn)次數(shù)。
P(A|B)是含有詞A的短信B是垃圾短信的概率 =出現(xiàn)詞A的短信B是垃圾短信的條數(shù)/短信B總條數(shù)(垃圾短信總條數(shù))。
2.1.3算法說明
衍生的樸素貝葉斯公式:
假設(shè)垃圾短信樣本與正常短信樣本的比例為5:95,即P(C0)等于0.05,P(C1)等于0.95。
對(duì)短信做加權(quán)和降維后產(chǎn)生Dx,進(jìn)行樸素貝葉斯文本分類:
【無】【本】【稅】
【錫】【地】【票】 王經(jīng)理:138929929290
Dx={稅,票,本, 王經(jīng)理,地, 錫}
通過統(tǒng)計(jì)各個(gè)分詞Wi在垃圾短信樣本集里面出現(xiàn)的次數(shù)與所有分詞數(shù)的比值,可以獲取P(Wi|C0),類似的可以計(jì)算出Wi在正常短信的分布比例,獲取P(Wi|C1),上述分詞對(duì)應(yīng)的條件概率如圖2所示。
圖2 條件概率
這條消息屬于垃圾短信的概率是屬于正常短信的概率的4.58倍,貝葉斯分類算法得出該條短信歸類為垃圾短信的系數(shù)為0.820 8。
2.2社交網(wǎng)絡(luò)(SNS)
2.2.1算法原理
圖3 垃圾短信發(fā)送者社交關(guān)系圖
垃圾短信發(fā)送者的社交網(wǎng)絡(luò)如圖3所示,具有出入度大、收發(fā)比例不均衡、收發(fā)時(shí)間、條數(shù)、內(nèi)容分布均勻、接收者之間基本無聯(lián)系等特點(diǎn),社會(huì)關(guān)系網(wǎng)絡(luò)結(jié)果呈扇形對(duì)稱分布。
圖4 正常短信發(fā)送者社交關(guān)系圖
正常短信發(fā)送者的社交網(wǎng)絡(luò)關(guān)系如圖4所示,具有出入邊數(shù)相對(duì)稀少、收發(fā)比例均衡、收發(fā)時(shí)間、條數(shù)、內(nèi)容隨機(jī)分布、接收者之間交往聯(lián)系特征明顯等特點(diǎn),關(guān)系網(wǎng)絡(luò)呈網(wǎng)絡(luò)拓?fù)錉睢?/p>
2.2.2算法說明
2.2.2.1基于圖論的用戶判定方法
將現(xiàn)網(wǎng)用戶的行為做有向圖,圖5中每個(gè)節(jié)點(diǎn)都是一個(gè)用戶,而每條帶箭頭的線表示用戶之間發(fā)了一條短信。
圖5 正常主叫社交關(guān)系圖
正常用戶的行為:圖6出去的箭頭(出度)和進(jìn)入的箭頭(入度)處在相同的數(shù)量級(jí)別。
圖6 疑似主叫社交關(guān)系圖
垃圾短信用戶行為:圖6用戶的出度明顯大于入度,甚至幾乎沒有入度。
2.2.2.2短信長(zhǎng)度輔助判斷
對(duì)樣本短信進(jìn)行聚類分析,垃圾短信和正常短信的內(nèi)容長(zhǎng)度呈現(xiàn)完全不同的分布情況。
正常消息的長(zhǎng)度集中在1~17和大于55區(qū)間內(nèi)。意味著正常消息大部分是極短的,或者是比較長(zhǎng)的。
垃圾消息的長(zhǎng)度集中在10~65之間。意味著垃圾消息不會(huì)太短,一般也不會(huì)使用長(zhǎng)消息。
2.2.2.3疑似垃圾短信系數(shù)計(jì)算
通過計(jì)算單個(gè)計(jì)算周期內(nèi),用戶出度、入度、發(fā)送條數(shù)、接收條數(shù)、發(fā)送時(shí)間間隔方差和發(fā)送內(nèi)容長(zhǎng)度、長(zhǎng)度方差等因素,計(jì)算該用戶的疑似度。如果用戶的出度和發(fā)送條數(shù)小于限定值(人工設(shè)定),則疑似系數(shù)為0。
2.3廣告主挖掘
2.3.1算法原理
垃圾短信的內(nèi)容變化多種多樣,但是從廣告和詐騙類垃圾短信產(chǎn)生的根源分析,短信內(nèi)容中通常需要包含聯(lián)系電話、銀行賬號(hào)或者網(wǎng)址等信息;而由于成本及更換困難等多種原因,這些廣告主信息通常相對(duì)比較固定,是大量垃圾短信中具有的明顯特征,而且是比較固定的特征信息。
2.3.2算法說明
定義廣義字符庫:垃圾短信發(fā)送用戶為了避免被攔截,往往在其中穿插了各種各樣的數(shù)字和字母:阿拉伯?dāng)?shù)字、中文簡(jiǎn)體數(shù)字、繁體數(shù)字、諧音數(shù)字、帶符號(hào)的數(shù)字和各種象形字母,我們把這些表現(xiàn)形式多樣的字符稱為廣義字符。
廣義字符庫可配置,包括阿拉伯?dāng)?shù)字、中文簡(jiǎn)體數(shù)字(如一、二、三)、繁體數(shù)字(如壹、貳、叁)、諧音數(shù)字、帶符號(hào)的數(shù)字(①、□)、以全角或上下標(biāo)表示的數(shù)字(如1、1、4)和各種相似字母等。在收到短信后根據(jù)廣義字符庫先將短信內(nèi)容中的廣義字符做變換后再進(jìn)行分析。
定義廣告主庫:廣告主庫根據(jù)已被判定的垃圾短信內(nèi)容生成,包含銀行卡號(hào)、網(wǎng)址、聯(lián)系電話、郵箱地址等信息,實(shí)時(shí)進(jìn)行更新,并且對(duì)于一定期限內(nèi)沒有觸發(fā)過的廣告主則進(jìn)行老化處理。
圖7 廣告主分類處理流程圖
廣告主分類處理流程圖如圖7所示。
(1)對(duì)待分析短信內(nèi)容進(jìn)行預(yù)處理,根據(jù)預(yù)先配置的廣義字符庫進(jìn)行變換,得到原始廣告主內(nèi)容。
(2)與已知廣告主庫進(jìn)行比對(duì),如果為已知廣告主,則直接輸出內(nèi)容疑似度,如果非已知廣告主,則加入到拒識(shí)庫。
(3)以廣告主作為特征向量,對(duì)拒識(shí)庫內(nèi)的所有短信進(jìn)行聚類。
(4)根據(jù)發(fā)送該廣告主的主叫號(hào)碼數(shù)量,主叫號(hào)碼的疑似度(由社交網(wǎng)絡(luò)算法得出),發(fā)送總量等信息計(jì)算該廣告主疑似度。
(5)根據(jù)該廣告主疑似度進(jìn)行計(jì)算,輸出廣告主分類器的疑似系數(shù)。
目前在分類領(lǐng)域中,多分類器融合技術(shù)發(fā)展迅猛,分類融合技術(shù)主要可劃分為兩類,第一類著重改善分類器的結(jié)構(gòu),在分類過程中找一個(gè)或者一組最優(yōu)分類器,融合過程不對(duì)單個(gè)分類器的結(jié)果做任何修改,另一類則不對(duì)單個(gè)分類器做任何更改,主要對(duì)各分類器輸出結(jié)果進(jìn)行操作,即對(duì)單個(gè)分類器分類結(jié)果進(jìn)行計(jì)算,來確定最終分類結(jié)果。對(duì)分類器輸出進(jìn)行融合的方法有很多,最常見的方法有多數(shù)投票法、加權(quán)平均法、Borda計(jì)數(shù)法、D-S證據(jù)組合、貝葉斯方法、神經(jīng)網(wǎng)絡(luò)、模糊積分、決策模板等。
結(jié)合垃圾短信分類的實(shí)際情況,以及本文涉及的單個(gè)分類算法,最終采用優(yōu)化的加權(quán)多數(shù)投票法,當(dāng)社交關(guān)系分類器計(jì)算主叫號(hào)碼疑似度為0時(shí),進(jìn)行一票否決。
為了提高整體召回率,當(dāng)根據(jù)各個(gè)分類器計(jì)算出疑似垃圾短信后,再根據(jù)短信內(nèi)容中的廣告主對(duì)主叫號(hào)碼進(jìn)行召回,提取出包含所有該廣告主的短信,去除社交關(guān)系分類器否決的部分,然后進(jìn)行補(bǔ)充輸出。
為了更好的測(cè)試各個(gè)分類器作用效果,與分類器融合后效果,經(jīng)過設(shè)計(jì)后進(jìn)行實(shí)驗(yàn)。
4.1單分類器實(shí)驗(yàn)
4.1.1貝葉斯分類器訓(xùn)練
用樣本訓(xùn)練出貝葉斯分類器,供貝葉斯算法使用。輸入:正常短信樣本60萬條。垃圾短信樣本20萬條。輸出:分類器文件,供離線貝葉斯分類和實(shí)時(shí)貝葉斯分類使用。
過程:對(duì)樣本庫進(jìn)行處理,利用正常樣本60萬,垃圾樣本20萬,然后分別對(duì)正常樣本和垃圾樣本進(jìn)行分詞、詞頻統(tǒng)計(jì),最終為每一個(gè)詞計(jì)算出一個(gè)可疑權(quán)重,形成貝葉斯分類器。
4.1.2貝葉斯分類器
輸入:分類器文件。測(cè)試短信樣本。
輸出:貝葉斯可疑內(nèi)容詳單。
過程:對(duì)原始話單的每條消息進(jìn)行分詞,然后計(jì)算每個(gè)詞的權(quán)重,由包含詞的權(quán)重可得到短信的可疑權(quán)重值,過濾出其中權(quán)重值大于0.5的短信內(nèi)容,最終輸出可疑短信詳單。
4.1.3社交網(wǎng)絡(luò)分類器
輸入:測(cè)試短信樣本。
輸出:社交網(wǎng)絡(luò)分類可疑內(nèi)容詳單。
過程:通過對(duì)每個(gè)主叫、被叫進(jìn)行出度、入度,發(fā)送消息數(shù)量,接受消息數(shù)量等進(jìn)行計(jì)算,對(duì)每個(gè)號(hào)碼發(fā)送的消息中文長(zhǎng)度區(qū)間進(jìn)行統(tǒng)計(jì),然后為每個(gè)號(hào)碼計(jì)算出一個(gè)可疑權(quán)重值,抽取出其中權(quán)重大于0.5的號(hào)碼,再根據(jù)這些號(hào)碼輸出可疑短信詳單。
4.1.4廣告主分類器
輸入:廣義字符字典,廣告主字典。測(cè)試短信樣本。輸出:廣告主分類可疑內(nèi)容詳單。
過程:根據(jù)廣義字符字典文件,將話單中的廣義字符替換成原本字符,然后將具有廣告主特征的連續(xù)字符作為廣告主,計(jì)算這些廣告主的出現(xiàn)次數(shù)、參與主叫數(shù)量等,過濾出其中參與主叫數(shù)量大于等于2,出現(xiàn)次數(shù)大于等于10次的廣告主,最后根據(jù)這些廣告主輸出可疑短信詳單。
4.2分類器融合綜合評(píng)估
輸入:測(cè)試短信樣本。
輸出:融合疑似詳單文件。
過程:通過對(duì)各個(gè)分類器系數(shù)以及融合權(quán)值進(jìn)行調(diào)整,進(jìn)行綜合分類,輸出最終疑似話單。
4.3實(shí)驗(yàn)結(jié)果
離線分類數(shù)據(jù)的統(tǒng)計(jì)結(jié)果如表1所示。
表1 離線分類數(shù)據(jù)的統(tǒng)計(jì)結(jié)果
在文本分類領(lǐng)域,通過增加單個(gè)分類器結(jié)構(gòu)的復(fù)雜度來提高分類精度通常已經(jīng)不能滿足要求,而將多個(gè)結(jié)構(gòu)簡(jiǎn)單的分類器依據(jù)不同策略進(jìn)行融合,來提高整體分類的精度,不失為一種明知的選擇。
在垃圾短信處理方法上部分專家也提出使用文本分類的算法來處理垃圾短信,但是在實(shí)際使用中,單純依靠短信內(nèi)容來判斷用戶是否發(fā)送垃圾短信并不能滿足要求, 需結(jié)合用戶的發(fā)送行為進(jìn)行綜合判斷。本文提出的基于短信內(nèi)容+用戶行為+廣告主判斷融合的方法,在實(shí)際使用中可以對(duì)不同類別的分類器進(jìn)行替換或者增減,可以大幅提高垃圾短信治理中的召回率和準(zhǔn)確率,是一種較為先進(jìn)的垃圾短信治理系統(tǒng)。
Anti-spam SMS system based on multi classifier fusion
LIU Wen-long, SHI Zhen-jun
(China Mobile Group Jiangsu Co., Ltd., Nanjing 210003, China)
In this paper, we propose use naive bayesian, social networks and extract advertisers to tap the multi classifi er fusion Anti-spam system, the system based on Hadoop platform, according to SMS content and user's behavior to identify spam messages, then the classifi cation accuracy will be improved greatly.
naive bayesian; social networks; multi-classifi er fusion; anti-spam messages
TN918
A
1008-5599(2015)12-0031-06
電信工程技術(shù)與標(biāo)準(zhǔn)化2015年12期