第三章 研究方法
3.4. 垃圾郵件法則產生
本研究主要在於提出一個具有理論基礎的垃圾郵件法則管理模式以管理藉由資料 探勘所產生出之垃圾郵件法則。因此就理論上而言,任何只要可以產生出垃圾郵件法則 的方法均可以用來產生垃圾郵件法則,如決策樹、AdaBoosting with Decision Stumps、
Naïve Bayes、Ripper、約略集合理論或是 ADTree。而本研究使用的方法為 Pawlak 在 1985 年所提出的約略集合理論做為產生垃圾郵件法則的方法。目前已經有一些學者利用 約略集合理論來產生垃圾郵件法則並且有不錯的表現[32][33]。因此本研究利用約略集 合理論來產生垃圾郵件法則,本節主要說明利用約略集合理論產生出垃圾郵件法則。
要利用約略集合理論分析資料,首先要建立資訊系統(Information System),一 個資訊系統是由全域(一個有限的物件集合)與屬性所組成的,我們可以將資訊系統定 義成S=
(
U A,)
其中 S 代表資訊系統,U 代表全域(U={ ,X X1 2, ,⋅⋅⋅ Xn},X 在本研究n 中代表郵件),A 為屬性的集合,A={ , , , }a a1 2 ⋅⋅⋅an ,a 在本研究中代表一個郵件的屬n 性。本研究採用三種不同種類的屬性去過濾郵件,分別為關鍵字屬性(Keyword)、標頭 屬性(Header)與信件格式(Format)屬性。關鍵字是目前研究中最常用來過濾郵件的屬 性,藉由計算特定的關鍵字數量或是分佈來分類垃圾郵件。而標頭屬性則是根據寄件者 的來源 IP 或是有無副本等等的資訊來分類垃圾郵件,有些垃圾郵件會從特定的 IP 發出 或是有特定的附加檔案等等,因此此類的資訊也十分重要。至於信件格式屬性則是根據 信件內容的格式來分類垃圾郵件,例如有沒有提交表格(submit-form)或是是否為 multi-part 等等,下表 2 列出本研究使用的屬性。表 2. 郵件屬性
屬性名稱 屬性描述
From 寄件者名稱與伺服器來源
Reply to 信件回應時是否有回應給指定的接收者 CC 是有有無寄件副本
Received 郵件傳遞的路徑 Subject 郵件主旨
Length 郵件長度(幾 bit)
Domain 件者郵件伺服器的網域名稱 Multi part 是否此郵件為 multi-part Text/Html 此郵件是文字格式或是網頁格式 Hasform 此郵件有無提交表格
Rec_number 此郵件包含多少關鍵字 Encoding 此研究的編碼方式
在 約 略 集 合 理 論 中 我 們 定 義 D 為 一 個 決 策 表 ( Decision Table ) 其 中
(
,{ } )
D= U A∪ d ,d為一個不屬於A 的屬性,在本研究中d=
{
Spam Ham,}
,下表 3 為 一個簡化的決策表之範例。表 3. 決策表範例 A
U
Domain Subject Content type decision
x1 yahoo.com Money html Spam x2 gmail.com Homework text Ham x3 mail.nsysu.edu.tw Homework text Ham x4 yahoo.com Money html Spam x5 mail.nsysu.edu.tw Homework html Spam x6 gmail.com Homework text Spam x7 yahoo.com Money html Spam
表 3 提供一個簡化決策表範例,本範例有七個郵件與三個屬性,其中令V 為屬性 aa 的值域,舉例來說Vsubject ={Sex, Homework, Money},定義完決策表之後,接下來要定 義的為物件間難以辨識的關係(Indiscernibly relation)。對於屬性B B( ⊂A)的每個 集合,難以辨識的關係 IND(B) 可以藉由下面的方式定義:若b X( i)=b X( j)(對於每個 b⊂B),則兩個物件X 與i X 藉由屬性 B 的集合是難以辨識的,以表四為例,j X 與4 X7 對於屬性 A 集合(所有屬性)而言是難以辨識的。IND(B)的等價類(Equivalence class)
稱做 B 中的基本集合(elementary set),他代表物件之最小難以辨識的群體,我們將
他定義成
[ ]
xi IND B( ),下表 4 為根據屬性 Domain 與屬性 Subject 將物件分群的範例。表 4. 基本集合範例
U/B Domain name Subject
1 4 7
{ ,X X X , } yahoo.com Money
2 6
{X X , } gmail.com Homework
3 5
{X X , } mail.nsysu.edu.tw Homework
建立基本集合後,接下來就必須做資料的分析,約略集合理論的資料分析是基於兩 個概念:下界近似與上界近似(the lower approximations and upper approximations),
下界近似表示其元素(element)必定屬於該集合;而上界近似代表元素可能屬於該集 合。
令 X 表示U 的子集合X ⊂U ,在 X 與B B( ⊂A)的下界近似表示為B X 其中*( )
{ [ ] }
* i | i IND B( )
B = x ∈U x ⊂X ; 而 X 與 B 的 上 界 近 似 表 示 為 B X 其 中*( )
{ [ ] }
*
( ) i | i IND B( ) 0
B X = x ∈U x ∩X ≠ ; 而 BN Xb( )=B X*( )−B X*( ) , 我 們 稱 他 為 邊 界
(boundary),在本研究中 X 代表郵件物件而B X 代表郵件必定屬於垃圾郵件;*( ) B X*( ) 代表郵件可能屬於垃圾郵件而BN X 代表郵件屬於正常郵件。 b( )
定義下界近似與上界近似後,就可以求得垃圾郵件的決策法則,在約略集合理論中 決策法則是以Φ → Ψ的型式表達,垃圾郵件法則的精確度定義為 ( ( ))**
( ) ( ( ))
b
card B X u X =card B X
其中card B X 代表下界近似中郵件的數量;( ( ))* card B X 代表上界近似中郵件的數量( *( )) 而0≤u Xb( ) 1≤ 。
為 了 求 得 高 品 質 的 垃 圾 郵 件 法 則 , 必 須 對 原 始 的 資 訊 系 統 做 離 散 化
(discretization)與屬性折減動作(attributes reduction),在郵件物件中,很多 的屬性可能是連續之數值,如關鍵字數量或是郵件大小(bit 數等等),因此必須對此 類屬性的值做離散化,本研究採用 Boolean reasoning algorithm 做為離散化的演算法。
而屬性折減主要目的為在維持相同的基本集合情況下將多餘之屬性刪除,而在約略集合 理論中屬性折減是屬於 NP-hard 的問題,本研究利用基因演算法來作為屬性折減的演算 法。
本節描述了如何利用約略集合理論產生出垃圾郵件過濾法則,而本研究所提出的方 法並不限定在使用約略集合理論,亦可以利用其他資料探勘的方式產生垃圾郵件法則,
下一節要介紹的為垃圾郵件管理與採用的模式。