垃圾郵件新特點的關系開發

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

導語:垃圾郵件新特點的關系開發一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

垃圾郵件新特點的關系開發

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

關鍵詞:垃圾郵件;特征詞;關聯分析

1引言

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

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

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

2關聯規則挖掘的理論前提

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

2.1關聯規則挖掘

關聯分析,又稱關聯規則挖掘,是Agrawal于1993年首先提出的,常用于發展大量數據中項集之間的相互聯系,是數據挖掘領域中的一個重要問題?,F在許多學者已將關聯分析應用于文本特征提取,并取得了很好的效果[1~6]。

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

2.2幾個相關概念

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

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

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

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

可表示為:

詞條共現規則的置信度是當TERM1,…,TERMn出現的條件下,滿足co(TERM1,…,TERMn)的條件概率,表示為:

,其中:是詞TERM在文本中出現的頻數,是詞TERM1,…,TERMn在文本中共現的總數。

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

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

本文提出的郵件特征詞關聯規則挖掘方法,可用圖1表示其處理流程。

圖1垃圾郵件特征詞關聯挖掘處理流程圖

3.1文本預處理

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

3.2詞條切分,詞頻統計

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

①以“我”、“的”、“是”等成詞能力低的高頻字和“,”、“。”為標志對每封郵件樣本進行斷句切分。像“我”、“的”、“是”等一些功能性詞,本身成詞能力很弱,但出現頻率很高。另外,垃圾郵件制造者無論怎樣用格式符或標點隔開垃圾字眼,但總不能破壞其完整語義,使用的格式符或者標點一般都是空格、“*”、和“/”等符號,而不會使用象“,”、“?!贝祟惷黠@的自然切分標志。以成詞率低的高頻字和“,”、“?!睘閿嗑錁酥荆粌H可以減少計算開銷,降低詞條向量的維數,而且還大大提高詞條過濾的準確率。對每個斷句單元(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字詞條。并分別統計所得到的詞條出現頻次,將在每封郵件中出現2次以上的所有詞條加入潛在特征詞候選詞條集中。以下是部分實現代碼:

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

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

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

以下是部分實現代碼:

StructIndexItem{

Charcc[3];//漢字,以’\0’結束

IntnOcurrence=0;//該漢字出現的次數,初始化為0

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

Int*pPosArray=Null;//指向存放出現位置的數組指針,初始化為空

};

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

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

Char*pAbsSep=“。,”;//“,”和“?!睌嗑錁擞?/p>

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

//實現將郵件文檔按字索引方式讀入內存

structStrItem{

char*pStr=NULL;//字串內容,初始化為空

intnFre=0;//出現頻次,初始化為0

};

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

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

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

3.3人工選擇

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

3.4試驗結果

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

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

表1性能測試結果

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

一組1571279471271019379.5%92.1%

二組24642970723118917681.8%93.1%

三組35373183044637133883.2%91.1%

合計/平均757229828268220.3202.381.5%92.1%

4.結論

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

參考文獻:

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

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

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

[4]賈自艷.基于概率統計技術和規則方法的新詞發現.計算機工程,2004,30-20:19-21;

[5]李寶林.用關聯分析技術識別不良信息特征項的新方法.計算機工程與應用,2003,28:39-41;

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

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

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

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