本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體涉及一種垃圾郵件識別方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的不斷發(fā)展,電子郵件的使用越來越普遍,以電子郵件作為載體的商業(yè)宣傳也得到了廣泛的應(yīng)用,同時(shí)也導(dǎo)致了垃圾郵件的泛濫。垃圾郵件往往需要占用大量資源,且具有投遞對象不準(zhǔn)確、強(qiáng)制投遞以及含有大量不實(shí)信息等問題。所以,垃圾郵件一直是用戶深惡痛絕的互聯(lián)網(wǎng)產(chǎn)物。
為了阻止垃圾郵件,目前的電子郵件系統(tǒng)中嵌入了各種識別垃圾郵件的技術(shù),例如白名單、黑名單、基于內(nèi)容的過濾等等。但是現(xiàn)有的識別垃圾郵件方法基本上只是基于關(guān)鍵字或詞頻對垃圾郵件進(jìn)行識別,角度單一,忽略了其他影響垃圾郵件識別準(zhǔn)確性的原因,導(dǎo)致垃圾郵件的識別準(zhǔn)確度不夠。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種垃圾郵件識別方法及裝置,能夠提高垃圾郵件識別的準(zhǔn)確度。
本發(fā)明提供了一種垃圾郵件識別方法,所述方法包括:
提取待識別郵件中的文本,并將所述文本以詞為單位進(jìn)行分割,得到詞序列;
根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量,得到向量序列,所述向量序列中包括分別與所述詞序列中各個(gè)詞具有對應(yīng)關(guān)系的特征向量;
將所述向量序列中的特征向量以預(yù)設(shè)標(biāo)準(zhǔn)進(jìn)行分組后,得到若干向量組;
將所述向量組作為分類器的輸入?yún)?shù),以使所述分類器結(jié)合上下文相關(guān)性對所述待識別郵件進(jìn)行分類,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。
優(yōu)選地,所述將所述向量序列中的特征向量以預(yù)設(shè)標(biāo)準(zhǔn)進(jìn)行分組后,得到若干向量組,包括:
以句子或段落為標(biāo)準(zhǔn),對所述向量序列中的特征向量進(jìn)行分組后,得到若干向量組。
優(yōu)選地,所述分類器采用卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成;
所述將所述向量組作為分類器的輸入?yún)?shù),以使所述分類器結(jié)合上下文相關(guān)性對所述待識別郵件進(jìn)行分類,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件,包括:
將所述向量組中的特征向量作為所述分類器的第一層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),得到所述向量組對應(yīng)的特征向量,其中,所述向量組對應(yīng)的特征向量用于表示句子或段落的語義;
將所述向量組對應(yīng)的特征向量作為所述分類器的第二層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),得到所述待識別郵件中的文本的特征向量,其中,所述待識別郵件中的文本的特征向量用于表示結(jié)合上下文相關(guān)性后的所述文本的語義;
將所述待識別郵件中的文本的特征向量作為所述分類器的全連接層的輸入?yún)?shù),經(jīng)過所述全連接層的分類處理后,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。
優(yōu)選地,所述分類器的第一層卷積神經(jīng)網(wǎng)絡(luò)包括N個(gè)卷積核,N為自然數(shù);
將所述向量組中的特征向量作為所述分類器的第一層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),得到所述向量組對應(yīng)的特征向量,其中,所述向量組對應(yīng)的特征向量用于表示句子或段落的語義,包括:
利用一維卷積運(yùn)算,得到所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果,所述卷積層輸出結(jié)果包括依次以所述向量組中各個(gè)特征向量作為卷積運(yùn)算起始值,分別與所述卷積核進(jìn)行卷積運(yùn)算的輸出結(jié)果;
分別獲取所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果中的最大值;
將所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果中的最大值進(jìn)行組合,得到所述向量組對應(yīng)的特征向量。
優(yōu)選地,所述根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量,得到向量序列之前,還包括:
將所述詞序列中預(yù)設(shè)類型的詞替換為預(yù)設(shè)標(biāo)簽;
預(yù)先為所述標(biāo)簽構(gòu)建特征向量,并獲取所述標(biāo)簽與所述特征向量的對應(yīng)關(guān)系;
相應(yīng)的,所述根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量,得到向量序列,包括:
根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量;以及,根據(jù)所述標(biāo)簽與所述特征向量的對應(yīng)關(guān)系,將所述詞序列中的標(biāo)簽轉(zhuǎn)換為與所述標(biāo)簽具有對應(yīng)關(guān)系的特征向量,得到向量序列。
優(yōu)選地,所述預(yù)先為所述標(biāo)簽構(gòu)建特征向量,包括:
隨機(jī)生成特征向量,并判斷所述特征向量與所述詞與特征向量的對應(yīng)關(guān)系中各個(gè)特征向量之間的歐式距離是否小于預(yù)設(shè)常數(shù);
當(dāng)所述特征向量與所述各個(gè)特征向量之間的歐式距離小于預(yù)設(shè)常數(shù)時(shí),將所述特征向量分配給標(biāo)簽。
本發(fā)明還提供了一種垃圾郵件識別裝置,所述裝置包括:
分割模塊,用于提取待識別郵件中的文本,并將所述文本以詞為單位進(jìn)行分割,得到詞序列;
轉(zhuǎn)換模塊,用于根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量,得到向量序列,所述向量序列中包括分別與所述詞序列中各個(gè)詞具有對應(yīng)關(guān)系的特征向量;
分組模塊,用于將所述向量序列中的特征向量以預(yù)設(shè)標(biāo)準(zhǔn)進(jìn)行分組后,得到若干向量組;
分類模塊,用于將所述向量組作為分類器的輸入?yún)?shù),以使所述分類器結(jié)合上下文相關(guān)性對所述待識別郵件進(jìn)行分類,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。
優(yōu)選地,所述分組模塊,具體用于:
以句子或段落為標(biāo)準(zhǔn),對所述向量序列中的特征向量進(jìn)行分組后,得到若干向量組。
優(yōu)選地,所述分類器采用卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成;所述分類模塊,包括:
第一分類子模塊,用于將所述向量組中的特征向量作為所述分類器的第一層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),得到所述向量組對應(yīng)的特征向量,其中,所述向量組對應(yīng)的特征向量用于表示句子或段落的語義;
第二分類子模塊,用于將所述向量組對應(yīng)的特征向量作為所述分類器的第二層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),得到所述待識別郵件中的文本的特征向量,其中,所述待識別郵件中的文本的特征向量用于表示結(jié)合上下文相關(guān)性后的所述文本的語義;
第三分類子模塊,用于將所述待識別郵件中的文本的特征向量作為所述分類器的全連接層的輸入?yún)?shù),經(jīng)過所述全連接層的分類處理后,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。
優(yōu)選地,所述分類器的第一層卷積神經(jīng)網(wǎng)絡(luò)包括N個(gè)卷積核,N為自然數(shù);
所述第一分類子模塊,包括:
卷積運(yùn)算子模塊,用于利用一維卷積運(yùn)算,得到所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果,所述卷積層輸出結(jié)果包括依次以所述向量組中各個(gè)特征向量作為卷積運(yùn)算起始值,分別與所述卷積核進(jìn)行卷積運(yùn)算的輸出結(jié)果;
獲取子模塊,用于分別獲取所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果中的最大值;
組合子模塊,用于將所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果中的最大值進(jìn)行組合,得到所述向量組對應(yīng)的特征向量。
本發(fā)明提供了一種垃圾郵件識別方法,首先提取待識別郵件中的文本,并將所述文本以詞為單位進(jìn)行分割,得到詞序列;根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量,得到向量序列,所述向量序列中包括分別與所述詞序列中各個(gè)詞具有對應(yīng)關(guān)系的特征向量。其次,將所述向量序列中的特征向量以預(yù)設(shè)標(biāo)準(zhǔn)進(jìn)行分組后,得到若干向量組。最后,將所述向量組作為分類器的輸入?yún)?shù),以使所述分類器結(jié)合上下文相關(guān)性對所述待識別郵件進(jìn)行分類,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。與現(xiàn)有技術(shù)的垃圾郵件識別方法相比,本發(fā)明結(jié)合了上下文相關(guān)性對郵件識別的影響,提高了垃圾郵件識別的準(zhǔn)確性。
附圖說明
為了更清楚地說明本申請實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種垃圾郵件識別方法流程圖;
圖2為本發(fā)明實(shí)施例提供的一種經(jīng)過分組后的向量序列示意圖;
圖3為本發(fā)明實(shí)施例提供的一種分類器的處理方法流程圖;
圖4為本發(fā)明實(shí)施例提供的一種分類器結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例提供的一種垃圾郵件識別裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
電子郵件中文本內(nèi)容的上下文相關(guān)性對垃圾郵件的識別具有至關(guān)重要的影響,例如“viagra”(偉哥)這個(gè)詞往往通過規(guī)則或者對樣本的訓(xùn)練,被賦予較高的垃圾郵件權(quán)重。但如果一個(gè)朋友發(fā)給你一個(gè)提到“偉哥”的笑話,或者是一個(gè)嚴(yán)肅的醫(yī)學(xué)專業(yè)的討論的電子郵件均會被識別為垃圾郵件。這顯然是未結(jié)合上下文相關(guān)性對垃圾郵件進(jìn)行識別的后果,通常脫離上下文相關(guān)性和語義進(jìn)行垃圾郵件識別的方法必然在識別準(zhǔn)確率上存在很大的缺陷,特別是在區(qū)分專業(yè)領(lǐng)域的正常郵件和該領(lǐng)域的垃圾郵件時(shí),有著非常高的錯(cuò)誤率。
所以,本發(fā)明提供的垃圾郵件識別方法結(jié)合了上下文相關(guān)性的影響,能夠更準(zhǔn)確的對垃圾郵件進(jìn)行識別。
以下進(jìn)行實(shí)施例具體內(nèi)容的介紹。
本發(fā)明實(shí)施例提供了一種垃圾郵件識別方法,參考圖1,為本發(fā)明實(shí)施例提供的一種垃圾郵件識別方法流程圖,所述方法具體包括:
S101:提取待識別郵件中的文本,并將所述文本以詞為單位進(jìn)行分割,得到詞序列。
本發(fā)明實(shí)施例提供的垃圾郵件識別方法可以應(yīng)用于郵件網(wǎng)關(guān)、郵件服務(wù)器或者客戶端等終端。實(shí)際應(yīng)用中,位于不同終端中的郵件數(shù)據(jù)都是經(jīng)過特定編碼或協(xié)議封裝的,本發(fā)明實(shí)施例可以通過預(yù)先將位于不同終端中的郵件數(shù)據(jù)進(jìn)行文本的轉(zhuǎn)換,屏蔽了后續(xù)的處理過程對來自不同的終端的郵件數(shù)據(jù)的處理差異性,使得系統(tǒng)具有良好的適應(yīng)性。
另外,本發(fā)明實(shí)施例是基于電子郵件中的文本內(nèi)容實(shí)現(xiàn)對垃圾郵件的識別的,不涉及對電子郵件內(nèi)的圖片、附件等內(nèi)容的識別。
實(shí)際應(yīng)用中,首先提取待識別郵件中的文本,由于本發(fā)明是基于文本的語義進(jìn)行垃圾郵件的識別,所以,本發(fā)明實(shí)施例在提取到文本后,以詞為單位對所述文本進(jìn)行分割,得到詞序列,其中,所述詞序列為經(jīng)過以詞為單位分割后的文本。
本發(fā)明實(shí)施例中,對文本進(jìn)行以詞為單位的分割的方法可以包括基于字符串匹配的方法,如雙向最大匹配法,還可以包括基于HMM的方法和基于深度學(xué)習(xí)的方法等等。其中,本發(fā)明實(shí)施例不限定使用哪種方法進(jìn)行文本的分割,優(yōu)選地,本發(fā)明利用基于HMM的方法和基于深度學(xué)習(xí)的方法較其他方法具有較好的效果。
S102:根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量,得到向量序列,所述向量序列中包括分別與所述詞序列中各個(gè)詞具有對應(yīng)關(guān)系的特征向量。
本發(fā)明實(shí)施例中,預(yù)先獲取詞與特征向量的對應(yīng)關(guān)系,并存儲于系統(tǒng)中以供調(diào)用。具體的,一種實(shí)現(xiàn)方式中,可以利用GloVe(英文:Global Vectors for Word Representation)方法對預(yù)先獲取的樣本進(jìn)行訓(xùn)練,得到詞與特征向量的對應(yīng)關(guān)系。其中,GloVe方法中使用的樣本可以為從新聞、網(wǎng)頁等獲取的自然語料。另外,本發(fā)明實(shí)施例用于獲取詞與特征向量的對應(yīng)的關(guān)系的方法不限于GloVe方法,也有其他現(xiàn)有的技術(shù)能夠用于獲取詞與特征向量的對應(yīng)關(guān)系,在此不再贅述。
值的強(qiáng)調(diào)的是,利用GloVe方法得到的詞與特征向量的對應(yīng)關(guān)系中的特征向量滿足如下條件:首先,每個(gè)詞對應(yīng)的特征向量的最近鄰居應(yīng)該是該詞的近義詞,例如詞frog對應(yīng)的特征向量的最近鄰居應(yīng)該分別是frogs,toad,litoria,leptodactylidae,rana,lizard,eleutherodactylus等等。其次,詞對應(yīng)的特征向量在相關(guān)的詞間具有線性關(guān)系,例如,線性關(guān)系v(queen)≈v(king)–v(man)+v(woman),其中v()是對詞到特征向量的轉(zhuǎn)換函數(shù),queen,king,man,woman是相關(guān)的詞。
實(shí)際操作中,根據(jù)預(yù)先存儲于系統(tǒng)中的詞與特征向量的對應(yīng)關(guān)系,將獲取的詞序列中的各個(gè)詞轉(zhuǎn)換為與其具有對應(yīng)關(guān)系的特征向量,得到向量序列。其中,所述向量序列中包括分別所述詞序列中的各個(gè)詞具有對應(yīng)關(guān)系的特征向量。
一種優(yōu)選的實(shí)施方式中,本發(fā)明實(shí)施例在獲取到詞序列后,查找到所述詞序列中的預(yù)設(shè)類型的詞,如數(shù)字、符號等,將這種類型的詞替換為預(yù)設(shè)標(biāo)簽。例如,將日期“2016-6-1”替換為標(biāo)簽“<date>”。
由于預(yù)設(shè)類型的詞一般為與識別垃圾郵件無關(guān)的詞,本發(fā)明實(shí)施例利用預(yù)設(shè)標(biāo)簽統(tǒng)一替換預(yù)設(shè)類型的詞,一方面可以簡化垃圾郵件的識別過程,另一方面也可以增加分類器的范化能力,使分類器能夠?qū)H僅改變了一些數(shù)字、日期等的電子郵件看成是一類的電子郵件,簡化處理過程。
實(shí)際應(yīng)用中,本發(fā)明實(shí)施例可以利用正則表達(dá)式實(shí)現(xiàn)預(yù)設(shè)類型的詞的匹配以及預(yù)設(shè)標(biāo)簽的替換,本發(fā)明實(shí)施例可以通過維護(hù)一個(gè)正則表達(dá)式庫,將匹配上正則表達(dá)式表項(xiàng)的詞替換成對應(yīng)的標(biāo)簽。
另外,由于利用GloVe方法得到的詞與特征向量的對應(yīng)關(guān)系中不包括標(biāo)簽對應(yīng)的特征向量,所以,在預(yù)先設(shè)置標(biāo)簽之后,可以利用GloVe方法為所述標(biāo)簽構(gòu)建特征向量。具體的,利用GloVe方法隨機(jī)生成特征向量,并判斷所述特征向量與預(yù)先獲取的詞與特征向量的對應(yīng)的關(guān)系中各個(gè)詞對應(yīng)的特征向量之間的歐式距離是否小于預(yù)設(shè)常數(shù)。如果所述特征向量與各個(gè)詞對應(yīng)的特征向量之間的歐式距離小于預(yù)設(shè)常數(shù)時(shí),將所述特征向量分配給標(biāo)簽。依照上述方式,為各個(gè)標(biāo)簽構(gòu)建對應(yīng)的特征向量。
實(shí)際應(yīng)用中,根據(jù)各個(gè)標(biāo)簽與特征向量的對應(yīng)關(guān)系,將詞序列中的各個(gè)標(biāo)簽也轉(zhuǎn)換為對應(yīng)的特征向量。
S103:將所述向量序列中的特征向量以預(yù)設(shè)標(biāo)準(zhǔn)進(jìn)行分組后,得到若干向量組。
本發(fā)明實(shí)施例中,所述預(yù)設(shè)標(biāo)準(zhǔn)可以為以句子或段落為標(biāo)準(zhǔn),也可以以固定長度或者固定詞個(gè)數(shù)為標(biāo)準(zhǔn)。
實(shí)際應(yīng)用中,以預(yù)設(shè)標(biāo)準(zhǔn)對所述向量序列進(jìn)行分組后,得到若干向量組,其中,各個(gè)向量組中包括分組后的特征向量。
實(shí)際應(yīng)用中,以句子為標(biāo)準(zhǔn)對所述向量序列進(jìn)行分組時(shí),可以根據(jù)向量序列中的標(biāo)點(diǎn)符號識別句子,最終以句子為單位對所述特征向量進(jìn)行分組。如圖2所示,圖2為一種以句子為標(biāo)準(zhǔn)進(jìn)行分組后的向量序列示意圖。其中,為了讓每個(gè)句子中的各個(gè)詞對垃圾郵件識別的貢獻(xiàn)均衡,將分組后的每個(gè)句子對應(yīng)的向量組的前后分別增加若干個(gè)占位向量。其中,分別增加的占位向量的個(gè)數(shù)等于分類器中卷積核最大的窗口長度減去1。
S104:將所述向量組作為分類器的輸入?yún)?shù),以使所述分類器結(jié)合上下文相關(guān)性對所述待識別郵件進(jìn)行分類,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。
本發(fā)明實(shí)施例中的分類器可以采用卷積神經(jīng)網(wǎng)絡(luò)CNN、循環(huán)神經(jīng)網(wǎng)絡(luò)RNN等深度神經(jīng)網(wǎng)絡(luò)構(gòu)成,利用深度神經(jīng)網(wǎng)絡(luò)對上下文的關(guān)聯(lián)能力,對待識別郵件進(jìn)行分類,能夠提高對垃圾郵件的識別精度。
一種優(yōu)選的實(shí)施方式中,采用卷積神經(jīng)網(wǎng)絡(luò)CNN構(gòu)成本發(fā)明實(shí)施例中的分類器。對于以句子或段落為標(biāo)準(zhǔn)對向量序列進(jìn)行分組后得到的向量組,所述分類器的處理過程如下,參考圖3所示,圖3為本發(fā)明實(shí)施例提供的一種分類器的處理方法流程圖:
S301:將所述向量組中的特征向量作為所述分類器的第一層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),得到所述向量組對應(yīng)的特征向量,其中,所述向量組對應(yīng)的特征向量用于表示句子或段落的語義。
實(shí)際應(yīng)用中,由于本實(shí)施例方式中以句子或段落作為分組標(biāo)準(zhǔn),所以本實(shí)施例中采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和分類的分類器可以由兩層卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成。事實(shí)上,根據(jù)分組標(biāo)準(zhǔn)的不同,本發(fā)明實(shí)施例的分類器還可以由三層,甚至更多層卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成。如圖4所示,為本發(fā)明實(shí)施例提供的一種由兩層卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成的分類器結(jié)構(gòu)示意圖。其中,第一層卷積神經(jīng)網(wǎng)絡(luò)由N個(gè)卷積核和pooling層1組成,N為自然數(shù)。
具體的,將以句子或段落作為標(biāo)準(zhǔn)進(jìn)行分組后得到的向量組記為S1:n=[X1,X2...Xn],Xn為第n個(gè)詞對應(yīng)的特征向量。也就是說,所述向量組S1:n由n個(gè)詞的特征向量構(gòu)成。
實(shí)際應(yīng)用中,首先利用一維卷積運(yùn)算,得到所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果,所述卷積層輸出結(jié)果包括依次以所述向量組中各個(gè)特征向量為卷積運(yùn)算起始值,分別與所述卷積核進(jìn)行卷積運(yùn)算的輸出結(jié)果。
具體的,依次以所述向量組S1:n中的各個(gè)特征向量X1,X2...Xn作為卷積運(yùn)算起始值,分別與卷積核進(jìn)行卷積運(yùn)算,得到所述向量組S1:n在每個(gè)卷積核的卷積層輸出結(jié)果。其中,以所述向量組中第i個(gè)特征向量作為卷積運(yùn)算的起始值,將所述向量組中第i個(gè)特征向量到第i+hj-1個(gè)特征向量與第j個(gè)卷積核Wj進(jìn)行卷積運(yùn)算后的得到的輸出結(jié)果記為:
其中,所述向量組為分組后得到的第m個(gè)向量組,hj為第j個(gè)卷積核的窗口長度,bj為偏移量,f()是一個(gè)非線性函數(shù),如tanh()等。
實(shí)際應(yīng)用中,在以所述向量組S1:n中的各個(gè)特征向量X1,X2...Xn作為卷積運(yùn)算起始值,分別與卷積核進(jìn)行卷積運(yùn)算,得到后,將進(jìn)行組合,最終得到Cm,j即為所述向量組S1:n在第j個(gè)卷積核的卷積層輸出結(jié)果。
其中,所述向量組在所述卷積核的卷積層輸出結(jié)果包括依次以所述向量組中各個(gè)特征向量為卷積運(yùn)算起始值,分別與所述卷積核進(jìn)行卷積運(yùn)算的輸出結(jié)果。
然后,分別獲取所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果中的最大值。具體的,在圖4中的pooling層1,采用max-out pooling方法,分別獲取所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果中的最大值。將分組后得到的第m個(gè)向量組在第j個(gè)卷積核的卷積層輸出結(jié)果中的最大值記為:
最后,將所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果中的最大值進(jìn)行組合,得到所述向量組對應(yīng)的特征向量。將分組后得到的第m個(gè)向量組對應(yīng)的特征向量記為:
Ym=[Pm,1,Pm,2...Pm,N];
其中,所述第一層卷積神經(jīng)網(wǎng)絡(luò)包括N個(gè)卷積核,第m個(gè)向量組分別在N個(gè)卷積核的卷積層輸出結(jié)果中最大值組成所述向量組對應(yīng)的特征向量Ym。
S302:將所述向量組對應(yīng)的特征向量作為所述分類器的第二層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),得到所述待識別郵件中的文本的特征向量,其中,所述待識別郵件中的文本的特征向量用于表示結(jié)合上下文相關(guān)性后的所述文本的語義。
如圖4所示,分類器中的第二層卷積神經(jīng)網(wǎng)絡(luò)可以由M個(gè)卷積核和pooling層2組成,M為自然數(shù),所述第二層卷積神經(jīng)網(wǎng)絡(luò)與所述第一層卷積神經(jīng)網(wǎng)絡(luò)的算法邏輯相同。具體的,所述第一層卷積神經(jīng)網(wǎng)絡(luò)輸出的各個(gè)向量組對應(yīng)的特征向量作為所述第二層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù)。經(jīng)過所述第二層卷積神經(jīng)網(wǎng)絡(luò)中M個(gè)卷積核和pooling層2的處理后,最終所述第二層卷積神經(jīng)網(wǎng)絡(luò)輸出的是所述待識別郵件中文本的特征向量。
S303:將所述待識別郵件中的文本的特征向量作為所述分類器的全連接層的輸入?yún)?shù),經(jīng)過所述全連接層的分類處理后,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。
如圖4所示,本發(fā)明實(shí)施例中的分類器還包括全連接層,所述第二層卷積神經(jīng)網(wǎng)絡(luò)輸出的所述待識別郵件中文本的特征向量作為所述全連接層的輸入?yún)?shù),由所述全連接層通過softmax函數(shù)輸出在多個(gè)分類上的概率,利用所述概率即可確定所述待識別郵件是否屬于垃圾郵件。其中,所述全連接層的算法邏輯與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法邏輯相同,在此不再贅述。
本發(fā)明實(shí)施例中,再利用分類器進(jìn)行垃圾郵件的識別之前,首先利用郵件樣本對所述分類器進(jìn)行訓(xùn)練。具體的,利用郵件樣本對分類器進(jìn)行訓(xùn)練的過程與分類器對垃圾郵件進(jìn)行識別的過程基本相同,區(qū)別包括以下兩點(diǎn):第一,利用郵件樣本對分類器進(jìn)行訓(xùn)練階段中,分類器不僅包括對郵件樣本進(jìn)行處理的正向傳播過程,即上述S301-S303,還包括反向傳播過程,目的是對所述分類器各層的網(wǎng)絡(luò)參數(shù)(如全連接層的權(quán)重和偏移)進(jìn)行調(diào)整,使得最終得到的訓(xùn)練結(jié)果更準(zhǔn)確。第二,將dropout算法應(yīng)用于分類器的全連接層,解決郵件樣本在訓(xùn)練階段的過度擬合問題。具體的,在訓(xùn)練階段的正向傳播過程中,隨機(jī)的將一些隱藏層的輸出設(shè)置為0,同時(shí)這些神經(jīng)元不參加反向傳播的參數(shù)調(diào)整。這種方法降低了神經(jīng)元之間的依賴關(guān)系,解決了深度神經(jīng)網(wǎng)絡(luò)對樣本的過度擬合問題。
本發(fā)明實(shí)施例提供的一種垃圾郵件識別方法中,首先提取待識別郵件中的文本,并將所述文本以詞為單位進(jìn)行分割,得到詞序列;根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量,得到向量序列,所述向量序列中包括分別與所述詞序列中各個(gè)詞具有對應(yīng)關(guān)系的特征向量。其次,將所述向量序列中的特征向量以預(yù)設(shè)標(biāo)準(zhǔn)進(jìn)行分組后,得到若干向量組。最后,將所述向量組作為分類器的輸入?yún)?shù),以使所述分類器結(jié)合上下文相關(guān)性對所述待識別郵件進(jìn)行分類,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。與現(xiàn)有技術(shù)的垃圾郵件識別方法相比,本發(fā)明實(shí)施例結(jié)合了上下文相關(guān)性對郵件識別的影響,提高了垃圾郵件識別的準(zhǔn)確性。
本發(fā)明實(shí)施例還提供了一種垃圾郵件識別裝置,參考圖5,為本發(fā)明實(shí)施例提供的一種垃圾郵件識別裝置結(jié)構(gòu)示意圖,所述裝置包括:
分割模塊501,用于提取待識別郵件中的文本,并將所述文本以詞為單位進(jìn)行分割,得到詞序列;
轉(zhuǎn)換模塊502,用于根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量,得到向量序列,所述向量序列中包括分別與所述詞序列中各個(gè)詞具有對應(yīng)關(guān)系的特征向量;
分組模塊503,用于將所述向量序列中的特征向量以預(yù)設(shè)標(biāo)準(zhǔn)進(jìn)行分組后,得到若干向量組;
分類模塊504,用于將所述向量組作為分類器的輸入?yún)?shù),以使所述分類器結(jié)合上下文相關(guān)性對所述待識別郵件進(jìn)行分類,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。
具體的,所述分組模塊503,具體用于:
以句子或段落為標(biāo)準(zhǔn),對所述向量序列中的特征向量進(jìn)行分組后,得到若干向量組。
一種優(yōu)選地實(shí)施方式中,所述分類器采用卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成;所述分類模塊504,包括:
第一分類子模塊,用于將所述向量組中的特征向量作為所述分類器的第一層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),得到所述向量組對應(yīng)的特征向量,其中,所述向量組對應(yīng)的特征向量用于表示句子或段落的語義;
第二分類子模塊,用于將所述向量組對應(yīng)的特征向量作為所述分類器的第二層卷積神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),得到所述待識別郵件中的文本的特征向量,其中,所述待識別郵件中的文本的特征向量用于表示結(jié)合上下文相關(guān)性后的所述文本的語義;
第三分類子模塊,用于將所述待識別郵件中的文本的特征向量作為所述分類器的全連接層的輸入?yún)?shù),經(jīng)過所述全連接層的分類處理后,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。
一種優(yōu)選地實(shí)施方式中,所述分類器的第一層卷積神經(jīng)網(wǎng)絡(luò)包括N個(gè)卷積核,N為自然數(shù);
所述第一分類子模塊,包括:
卷積運(yùn)算子模塊,用于利用一維卷積運(yùn)算,得到所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果,所述卷積層輸出結(jié)果包括依次以所述向量組中各個(gè)特征向量作為卷積運(yùn)算起始值,分別與所述卷積核進(jìn)行卷積運(yùn)算的輸出結(jié)果;
獲取子模塊,用于分別獲取所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果中的最大值;
組合子模塊,用于將所述向量組在每個(gè)卷積核的卷積層輸出結(jié)果中的最大值進(jìn)行組合,得到所述向量組對應(yīng)的特征向量。
本發(fā)明實(shí)施例提供的一種垃圾郵件識別裝置能夠?qū)崿F(xiàn)以下功能:提取待識別郵件中的文本,并將所述文本以詞為單位進(jìn)行分割,得到詞序列;根據(jù)預(yù)先獲取的詞與特征向量的對應(yīng)關(guān)系,將所述詞序列中的詞轉(zhuǎn)換為與所述詞具有對應(yīng)關(guān)系的特征向量,得到向量序列,所述向量序列中包括分別與所述詞序列中各個(gè)詞具有對應(yīng)關(guān)系的特征向量。將所述向量序列中的特征向量以預(yù)設(shè)標(biāo)準(zhǔn)進(jìn)行分組后,得到若干向量組。將所述向量組作為分類器的輸入?yún)?shù),以使所述分類器結(jié)合上下文相關(guān)性對所述待識別郵件進(jìn)行分類,得到分類結(jié)果,所述分類結(jié)果用于確定所述待識別郵件是否屬于垃圾郵件。與現(xiàn)有技術(shù)的垃圾郵件識別方法相比,本發(fā)明實(shí)施例結(jié)合了上下文相關(guān)性對郵件識別的影響,提高了垃圾郵件識別的準(zhǔn)確性。
對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對本發(fā)明實(shí)施例所提供的一種垃圾郵件識別方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。