Chƣơng 1 đã trình bày khái quát về email, dịch vụ email, các vấn đề bảo mật và các biện pháp, kỹ thuật đảm bảo an tồn cho email và dịch vụ email. Chƣơng cũng đề cấp về thƣ rác, các đặc trƣng của thƣ rác, tác hại và vấn đề lọc thƣ rác.
Chƣơng 2 sẽ đi sâu tìm hiểu về thuật tốn học máy Nạve Bayes và xây dựng mơ hình lọc thƣ rác dựa trên Nạve Bayes.
CHƢƠNG 2: XÂY DỰNG MƠ HÌNH LỌC THƢ RÁC DỰA TRÊN NẠVE BAYES
2.1. Thuật tốn học máy Nạve Bayes
2.1.1. Định lý Bayes
Định lý Bayes [12] cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra. Xác suất này đƣợc ký hiệu là P(A|B), và đọc là "xác suất của A nếu cĩ B". Đại lƣợng này đƣợc gọi xác suất cĩ điều kiện hay xác suất hậu nghiệm vì nĩ đƣợc rút ra từ giá trị đƣợc cho của B hoặc phụ thuộc vào giá trị đĩ. Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 đại lƣợng sau:
- Xác suất xảy ra A của riêng nĩ, khơng quan tâm đến B, đƣợc kí hiệu là P(A) (xác suất của A). Đây đƣợc gọi là xác suất tiên nghiệm, nĩ là "tiên nghiệm" theo nghĩa rằng nĩ khơng quan tâm đến bất kỳ thơng tin nào về B.
- Xác suất xảy ra B của riêng nĩ, khơng quan tâm đến A, đƣợc kí hiệu là P(B) (xác suất của B). Đại lƣợng này cịn gọi là hằng số chuẩn hĩa (normalising constant), vì nĩ luơn giống nhau, khơng phụ thuộc vào sự kiện A đang muốn biết. - Xác suất xảy ra B khi biết A xảy ra, kí hiệu là P(B|A) (xác suất của B nếu cĩ A). Đại lƣợng này gọi là khả năng (likelihood) xảy ra B khi biết A đã xảy ra. Chú ý khơng nhầm lẫn giữa khả năng xảy ra B khi biết A và xác suất xảy ra A khi biết B.
Khi biết ba đại lƣợng này, xác suất của A khi biết B cho bởi cơng thức:
Từ đĩ dẫn tới: P(A|B)P(B) = P(A B) = P(B|A)P(A)
(2.2)
(2.4)
2.1.2. Thuật tốn Nạve Bayes
Thuật tốn Nạve Bayes dựa trên định lý Bayes đƣợc phát biểu cho 2 sự kiện X và Y nhƣ sau:
Áp dụng trong bài tốn phân loại, các dữ kiện gồm cĩ:
- D: tập dữ liệu huấn luyện đã đƣợc vector hĩa dƣới dạng = ( 1, 2, … , 𝑛 ) - Ci: phân lớp i, với i = {1,2,…,m}.
- Các thuộc tính độc lập điều kiện đơi một với nhau. Theo định lý Bayes:
Theo tính chất độc lập điều kiện:
∏
Trong đĩ:
( 𝑖| ) là xác suất thuộc phân lớp i khi biết trƣớc mẫu X. ( 𝑖) là xác suất phân lớp i.
( 𝑘| 𝑖 ) là xác suất thuộc tính thứ k mang giá trị xk khi đã biết X thuộc phân lớp i.
* Các bước thực hiện thuật tốn Nạve Bayes:
Bƣớc 1: Huấn luyện Nạve Bayes (dựa vào tập dữ liệu), tính ( 𝑖) và ( 𝑘| 𝑖) Bƣớc 2: Phân lớp 𝑛𝑒𝑤 = ( 1, 2, … , 𝑛), ta cần tính xác suất thuộc từng phân lớp khi đã biết trƣớc Xnew
. Xnew đƣợc gán vào lớp cĩ xác suất lớn nhất theo cơng thức: (2.3)
2.2. Xây dựng mơ hình lọc thƣ rác dựa trên Nạve Bayes
2.2.1. Mơ hình lọc thư rác dựa trên Nạve Bayes
Bài tốn lọc thƣ rác thực chất là bài tốn phân loại các thƣ nhận đƣợc thành hai nhĩm là nhĩm thƣ rác và nhĩm thƣ bình thƣờng. Mơ hình lọc thƣ rác thực hiện trong luận văn gồm 2 bƣớc: huấn luyện và phân loại, nhƣ biểu diễn trên Hình 2.1.
Hình 2.1: Mơ hình huấn luyện và lọc thƣ dựa trên Nạve Bayes
Mơ hình lọc hay phân loại thƣ đƣợc thực hiện nhƣ sau:
- Trƣớc tiên, nội dung thƣ đƣợc biểu diễn dƣới dạng các đặc trƣng hay các thuộc tính, mỗi đặc trƣng thƣờng là một từ hoặc cụm từ xuất hiện trong thƣ. Các đặc trƣng hợp thành một vector đặc trƣng cho mỗi thƣ.
- Tiếp theo, trong giai đoạn huấn luyện, tập thƣ đã đƣợc gán nhãn {rác, bình thƣờng} gọi là tập dữ liệu huấn luyện hay dữ liệu mẫu, đƣợc sử dụng để huấn luyện một bộ phân loại.
- Sau khi huấn luyện xong, bộ phân loại đƣợc sử dụng để xác định thƣ mới thƣ (chƣa biết nhãn) thuộc vào loại nào trong hai loại nĩi trên. Trong cả giai đoạn huấn luyện và phân loại, thuật tốn phân loại chỉ làm việc với nội dung thƣ đã đƣợc biểu diễn dƣới dạng vector đặc trƣng.
Các bƣớc xử lý trong mơ hình lọc thƣ rác đƣợc trình bày trong mục tiếp theo.
2.2.2. Các bước xử lý trong mơ hình lọc thư rác dựa trên Nạve Bayes
2.2.2.1. Tiền xử lý
Phần tiền xử lý dữ liệu đƣợc coi là một trong những phần quan trọng nhất trong phân loại thƣ nĩ riêng và phân loại văn bản nĩi chung. Cĩ nhiều thách thức cho khâu tiền xử lý do độ phức tạp, tính linh hoạt của ngơn ngữ tự nhiên. Ví dụ: các từ đồng âm, các cụm động từ, các thành ngữ ... phong thái ngơn ngữ khác nhau của từng vùng miền. Nhìn chung, quy trình tiền xử lý nhƣ mơ tả trên Hình 2.2, bao gồm 6 bƣớc chính:
Hình 2.2: Quy trình tiền xử lý dữ liệu
Bước 1 : Loại bỏ nhiễu
Khi tiến hành chuẩn bị dữ liệu chúng ta cần phải loại bỏ các phần dữ liệu khơng liên quan, các đặc trƣng cĩ tần suất xuất hiện lớn nhƣng khơng cĩ ý nghĩa. Cụ thể, cần cĩ một cơ chế ánh xạ các từ, cụm từ về dạng gốc khi mà chúng là sai chính tả. Các cơng việc chính bao gồm:
(reply) qua lại nhiều lần giữa bên gửi và bên nhận nên chứa rất nhiều thơng tin nhiễu cũng cần phải đƣợc loại bỏ.
- Trong tiếng Anh, các từ dừng (stop word) chỉ mang nghĩa ngữ pháp mà khơng mang nghĩa từ vựng. Khi nhắc tới một từ dừng ta khơng cĩ tri thức về sự vật, hiện tƣợng nào. Từ dừng sẽ bị loại bỏ khỏi văn bản và việc này đƣợc xem là khơng cĩ ảnh hƣởng gì tới nội dung văn bản. Tập từ dừng đƣợc định nghĩa sẵn và các đặc trƣng sẽ đƣợc cơng nhận hợp lệ nếu khơng nằm trong tập này. Các từ dừng trong tiếng Anh thơng thƣờng là các mạo từ (articles), giới từ (prepositions), liên từ (conjunctions) và một số đại từ (pronouns). Một số ví dụ điển hình là: a, about, an, are, as, at, be, by, for, from, how, in, is, of, on, or, that, the, these, this, to, was, what, when, where, who, will, with.
- Số và các thuật ngữ chứa kí tự số (digits) đều đƣợc loại bỏ ngoại trừ một vài kiểu riêng nhƣ: ngày tháng (dates), thời gian (times) và các kiểu đƣợc xác định cụ thể bởi các biểu thức chính quy (regular expressions).
- Cắt bỏ các dấu nối thƣờng đƣợc áp dụng để đối phĩ với dữ liệu khơng nhất quán. Ví dụ: một số ngƣời sử dụng “state-of-the-art” trong khi một số khác lại sử dụng “state of the art”. Nếu các dấu gạch nối trong trƣờng hợp thứ nhất đƣợc loại bỏ thì chúng ta đã loại trừ đƣợc vấn đề khơng nhất quán. Cĩ hai kiểu loại bỏ dấu gạch nối: (i) mỗi dấu gạch nối đƣợc thay bởi một khoảng trắng và (ii) các dấu gạch nối đƣợc loại bỏ mà khơng thêm khoảng trắng. Tuy nhiên, cĩ những trƣờng hợp rất khĩ quyết định nhƣ “pre-processing” nếu đƣợc chuyển đổi thành “pre processing” là hồn tồn khơng chính xác.
Bước 2: Sửa lỗi chính tả
Quan sát thấy, trong tập email cĩ rất nhiều từ đƣợc viết khơng đúng chính tả và thơng thƣờng chúng sẽ đƣợc coi là những đặc trƣng khác nhau. Các thuật tốn xử lý sẽ cho kết quả tốt hơn nếu các từ viết sai chính tả và từ gốc của chúng đƣợc xem là cùng một đặc trƣng. Vấn đề này đã cĩ những ý kiến đề xuất một phƣơng pháp ánh xạ (cĩ quan tâm đến tần suất xuất hiện của từ bị lỗi) đƣợc cập nhật thủ cơng hoặc sử dụng thuật tốn sửa chính tả (spelling correction) của Peter Norvig [13].
Quy tắc này cĩ thể đƣợc bổ sung dần theo thời gian. Theo đĩ, từ “thanx” cĩ thể đƣợc coi nhƣ “thank”, “complketed” đƣợc xem là “completed”....
Bước 3: Đưa từ về dạng gốc (Stemming)
Bằng cách áp dụng thuật tốn stemming sẽ đƣa đƣợc các từ trong văn bản về dạng gốc (stem), đƣợc đề xuất bởi Porter từ những năm 1980 [14]. Ví dụ: “working” sau khi stemming sẽ thu đƣợc “work”, “looked” chuyển thành “look”... Nhƣ nhận xét trên, tập email lớn sẽ dẫn đến cĩ số đặc trƣng (feature) rất lớn. Việc giảm thiểu khơng gian đặc trƣng sẽ cải thiện khá nhiều đến độ phức tạp về thời gian của các thuật tốn xử lý. Thơng thƣờng, chỉ cĩ một số nhỏ các chiều (dimension) là cĩ liên quan tới các cụm nào đĩ. Dữ liệu trong các chiều khơng liên quan cĩ thể sinh ra nhiều nhiễu và che khuất đi các cụm thực. Hơn nữa, khi số chiều tăng dẫn đến mật độ dữ liệu trở nên thƣa hơn bởi vì các điểm đƣợc xác định bởi nhiều khơng gian con khác nhau.
Khi mật độ dữ liệu thực sự thƣa, các điểm đƣợc đặt trong nhiều chiều khác nhau cĩ thể sẽ cĩ khoảng cách tƣơng đƣơng nhau và phép đo khoảng cách khi đĩ trở nên vơ nghĩa. Do đĩ, các đặc trƣng cĩ tần suất nhỏ sẽ bị loại bỏ ngay sau bƣớc tiền xử lý dữ liệu. Mặt khác, ta cĩ thể cũng phải loại bỏ bớt các đặc trƣng cĩ tần suất xuất hiện quá lớn trong tập huấn luyện để tránh hiện tƣợng quá vừa dữ liệu.
Bước 4: Tách thuật ngữ
Trong tiếng Anh, đơn vị cĩ nghĩa nhỏ nhất là từ (word). Các từ đƣợc phân cách với nhau bởi ký tự khoảng trắng và các dấu câu. Các từ cĩ thể kết hợp với nhau để tạo thành cụm từ (phrase). Đối với bài tốn phân loại văn bản, mỗi văn bản sẽ đƣợc biểu diễn bởi một vector k chiều ở đĩ mỗi chiều là một từ hoặc một cụm từ. Để tách ra tập các từ, đơn giản ta dựa vào khoảng trắng và các dấu câu. Việc tách các cụm từ thơng thƣờng cần phải sử dụng thêm một mơ hình học máy hoặc một bộ từ điển.
Bước 5: Trích chọn đặc trưng
Lựa chọn đặc trƣng văn bản là bƣớc đầu tiên trong phân loại văn bản. Đây là tiền đề quan trọng để cĩ thể học đƣợc một bộ phân loại hợp lí. Cĩ nhiều đặc trƣng
hàm chứa trong một tài liệu, tuy nhiên trong các văn bản thơng thƣờng ngƣời ta sử dụng 2 phƣơng pháp lựa chọn đặc trƣng: Tần suất tài liệu (DF- Document frequency) và - Lƣợng tin tƣơng hỗ (MI - Manual Information).
Tần suất tài liệu (DF)
DF là số tài liệu cĩ sự xuất hiện của một từ (term). Ngƣời ta đã tính bài tốn tần suất tài liệu cho một từ đơn trong tập văn bản mẫu. Cốt lõi của phƣơng pháp này là phải tìm ra một khơng gian các từ đặc trƣng, với khơng gian này thì các từ phổ biến (xuất hiện thƣờng xuyên trong mọi văn bản) đã đƣợc loại bớt, và cả những từ chỉ xuất hiện một lần (từ loại hiếm) cũng khơng đƣợc tính vào khơng gian các từ đặc trƣng đĩ.
Cách xác định DF là kĩ thuật đơn giản nhất để làm giảm bớt vốn từ cĩ trong văn bản. Mặc dù đối với các văn bản lớn phƣơng pháp này chỉ đạt đến độ phức tạp tuyến tính (các giá trị DF tính đƣợc thƣờng nhỏ hơn trong thực tế) nhƣng nĩ vẫn đƣợc coi là phép tính gần đúng để cải tiến hiệu quả của thuật tốn. Các bƣớc trong phƣơng pháp lựa chọn này bao gồm:
+ Tính DF của các từ trong văn bản + Sắp xếp theo chiều giảm dần các DF + Loại bỏ từ phổ biến và từ hiếm
+ Chọn các đặc trƣng cĩ DF lớn: muốn thực hiện cơng việc này ngƣời ta phải định ra một ngƣỡng (coi là giớn hạn để chọn từ).
Với phƣơng pháp này, từ loại nào xuất hiện trong càng nhiều văn bản càng cĩ giá trị và càng cĩ thể đƣợc chọn vào khơng gian đặc trƣng của tài liệu đang xét đĩ.
Lượng từ tương hỗ (MI)
MI là giá trị logarit của nghịch đảo xác suất xuất hiện của một từ thuộc vào lớp văn bản c nào đĩ. Đây là một tiêu chí thể hiện sự phụ thuộc của từ t với loại văn bản c.
Nếu kí hiệu từ loại là t (term), loại văn bản là c (category), A là số lần xuất hiện của t trong c, B là số lần xuất hiện của t ở ngồi c, C là số lần xuất hiện của c
(2.6)
(2.7) (2.5)
khi khơng cĩ t, N là tổng số các tài liệu, thì lƣợng tin tƣơng hỗ I giữa t và c đƣợc định nghĩa nhƣ sau: và đƣợc ƣớc lƣợng bởi
Để giới hạn các từ cĩ trong tồn bộ các đặc trƣng đã lựa chọn thì chúng ta tập hợp những điểm đặc biệt của một từ loại bằng hai sự luân phiên.
∑
{ }
Bước 6: Đánh trọng số cho văn bản
Trong khơng gian, khi đã lựa chọn đƣợc các đặc trƣng của văn bản thì văn bản của chúng ta sẽ đƣợc biểu diễn bằng một vector n chiều mỗi chiều là một đặc trƣng của văn bản.
Trong máy tính, văn bản đƣợc biểu diễn là một vector cĩ khơng gian là các từ (word) xuất hiện trong văn bản đĩ. Những từ này cũng đã đƣợc lựa chọn nhờ vào hai thơng số là Tần suất thuật ngữ (TF - Term Frequency) và Tần suất tài liệu nghịch (IDF - Inverse Document Frequency).
Tần suất thuật ngữ (TF)
Trong giai đoạn tiền xử lí văn bản, mỗi văn bản đƣợc biểu diễn bởi một vector C cĩ N chiều w1, w2 ,.., wN. Mỗi chiều wi đại diện cho một từ (term) xuất hiện trong văn bản đƣợc đặc trƣng bởi một đại lƣợng gọi là tần suất thuật ngữ (TF) là số lần xuất hiện của từ đĩ trong tài liệu đang xét.
(2.8)
(2.9) Cho một tập tài liệu (document) D và một tập khác gồm t thuật ngữ (term). Chúng ta mơ hình mỗi tài liệu nhƣ một vector V trong khơng gian t chiều. Nhƣ vậy, tần suất thuật ngữ thơ là số lần thuật ngữ t xuất hiện trong tài liệu d (d D), kí hiệu
freq(t,d). Một cách đơn giản nhất tần suất thuật ngữ TF(t,d) là 0 nếu tài liệu d khơng chứa thuật ngữ t và ngƣợc lại sẽ nhận giá trị là freq(t,d). Một số cách khác tính
TF(t,d) theo [12]:
Kiểu logic: TF(t,d) = 1 nếu thuật ngữ t xuất hiện trong d = 0 trong các trƣờng hợp khác. Kiểu logarit: TF(t,d) = 1+log(freq(t,d)) nếu freq(t,d) > 0
= 0 nếu freq(t,d) = 0 Tần suất tài liệu nghịch (IDF)
Tần suất tài liệu nghịch biểu diễn nhân tố tỷ lệ hay mức độ quan trọng của thuật ngữ t. Tức là, nếu thuật ngữ t xuất hiện trong nhiều tài liệu thì độ quan trọng của nĩ sẽ giảm xuống một cách tỷ lệ. Tần suất tài liệu nghịch của thuật ngữ t trong tập tài liệu D, idf(t, D) là [12]:
Trong đĩ, N là tổng số tài liệu trong tập D, hay N = | D |,
|d D : t d| là số lƣợng tài liệu mà thuật ngữ t xuất hiện (tức là TF(t, d) 0). Nếu thuật ngữ t khơng xuất hiện trong tập tài liệu sẽ dẫn đến phép chia cho 0. Để tránh trƣờng hợp này, ngƣời ta thƣờng cộng thêm 1 vào phần mẫu số khi tính IDF: 1+ |d
D : t d|.
Luận văn này sử dụng phép đo TF-IDF(d,t) đƣợc kết hợp từ hai tham số TF và IDF đƣợc tính nhƣ sau [12]:
𝑇𝐹− 𝐷𝐹( , d, D) = 𝑇𝐹( , d) × 𝐷𝐹( , D)
Kết quả cuối cùng của khâu tiền xử lý là một vector biểu diễn cho văn bản đầu vào tƣơng ứng. Đây sẽ là đầu vào cho khâu kế tiếp, khâu huấn luyện dữ liệu cũng nhƣ là đầu vào cho phần dự đốn phân loại văn bản.
(2.10)
(2.11)
2.2.2.2. Huấn luyện
Sử dụng dữ liệu đầu vào là các vector đặc trƣng cho các tài liệu (mỗi đặc trƣng đƣợc biểu diễn bởi một giá trị 𝑇𝐹− 𝐷𝐹()), bƣớc huấn luyện thực hiện việc tính các giá và sử dụng thuật tốn Nạve Bayes đã trình bày ở mục 2.1. Nội dung cụ thể của bƣớc huấn luyện gồm:
Đầu vào:
Các vector đặc trƣng của văn bản trong tập huấn luyện (Ma trận MxN, với M là số vector đặc trƣng trong tập huấn luyện, N là số đặc trƣng của vector).
Tập nhãn/lớp cho từng vector đặc trƣng của tập huấn luyện.
Đầu ra: Các giá trị xác suất và .
Cơng thức tính
Trong đĩ:
|docsi|: số văn bản của tập huấn luyện thuộc phân lớp i.
|total docs|: số văn bản trong tập huấn luyện.
m số phân lớp
Cơng thức tính
| |
Trong đĩ:
| |: Số văn bản trong phân lớp i cĩ đặc trƣng thứ k mang giá trị xk. (hay số văn bản trong lớp i, cĩ xuất hiện/khơng xuất hiện đặc trƣng k)
: Số văn bản của tập huấn luyện thuộc phân lớp i.
(2.12)
2.2.2.3. Phân loại
Bƣớc phân loại sử dụng các giá trị xác suất thu đƣợc ở bƣớc huấn luyện để