垃圾郵件新特點的關(guān)系開發(fā)

時間:2022-05-04 11:23:00

導(dǎo)語:垃圾郵件新特點的關(guān)系開發(fā)一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

垃圾郵件新特點的關(guān)系開發(fā)

摘要:傳統(tǒng)反垃圾郵件產(chǎn)品,大多是基于關(guān)鍵字過濾技術(shù)的。這種技術(shù)最大的缺陷就是在分詞時對新出現(xiàn)的潛在特征詞(組)識別能力較低。本文提出了一種基于關(guān)聯(lián)分析的垃圾郵件潛在特征詞(組)挖掘方法,能夠彌補傳統(tǒng)郵件過濾技術(shù)在文本特征項識別方面存在的不足,起到對垃圾詞典進行動態(tài)更新的作用。實驗表明,該方法在中英文垃圾郵件特征項挖掘方面具有很好的效果。

關(guān)鍵詞:垃圾郵件;特征詞;關(guān)聯(lián)分析

1引言

隨著Internet的發(fā)展,垃圾郵件的泛濫不僅浪費郵件接收者的大量時間,還極大地消耗網(wǎng)絡(luò)傳輸資源、郵件服務(wù)器的存儲空間,給郵件用戶、網(wǎng)絡(luò)管理員和ISP帶來了無盡的煩惱。面對垃圾郵件帶來的日益嚴(yán)重的危害,如何有效地過濾掉垃圾郵件,已成為當(dāng)前計算機網(wǎng)絡(luò)安全方面的一個新的研究熱點和難點。

目前,國內(nèi)外反垃圾郵件技術(shù)主要有:利用IP或域名“黑白名單”進行的郵件限制或過濾,利用以貝葉斯算法為代表的數(shù)據(jù)挖掘技術(shù)進行郵件過濾和基于關(guān)鍵詞規(guī)則匹配的內(nèi)容過濾。這些技術(shù)基本上都脫離不了“詞典+匹配”的模式,其瓶頸在于垃圾郵件新詞詞典的編篡明顯落后于形勢需要。很多垃圾郵件制造者針對傳統(tǒng)過濾技術(shù)的弱點,不斷地開發(fā)出新的垃圾郵件生成技術(shù),致使反垃圾郵件產(chǎn)品的性能不斷下降。如:一些垃圾郵件發(fā)送者對文本中的關(guān)鍵詞進行拆分或是變形,把“”篡改為“氵去車侖功”;一些垃圾郵件制造者將郵件中的敏感加入一些符號或標(biāo)點隔開(或是英文中用相似的字母進行替換),如“☆打#造&賺%錢$新*境※界∷”、“drµg”等等。這些都致使現(xiàn)行的反垃圾郵件過濾系統(tǒng)不能有效地識別。

本文提出的新詞挖掘模式,不需要詞典支持,引入關(guān)聯(lián)分析中的支持度、置信度等概念來篩選潛在特征詞,能夠自動、準(zhǔn)確、高效地挖掘中英文垃圾郵件中的潛在特征詞(組),是一項非常有意義和實用價值的研究。

2關(guān)聯(lián)規(guī)則挖掘的理論前提

在垃圾郵件特征詞(組)的挖掘中,文本的特征表示是挖掘工作的基礎(chǔ)。郵件文本實際上可以看作是由眾多的特征詞條構(gòu)成的多維信息空間。矢量空間向量模型(VectorSpaceModel,VSM)是目前應(yīng)用較多且效果較好的特征表示方法之一,即用V(doc)={(t1,w1),(t2,w2),…,(tn,wn)}表示文檔doc,其中:ti為詞條項,wi指第i個詞條在文檔中的權(quán)重(這里用第i個詞條出現(xiàn)的頻率pi表示第i個詞條在文檔中的權(quán)重wi)。這樣就把郵件文檔信息的表示轉(zhuǎn)化為對N維向量空間中向量表示來處理。這樣就可以運用關(guān)聯(lián)分析方法對表示成多維向量空間的向量進行統(tǒng)計分析,達到關(guān)聯(lián)強規(guī)則的就是發(fā)現(xiàn)的垃圾郵件潛在特征詞(組)。為了更好地理解本文,下面先理解幾個概念。

