專利名稱:一種基于協(xié)同訓(xùn)練的垃圾郵件過濾方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及垃圾郵件過濾領(lǐng)域,尤其是涉及一種基于協(xié)同訓(xùn)練的垃圾郵件過濾方法和裝置。
背景技術(shù):
目前,垃圾郵件的泛濫已經(jīng)成為社會(huì)的一個(gè)公害,中國互聯(lián)網(wǎng)協(xié)會(huì)反垃圾郵件中心與12321舉報(bào)中心聯(lián)合發(fā)布的第二十次《中國反垃圾郵件狀況調(diào)查報(bào)告》顯示,2011年第一季度,中國網(wǎng)民每周平均收到垃圾郵件12. 5封,垃圾郵件數(shù)量占總體郵件數(shù)量比例為 38. 3%。反垃圾郵件技術(shù)中目前效果最好的是基于內(nèi)容的垃圾郵件過濾技術(shù)?;趦?nèi)容的垃圾郵件過濾技術(shù)包括兩類基于規(guī)則的方法和基于統(tǒng)計(jì)的方法。其中,基于規(guī)則的方法可以通過人工設(shè)置垃圾郵件關(guān)鍵詞(關(guān)鍵詞過濾)、元信息(如發(fā)件人、發(fā)件地址、IP地址等)等手段來達(dá)到過濾垃圾郵件的目的。目前,市場(chǎng)上的很多反垃圾郵件工具都使用了該基于規(guī)則的技術(shù)。然而,設(shè)置關(guān)鍵詞過濾或者添加黑名單只能部分解決垃圾郵件的問題,并且武斷的設(shè)置會(huì)造成大量正常郵件的丟失。對(duì)于基于統(tǒng)計(jì)的方法來說,從內(nèi)容上看,垃圾郵件過濾可以看成一個(gè)二值分類問題,把郵件分為垃圾郵件類和合法郵件類。因此,各種文本分類方法都可以用于垃圾郵件的過濾,比如貝葉斯方法(Bayes)、支持向量機(jī)方法(Support Vector Machine,SVM)、粗糙集方法(Roughset)等。但是,上述基于內(nèi)容的的過濾方法仍然存在著如下缺陷1、訓(xùn)練數(shù)據(jù)嚴(yán)重缺乏,以網(wǎng)易郵箱為例,每日攔截的垃圾郵件就有上百萬封,而愿意舉報(bào)(進(jìn)行標(biāo)注)的還不到十萬封,而現(xiàn)在通常所用的機(jī)器學(xué)習(xí)方法,普遍是有監(jiān)督的方法,如樸素貝葉斯方法,這些都需要事先有盡可能大的數(shù)據(jù)集為支撐,這些方法利用這些數(shù)據(jù)集,對(duì)垃圾郵件建立模型用于預(yù)測(cè),一個(gè)新的郵件到來時(shí),就可以根據(jù)這樣訓(xùn)練出來的模型進(jìn)行判斷。但是,一般情況下,很難有足夠多的標(biāo)注數(shù)據(jù)以供這樣的算法來進(jìn)行建模,并且當(dāng)數(shù)據(jù)量很大時(shí),時(shí)間的開銷也是相當(dāng)?shù)卮蟆?、目前的反垃圾郵件技術(shù)普遍只考慮了垃圾郵件的內(nèi)容信息,而忽略了一個(gè)垃圾郵件的郵件頭信息。郵件頭當(dāng)中蘊(yùn)含了極其豐富的郵件特征,郵件頭比起郵件體中垃圾信息的特征容易進(jìn)行偽裝,并且郵件頭里的垃圾信息特征則相對(duì)穩(wěn)定。因此,現(xiàn)有的反垃圾郵件技術(shù)還有待改進(jìn)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種基于協(xié)同訓(xùn)練的垃圾郵件過濾方法和裝置,用于在標(biāo)注樣例較少的情況下更加有效地對(duì)大規(guī)模數(shù)據(jù)進(jìn)行分類預(yù)測(cè)和過濾。一方面,本發(fā)明實(shí)施例提供了一種基于協(xié)同訓(xùn)練的垃圾郵件過濾方法,該方法包括輸入待過濾的郵件集合,所述郵件集合包括已標(biāo)注郵件和未標(biāo)注郵件;根據(jù)所述郵件集合得到每個(gè)樣本的特征向量,其中一個(gè)樣本對(duì)應(yīng)一封郵件;將所述每個(gè)樣本的特征向量
6劃分為第一特征向量子集和第二特征向量子集,所述第一特征向量子集中的特征來源于郵件頭信息,所述第二特征向量子集中的特征來源于郵件內(nèi)容信息;將所述第一特征向量子集和第二特征向量子集分別作為所述每個(gè)樣本的第一視角和第二視角;利用所述第一視角和第二視角進(jìn)行基于貝葉斯分類器的協(xié)同訓(xùn)練得到最終的第一分類器和第二分類器;根據(jù)所述第一分類器和所述第二分類器對(duì)垃圾郵件進(jìn)行分類過濾。優(yōu)選地,本發(fā)明實(shí)施例中根據(jù)所述郵件集合得到每個(gè)樣本的特征向量包括利用特征選擇技術(shù)對(duì)已標(biāo)注郵件的每個(gè)樣本的郵件內(nèi)容信息進(jìn)行處理得到基于郵件內(nèi)容的若干特征;根據(jù)已標(biāo)注郵件的每個(gè)樣本的郵件頭信息得到基于郵件頭的若干特征;根據(jù)所述基于郵件內(nèi)容的特征以及基于郵件頭的特征對(duì)郵件進(jìn)行向量化以每個(gè)樣本的特征向量。優(yōu)選地,本發(fā)明實(shí)施例中根據(jù)每個(gè)樣本的郵件頭信息得到基于郵件頭的若干特征包括對(duì)郵件頭中各個(gè)字段進(jìn)行特征信息提?。桓鶕?jù)提取的特征信息得到時(shí)區(qū)、時(shí)間、IP地址的特征,以及IP地址與計(jì)算機(jī)名及域名的匹配特征,以及發(fā)件人地址格式特征。優(yōu)選地,本發(fā)明實(shí)施例中利用所述第一視角和第二視角進(jìn)行基于貝葉斯分類器的協(xié)同訓(xùn)練得到最終的第一分類器和第二分類器包括如下步驟步驟1、從所有未標(biāo)注郵件中選取ζ個(gè)郵件構(gòu)成協(xié)同訓(xùn)練所使用的未標(biāo)注郵件樣本集合U;步驟2、從所述未標(biāo)注郵件樣本集合U中隨機(jī)挑出η個(gè)未標(biāo)注的樣本,構(gòu)成待標(biāo)注樣本集合Vi,余下的ζ-η個(gè)未標(biāo)注郵件樣本構(gòu)成候選樣本集合Hi,并將所有的已標(biāo)注的樣本組成已標(biāo)注樣本集合Li,其中,i表示迭代的次數(shù),初始化為i = 1 ;步驟3、利用所述已標(biāo)注樣本集合Li中每一個(gè)樣本的第一視角,采用貝斯方法構(gòu)造貝葉斯分類器hli;步驟4、利用分類器Mi對(duì)待標(biāo)注的樣本集合Vi中待標(biāo)注樣本的第一視角進(jìn)行標(biāo)注,得到所有的待標(biāo)注樣本的類別標(biāo)記及其隸屬于此類別的置信度,并從該類別標(biāo)記中選出m個(gè)隸屬于垃圾郵件和非垃圾郵件的置信度最大的類別標(biāo)記,將該類置信度最大的類別標(biāo)記連同其相對(duì)的m個(gè)待標(biāo)注樣本,加入到有標(biāo)注樣本集合Li中,得到更新的已標(biāo)注的樣本集合Li',并將上述m個(gè)待標(biāo)注的樣本從待標(biāo)注樣本集合Vi中刪除,得到更新的待標(biāo)注樣本集合Vi';步驟5、利用更新的已標(biāo)注的樣本Li'中每個(gè)樣本的第二視角,采用貝葉斯方法構(gòu)造貝葉斯分類器h2i;步驟6、利用利用貝葉斯分類器h2i對(duì)更新的待標(biāo)注郵件樣本集合Vi ‘中待標(biāo)注樣本的第二視角進(jìn)行標(biāo)注,得到所有的待標(biāo)記樣本的類別標(biāo)記及其隸屬于此類別的置信度, 從該類別標(biāo)記中選出m個(gè)隸屬于每一個(gè)類別置信度最大的標(biāo)記,將該每一個(gè)類置信度最大的類別標(biāo)記連同其對(duì)應(yīng)的m個(gè)待標(biāo)注樣本,加入到上述更新的已標(biāo)記樣本集合Li'中,得到已標(biāo)記樣本集合Li+1,并將上述m個(gè)待標(biāo)注的樣本從更新的待標(biāo)注樣本集合Vi ‘中刪除,得到二次更新的待標(biāo)注樣本集合Vi";步驟7、從候選樣本集合Hi中選取ρ個(gè)樣本,加入到二次更新的待標(biāo)注樣本集合 Vi "中,得到待標(biāo)注樣本集合Vi+1,并將這P個(gè)樣本從候選樣本集合Hi中刪除,得到候選樣本集合Hi+1,其中,P彡2m;步驟8、更新變量,i = i+1 ;
步驟9、判斷候選樣本集合Hi是否為空集,如果為空集則結(jié)束迭代,將此時(shí)的兩個(gè)貝葉斯分類器分別記為最終的第一分類器hlk和第二分類器h2k,其中,k為迭代結(jié)束時(shí)i的值,如果Hi不為空集,則返回步驟3。優(yōu)選地,本發(fā)明實(shí)施例中根據(jù)所述第一分類器和所述第二分類器對(duì)垃圾郵件進(jìn)行分類過濾包括利用最終的分類模型hlk和h2k,對(duì)郵件集合中每個(gè)未標(biāo)注樣本的第一視角和第二視角分別進(jìn)行標(biāo)注,得到其類別標(biāo)記及其隸屬于此類的置信度,并把隸屬于此類別概率較大的類別標(biāo)記作為該無標(biāo)注樣本的最終分類結(jié)果。另一方面,本發(fā)明實(shí)施例還提供了一種基于協(xié)同訓(xùn)練的垃圾郵件過濾裝置,其特征在于,該裝置包括輸入單元,用于輸入待過濾的郵件集合,所述郵件集合包括已標(biāo)注郵件和未標(biāo)注郵件;特征向量獲取單元,用于根據(jù)所述郵件集合得到每個(gè)樣本的特征向量,其中一個(gè)樣本對(duì)應(yīng)一封郵件;子向量獲取單元,用于將所述每個(gè)樣本的特征向量劃分為第一特征向量子集和第二特征向量子集,所述第一特征向量子集中的特征來源于郵件頭信息, 所述第二特征向量子集中的特征來源于郵件內(nèi)容信息;視角獲取單元,用于將所述第一特征向量子集和第二特征向量子集分別作為所述每個(gè)樣本的第一視角和第二視角;分類器獲取單元,用于利用所述第一視角和第二視角進(jìn)行基于貝葉斯分類器的協(xié)同訓(xùn)練得到最終的第一分類器和第二分類器;分類過濾單元,用于根據(jù)所述第一分類器和所述第二分類器對(duì)垃圾郵件進(jìn)行分類過濾。優(yōu)選地,本發(fā)明實(shí)施例中特征向量獲取單元包括第一特征獲取模塊,用于利用特征選擇技術(shù)對(duì)已標(biāo)注郵件的每個(gè)樣本的郵件內(nèi)容信息進(jìn)行處理得到基于郵件內(nèi)容的若干特征;第二特征獲取模塊,用于根據(jù)已標(biāo)注郵件的每個(gè)樣本的郵件頭信息得到基于郵件頭的若干特征;向量化模塊,用于根據(jù)所述基于郵件內(nèi)容的特征以及基于郵件頭的特征對(duì)郵件進(jìn)行向量化以每個(gè)樣本的特征向量。優(yōu)選地,本發(fā)明實(shí)施例中第二特征模塊包括提取子模塊,用于對(duì)郵件頭中各個(gè)字段進(jìn)行特征信息提?。惶卣鳙@取子模塊,用于根據(jù)提取的特征信息得到時(shí)區(qū)、時(shí)間、IP地址的特征,以及IP地址與計(jì)算機(jī)名及域名的匹配特征,以及發(fā)件人地址格式特征。優(yōu)選地,本發(fā)明實(shí)施例中分類器獲取單元具體用于從所有未標(biāo)注郵件中選取ζ 個(gè)郵件構(gòu)成協(xié)同訓(xùn)練所使用的未標(biāo)注郵件樣本集合U ;從所述未標(biāo)注郵件樣本集合U中隨機(jī)挑出η個(gè)未標(biāo)注的樣本,構(gòu)成待標(biāo)注樣本集合\,余下的ζ-η個(gè)未標(biāo)注郵件樣本構(gòu)成候選樣本集合Hi,并將所有的已標(biāo)注的樣本組成已標(biāo)注樣本集合Li,其中,i表示迭代的次數(shù),初始化為i = 1 ;利用所述已標(biāo)注樣本集合Li中每一個(gè)樣本的第一視角,采用貝斯方法構(gòu)造貝葉斯分類器Mi ;利用分類器Mi對(duì)待標(biāo)注的樣本集合Vi中待標(biāo)注樣本的第一視角進(jìn)行標(biāo)注,得到所有的待標(biāo)注樣本的類別標(biāo)記及其隸屬于此類別的置信度,并從該類別標(biāo)記中選出m個(gè)隸屬于垃圾郵件和非垃圾郵件的置信度最大的類別標(biāo)記,將該類置信度最大的類別標(biāo)記連同其相對(duì)的m個(gè)待標(biāo)注樣本,加入到有標(biāo)注樣本集合Li中,得到更新的已標(biāo)注的樣本集合Li',并將上述m個(gè)待標(biāo)注的樣本從待標(biāo)注樣本集合Vi中刪除,得到更新的待標(biāo)注樣本集合Vi';利用更新的已標(biāo)注的樣本IV中每個(gè)樣本的第二視角,采用貝葉斯方法構(gòu)造貝葉斯分類器h2i ;利用利用貝葉斯分類器111對(duì)更新的待標(biāo)注郵件樣本集合Vi'中待標(biāo)注樣本的第二視角進(jìn)行標(biāo)注,得到所有的待標(biāo)記樣本的類別標(biāo)記及其隸屬于此類別的置信度, 從該類別標(biāo)記中選出m個(gè)隸屬于每一個(gè)類別置信度最大的標(biāo)記,將該每一個(gè)類置信度最大的類別標(biāo)記連同其對(duì)應(yīng)的m個(gè)待標(biāo)注樣本,加入到上述更新的已標(biāo)記樣本集合Li ‘中,得到已標(biāo)記樣本集合Li+1,并將上述m個(gè)待標(biāo)注的樣本從更新的待標(biāo)注樣本集合Vi ‘中刪除,得到二次更新的待標(biāo)注樣本集合Vi";從候選樣本集合Hi中選取P個(gè)樣本,加入到二次更新的待標(biāo)注樣本集合Vi"中,得到待標(biāo)注樣本集合Vi+1,并將這ρ個(gè)樣本從候選樣本集合Hi中刪除,得到候選樣本集合Hi+1,其中,ρ ^ 2m ;更新變量,i = i+1 ;判斷候選樣本集合Hi是否為空集,如果為空集則結(jié)束迭代,將此時(shí)的兩個(gè)貝葉斯分類器分別記為最終的第一分類器hlk 和第二分類器h2k,其中,k為迭代結(jié)束時(shí)i的值,如果Hi不為空集,則繼續(xù)利用所述已標(biāo)注樣本集合Li中每一個(gè)樣本的第一視角,采用貝斯方法構(gòu)造貝葉斯分類器hi”優(yōu)選地,本發(fā)明實(shí)施例中分類過濾單元具體用于利用最終的分類模型hlk和h2k, 對(duì)郵件集合中每個(gè)未標(biāo)注樣本的第一視角和第二視角分別進(jìn)行標(biāo)注,得到其類別標(biāo)記及其隸屬于此類的置信度,并把隸屬于此類別概率較大的類別標(biāo)記作為該無標(biāo)注樣本的最終分類結(jié)果。本發(fā)明實(shí)施例把協(xié)同訓(xùn)練引入垃圾郵件過濾領(lǐng)域,克服了傳統(tǒng)的只以垃圾郵件內(nèi)容為過濾對(duì)象而忽略郵件頭豐富信息的方法,把垃圾郵件劃分為郵件頭和郵件兩個(gè)部分, 并從兩個(gè)視角來看待要分類的垃圾郵件。經(jīng)過協(xié)同訓(xùn)練算法的處理,最后能使較少的標(biāo)注數(shù)據(jù)自動(dòng)生成較大的訓(xùn)練集,并對(duì)垃圾郵件進(jìn)行新的判斷和過濾,從而實(shí)現(xiàn)了在標(biāo)注樣例較少的情況下更加有效地對(duì)大規(guī)模數(shù)據(jù)進(jìn)行分類預(yù)測(cè)和過濾。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例提供的一種基于協(xié)同訓(xùn)練的垃圾郵件過濾方法的流程示意圖;圖2為本發(fā)明實(shí)施例提供的一種基于協(xié)同訓(xùn)練的垃圾郵件過濾方法的簡單流程示意圖;圖3為本發(fā)明實(shí)施例提供的一種基于協(xié)同訓(xùn)練的垃圾郵件過濾裝置的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例提供的一種特征向量獲取單元的結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例提供的一種第二特征獲取模塊的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。如圖1所示為本發(fā)明實(shí)施例提供的一種基于協(xié)同訓(xùn)練的垃圾郵件過濾方法的流程示意圖,該方法包括如下步驟
SlOl 輸入待過濾的郵件集合,該郵件集合中包括已標(biāo)注郵件和未標(biāo)注郵件,其中已標(biāo)注郵件是指用戶舉報(bào)的垃圾郵件,而未標(biāo)注郵件則并不確定是否為垃圾郵件。S102:根據(jù)上述郵件集合得到每個(gè)樣本的特征向量,其中一個(gè)樣本對(duì)應(yīng)一封郵件。在本實(shí)施例中,對(duì)于已經(jīng)標(biāo)注好的郵件,可以分別對(duì)其郵件頭和郵件內(nèi)容進(jìn)行處理以得到所需的特征,進(jìn)而得到每個(gè)樣本的特征向量。對(duì)于郵件內(nèi)容部分,可以對(duì)其隨機(jī)采樣,經(jīng)過去停用詞、分詞的處理之后,通過文本分類中的特征選擇技術(shù)(信息增益IG),挑選最具代表性的特征,建立向量空間模型。對(duì)于郵件內(nèi)容部分的處理屬于現(xiàn)有技術(shù),在此不再贅述。對(duì)于郵件頭部分,首先可以對(duì)郵件頭中各個(gè)字段進(jìn)行特征信息提取以得到所需的特征信息。作為本發(fā)明的一個(gè)實(shí)施例,郵件頭中特征信息提取可以通過如下操作實(shí)現(xiàn)把郵件頭中同時(shí)包含字母、數(shù)字以及“-”,“$”,等符號(hào)的詞組看作字符序列,以空格作為分隔符,忽略那些純數(shù)字的字符序列,網(wǎng)頁標(biāo)簽以及所有自身的屬性標(biāo)識(shí),同時(shí)也不將它們看作字符序列的分隔符。例如,郵件頭中的“subject”,“content-type”等詞匯就不納入特征選擇范圍,分析郵件信頭字段,利用構(gòu)建的詞匯分析器對(duì)所有郵件頭中的中轉(zhuǎn)信息字段進(jìn)行特征提取,例如IP地址,郵件域名,時(shí)間信息等,按照YACC和lexer的方法,例如IP 的提取格式為UINT8 :(
?
?
? | 2 (
) | 5
);或 IPADDR {UINT8}\. {UINT8}\. {UINT8}\. {UINT8}}。然后,以上述提取的特征信息為依據(jù),繼續(xù)進(jìn)行如下判斷操作判斷時(shí)區(qū)是否出錯(cuò),比如對(duì)于中文郵件時(shí)區(qū),如果CST在-0600,則該時(shí)區(qū)錯(cuò)誤,其正確的CST應(yīng)該是在+0800,若時(shí)區(qū)出錯(cuò)則記為1,否則記為0 ;判斷時(shí)間是否誤差,在通常情況下,一個(gè)郵件傳遞過程不會(huì)太長,假如這個(gè)郵件傳遞經(jīng)過了幾天甚至更長時(shí)間,那么就可能是被偽造的(除非是傳遞過程中出錯(cuò)),因此若時(shí)間誤差則記為1,否則記為0;判斷IP地址是否出錯(cuò),比如出現(xiàn)XXX. XXX. xxx. 0這樣的IP地址或者一些明顯的保留地址,則IP地址發(fā)生錯(cuò)誤,若IP地址出錯(cuò)則記為1,否則記為0 ;除了上述獲取上述特征外,在本實(shí)施例中還需要對(duì)Received字段標(biāo)識(shí)中垃圾郵件者隱藏的發(fā)送行為特征進(jìn)行提取。因?yàn)楦鶕?jù)該字段的分析,可以得到真實(shí)的郵件發(fā)送服務(wù)器地址或者從最后一個(gè)MUA提供的Received字段開始追蹤上一次中轉(zhuǎn)服務(wù)器IP地址、 郵件中轉(zhuǎn)服務(wù)器收到的計(jì)算機(jī)名以及發(fā)送地址域名,直至電子郵件的整個(gè)發(fā)送過程。經(jīng)過對(duì)垃圾郵件的大量分析得到,大量的垃圾郵件的發(fā)送IP源相同,但是郵件域名Domain卻經(jīng)常被篡改偽裝,導(dǎo)致各不相同。一般來說,網(wǎng)絡(luò)中一個(gè)IP通常對(duì)應(yīng)一個(gè)計(jì)算機(jī)名,如果郵件服務(wù)器的名稱和對(duì)應(yīng)的IP地址不相符或者說不對(duì)應(yīng),顯然是有可信度的問題。此外,一個(gè)郵件服務(wù)器一般只有一個(gè)域名,如果一個(gè)IP對(duì)應(yīng)多個(gè)域名,這顯然是不正常的,類似這種特征的還有一個(gè)計(jì)算名對(duì)應(yīng)不同的發(fā)送地址域名等,這些特征都大量出現(xiàn)在垃圾郵件中。 因此,在本實(shí)施例中,還需要進(jìn)行如下判斷判斷發(fā)送IP和計(jì)算機(jī)名是否匹配,從郵件頭中的Received字段可以獲得郵件發(fā)送人的IP,在郵件的傳輸過程中,如果該封郵件沒有被轉(zhuǎn)發(fā),那么該IP地址就是原始地址, 否則該IP地址就會(huì)變成中轉(zhuǎn)MTA的地址。按照電子郵件傳輸協(xié)議上所定義的,一封郵件經(jīng)兩個(gè)不同的MTA進(jìn)行中轉(zhuǎn)時(shí)候,發(fā)送方的MTA需要向接收方MTA聲明自身的計(jì)算機(jī)名(發(fā)送方的郵件域名)。通常,正常郵件的發(fā)送方IP都會(huì)匹配其域名,并且這一匹配關(guān)系相對(duì)十分固定。如果發(fā)送IP和計(jì)算機(jī)名匹配則記為0,不匹配則記為1。判斷發(fā)送IP與其域名是否匹配,通常來說,正常的電子郵件地址域名(例如用戶所使用電子郵箱“abcfeyz. com”,則“xyz. com”則為其電子郵件域名)都是與其發(fā)送郵件服務(wù)器的域名保持一致的,但對(duì)垃圾郵件來說則大不一樣,為了避免被封鎖域名地址,垃圾郵件制造者總是通過動(dòng)態(tài)IP地址獲取、自架設(shè)MTA中轉(zhuǎn)服務(wù)器等手段來偽造或隱藏原域名地址,這樣更方便他們發(fā)送一大批的垃圾郵件而躲過郵件中轉(zhuǎn)服務(wù)器對(duì)郵件源的追蹤。所以在本實(shí)施例中把這一特征作為鑒別垃圾郵件的特征之一,如果發(fā)送IP與其域名匹配則記為0,不匹配則記為1。判斷發(fā)件人地址格式是否非法,根據(jù)電子郵件格式標(biāo)準(zhǔn)RFC822的規(guī)定,以及郵件服務(wù)商的標(biāo)準(zhǔn),郵件地址應(yīng)為userfeenderDomain形式,即中間為@符號(hào),前面為用戶名,后面為發(fā)送服務(wù)器域名,其中用戶名中不能包含中文字符等非法字符。因此,對(duì)郵件頭中的 From字段標(biāo)識(shí)進(jìn)行判別,如果在用戶名中出現(xiàn)非法字符則記為1,否則記為0。根據(jù)上述基于郵件內(nèi)容的特征以及基于郵件頭的特征對(duì)郵件進(jìn)行向量化以每個(gè)樣本的特征向量。具體來說,對(duì)于輸入的郵件,分別表示在兩個(gè)特征空間之下,假設(shè)輸入的郵件集合有N個(gè),其中有標(biāo)注的郵件有1個(gè),未標(biāo)注的郵件有(N-I)個(gè),而每一個(gè)郵件就是
一個(gè)樣本,則第k個(gè)樣本的特征向量為A =[‘ + ++,<],1彡k彡隊(duì)<表示特征向量 的第
e維特征,1 ^ e ^ d, d為特征向量的維數(shù)。將1個(gè)已標(biāo)注的樣本組成的樣本集合丄={&}。,而(N-I)個(gè)未標(biāo)注樣本所組成的集合為=,上述的N,l,d,均由具體垃圾郵件集合中各參數(shù)來決定。S103:將每個(gè)樣本的特征向量劃分為第一特征向量子集和第二特征向量子集,所述第一特征向量子集中的特征來源于郵件頭信息,所述第二特征向量子集中的特征來源于郵件內(nèi)容信息。如上所述每個(gè)樣本的特征向量為A =[<,...,<],在本實(shí)施例中則將其兩個(gè)特征向
量子集,其中,第一特征向量子集由第a1; ...,%維特征組成,此h維特征來源于郵件頭的信息;第二特征向量子集由剩余的第ah+1,. . . , ad維特征組成,此d-h維特征來源于郵件內(nèi)各{曰息。S104:將第一特征向量子集和第二特征向量子集分別作為每個(gè)樣本的第一視角和第二視角。比如,對(duì)于第k個(gè)樣本來說,將第一特征向量子集作為第一視角% = [<v++,<rf],
而將第二特征向量子集作為第二視角^^ =[<A+1,...,<rf],其中, e [1,...,d],1彡g彡d, h = \%
οS105:利用所述第一視角和第二視角進(jìn)行基于貝葉斯分類器的協(xié)同訓(xùn)練得到最終的第一分類器和第二分類器。作為本發(fā)明的一個(gè)實(shí)施例,該步驟具體可以包括如下步驟S1051 從未標(biāo)注郵件集合Q中選取ζ個(gè)郵件構(gòu)成協(xié)同訓(xùn)練所使用的未標(biāo)注郵件樣本集合U,記為f/ = {xj=+1;
S1052 從協(xié)同訓(xùn)練使用的無標(biāo)注郵件樣本集合U中隨機(jī)挑選出η個(gè)無標(biāo)注郵件, 構(gòu)成待標(biāo)注郵件樣本集合Vi,記為¥={&}。,其中1 < η < ζ,余下的(ζ-η)個(gè)無標(biāo)注樣本構(gòu)成的候選樣本集合Hi,記為A =KJ口,協(xié)同訓(xùn)練所使用的已標(biāo)注樣本集合記為Li;S1053 利用所述已標(biāo)注樣本集合Li中每一個(gè)樣本的第一視角,采用貝斯方法構(gòu)造貝葉斯分類器hli;具體來說,可以將已標(biāo)注的郵件樣本集合Li中所有樣本的第一視角組成的第一視角集合Vli,記為凡=MU,其中ηι為已標(biāo)注集合Li中已標(biāo)注樣本的個(gè)數(shù),然后將該第一視角集合Vli作為輸入送給貝葉斯分類器去學(xué)習(xí),生成分類器Mi ;S1054 利用貝葉斯分類器Mi對(duì)待標(biāo)注樣本集合Vi中第h個(gè)待標(biāo)注樣本&的第一個(gè)視角Xlh進(jìn)行標(biāo)注,得到其類別標(biāo)記Clh及其在該類別上的置信度Plh,l^h^n2,n2代表待標(biāo)注樣本集合Vi中待標(biāo)注樣本的個(gè)數(shù)。將上述得到的類別標(biāo)簽組成部分類別標(biāo)簽集合 G = (Clft)^L1,該類標(biāo)簽集合Cli中包含了垃圾和非垃圾的類別標(biāo)簽,其中垃圾郵件記為Clspm, 將該類別標(biāo)記對(duì)應(yīng)的置信度組成的概率集合Plspm,從該概率集合Plspm中選出數(shù)值最大的概率記為=A1^1,此最大概率對(duì)應(yīng)的類別標(biāo)記記為,對(duì)應(yīng)的待標(biāo)記樣本記為:x;,將它加入到已標(biāo)注樣本集合的Li中,得到更新的已標(biāo)注集合Li',并將從待標(biāo)注樣本集合Vi中刪除,得到更新的待標(biāo)注樣本集合Vi';S1055 利用更新的已標(biāo)注的樣本Li'中每個(gè)樣本的第二視角,采用貝葉斯方法構(gòu)造貝葉斯分類器h2i,具體來說,可以將更新的已標(biāo)注樣本集合Li中所有樣本的第二視角集合V2i,記為&={、} =!,其中,n2為此時(shí)更新的已標(biāo)注訓(xùn)練樣本集合Li'中已標(biāo)注的訓(xùn)練樣本個(gè)數(shù),將該第二視角集合V2i作為輸入數(shù)據(jù),構(gòu)造貝葉斯分類器h2i ;S1056 利用訓(xùn)練好的貝葉斯分類器Mi對(duì)更新的待標(biāo)注樣本集合Vi'中第h個(gè)待標(biāo)記樣本&的第二視角&進(jìn)行標(biāo)記,得到其類別標(biāo)記C2h及其隸屬于該類的的概率P2h,其中1 ,其中n3為更新的待標(biāo)記樣本集合Vi'中待標(biāo)注樣本的個(gè)數(shù),將上述得到的類別標(biāo)記組成類別標(biāo)記集合C2i = Ic2spm,c2haJ,將C2i中垃圾郵件和非垃圾郵件類別標(biāo)記對(duì)應(yīng)的置信度所組成的概率集合P2spn^P p2ham,從中挑選出數(shù)值最大的記為Rm;,此時(shí)最大概率
對(duì)應(yīng)的類別標(biāo)記記為<;,此類別標(biāo)記<;對(duì)應(yīng)的待標(biāo)注樣本記為,將其加入到剛
剛更新的已標(biāo)注樣本集合Li ‘中,得到有標(biāo)注樣本集合Li+1,并將C2和C從更新的待標(biāo)注樣本集合Vi'中刪除,得到二次更新的樣本集合Vi";S1057 從候選樣本集合Hi中選取P個(gè)樣本,加入到二次更新的待標(biāo)注樣本集合 Vi "中,得到待標(biāo)注樣本集合Vi+1,并將這P個(gè)樣本從候選樣本集合Hi中刪除,得到候選樣本集合Hi+1,其中,P彡2m;S1058 更新變量,i = i+l;S1059 判斷候選樣本集合Hi是否為空集,如果為空集則結(jié)束迭代,將此時(shí)的兩個(gè)貝葉斯分類器分別記為最終的第一分類器hlk和第二分類器h2k,其中,k為迭代結(jié)束時(shí)i的值,如果Hi不為空集,則返回步驟S1053。S106 根據(jù)所述第一分類器和所述第二分類器對(duì)垃圾郵件進(jìn)行分類過濾。具體來說,可以無標(biāo)注樣本集合0 = 中無標(biāo)記樣本&的第一個(gè)視角記為Xlk,第二視角記為 Ak,將無標(biāo)記樣本&的第一視角Xlk輸入最終的貝葉斯分類模型hld中,輸出其類別標(biāo)簽Clspm或Clham及其屬于此類別的概率Plspm和Plham,如果Plspm ^ Plhaffl,則把它標(biāo)注為垃圾郵件, 否則標(biāo)注為正常郵件。將無標(biāo)記樣本&的第二個(gè)視角^k輸入最終的Mk分類器中,輸出其類別標(biāo)簽C2spm或C2ham及屬于此類別的概率P2spm和P2ham,如果P2spm彡P(guān)2haffl,則把該郵件標(biāo)注為垃圾郵件,否則標(biāo)注為正常郵件。上述基于協(xié)同訓(xùn)練的垃圾郵件過濾方法可以基于圖2予以清楚的描述從未標(biāo)注郵件集合Q中挑選ζ個(gè)郵件構(gòu)成協(xié)同訓(xùn)練所使用的未標(biāo)注郵件樣本集合U ;然后將訓(xùn)練的樣例按郵件頭信息和郵件內(nèi)容信息分為兩個(gè)視角,其中一個(gè)視角包含基于郵件頭信息的特征向量,另一個(gè)視角包含基于郵件內(nèi)容信息的特征向量;利用已經(jīng)標(biāo)注好的郵件集合L在兩個(gè)特征維度上分別訓(xùn)練兩個(gè)分類器;分別利用兩個(gè)訓(xùn)練器對(duì)未標(biāo)注郵件集合U中的郵件進(jìn)行預(yù)測(cè),從U中提取前k個(gè)置信度最高的預(yù)測(cè)結(jié)果,將該結(jié)果標(biāo)注后已經(jīng)標(biāo)注郵件集合L 中,而剩下的樣例則放入未標(biāo)注郵件集合Q中,如此循環(huán)往復(fù)直至所有樣例都得到標(biāo)注。本發(fā)明實(shí)施例把協(xié)同訓(xùn)練引入垃圾郵件過濾領(lǐng)域,克服了傳統(tǒng)的只以垃圾郵件內(nèi)容為過濾對(duì)象而忽略郵件頭豐富信息的方法,把垃圾郵件劃分為郵件頭和郵件兩個(gè)部分, 并從兩個(gè)視角來看待要分類的垃圾郵件。經(jīng)過協(xié)同訓(xùn)練算法的處理,最后能使較少的標(biāo)注數(shù)據(jù)自動(dòng)生成較大的訓(xùn)練集,并對(duì)垃圾郵件進(jìn)行新的判斷和過濾,從而實(shí)現(xiàn)了在標(biāo)注樣例較少的情況下更加有效地對(duì)大規(guī)模數(shù)據(jù)進(jìn)行分類預(yù)測(cè)和過濾。如圖3所示為本發(fā)明實(shí)施例提供的一種基于協(xié)同訓(xùn)練的垃圾郵件過濾裝置的結(jié)構(gòu)示意圖,該裝置包括輸入單元310、特征向量獲取單元320、子向量獲取單元330、視角獲取單元340、分類器獲取單元350和分類過濾單元360,其中輸入單元310,用于輸入待過濾的郵件集合,所述郵件集合包括已標(biāo)注郵件和未標(biāo)注郵件。特征向量獲取單元320用于根據(jù)輸入單元310輸入的郵件集合得到每個(gè)樣本的特征向量,其中一個(gè)樣本對(duì)應(yīng)一封郵件。作為本發(fā)明的一個(gè)實(shí)施例,如圖4所示,特征向量獲取單元320可以包括第一特征獲取模塊321,用于利用特征選擇技術(shù)對(duì)已標(biāo)注郵件的每個(gè)樣本的郵件內(nèi)容信息進(jìn)行處理得到基于郵件內(nèi)容的若干特征。第二特征獲取模塊322,用于根據(jù)已標(biāo)注郵件的每個(gè)樣本的郵件頭信息得到基于郵件頭的若干特征。作為本發(fā)明的另一個(gè)實(shí)施例,如圖5所示,第二特征獲取模塊322可以進(jìn)一步包括提取子模塊3221和特征獲取子模塊3222,其中提取子模塊3221用于對(duì)郵件頭中各個(gè)字段進(jìn)行特征信息提取,特征獲取子模塊3222用于根據(jù)提取的特征信息得到時(shí)區(qū)、時(shí)間、 IP地址的特征,以及IP地址與計(jì)算機(jī)名及域名的匹配特征,以及發(fā)件人地址格式特征。對(duì)于提取子模塊3221及特征獲取子模塊3222的具體功能可以參見前述實(shí)施例S102的描述, 在此不再贅述。向量化模塊323,用于根據(jù)所述基于郵件內(nèi)容的特征以及基于郵件頭的特征對(duì)郵件進(jìn)行向量化以每個(gè)樣本的特征向量。子向量獲取單元330用于將每個(gè)樣本的特征向量劃分為第一特征向量子集和第二特征向量子集,所述第一特征向量子集中的特征來源于郵件頭信息,所述第二特征向量子集中的特征來源于郵件內(nèi)容信息。
視角獲取單元340用于將所述第一特征向量子集和第二特征向量子集分別作為所述每個(gè)樣本的第一視角和第二視角。分類器獲取單元350用于利用所述第一視角和第二視角進(jìn)行基于貝葉斯分類器的協(xié)同訓(xùn)練得到最終的第一分類器和第二分類器。作為本發(fā)明的另一個(gè)實(shí)施例,分類獲取單元350具體用于從所有未標(biāo)注郵件中選取ζ個(gè)郵件構(gòu)成協(xié)同訓(xùn)練所使用的未標(biāo)注郵件樣本集合 U ;從所述未標(biāo)注郵件樣本集合U中隨機(jī)挑出η個(gè)未標(biāo)注的樣本,構(gòu)成待標(biāo)注樣本集合Vi,余下的ζ-η個(gè)未標(biāo)注郵件樣本構(gòu)成候選樣本集合Hi,并將所有的已標(biāo)注的樣本組成已標(biāo)注樣本集合Li,其中,i表示迭代的次數(shù),初始化為i = 1 ;利用所述已標(biāo)注樣本集合Li中每一個(gè)樣本的第一視角,采用貝斯方法構(gòu)造貝葉斯分類器hli;利用分類器Iili對(duì)待標(biāo)注的樣本集合Vi中待標(biāo)注樣本的第一視角進(jìn)行標(biāo)注,得到所有的待標(biāo)注樣本的類別標(biāo)記及其隸屬于此類別的置信度,并從該類別標(biāo)記中選出m個(gè)隸屬于垃圾郵件和非垃圾郵件的置信度最大的類別標(biāo)記,將該類置信度最大的類別標(biāo)記連同其相對(duì)的m個(gè)待標(biāo)注樣本,加入到有標(biāo)注樣本集合Li中,得到更新的已標(biāo)注的樣本集合 Li',并將上述m個(gè)待標(biāo)注的樣本從待標(biāo)注樣本集合Vi中刪除,得到更新的待標(biāo)注樣本集合 V ;利用更新的已標(biāo)注的樣本Li'中每個(gè)樣本的第二視角,采用貝葉斯方法構(gòu)造貝葉斯分類器h2i;利用利用貝葉斯分類器Mi對(duì)更新的待標(biāo)注郵件樣本集合Vi'中待標(biāo)注樣本的第二視角進(jìn)行標(biāo)注,得到所有的待標(biāo)記樣本的類別標(biāo)記及其隸屬于此類別的置信度,從該類別標(biāo)記中選出m個(gè)隸屬于每一個(gè)類別置信度最大的標(biāo)記,將該每一個(gè)類置信度最大的類別標(biāo)記連同其對(duì)應(yīng)的m個(gè)待標(biāo)注樣本,加入到上述更新的已標(biāo)記樣本集合Li'中,得到已標(biāo)記樣本集合Li+1,并將上述m個(gè)待標(biāo)注的樣本從更新的待標(biāo)注樣本集合Vi'中刪除,得到二次更新的待標(biāo)注樣本集合Vi";從候選樣本集合印中選取P個(gè)樣本,加入到二次更新的待標(biāo)注樣本集合Vi"中,得到待標(biāo)注樣本集合Vi+1,并將這ρ個(gè)樣本從候選樣本集合Hi中刪除,得到候選樣本集合Hi+1, 其中,ρ彡2m;更新變量,i= i+l;判斷候選樣本集合Hi是否為空集,如果為空集則結(jié)束迭代,將此時(shí)的兩個(gè)貝葉斯分類器分別記為最終的第一分類器hlk和第二分類器h2k,其中,k為迭代結(jié)束時(shí)i的值,如果Hi不為空集,則繼續(xù)利用所述已標(biāo)注樣本集合Li中每一個(gè)樣本的第一視角,采用貝斯方法構(gòu)造貝葉斯分類器hi”分類過濾單元360用于根據(jù)所述第一分類器和所述第二分類器對(duì)垃圾郵件進(jìn)行分類過濾。作為本發(fā)明的另一個(gè)實(shí)施例,分類過濾單元360具體用于利用最終的分類模型hlk 和h2k,對(duì)郵件集合中每個(gè)未標(biāo)注樣本的第一視角和第二視角分別進(jìn)行標(biāo)注,得到其類別標(biāo)記及其隸屬于此類的置信度,并把隸屬于此類別概率較大的類別標(biāo)記作為該無標(biāo)注樣本的最終分類結(jié)果。本發(fā)明實(shí)施例把協(xié)同訓(xùn)練引入垃圾郵件過濾領(lǐng)域,克服了傳統(tǒng)的只以垃圾郵件內(nèi)容為過濾對(duì)象而忽略郵件頭豐富信息的方法,把垃圾郵件劃分為郵件頭和郵件兩個(gè)部分, 并從兩個(gè)視角來看待要分類的垃圾郵件。經(jīng)過協(xié)同訓(xùn)練算法的處理,最后能使較少的標(biāo)注數(shù)據(jù)自動(dòng)生成較大的訓(xùn)練集,并對(duì)垃圾郵件進(jìn)行新的判斷和過濾,從而實(shí)現(xiàn)了在標(biāo)注樣例較少的情況下更加有效地對(duì)大規(guī)模數(shù)據(jù)進(jìn)行分類預(yù)測(cè)和過濾。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-OnlyMemory,ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于協(xié)同訓(xùn)練的垃圾郵件過濾方法,其特征在于,所述方法包括輸入待過濾的郵件集合,所述郵件集合包括已標(biāo)注郵件和未標(biāo)注郵件;根據(jù)所述郵件集合得到每個(gè)樣本的特征向量,其中一個(gè)樣本對(duì)應(yīng)一封郵件;將所述每個(gè)樣本的特征向量劃分為第一特征向量子集和第二特征向量子集,所述第一特征向量子集中的特征來源于郵件頭信息,所述第二特征向量子集中的特征來源于郵件內(nèi)容信息;將所述第一特征向量子集和第二特征向量子集分別作為所述每個(gè)樣本的第一視角和第二視角;利用所述第一視角和第二視角進(jìn)行基于貝葉斯分類器的協(xié)同訓(xùn)練得到最終的第一分類器和第二分類器;根據(jù)所述第一分類器和所述第二分類器對(duì)垃圾郵件進(jìn)行分類過濾。
2.如權(quán)利要求1所述的基于協(xié)同訓(xùn)練的垃圾郵件過濾方法,其特征在于,根據(jù)所述郵件集合得到每個(gè)樣本的特征向量包括利用特征選擇技術(shù)對(duì)已標(biāo)注郵件的每個(gè)樣本的郵件內(nèi)容信息進(jìn)行處理得到基于郵件內(nèi)容的若干特征;根據(jù)已標(biāo)注郵件的每個(gè)樣本的郵件頭信息得到基于郵件頭的若干特征;根據(jù)所述基于郵件內(nèi)容的特征以及基于郵件頭的特征對(duì)郵件進(jìn)行向量化以每個(gè)樣本的特征向量。
3.如權(quán)利要求2所述的基于協(xié)同訓(xùn)練的垃圾郵件過濾方法,其特征在于,所述根據(jù)每個(gè)樣本的郵件頭信息得到基于郵件頭的若干特征包括對(duì)郵件頭中各個(gè)字段進(jìn)行特征信息提??;根據(jù)提取的特征信息得到時(shí)區(qū)、時(shí)間、IP地址的特征,以及IP地址與計(jì)算機(jī)名及域名的匹配特征,以及發(fā)件人地址格式特征。
4.如權(quán)利要求1所述的基于協(xié)同訓(xùn)練的垃圾郵件過濾方法,其特征在于,所述利用所述第一視角和第二視角進(jìn)行基于貝葉斯分類器的協(xié)同訓(xùn)練得到最終的第一分類器和第二分類器包括如下步驟步驟1、從所有未標(biāo)注郵件中選取ζ個(gè)郵件構(gòu)成協(xié)同訓(xùn)練所使用的未標(biāo)注郵件樣本集合U;步驟2、從所述未標(biāo)注郵件樣本集合U中隨機(jī)挑出η個(gè)未標(biāo)注的樣本,構(gòu)成待標(biāo)注樣本集合Vi,余下的ζ-η個(gè)未標(biāo)注郵件樣本構(gòu)成候選樣本集合Hi,并將所有的已標(biāo)注的樣本組成已標(biāo)注樣本集合Li,其中,i表示迭代的次數(shù),初始化為i = 1 ;步驟3、利用所述已標(biāo)注樣本集合Li中每一個(gè)樣本的第一視角,采用貝斯方法構(gòu)造貝葉斯分類器hli;步驟4、利用分類器Mi對(duì)待標(biāo)注的樣本集合Vi中待標(biāo)注樣本的第一視角進(jìn)行標(biāo)注,得到所有的待標(biāo)注樣本的類別標(biāo)記及其隸屬于此類別的置信度,并從該類別標(biāo)記中選出m個(gè)隸屬于垃圾郵件和非垃圾郵件的置信度最大的類別標(biāo)記,將該類置信度最大的類別標(biāo)記連同其相對(duì)的m個(gè)待標(biāo)注樣本,加入到有標(biāo)注樣本集合Li中,得到更新的已標(biāo)注的樣本集合 Li',并將上述m個(gè)待標(biāo)注的樣本從待標(biāo)注樣本集合Vi中刪除,得到更新的待標(biāo)注樣本集合V ;步驟5、利用更新的已標(biāo)注的樣本Li ‘中每個(gè)樣本的第二視角,采用貝葉斯方法構(gòu)造貝葉斯分類器h2i;步驟6、利用利用貝葉斯分類器h2i對(duì)更新的待標(biāo)注郵件樣本集合Vi ‘中待標(biāo)注樣本的第二視角進(jìn)行標(biāo)注,得到所有的待標(biāo)記樣本的類別標(biāo)記及其隸屬于此類別的置信度,從該類別標(biāo)記中選出m個(gè)隸屬于每一個(gè)類別置信度最大的標(biāo)記,將該每一個(gè)類置信度最大的類別標(biāo)記連同其對(duì)應(yīng)的m個(gè)待標(biāo)注樣本,加入到上述更新的已標(biāo)記樣本集合Li'中,得到已標(biāo)記樣本集合Li+1,并將上述m個(gè)待標(biāo)注的樣本從更新的待標(biāo)注樣本集合Vi'中刪除,得到二次更新的待標(biāo)注樣本集合Vi";步驟7、從候選樣本集合Hi中選取ρ個(gè)樣本,加入到二次更新的待標(biāo)注樣本集合Vi “ 中,得到待標(biāo)注樣本集合Vi+1,并將這ρ個(gè)樣本從候選樣本集合Hi中刪除,得到候選樣本集合Hi+1,其中,ρ彡2m;步驟8、更新變量,i = i+1 ;步驟9、判斷候選樣本集合Hi是否為空集,如果為空集則結(jié)束迭代,將此時(shí)的兩個(gè)貝葉斯分類器分別記為最終的第一分類器hlk和第二分類器h2k,其中,k為迭代結(jié)束時(shí)i的值, 如果Hi不為空集,則返回步驟3。
5.如權(quán)利要求4所述的基于協(xié)同訓(xùn)練的垃圾郵件過濾方法,其特征在于,所述根據(jù)所述第一分類器和所述第二分類器對(duì)垃圾郵件進(jìn)行分類過濾包括利用最終的分類模型hlk和h2k,對(duì)郵件集合中每個(gè)未標(biāo)注樣本的第一視角和第二視角分別進(jìn)行標(biāo)注,得到其類別標(biāo)記及其隸屬于此類的置信度,并把隸屬于此類別概率較大的類別標(biāo)記作為該無標(biāo)注樣本的最終分類結(jié)果。
6.一種基于協(xié)同訓(xùn)練的垃圾郵件過濾裝置,其特征在于,所述裝置包括輸入單元,用于輸入待過濾的郵件集合,所述郵件集合包括已標(biāo)注郵件和未標(biāo)注郵件;特征向量獲取單元,用于根據(jù)所述郵件集合得到每個(gè)樣本的特征向量,其中一個(gè)樣本對(duì)應(yīng)一封郵件;子向量獲取單元,用于將所述每個(gè)樣本的特征向量劃分為第一特征向量子集和第二特征向量子集,所述第一特征向量子集中的特征來源于郵件頭信息,所述第二特征向量子集中的特征來源于郵件內(nèi)容信息;視角獲取單元,用于將所述第一特征向量子集和第二特征向量子集分別作為所述每個(gè)樣本的第一視角和第二視角;分類器獲取單元,用于利用所述第一視角和第二視角進(jìn)行基于貝葉斯分類器的協(xié)同訓(xùn)練得到最終的第一分類器和第二分類器;分類過濾單元,用于根據(jù)所述第一分類器和所述第二分類器對(duì)垃圾郵件進(jìn)行分類過濾ο
7.如權(quán)利要求6所述的基于協(xié)同訓(xùn)練的垃圾郵件過濾裝置,其特征在于,所述特征向量獲取單元包括第一特征獲取模塊,用于利用特征選擇技術(shù)對(duì)已標(biāo)注郵件的每個(gè)樣本的郵件內(nèi)容信息進(jìn)行處理得到基于郵件內(nèi)容的若干特征;第二特征獲取模塊,用于根據(jù)已標(biāo)注郵件的每個(gè)樣本的郵件頭信息得到基于郵件頭的若干特征;向量化模塊,用于根據(jù)所述基于郵件內(nèi)容的特征以及基于郵件頭的特征對(duì)郵件進(jìn)行向量化以每個(gè)樣本的特征向量。
8.如權(quán)利要求7所述的基于協(xié)同訓(xùn)練的垃圾郵件過濾裝置,其特征在于,所述第二特征獲取模塊包括提取子模塊,用于對(duì)郵件頭中各個(gè)字段進(jìn)行特征信息提??;特征獲取子模塊,用于根據(jù)提取的特征信息得到時(shí)區(qū)、時(shí)間、IP地址的特征,以及IP地址與計(jì)算機(jī)名及域名的匹配特征,以及發(fā)件人地址格式特征。
9.如權(quán)利要求6所述的基于協(xié)同訓(xùn)練的垃圾郵件過濾裝置,其特征在于,所述分類器獲取單元具體用于從所有未標(biāo)注郵件中選取ζ個(gè)郵件構(gòu)成協(xié)同訓(xùn)練所使用的未標(biāo)注郵件樣本集合U ;從所述未標(biāo)注郵件樣本集合U中隨機(jī)挑出η個(gè)未標(biāo)注的樣本,構(gòu)成待標(biāo)注樣本集合Vi, 余下的ζ-η個(gè)未標(biāo)注郵件樣本構(gòu)成候選樣本集合Hi,并將所有的已標(biāo)注的樣本組成已標(biāo)注樣本集合Li,其中,i表示迭代的次數(shù),初始化為i = 1 ;利用所述已標(biāo)注樣本集合Li中每一個(gè)樣本的第一視角,采用貝斯方法構(gòu)造貝葉斯分類器Mi ;利用分類器Mi對(duì)待標(biāo)注的樣本集合Vi中待標(biāo)注樣本的第一視角進(jìn)行標(biāo)注,得到所有的待標(biāo)注樣本的類別標(biāo)記及其隸屬于此類別的置信度,并從該類別標(biāo)記中選出m個(gè)隸屬于垃圾郵件和非垃圾郵件的置信度最大的類別標(biāo)記,將該類置信度最大的類別標(biāo)記連同其相對(duì)的m個(gè)待標(biāo)注樣本,加入到有標(biāo)注樣本集合Li中,得到更新的已標(biāo)注的樣本集合Li',并將上述m個(gè)待標(biāo)注的樣本從待標(biāo)注樣本集合Vi中刪除,得到更新的待標(biāo)注樣本集合Vi';利用更新的已標(biāo)注的樣本Li ‘中每個(gè)樣本的第二視角,采用貝葉斯方法構(gòu)造貝葉斯分類器h2i ;利用利用貝葉斯分類器h2i對(duì)更新的待標(biāo)注郵件樣本集合Vi'中待標(biāo)注樣本的第二視角進(jìn)行標(biāo)注,得到所有的待標(biāo)記樣本的類別標(biāo)記及其隸屬于此類別的置信度,從該類別標(biāo)記中選出m個(gè)隸屬于每一個(gè)類別置信度最大的標(biāo)記,將該每一個(gè)類置信度最大的類別標(biāo)記連同其對(duì)應(yīng)的m個(gè)待標(biāo)注樣本,加入到上述更新的已標(biāo)記樣本集合Li ‘中,得到已標(biāo)記樣本集合Li+1,并將上述m個(gè)待標(biāo)注的樣本從更新的待標(biāo)注樣本集合Vi ‘中刪除,得到二次更新的待標(biāo)注樣本集合Vi";從候選樣本集合Hi中選取P個(gè)樣本,加入到二次更新的待標(biāo)注樣本集合Vi"中,得到待標(biāo)注樣本集合Vi+1,并將這ρ個(gè)樣本從候選樣本集合Hi中刪除,得到候選樣本集合Hi+1,其中,P彡2m ;更新變量,i = i+1 ;判斷候選樣本集合Hi是否為空集,如果為空集則結(jié)束迭代,將此時(shí)的兩個(gè)貝葉斯分類器分別記為最終的第一分類器hlk和第二分類器h2k,其中,k為迭代結(jié)束時(shí)i的值,如果Hi 不為空集,則繼續(xù)利用所述已標(biāo)注樣本集合Li中每一個(gè)樣本的第一視角,采用貝斯方法構(gòu)造貝葉斯分類器hi”
10.如權(quán)利要求9所述的基于協(xié)同訓(xùn)練的垃圾郵件過濾裝置,其特征在于,所述分類過濾單元具體用于利用最終的分類模型hlk和h2k,對(duì)郵件集合中每個(gè)未標(biāo)注樣本的第一視角和第二視角分別進(jìn)行標(biāo)注,得到其類別標(biāo)記及其隸屬于此類的置信度,并把隸屬于此類別概率較大的類別標(biāo)記作為該無標(biāo)注樣本的最終分類結(jié)果。
全文摘要
本發(fā)明實(shí)施例提供了一種基于協(xié)同訓(xùn)練的垃圾郵件過濾方法和裝置,方法包括輸入待過濾的郵件集合;根據(jù)郵件集合得到每個(gè)樣本的特征向量,其中一個(gè)樣本對(duì)應(yīng)一封郵件;將每個(gè)樣本的特征向量劃分為第一特征向量子集和第二特征向量子集,第一特征向量子集中的特征來源于郵件頭信息,第二特征向量子集中的特征來源于郵件內(nèi)容信息;將第一特征向量子集和第二特征向量子集分別作為每個(gè)樣本的第一視角和第二視角;利用第一視角和第二視角進(jìn)行基于貝葉斯分類器的協(xié)同訓(xùn)練得到最終的第一分類器和第二分類器;根據(jù)第一分類器和第二分類器對(duì)垃圾郵件進(jìn)行分類過濾。本發(fā)明實(shí)施例可以在樣例較少的情況下更加有效地對(duì)大規(guī)模數(shù)據(jù)進(jìn)行分類預(yù)測(cè)和過濾。
文檔編號(hào)G06F17/30GK102404249SQ20111036969
公開日2012年4月4日 申請(qǐng)日期2011年11月18日 優(yōu)先權(quán)日2011年11月18日
發(fā)明者周美林, 徐燕, 李丹, 邱泳欽 申請(qǐng)人:北京語言大學(xué)