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à
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
(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 để
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ăn bả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:
∏
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
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ên tập dữ liệu Thƣ rác Thƣ bình thƣờng Tổng số Enron1 382 645 1027 Enron2 608 961 1569 Enron3 1500 1512 3012 Enron4 3675 1500 5175 Enron5 4000 2000 6000 Enron6 4678 5187 9865
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.
(3.1)
- 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ế
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ả Enron2 1569 Enron3 3012 Enron4 5175 Enron5 6000 Enron6 9865 Thƣ rác phân loại đƣợc 540 1363 2905 3256 3723 Thƣ rác phân loại đúng 516 1296 2764 3097 3599
Thƣ bình thƣờng phân loại
thành thƣ rác 24 67 141 159 124
- Thử nghiệm 2: Thực hiện với đầu vào huấn luyện là bộ huấn luyện enron6