2.1關(guān)聯(lián)規(guī)則挖掘

關(guān)聯(lián)分析,又稱關(guān)聯(lián)規(guī)則挖掘,是Agrawal于1993年首先提出的,常用于發(fā)展大量數(shù)據(jù)中項集之間的相互聯(lián)系,是數(shù)據(jù)挖掘領(lǐng)域中的一個重要問題。現(xiàn)在許多學(xué)者已將關(guān)聯(lián)分析應(yīng)用于文本特征提取,并取得了很好的效果[1~6]。

不妨令I(lǐng)={i1,i2,…,im}是項的集合,D是事務(wù)的集合,D中的每個事務(wù)T是項的集合,并且TI。設(shè)A是一個I中項的集合,如果AT,則稱事務(wù)T包含A。則一個關(guān)聯(lián)規(guī)則是形如AB的蘊涵式,這里AI,BI,并且A∩B=Φ。關(guān)聯(lián)規(guī)則AB在事務(wù)集D中的支持度(Support)是事務(wù)集中包含A和B的事務(wù)數(shù)與所有事務(wù)數(shù)之比,記為support(AB),即support(AB)=|{T∶A∪BT,T∈D}|/|D|。關(guān)聯(lián)規(guī)則AB在交易集中的置信度(Confidence)是指包含A和B的事務(wù)數(shù)與包含A的事務(wù)數(shù)之比,記為confidence(AB),即confidence(AB)=|{T∶A∪BT,∈D}|/|{T∶AT,T∈D}|。

2.2幾個相關(guān)概念

詞條共現(xiàn):對于給定的郵件D,存在一表現(xiàn)主題的基本單位w,使得詞條TERM1,…,TERMn在w中出現(xiàn),TERM1,…,TERMn在文本D共現(xiàn)。

詞條共現(xiàn)規(guī)則:如果TERM1,…,TERMn滿足蘊涵式TERM1,…,TERMnco(TERM1,…,TERMn),這里TERMi是詞,1≤i≤n,co為詞條共現(xiàn)操作符,則稱TERM1,…,TERMn滿足詞條共現(xiàn)規(guī)則。

詞條共現(xiàn)規(guī)則的支持度support(TERM1,…,TERMnco(TERM1,…,TERMn))是郵件文本中TERM1,…,TERMn共現(xiàn)的概率,即

support(TERM1,…,TERMnco(TERM1,…,TERMn))=P(TERM1∪…∪TERMn)

可表示為:

詞條共現(xiàn)規(guī)則的置信度是當(dāng)TERM1,…,TERMn出現(xiàn)的條件下,滿足co(TERM1,…,TERMn)的條件概率,表示為:

,其中:是詞TERM在文本中出現(xiàn)的頻數(shù),是詞TERM1,…,TERMn在文本中共現(xiàn)的總數(shù)。

強詞條共現(xiàn)規(guī)則:給定最小支持度閾值min_sup與最小置信度閾值min_conf,同時滿足min_sup與min_conf的詞條共現(xiàn)規(guī)則稱為強詞條共現(xiàn)規(guī)則。

3垃圾郵件特征詞(組)關(guān)聯(lián)挖掘的處理步驟

本文提出的郵件特征詞關(guān)聯(lián)規(guī)則挖掘方法,可用圖1表示其處理流程。

圖1垃圾郵件特征詞關(guān)聯(lián)挖掘處理流程圖

3.1文本預(yù)處理

為了提高垃圾郵件新詞(組)挖掘的召回率和準(zhǔn)確率,本文先對郵件樣本進行樣本郵件的聚類分塊預(yù)處理。文本聚類,就是把一個文檔集分成若干稱為集簇的子集,每個集簇的成員之間有較大的相似性,而集簇之間的文檔具有較小的相似性。本文采用時間和文本相似度為尺度來進行文本的聚類。我們認(rèn)為出現(xiàn)時段越吻合的兩封郵件相似度越大,出現(xiàn)時間相近的郵件樣本應(yīng)屬同一塊;對于矢量化的兩封郵件文檔的相似度與兩者之間的角度成反比【7,8】。這里采用夾角余弦值來表示為(定義兩篇文本d1,d2∈D):

