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:
- Đối với các email cĩ định dạng HTML cần phải loại bỏ các thẻ HTML và các thuộc tính của chúng. Hơn thế, các email thuộc loại này thƣờng đƣợc trao đổi
(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
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
(2.5)
Để 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.
(2.6)
∑
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.
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: Kiểu logarit: TF(t,d ) 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. = 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]:
(2.8) 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.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
(2.10)
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.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 để phân loại các văn bản đầu vào vào lớp phù hợp. Bƣớc phân loại đƣợc thực hiện cụ thể nhƣ sau:
Đầu vào:
Vector đặc trƣng của văn bản cần phân lớp.
• Các giá trị xác suất và .
Đầu ra: Nhãn/lớp của vănbản cần phân loại.
Cơng thức tính xác suất thuộc phân lớp i khi biết trƣớc mẫu X: ∏
(2.12)
Dựa vào vector đặc trƣng của văn bản cần phân lớp, áp dụng cơng thức trên tính xác suất thuộc từng phân lớp cho văn bản, và chọn ra lớp cĩ xác suất cao nhất.
2.3. Kết luận chƣơng
Chƣơng 2 trình bày khái quát về định lý Bayes và thuật tốn Nạve Bayes. Trong phần tiếp theo, chƣơng này trình bày mơ hình lọc thƣ rác dựa trên Nạve Bayes, với 2 bƣớc: huấn luyện và phân loại.
Trong chƣơng 3, luận văn sử dụng mơ hình lọc thƣ rác dựa trên Nạve Bayes để thực hiện một số thử nghiệm để đánh giá hiệu quả lọc thƣ rác.
CHƢƠNG 3: THỬ NGHIỆM VÀ KẾT QUẢ 3.1. Giới thiệu bộ dữ liệu thử nghiệm
Dữ liệu thử nghiệm đƣợc lấy từ tập dữ liệu Enron mail ở trang web http://www.aueb.gr/users/ion/data/enron-spam/. Đây là dữ liệu cá nhân của hơn 150 nhân viên tại cơng ty Enron ở Houston, bang Texas, Hoa Kỳ. Dữ liệu này bao gồm một lƣợng lớn email cá nhân, đƣợc cơng bố cơng khai và sử dụng để tạo các tiêu chuẩn phân loại email.
Bộ dữ liệu bao gồm thƣ rác và thƣ bình thƣờng. Phần lớn các thƣ rác đều khơng mang tính cá nhân, do đĩ trộn lẫn thƣ bình thƣờng (đƣợc nhận bởi 1 ngƣời) với thƣ rác (đƣợc nhận bởi nhiều ngƣời) sẽ tạo ra các tiêu chuẩn hợp lý. Bộ dữ liệu cĩ tổng cộng 21783 thƣ đƣợc chia thành 6 phần, bao gồm các thƣ mơ phỏng nhiều tình huống khác nhau mà ngƣời sử dụng cĩ thể gặp phải trong thực tế.
Bảng 3.1: Bộ dữ liệu thử nghiệm
Tất cả thƣ trong bộ dữ liệu đều đã đƣợc xử lý qua 3 bƣớc xử lý sơ bộ nhƣ sau:
- Bƣớc 1 : Loại bỏ các thƣ do ngƣời dùng gửi cho chính mình (bằng cách kiểm tra tên của ngƣời dùng đĩ cĩ xuất hiện trong trƣờng “To:”, “Cc:” hoặc “Bcc:” hay khơng).
- Bƣớc 2: Loại bỏ các thẻ html và phần header, chỉ giữ lại phần tiêu đề (Subject) và phần nội dung thƣ. Trong các bộ lọc thực tế, thẻ html và phần header cĩ thể cung cấp nhiều đặc điểm cĩ ích. Tuy nhiên, việc loại bỏ các thành phần này sẽ đảm bảo hiệu năng của bộ lọc.
- Bƣớc 3: Loại bỏ các thƣ spam đƣợc viết bằng bộ ký tự non-Latin. Do các thƣ bình thƣờng trong bộ dữ liệu đều đƣợc viết bằng ký tự Latin nên các thƣ rác viết bằng ký tự non-Latin sẽ quá dễ bị phát hiện, dĩ đĩ loại bỏ các thƣ này nhằm tăng độ khĩ của bộ dữ liệu, từ đĩ tăng hiệu quả hoạt động của hệ thống lọc.
3.2. Các thử nghiệm và kết quả
3.2.1 Tiêu chí đánh giá
Hiệu quả lọc thƣ cĩ thể đƣợc đánh giá theo các tiêu chí, nhƣ độ nhậy (recall), độ chính xác (precision), hoặc độ đo F1. Luận văn sử dụng độ chính xác phân loại thƣ rác đƣợc tính tốn nhƣ sau:
TP: Tỷ lệ giữa số thƣ rác đƣợc phân loại đúng và số thƣ rác thực tế
FP: Tỷ lệ giữa số thƣ bình thƣờng đƣợc phân loại là thƣ rác và và số thƣ bình thƣờng thực tế
(3.1)
Các thƣ đƣa vào huấn luyện đã đƣợc gán nhãn sẵn. Tất cả các thƣ rác đƣợc gán nhãn chung là SPAM, các thƣ bình thƣờng đƣợc gán nhãn là HAM.
3.2.2. Các thử nghiệm
- Thử nghiệm 1: Thƣc hiện với đầu vào huấn luyện là bộ dữ liệu enronl 1027 thƣ (382 thƣ rác, 645 thƣ bình thƣờng). Thực hiện kiểm tra bộ lọc với các bộ dữ liệu từ enron2 đến enron6. Kết quả phân loại thƣ rác cho trên Bảng 3.2.
Bảng 3.2: Kết quả thử nghiệm với bộ huấn luyện enron1
Đầu vào email lọc Kết quả
Thƣ rác phân loại đƣợc Thƣ rác phân loại đúng
bộ dữ liệu từ enronl đến enron5. Kết quả phân loại thƣ rác cho trên Bảng 3.3.
Bảng 3.3: Kết quả thử nghiệm với bộ huấn luyện enron6
Đầu vào email lọc Kết quả
Kết quả tổng hợp độ chính xác của các trƣờng hợp thử nghiệm cho trên Bảng 3.4.
Bảng 3.4: Kết quả tổng hợp độ chính xác của các trƣờng hợp thử nghiệm
Bộ Đầu vào email lọc
huấn Kết quả luyện Enron1 Độ chính xác Enron6 Độ chính xác 3.3. Một số nhận xét
Từ kết quả tổng hợp trên Bảng 3,4 cĩ thể thấy, trung bình độ chính xác khi