基於用戶行為關係的郵件分類方法與流程
2023-07-16 04:39:12 1

本發明屬於網絡通信技術領域,具體涉及一種基於用戶行為關係的郵件分類方法的設計。
背景技術:
在網絡進入萬千大眾的生活的同時,網絡通信也就變得越來越頻繁了,郵件通信正是網絡通信的重要手段。然而,就在電子郵件逐漸成為一種不可或缺的重要信息交流工具的同時,日益增長的郵件數量也給人們的生活和工作帶來了極大的困擾。尤其是對於公司和國家機關部門,面對現在大量的推薦郵件,問候郵件和摻雜在其中的重要郵件和急需處理的郵件,人們需要付出極大的工作量,造成大量的人力浪費和經濟損失。
為了應對這些問題,目前通常採用郵件過濾,但是常見的郵件過濾算法主要是考慮郵件的內容,實際上就是文本的分類算法,另外通用的算法對不同的用戶沒有進行區別對待。在現有的一些解決方案中,包括基於概率的郵件分類方法、基於統計學習的郵件分類方法、基於相似度聚類的郵件分類方法等。
基於概率的郵件分類方法,如經典的貝葉斯方法,其原理是計算各個類別在給定這組屬性值時的條件概率,並將條件概率最大的類標號作為分類的結果,採用該方法的缺點是前提條件一般不能滿足。
基於統計學習的郵件分類方法,如SVM、決策樹等。SVM方法是目前比較好的郵件分類方法之一,它主要是應對數據集在低緯度上無法正確分類,通道不是線性變換的函數對原始的特徵空間進行映射,轉換成一個更高維度的特徵空間,在新的空間上實現對數據集的正確分類,根據郵件所在的平面來決定郵件所屬的類別,其缺點是核函數的選擇有一定的盲目性,缺乏有效的指導,很難針對某個具體問題選擇最佳的核函數。決策樹是比較有效率的一個方法,其原理是先將屬性值進行離散化,然後按離散化的值進行建樹,依次進行,直到該分支滿足預定的要求,否則繼續下去,直到該分支為單個郵件。其缺點是很容易過擬合。
基於相似度聚類的郵件分類方法,如KNN,其原理是計算郵件之間的距離,樣本離哪個類別近就認為該封郵件屬於哪個類別。其缺點是需要計算郵件之間的距離,分類效率較低。
這些方法都有各自的優勢,同時也有各自的缺點。現有的郵件分類方法中對於用戶的行為關係的考慮是欠缺的,用戶之間的收發關係對於一封郵件的重要與否有時候會起到關鍵性的作用。在不考慮這種關係的時候,郵件的錯分機率會大大的增加。
技術實現要素:
本發明的目的是為了解決現有技術中郵件分類方法欠缺對於用戶行為關係的考慮的問題,提出了一種基於用戶行為關係的郵件分類方法。
本發明的技術方案為:基於用戶行為關係的郵件分類方法,包括以下步驟:
S1、對原始郵件數據集進行解析,生成新的郵件數據集EmailDatas;
S2、獲取郵件數據集EmailDatas中收發件人的郵件地址對(x,y);
S3、遍歷郵件數據集EmailDatas中的所有郵件樣本,統計和存儲每一個地址對(x,y);
S4、計算每一個地址對(x,y)與類別c的條件概率;
S5、計算每一個地址對(x,y)屬於重要郵件的條件概率與屬於不重要郵件的條件概率的比值φ(x,y);
S6、根據φ(x,y)判定每個郵件樣本是否為重要郵件。
進一步地,步驟S1具體為:
獲取原始郵件數據集,對其中的每一封郵件調用JavaMail jar包中的方法,獲取郵件的內容、主題、發件人地址、發件時間、收件人地址以及附件信息;遍歷原始郵件數據集中的所有郵件,對解析得到的結果進行存儲,從而生成新的郵件數據集EmailDatas。
進一步地,步驟S4具體為:
通過公式(1)計算每一個地址對(x,y)與類別c的條件概率:
其中,|V|表示給郵件詞典集Dictionary的郵件地址對的數量,郵件詞典集Dictionary由對郵件數據集EmailDatas中的每一封郵件的主題和內容利用IK分詞器進行分詞後得到;nc表示類別c中出現的所有郵件地址對的數量;n(x,y),c表示地址對(x,y)在類別c中出現的次數;類別c的取值為「重要」或「不重要」。
進一步地,步驟S5中計算φ(x,y)的公式為:
進一步地,步驟S6具體為:
若φ(x,y)>1,則該郵件判定為重要郵件,否則該郵件判定為不重要郵件。
本發明的有益效果是:本發明針對現有的郵件分類方法對於用戶行為關係考慮較少的問題,提出了基於用戶行為關係的郵件分類方法,將郵件地址對作為一個最為重要的特徵參與到分類器的構建,採用貝葉斯的思想,計算每一個郵箱地址對與郵件類別的相關性,充分的考慮了郵件數據集中的信息,大大的提高了正類樣本,即重要郵件的召回率和郵件分類準確率。本發明通過對用戶的收發行為進行統計,將用戶之間的行為關係考慮進去,更加適合現實中的郵件,更適合對特定用戶進行重要郵件的推薦。
附圖說明
圖1為本發明提供的基於用戶行為關係的郵件分類方法流程圖。
圖2為本發明與現有郵件分類方法各項指標對比示意圖。
具體實施方式
下面結合附圖對本發明的實施例作進一步的說明。
本發明提供了一種基於用戶行為關係的郵件分類方法,如圖1所示,包括以下步驟:
S1、對原始郵件數據集進行解析,生成新的郵件數據集EmailDatas。
原始郵件數據集中的郵件是Email格式的半結構化的文檔,無法直接作為文本進行處理,需要先對其進行解析,然後進行內容提取,具體過程如下:
獲取原始郵件數據集,對其中的每一封郵件調用JavaMail jar包中的方法,獲取郵件的內容、主題、發件人地址、發件時間、收件人地址以及附件信息;遍歷原始郵件數據集中的所有郵件,對解析得到的結果進行存儲,從而生成新的郵件數據集EmailDatas。
S2、獲取郵件數據集EmailDatas中收發件人的郵件地址對(x,y)。
S3、遍歷郵件數據集EmailDatas中的所有郵件樣本,統計和存儲每一個地址對(x,y)。這裡當收件人和發件人調換時是兩種不同的情況,要區別對待,即(x,y)和(y,x)是不同的地址對。
S4、計算每一個地址對(x,y)與類別c的條件概率:
其中,|V|表示給郵件詞典集Dictionary的郵件地址對的數量,郵件詞典集Dictionary由對郵件數據集EmailDatas中的每一封郵件的主題和內容利用IK分詞器進行分詞後得到;nc表示類別c中出現的所有郵件地址對的數量;n(x,y),c表示地址對(x,y)在類別c中出現的次數;類別c的取值為「重要」或「不重要」。
S5、計算每一個地址對(x,y)屬於重要郵件的條件概率與屬於不重要郵件的條件概率的比值φ(x,y):
S6、根據φ(x,y)判定每個郵件樣本是否為重要郵件:
若φ(x,y)>1,則該郵件判定為重要郵件,否則該郵件判定為不重要郵件。
與現有的郵件分類方法相比,本發明考慮了用戶之間的行為關係(即用戶的郵件收發關係),將郵件地址對作為一個最為重要的特徵參與到分類器的構建。如圖2所示,與不考慮用戶之間行為關係的現有郵件分類方法相比,本發明提供的方法在正類樣本(即重要郵件)的召回率、郵件分類準確率以及整個分類器的F1-measure(綜合評價指標)上都有顯著提高,更適合對特定用戶進行重要郵件的推薦。
本領域的普通技術人員將會意識到,這裡所述的實施例是為了幫助讀者理解本發明的原理,應被理解為本發明的保護範圍並不局限於這樣的特別陳述和實施例。本領域的普通技術人員可以根據本發明公開的這些技術啟示做出各種不脫離本發明實質的其它各種具體變形和組合,這些變形和組合仍然在本發明的保護範圍內。