3.2詞條切分,詞頻統(tǒng)計

利用機械分詞方法,對所有的垃圾郵件樣本進行詞條切分,并對所得到的詞條進行詞頻統(tǒng)計,同時采用特定規(guī)則進行降維處理,從而得到強規(guī)則的候選詞條集。

①以“我”、“的”、“是”等成詞能力低的高頻字和“,”、“?!睘闃?biāo)志對每封郵件樣本進行斷句切分。像“我”、“的”、“是”等一些功能性詞,本身成詞能力很弱,但出現(xiàn)頻率很高。另外,垃圾郵件制造者無論怎樣用格式符或標(biāo)點隔開垃圾字眼,但總不能破壞其完整語義,使用的格式符或者標(biāo)點一般都是空格、“*”、和“/”等符號,而不會使用象“,”、“?!贝祟惷黠@的自然切分標(biāo)志。以成詞率低的高頻字和“,”、“?!睘閿嗑錁?biāo)志,不僅可以減少計算開銷,降低詞條向量的維數(shù),而且還大大提高詞條過濾的準(zhǔn)確率。對每個斷句單元(w1,w2,w3,…,wn),從w1開始到wn進行(w1,w2),(w1,w2,w3),…,(w1,w2,w3,…,wn);…,(wi,wi+1),(wi,wi+1,wi+2),…,(wi,wi+1,…,wn);…,(wn)模式的切分。如:“激情影視”可切分為“激情”、“情影”、“影視”三個2字詞條,“激情影”、“情影視”兩個3字詞條和“激情影視”一個4字詞條。并分別統(tǒng)計所得到的詞條出現(xiàn)頻次,將在每封郵件中出現(xiàn)2次以上的所有詞條加入潛在特征詞候選詞條集中。以下是部分實現(xiàn)代碼:

②對于切分所得詞條集中,如果前一詞條是后一詞條的子串的,例如:在所得詞條集“w1,w2,w3,…,wn”中,若是wi后面緊跟詞wj,記為wiwj。wiwj組成新詞(組)的可信度定義為wi后出現(xiàn)詞wj的概率:

。其中,dfij代表詞wi和wj共現(xiàn)頻次,dfi代表wi出現(xiàn)頻次。當(dāng)80%≤confidence(wiwj)時,認(rèn)為兩詞條出現(xiàn)頻率基本一致,去掉詞條wj;當(dāng)confidence(wiwj)<80%時,則認(rèn)為wj和wjwj可以分別單獨成詞。這樣可去除候選詞條集中的大量冗余項。

③對聚類所得同一塊的郵件切分所得詞條集進行累計(前面按規(guī)則已加入頻繁項集的詞條不再累計),執(zhí)行②中的去除冗余項,對于達到頻率大于30%的詞條,全部加入到頻繁項集。根據(jù)金翔宇等人的研究,當(dāng)文檔長度增加到一定程度時(10K以上),切分詞條數(shù)目不再隨文檔長度的增加而線性增長,基本上穩(wěn)定在3000左右[9]。所以分詞統(tǒng)計時,我們采用緩存建立詞條Hash表方法加快頻繁項的提取速度。

以下是部分實現(xiàn)代碼:

StructIndexItem{

Charcc[3];//漢字,以’\0’結(jié)束

IntnOcurrence=0;//該漢字出現(xiàn)的次數(shù),初始化為0

BoolbHasProcessed=false;//該漢字是否己經(jīng)被處理,初始化為false

Int*pPosArray=Null;//指向存放出現(xiàn)位置的數(shù)組指針,初始化為空

};

IndexItemindexArray[87][94];//用87×94二維矩陣存放所有索引節(jié)點

Char*pCndSep=“我的是……”;//成詞力低的高頻斷句標(biāo)記字

Char*pAbsSep=“。,”;//“,”和“?!睌嗑錁?biāo)記

ReadTextProcess(char*pText,IndexItemindexArray[87][94])

//實現(xiàn)將郵件文檔按字索引方式讀入內(nèi)存

structStrItem{

char*pStr=NULL;//字串內(nèi)容,初始化為空

intnFre=0;//出現(xiàn)頻次,初始化為0

};

GetStrFre(char*pText,IndexItemindexArray[87][94],StrItem**strArray,StrItem**HeighFrestrArray)//實現(xiàn)機械切分及字串頻次統(tǒng)計,對頻

//次>2加入到高頻字串集

DelReduItemProcess(StrItem**strArray)//實現(xiàn)去除冗余項功能

3.3人工選擇

經(jīng)過上述三步后,就可以得到候選的詞條集,最后經(jīng)過人工干涉進行選擇和判別,得到新的垃圾郵件特征詞(組)。

3.4試驗結(jié)果

為了評價測試結(jié)果,這里引入召回率Recall和準(zhǔn)確率Precision兩個測試指標(biāo)。其中:Precision=T/W*100%。T是被挖掘方法正確識別的變形詞(組)數(shù),W為被挖掘方法輸出的總變形特征詞(組)數(shù);Recall=T/A×100%。T是被挖掘方法正確識別的變形特征詞(組)數(shù),A是郵件文檔中經(jīng)過變形操作的特征詞(組)數(shù)。

筆者從蘭州理工大學(xué)郵件服務(wù)系統(tǒng)獲得7572封用戶舉報的垃圾郵件,并分成3組進行了該方法性能測試。測試結(jié)果表明:該新詞自動識別模型的詞條切分平均速度29828詞/秒,新詞挖掘召回率、準(zhǔn)確率較高,分別達到81.5%和92.1%。當(dāng)然也發(fā)現(xiàn)該方法對一些特征詞(組)變形十分嚴(yán)重的郵件文檔挖掘不太理想。

表1性能測試結(jié)果

郵件數(shù)目抽詞速度(詞/秒)變形關(guān)鍵詞(個)識別的特征詞(個)正確識別數(shù)(個)召回率準(zhǔn)確率

一組1571279471271019379.5%92.1%

二組24642970723118917681.8%93.1%

三組35373183044637133883.2%91.1%

合計/平均757229828268220.3202.381.5%92.1%

4.結(jié)論

關(guān)聯(lián)分析技術(shù)是一種具有極大應(yīng)用價值的數(shù)據(jù)挖掘方法,通過尋找數(shù)據(jù)項之間的有趣聯(lián)系進行知識的獲取。本文介紹的垃圾郵件新特征詞(組)挖掘方法同樣可以用于其它領(lǐng)域的專業(yè)特征新詞的自動識別,但是該方法很多人為制定的規(guī)則不太好把握,而且對低頻率新詞的識別準(zhǔn)確率不夠高。

參考文獻:

[1]羅宇輝.因特網(wǎng)經(jīng)濟學(xué)未登錄詞計算機輔助挖掘試驗.理論與探索,2005,28-5:478-481;

[2]梁剛.基于機械分詞與統(tǒng)計學(xué)的新詞識別研究.理論與探索,2005,28-5:475-477;

[3]馮長遠.Web文本特征選擇算法的研究.計算機應(yīng)用研究2005,7:37-38;

[4]賈自艷.基于概率統(tǒng)計技術(shù)和規(guī)則方法的新詞發(fā)現(xiàn).計算機工程,2004,30-20:19-21;

[5]李寶林.用關(guān)聯(lián)分析技術(shù)識別不良信息特征項的新方法.計算機工程與應(yīng)用,2003,28:39-41;

[6]韓客松.無字典高頻字串快速提取和統(tǒng)計算法研究.中文信息學(xué)報,2001.15-2:23-30;

[7]許建潮.中文web文本的特征獲取與分類.計算機工程,2005,31-8:24-25;

[8]刁力力.計算文本相似度閾值的方法.清華大學(xué)學(xué)報(自然科學(xué)版),2003,43-1:108-111;

[9]金翔宇.一種中文文檔的非受限無詞典抽詞方法.中文信息學(xué)報,2001,15-6:33-39;