Tải bản đầy đủ (.doc) (80 trang)

Xây dựng một Email Client với khả năng lọc thư rác tự động bằng việc ứng dụng phương pháp phân loại văn bản Naive Bayes

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.3 MB, 80 trang )

Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
Lời cảm ơn
Trong suốt khóa học(2001 – 2006) tại trường Đại Học Thủy Lợi, với
sự nỗ lực của bản thân và sự giúp đỡ của các thầy cô giáo trong trường đặc
biệt là các thầy cô giáo trong khoa CNTT đã giúp tôi có một vốn tri thức vững
vàng để hoàn thành đồ án tốt nghiệp. Trong thời gian làm đồ án, được sự giúp
đỡ của giáo viên hướng dẫn về mọi mặt, từ nhiều phía tôi đã hoàn thành đồ
án đúng thời gian qui định. Tôi xin chân thành cảm ơn đến:
Các thầy cô giáo trong khoa CNTT đã giảng dạy cho tôi những kiến
thức chuyên môn làm cơ sở để thực hiện tốt đồ án tốt nghiệp và tạo điều kiện
cho tôi hoàn thành tốt khóa học.
Xin cảm ơn Ths Nguyễn Thanh Tùng, KS Bùi Văn Huyến cùng trung
tâm tin học trường Đại Học Thủy Lợi đã tạo điều kiện giúp đỡ tôi về trang
thiết bị, máy tính làm phương tiện để tôi hoàn thành đồ án.
Đặc biệt tôi xin gửi lời cảm ơn chân thành tới PGS.TS Nguyễn Đăng
Tộ, KS Nguyễn Mạnh Hiển là những người luôn theo sát chỉ bảo hướng đi và
cho tôi những lời khuyên quí báu cũng như cung cấp các thông tin và căn cứ
khoa học để tôi định hướng tốt trong khi làm đồ án tốt nghiệp.
Xin cảm ơn gia đình, bạn bè đã giúp đỡ động viên tôi cả về vật chất lẫn
tinh thần trong quá trình làm đồ án tốt nghiệp.
Mặc dù đồ án đã được hoàn thành đúng thời gian qui định nhưng do
điều kiện thời gian, đồ án của tôi không tránh khỏi những thiếu xót. Vì vậy tôi
rất mong nhận được sự đóng góp kiến của các thầy cô và bạn bè tạo điều kiện
cho đồ án của tôi được hoàn thiện hơn.
Hà Nội tháng 5 năm 2006
Sinh viên thực hiện
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
Mục Lục
Mục Lục 2
Chương I: Mở đầu 4


1.1 Lí do chọn đồ án 4
1.2 Mục tiêu 4
1.3 Đối tượng nghiên cứu 5
1.4 Tổng quan về Email và sự cần thiết phải phân loại Email 5
1.4.1Giới thiệu về Email 5
1.4.2 Khái niệm về thư rác 6
1.4.3Sự cần thiết phải phân loại thư rác 7
1.4.4Phân loại thư rác 9
Chương II: Tổng quan về bài toán phân loại văn bản 11
2.1 Tổng quan về phân loại văn bản 11
2.1.1 Sự cần thiết phải phân loại văn bản 11
2.2.2 Định nghĩa phân loại văn bản 12
2.2 Tiến trình phân loại văn bản 12
2.3 Đặc trưng văn bản và cách lựa chọn các đặc trưng văn bản 14
2.3.1 Tần suất tài liệu 15
2.3.2 Lượng tin tương hỗ 15
2.4 Biểu diễn văn bản 16
2.4.1 Khái niệm về tần số từ 17
2.4.2 Khái niệm về tần suất tài liệu ngược 18
2.5 Các phương pháp phân loại văn bản 18
2.5.1 Nguyên mẫu 19
2.5.2 Các mô hình xác suất của Naive Bayes 20
2.5.3 Phương pháp SVM 20
2.5.4 Cây quyết định 20
2.5.5 Mạng neuron 21
2.6 Bài toán phân loại thư rác 21
Chương III: Thuật toán Naive Bayes và cách phân loại thư điện tử 24
3.1 Các công nghệ lọc thư rác hiện nay 24
3.2 Thuật toán phân loại văn bản Bayes 24
3.3 Quá trình hoạt động của bộ lọc thư rác Bayes 28

3.3.1 Tạo một cơ sở dữ liệu từ Bayes thích hợp 28
3.3.2 Tạo một cơ sở dữ liệu cho các thư hợp lệ 28
3.3.5 Tạo một cơ sở dữ liệu cho thư rác 29
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
3.4 Sự hoạt động của các bộ lọc thư rác thực tế 30
3.5 Các ưu điểm của bộ lọc thư rác Bayes 30
3.6 Các bước để xây dựng bộ lọc thư rác sử dụng giải thuật Naive Bayes 32
3.6.1 Lựa chọn các đặc trưng 32
3.6.2 Biểu diễn các thư điện tử 35
3.6.4 Xác định ngưỡng 35
3.6.5 Thử nghiệm hệ thống lọc thư rác hiệu quả trong thực tế 36
Chương IV: Các giao thức truyền nhận thư và thư viện Javamail API 37
4.1 Giới thiệu SMTP: 37
4.2 Cách thức hoạt động của giao thức SMTP 37
4.3 Giới thiệu về các giao thức Mail POP3 và IMAP 39
4.3.1 POP3 39
4.3.2 IMAP4 40
4.4Quá trình chuyển nhận thư 44
4.4.1 Cấu trúc của thư điện tử 45
4.4.2 Mô hình gửi và nhận thư điện tử 47
4.4.3 Ví dụ về gửi nhận thư điện tử qua Internet bằng Mail Client 49
4.4Javamail và các các hỗ trợ gửi nhận thư điện tử 50
4.4.1 Tổng quan về ngôn ngữ java 50
4.4.2 Cấu trúc của môt Message 52
Chương V: Chương trình Email client và chức năng lọc thư rác tự động bằng giải thuật Naive
Bayes 54
5.1 Cơ sở dữ liệu cho chương trình 55
5.1.1 Tài khoản người sử dụng 55
5.1.2 Bộ dữ liệu mẫu 55

59
5.3 Giao diện của hệ thống 60
4.3Một số chức năng tiêu biểu 68
5.5 Sử dụng chương trình 73
5.5.1 Cài đặt và chạy chương trình 73
5.5.2 Hướng dẫn sử dụng: 73
5.6 Kết luận và định hướng phát triển 74
5.6.1 Những kết quả đạt được 74
5.6.2 Những hạn chế 74
Định hướng phát triển 75
Phụ lục 76
Các thuật ngữ tiếng Anh dùng trong chương trình: 76
Thư mục và nội dung đĩa CD đính kèm: 77
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
Chương I: Mở đầu
1.1 Lí do chọn đồ án
Ngày nay sự phát triển không ngừng của công nghệ thông tin, đặc biệt
là sự ra đời của Internet đã đưa con người lên một tầm cao mới. Sự ra đời của
các dịch vụ trên Internet làm cho nhu cầu trao đổi thông tin, tìm kiếm thông
tin của con người được đáp ứng một cách tốt nhất và nhanh nhất. Có rất nhiều
dịch vụ mới phát triển cùng công nghệ thông tin nhằm giúp công nghệ thông
tin thân thiết với người dùng hơn. Một trong những dịch vụ góp phần không
nhỏ vào việc giúp con người trao đổi thông tin một cách nhanh chóng đó là
dịch vụ thư điện tử (electronic mail).
Tốc độ phát triển của các dịch vụ thư điện tử ngày nay và những lợi ích
mà nó mang lại cho chúng ta là rất lớn. Qua thư điện tử người dùng không chỉ
nhận được thông tin mong muốn mà còn có thể nhận được âm thanh hình ảnh,
đồ họa và cả những kho dữ liệu khổng lồ mà trước đây việc trao đổi thư từ qua
tay không bao giờ có được. Tuy nhiên, thư điện tử không chỉ mang đến cho

con người nhiều lợi ích mà còn rất nhiều tác hại vô bổ khác, có thể gây ra
những thiệt hại to lớn nếu không biết cách loại bỏ và phòng chống nó. Một
trong những vấn đề nghiêm trọng cần giải quyết hiện nay trong các thư điện tử
đó là nạn thư rác hay còn gọi là “spam”. Đó là những thư từ quảng cáo, hay
các thư điện tử mà nội dung của nó thường có hại cho người dùng. Qua quá
trình thực tập được tìm hiểu về các phương pháp phân loại văn bản tôi chọn đồ
án: “Xây dựng một Email Client với khả năng lọc thư rác tự động bằng việc
ứng dụng phương pháp phân loại văn bản Naive Bayes”. Qua đồ án này, tôi
cố gắng nắm bắt tốt phương pháp phân loại văn bản bằng thuật toán Naive
Bayes và ứng dụng phương pháp này để phân loại thư rác trong Email Client.
Hi vọng kết quả của đồ án này sẽ là một chương trình lọc thư rác có hiệu quả
với các dịch vụ thư điện tử hiện nay.
1.2 Mục tiêu
Sau khi thực hiện đồ án mục tiêu mà tôi cần đạt được là:
- Nắm được cấu trúc của thư điện tử
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
- Nắm được quá trình gửi và nhận thư điện tử, các giao thức hỗ trợ
việc gửi nhận thư điện tử.
- Nắm được thuật toán phân loại văn bản Naive Bayes
- Ứng dụng thuật toán Naive Bayes để phân loại Email
- Xây dựng một Email Client với khả năng lọc thư rác tự động
1.3 Đối tượng nghiên cứu
Để xây dựng một Email client với khả năng lọc thư rác tự động bằng
phương pháp phân loại văn bản Naive Bayes thì đối tượng mà tôi cần tìm hiểu
bao gồm các thành phần sau:
- Nghiên cứu về thư điện tử và cách truyền nhận thư
- Nghiên cứu về giao thức truyền tải thư đơn giản như SMTP(Simple
Mail Transfer Protocol), các giao thức POP3 (Post Office Protocol) và
IMAP4….

- Nghiên cứu các phương pháp phân loại văn bản được áp dụng phổ biến
hiện nay.
- Nghiên cứu về thuật toán phân loại văn bản Naive Bayes
- Nghiên cứu về ngôn ngữ lập trình java (đặc biệt là JavaBean và
JavaMail)
- Ứng dụng giải thuật phân loại văn bản Naive Bayes vào phân loại thư
điện tử
1.4 Tổng quan về Email và sự cần thiết phải phân loại Email
1.4.1 Giới thiệu về Email
Thư điện tử, hay email (là chữ viết tắt của electronic mail), đôi khi
được dịch là điện thư, đây là một hệ thống chuyển nhận thư từ qua các mạng
máy tính. Email là một phương tiện thông tin rất nhanh. Một mẫu thông tin
(thư từ) có thể được gửi đi ở dạng mã hoá hay dạng thông thường và được
chuyển qua các mạng máy tính đặc biệt là mạng Internet. Nó có thể chuyển
mẫu thông tin từ một máy nguồn tới một hay rất nhiều máy nhận trong cùng
lúc.
Ngày nay, thư điện tử chẳng những có thể truyền gửi được chữ, nó
còn có thể truyền được các dạng thông tin khác như hình ảnh, âm thanh, phim,
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
và đặc biệt các phần mềm thư điện tử kiểu mới còn có thể hiển thị các thư điện
tử dạng sống động tương thích với kiểu tệp HTML. Hai vấn nạn lớn nhất của
thư điện tử hiện nay là: spam mail và virus email.
- Spam mail: là thư điện tử do những hacker lấy được địa chỉ email của
bạn thông qua những email trao đổi có kèm theo một danh sách địa chỉ
email ở trong mục CC (Carbon copy) mỗi khi gởi trên Internet hoặc
qua những trao đổi trong các forum hay news group. Các hacker này,
sau khi đã thu thập những địa chỉ email và gộp chung thành một danh
sách được dùng để bán lại hoặc dùng các danh sách email làm email
marketing nhằm mục đích thương mại.

- Virus email: là những thư điện tử do những người tinh nghịch phá hoại
hoặc những kẻ muốn dùng virus để phá hoại một loạt những hệ thống
computer nào đó với một mục đích xấu. Thông thường virus được gởi
đến các địa chỉ email bạn qua các tài liệu gởi kèm (attached) và thường
tấn công vào các chương trình soạn thảo văn bản như Microsoft Word.
Nhưng một khi đã được mở ra, nó không dừng lại ở các tài liệu văn bản
mà lan ra và hủy hoại nhiều chương trình và những ứng dụng khác, và
cuối cùng là toàn bộ hệ thống computer. Nếu không được lưu trữ dự
phòng các tài liệu quan trọng, hệ thống điện toán của bạn có thể bị mất
toàn bộ những tài liệu và văn thư quan trọng đó và khó có thể cứu lại
được.
Hai vấn nạn này có mối liên hệ khăng khít với nhau. Qua việc phát tán spam
những người gửi thư rác có thể phát tán virus gây thiệt hại cho máy tính và có
khi còn làm cho cả hệ thống mạng ngừng hoạt động nếu không phát hiện và
xử lí kịp thời.
Vấn đề nghiêm trọng cần giải quyết hiện nay trong các thư điện tử đó là nạn
thư rác hay còn gọi là “spam”. Đó là những thư từ quảng cáo, hay các thư
điện tử mà nội dung của nó thường có hại cho người dùng.
1.4.2 Khái niệm về thư rác
Thư rác hay còn gọi là spam mail là các thư điện tử vô bổ thường chứa
các loại quảng cáo được gửi một cách vô tội vạ và chất lượng của loại thư này
thường thấp. Đôi khi, nó dẫn dụ người nhẹ dạ, tìm cách đọc số thể tín dụng và
các tin tức cá nhân của họ.
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
Hình2: Spam mail: Các thư gửi từ Woodard, whonysald, tara crisp,
serena555, Serena Mcclain, Santiago Ritchie, Pearl Mayers, nplroeom rrsi,
Nina Garcia là các “Spam mail”
Có thể nói thư rác là một hình thức “tra tấn người dùng thư điện tử”
bằng quảng cáo. Các thư rác có thể vô hại nhưng mỗi ngày một người có thể

vì các thư rác này mà bị đầy cả hộp thư (có người đã từng nhận cả trăm thư rác
trong một ngày mà chỉ có đúng ba nội dung khác nhau!!!). Có thể chúng ta sẽ
thắc mắc tại sao người ta lại lặp đi lặp lại một cái thư quảng cáo cả chục lần
cho một người, cũng đơn giản là vì họ muốn dùng hiệu ứng tâm lí… Khi hình
ảnh sản phẩm nào đó cứ đập vào mắt mình mãi thì đến lúc cần mua một thứ có
chức năng tương tự (hay cùng loại) thì chính hình ảnh thương hiệu của cái thư
rác sẽ hiện lên trong óc chúng ta trước tiên. Hoặc giả dụ đôi khi “lỡ tay” hay
chỉ vì tò mò người đọc sẽ “click” vào cái link và thế là “lưới nhện đã giăng sẵn
chỉ chờ con mồi ”
Như vậy, theo định nghĩa thì các thư rác có thể có hại cho máy tính
(hiểu theo nghĩa vật chất), đôi khi còn làm chúng ta bực mình khó chịu hoặc
làm cho các thư từ khác (nhất là các thư gửi có nghĩa quan trọng) bị lẫn lộn
trong một đống thư mà chủ yếu là các thư rác. Khiến cho việc tìm kiếm cũng
mất thời gian và cũng có thể khi xoá thư rác lại xoá nhầm thư quan trọng.
1.4.3 Sự cần thiết phải phân loại thư rác
Tốc độ phát triển của thư rác (Spam mail)
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
Spam đang được coi là một vấn đề “lớn” trên mạng. Ferris Research -
hãng nghiên cứu thị trường (San Francisco - Mỹ) ước tính rằng những người
sử dụng email đã nhận được khoảng 110 bức thư không mong muốn hàng
tuần. Theo báo cáo của Ủy ban thương mại liên bang (Federal Trade
Commission - FTC), gần 40% số email được trao đổi ở Mỹ là spam, tăng từ
con số 8% của thời điểm cuối năm 2001. Con số các “spam” gia tăng hàng
ngày được nghiện cứu và thống kê là có hơn 50 % các thư điện tử được gửi là
spam, Radicati Group dự đoán rằng con số này sẽ là 70% vào năm 2007.
Tốc độ tăng trưởng của Spam được thống kê theo lược đồ sau:

Hình 1.1 Tốc độ phát triển của spam từ 2001-2004
Sự bùng nổ của thư rác ở Việt Nam

Bên cạnh virus, spyware, adware thì thư rác cũng trở thành một vấn đề
vô cùng khó chịu với người sử dụng máy tính ở Việt Nam. Chỉ có 11% người
được hỏi nói rằng họ không phải chịu sự quấy nhiễu của thư rác. Ngoài việc
làm mất thời gian, gây khó chịu cho người sử dụng, thư rác đã trở thành vấn
đề khó khăn thực sự với cả các hệ thống thư điện tử của các cơ quan/công ty ở
Việt Nam. Thư rác có khi còn nhiều hơn thư thật. (Theo kết quả điều tra về tình
hình an ninh mạng ở Việt Nam của TT ANM BKIS Đại Học Bách Khoa Hà Nội)
Ngày nay, khi spam mail trở thành một hình thức quảng cáo chuyên
nghiệp, phát tán virus, ăn cắp thông tin … thì một chương trình anti-spam cho
email là rất cần thiết. Chúng ta sẽ phải mất khá nhiều thời gian để xóa những
email “không mời mà đến”, nếu vô ý còn có thể bị nhiễm virus, trojan,
spyware … và nặng nề hơn là mất thông tin như thẻ tín dụng, tài khoản ngân
hàng qua các email dạng phishing. Đối với người dùng khi “checkmail” mà
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
gặp phải thư rác sẽ gây ra một cảm giác khó chịu và làm tốn thời gian để xóa
thư đôi khi còn gây ra những hậu quả nghiệm trọng hơn đối với những người
dùng có tính tò mò… Vì vậy việc xây dựng một hệ thống lọc thư rác cá nhân
tự động là rất cần thiết.
1.4.4 Phân loại thư rác
Tổ chức hợp tác phát triển kinh tế OECD (Organization for Economic
Co-operatation Development) khuyến nghị một số biện pháp đối phó với
spam, trong đó có việc thông qua các chế tài pháp lý quốc tế, đầu tư mạnh vào
hệ thống lọc thư rác, thiết lập những trung tâm phản ứng nhanh liên kết các
ISP (Internet service Provider) toàn cầu, đồng thời tăng cường các chiến dịch
tuyên truyền cộng đồng về sự nguy hại và cách đối phó với thư rác. Hiện giải
pháp được sử dụng nhiều nhất là dùng các phần mềm tích hợp với hệ thống
thư hoạt động theo cơ chế “lọc theo nội dung” và “lọc theo danh sách website
chuyển tiếp”. Một số công nghệ chống spam thú vị đang được nghiên cứu:
1. Tem cho e-mail: Theo hai nhà nghiên cứu Fahlman và Mark

Wegman thuộc Trung tâm Nghiên cứu của IBM (International
Business Machines) tại Watson, Mỹ, phương pháp chống spam hiệu
quả nhất là yêu cầu những người không có tên trong danh sách
“khách hàng thân thiết” của bạn phải mua tem cho mỗi email mà họ
gửi cho bạn. Một chương trình sẽ được đặt nằm giữa máy chủ email
và máy tính cá nhân của khách hàng để đối chiếu tên người gửi với
danh sách khách hàng của bạn. Những kẻ gửi thư rác sẽ phải cân nhắc
kỹ trước khi bấm “send” để gửi hàng loạt email.
2. Cài mật mã: Bạn gửi email thông báo cho tất cả mọi người với một
đoạn mật mã đã được cài đặt sẵn trong email của bạn, và máy chủ
email của ISP sẽ chỉ cho phép những email nào có đoạn mật mã này
đi qua.
3. Khai báo thông tin: Một chương trình sẽ chặn email từ những người
lạ, và yêu cầu cung cấp đầy đủ thông tin cá nhân trước khi chuyển
email đến người nhận.
4. Lọc email qua nội dung: Một chương trình sẽ thu thập thông tin nằm
trong phần nội dung của email để giúp cho các quản trị viên máy chủ
email tách thư rác ra khỏi hệ thống. Phần mềm sẽ lướt qua toàn bộ
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
thông điệp để tìm kiếm những từ khóa có liên quan đến thư rác.
Chẳng hạn nếu bạn không phải là một bác sĩ, những bức thư bạn
mong nhận được ít có liên quan đến các vấn đề giới tính. Vì vậy,
“viagra” có thể là một từ khóa lọc thư quan trọng. Các cơ chế lọc thư
phức tạp hơn có thể lọc nguyên cả một đoạn mã lệnh đầu của thông
điệp, những đoạn mã này bám theo suốt quá trình luân chuyển của
email và cung cấp thông tin về chuyến đi đó. Nếu một site spam có
tên trong lịch trình đó, phần mềm sẽ tự động chặn bức thông điệp lại.
5. Lọc theo danh sách website chuyển tiếp: Một công nghệ lọc khác
dựa trên danh sách các site chuyển tiếp. Công nghệ lọc này kiểm tra

và chặn các thông điệp được truyền tải qua những điểm chuyển tiếp
mở rộng, tức là các hệ thống trên Internet cho phép người sử dụng
dùng chúng như những điểm quá cảnh thư. Những kẻ tấn công bằng
spam (spammer) thường xuyên sử dụng các điểm chuyển tiếp mở này
để che dấu tung tích xuất xứ của mình. Trong nhiều trường hợp, tin
tặc tận dụng các lỗ hổng bảo mật để “ra lệnh” cho các máy chủ
chuyển tiếp làm công việc của spammer.
Đối với các email cá nhân thì phương pháp lọc thư rác phổ biến hiện
nay là “phân loại qua nội dung của các email” bằng việc ứng dụng các phương
pháp phân loại văn bản. Phân loại email thực chất là phương pháp “phân loại
văn bản hai lớp” dựa vào nội dung của các email được gửi đến. Trong đồ án
này tôi xin trình bày một phương pháp phân loại văn bản khá phổ biến “Naive
Bayes” và ứng dụng phương pháp này để phân loại các email cá nhân trong
một Email Client.

Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
Chương II: Tổng quan về bài toán phân loại văn bản
2.1 Tổng quan về phân loại văn bản
2.1.1 Sự cần thiết phải phân loại văn bản
Nhiều năm trở lại đây, các loại thông tin đã phát triển không ngừng về
cả số lượng và chất lượng. Đứng sau sự phát triển này là sự tiến bộ trong các
kĩ thuật truyền thông đa phương tiện, việc ảnh hóa và số hóa dữ liệu ngày một
phát triển, các kĩ thuật này đã làm biến đổi các hình thức lưu trữ tài liệu từ tài
dạng giấy viết sang dạng số (lưu trữ trên máy tính) và phổ biến hơn là các
phần mềm xử lí văn bản đều có khả năng tạo ra được các tài liệu dạng số. Trên
Internet cũng phát triển theo chiều hướng này. Các dịch vụ trên Internet như
thư điện tử, USENET News, và WWW (world wide web) vẫn có cơ sở chính
là văn bản. Cách sử dụng thông dụng của những phương pháp đó đã cho kết
quả là hàng triệu văn bản được phát sinh trong mỗi ngày. Điều này đem đến

cho người sử dụng hai vấn đề cần xem xét:
- Thứ nhất: Những thông tin hữu ích ngày càng nhiều và ngày càng có
sẵn trên mạng. Đặc biệt trên WWW có thể truy cập một số lượng lớn
các thông tin và phân phối các thông tin đó cho mọi người (đây là một
lợi ích to lớn).
- Thứ hai: Để phù hợp với sự phát triển như vũ bão của thông tin thì việc
lưu trữ “ở dạng số” các thông tin văn bản đang dẫn đến việc quá tải
thông tin. Mặt khác, lượng thông tin có sẵn và sự gia tăng của các
thông tin này lớn hơn rất nhiều so với khả năng mà con người có thể
tìm ra những thông tin có liên quan mà họ cần (đây là khó khăn lớn).
Việc bùng nổ thông tin cũng làm cho vấn đề tổ chức, quản lí, phân loại
thông tin ngày càng có vai trò quan trọng. Chẳng hạn khi tìm kiếm thông tin
trên Internet, chương trình tìm kiếm phải lúc soát tất cả tất cả các tài nguyên
sẵn có trên mạng sau đó tiến hành lọc thông tin để đưa ra những thông tin cần
thiết của người dùng. Khoa học phát triển thì thời gian tìm kiếm và lọc thông
tin ngày một giảm. Ngày nay thời gian đó còn có thể cải thiện hơn nữa (chỉ
cần vài phần của giây), nếu phân chia tài nguyên thành các nhóm có các mục
đích khác nhau, để thay vì việc tìm kiếm thông tin trên tất cả các tài nguyên thì
chương trình của chúng ta chỉ việc tìm kiếm trên các nhóm tài nguyên có liên
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
quan đến thông tin tìm kiếm. Như vậy thời gian tìm kiếm sẽ được giảm đi rất
nhiều. Để đáp ứng được yêu cầu này thì trước tiên phải tiến hành phân loại
văn bản.
2.2.2 Định nghĩa phân loại văn bản
Có nhiều cách định nghĩa khác nhau về phân loại văn bản nhưng nói
một cách ngắn gọn dễ hiểu: Phân loại văn bản là sự phân loại không cấu trúc
các tài liệu văn bản dựa trên một tập hợp của một hay nhiều loại văn bản đã
được định nghĩa trước. Quá trình này thường được thực thi bằng một hệ thống
tự động gán cho các tài liệu văn bản một loại nào đó.

Trong thực tế ứng dụng quan trọng nhất của phân loại văn bản là giới
hạn phạm vi tìm kiếm thông tin (bởi thay cho việc phải lục soát tất cả các tài
liệu họ chỉ tập trung vào một số loại văn bản có liên quan đến thông tin mà họ
cần tìm kiếm). Phân loại văn bản góp phần quan trọng trong việc tổ chức
thông tin và quản lí tài liệu. Ứng dụng phổ biến nhất của phân loại văn bản là
trợ giúp cho việc tìm kiếm và lọc văn bản do đó tăng tốc độ truy cập thông tin.
Phân loại văn bản cũng đóng vai trò quan trọng trong việc đa dạng hóa và
chuyên nghiệp hóa các công việc quản lí thông tin như là: việc sắp xếp các
loại thư điện tử hoặc các file trong các hệ thống, xác minh chủ đề để trợ giúp
cho các tiến trình hoạt động xử lí, tìm kiếm hay duyệt các cấu trúc, hoặc để
tìm kiếm các loại tài liệu mà người dùng quan tâm. Như vậy làm thế nào để
phân loại văn bản? Câu trả lời sẽ được làm rõ khi ta đi sâu vào tìm hiểu tiến
trình phân loại văn bản.
2.2 Tiến trình phân loại văn bản
Vấn đề đặt ra cho các bài toán phân loại văn bản có thể bắt đầu như sau:
Đưa ra một tập tài liệu mẫu D, cần được phân bổ thành một số loại tài
liệu nhất định - mỗi tài liệu đó cần được gán cho một loại văn bản nào đó.
Nhiệm vụ của chúng ta là tìm một hệ thống phân hoạch, mà nó sẽ cung cấp
cho ta một nhãn y phù hợp cho một số tài liệu trong D vừa được đưa vào từ
nguồn tài nguyên giống nhau như các văn bản mẫu. Tổng quát hơn với một hệ
thống phân loại điển hình như mô tả ở sơ đồ sau gồm có các tiến trình.
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
Hình vẽ 2.1
Trong thực tế khâu tiền xử lí cũng chính là khâu lựa chọn đặc trưng cho
các văn bản (đặc trưng ở đây là các dấu hiệu quan trọng để nhận biết văn bản).
Có thể coi khâu này là tiền đề cần thiết cho việc học một bộ phân loại. Vì thế
hiệu quả của các bộ phân loại văn bản phụ thuộc rất cao vào tập các đặc trưng
mà chúng ta sử dụng. Trong các mô hình phân loại điển hình và phức tạp
thường có một số các phương pháp có sẵn để lựa chọn đặc trưng. Với những

phương pháp này, tập hợp các dữ liệu thô được miêu tả bằng một số các tập
hợp đặc trưng. Chúng đặt ra một vấn đề là làm thế nào để sử dụng những đặc
trưng ấy cho phân hoạch tài liệu. Hiện nay có hai cơ cấu tổ chức để giải quyết
các vấn đề đó.
Phương pháp thứ nhất: sử dụng các phương pháp lựa chọn đặc trưng
để chọn ra một đặc trưng tối ưu. Nếu chọn ra được một đặc trưng tối ưu từ bộ
dữ liệu thô ở đầu vào, chúng ta có thể chỉ đơn thuần sử dụng nó để học một bộ
phân loại như hình vẽ. Tuy nhiên, quá trình tối ưu đó không phải đơn giản.
Trong trường hợp này khi sử dụng các đặc trưng khác nhau vẫn có thể sẽ dẫn
đến các kết quả tương tự nhau hoặc là hiệu quả khác nhau. Trong thực tế có rất
nhiều những ví dụ như thế.
Phương pháp thứ hai: (hình vẽ 2.2) sử dụng một tập hợp các đặc
trưng phức hợp để đạt kết quả phân loại cao hơn, đây là một trong những cải
tiến quan trọng. Điều đó nghĩa là ta không chỉ sử dụng một đặc trưng để phân
loại các tập tài liệu mà phải căn cứ vào tất cả các tập đặc trưng khác nhau có
trong tập tài liệu. Sau đó phối hợp các đặc trưng đó để đưa ra một “vector
phức hợp” của các không gian đặc trưng cho các tập đặc trưng vừa chọn được,
rồi mới tiến hành phân loại văn bản. Vấn đề cơ bản nhất của những phương
pháp này là phác thảo các đặc trưng. Do đó, việc học một phương pháp phân
loại bao gồm hai công đoạn. Phân hoạch đầu tiên sẽ được huấn luyện trên tập
tài liệu mẫu và sau đó tổ hợp các sắp xếp này được huấn luyện trên một tập
các phê chuẩn ngược lại. Các nghiên cứu gần đây thể hiện rằng chính sự phối
hợp của các phân hoạch được huấn luyện trên các đặc trưng khác nhau xảy ra
Khoa Công Nghệ Thông Tin
Tập dữ
liệu
mẫu
Tiền
xử lí
Học một bộ

phân loại
Phân
loại
Kết
quả
Chọn
đặc
trưng
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
như một kết quả có nghĩa đặc biệt đối với sự cải tiến các hiệu quả. Tuy vậy với
một tập dữ liệu đủ lớn thường đòi hỏi phải qua hai chặng đường học tập.
Thêm vào đó sự phối hợp của các phương pháp phân hoạch cũng được thể
hiện như một đặc trưng “lai” giữa nhiều cấu trúc module hoạt động trong các
mức ưu tiên nhỏ hơn.
Hình vẽ 2.2
Các bước trong tiến trình phân loại văn bản:
- Lựa chọn các đặc trưng văn bản
- Biểu diễn văn bản
- Học một bộ phân loại văn bản
- Tiến hành phân loại văn bản
Trong đó, lựa chọn đặc trưng văn bản là quá trình phân tích văn bản thành các
từ hay cụm từ. Biểu diễn văn bản là cách thể hiện văn bản dưới dạng một
vector mà không gian của nó là tập các đặc trưng đã lựa chọn. Căn cứ vào các
đặc trưng đã chọn có thể học một bộ phân loại văn bản như Naive Bayes hay
kNN… Đầu ra của quá trình này sẽ là một máy dùng để phân loại các tài liệu
cần thiết (tiến hành phân loại văn bản).
2.3 Đặc trưng văn bản và cách lựa chọn các đặc trưng văn bản
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ó rất
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 một số phương pháp lựa chọn đặc trưng sau:
1. Tần suất tài liệu (DF- Document frequency)
Khoa Công Nghệ Thông Tin
Tập dữ
liệu
mẫu
Tiền xử lí
Chọn đặc
trưng 1
Học một bộ
phân loại
Kết
quả
Chọn đặc
trưng k

.
Phân
loại
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
2. Lượng tin tương hỗ (MI – Manual Information )
2.3.1 Tần suất tài liệu
Tần suất tài liệu DF là là số tài liệu có sự xuất hiện của một từ (term).
Người ta đã tính toá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 được 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 toá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ới 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
đó
2.3.2 Lượng tin tương hỗ
Lượng tin tương hỗ 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 ở ngoài c
- C là số lần xuất hiện của c khi không có t
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
- N là tổng số các tài liệu thì lượng tin tương hỗ giữa t và c
được định nghĩa như sau:
I(t,c) = log
)(*)(
)(
55
5

cPtP
ctP

Và được ước lượng bởi
I(t,c)
)(*)(
*
log
BACA
NA
++

Để giới hạn các từ có trong toà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.

=
=
m
i
iiravg
ctIcPtI
1
),()()(
{ }
),(max
1
)(
max
i
m

i
tI
ctI
=
=
Tóm lại: để phân loại văn bản cần dựa trên các đặc trưng xác định. Các đặc
trưng đó rất khó bị thay đổi. Có rất nhiều kĩ thuật lựa chọn đặc trưng trong văn
bản đã được thử nghiệm và kết quả thực tế cũng khả quan.
Do kích thước lớn của không gian đặc trưng trong các dữ liệu nguyên bản và
khả năng co giãn không gian đặc trưng rất kém của các phương pháp phân
hoạch mà hiệu quả phân hoạch chưa cao. Vì vậy phải có các kĩ thuật co giãn
không gian đặc trưng của các bộ dữ liệu thô đầu vào.
2.4 Biểu diễn 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. Dưới dạng không gian nhiều chiều văn bản sẽ được biểu diễn như
sau:
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
Hình vẽ 2.3: Biểu diễn văn bản bằng hai đặc trưng đồng thời
Hình vẽ 2.4: văn bản biểu diễn bằng ba đặc trưng C-E-D
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à DF (document Frequency) và IDF
(Inverse Document Frequency)
2.4.1 Khái niệm về tần số từ
Đã có rất nhiều tiến trình xử lí văn bản được đề xuất bởi các nhà nghiên
cứu quá trình tìm kiếm và mang lại thông tin. Chẳng hạn như là: tìm kiếm và
thu nhận tài liệu, định tuyến văn bản, lọc và phân loại văn bản. Với mỗi tiến

Khoa Công Nghệ Thông Tin
Lược đồ
biểu diễn
đặc trưng x
Lược đồ
biểu diễn
đặc trưng y
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
trình xử lí văn bản, đơn vị thông tin cơ bản được xử lí là các “tài liệu văn
bản”. Theo cách đó các từ loại “thông tin” và “tài liệu” sẽ được sử dụng để
thay thế cho nhau qua các phần còn lại của báo cáo này.
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 w
1
, w
2
, w
N
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 từ kí
hiệu TF (term frequency) là số lần xuất hiện của từ đó trong tài liệu đang xét.
2.4.2 Khái niệm về tần suất tài liệu ngược
Kí hiệu DF (document frequency) là đại lượng đặc trưng cho số tài liệu
có sự xuất hiện của từ loại wi và được kí hiệu là DF(w
i
). Lấy logarit cơ số 2
của nghịch đảo của đại lượng này nhân với tổng số tài liệu ta được tần suất tài
liệu ngược kí hiệu là IDF(w

i
)
Công thức xác định IDF(Inverse document frequency)
IDF(w
i
) = log
)(
||
i
wDF
D
Trong đó |D| là tổng số các tài liệu. Tần suất tài liệu ngược của một từ
là thấp nếu từ đó xuất hiện trong nhiều tài liệu và là cao nhất nếu từ đó chỉ
xuất hiện trong một tài liệu. Trọng số của một từ loại w
i
trong tài liệu d là:
d
(i)
= TF(w
i
,d)*IDF(w
i
)
2.5 Các phương pháp phân loại văn bản
Trước đây khi văn bản còn lưu trữ trên giấy tờ, để phân loại các loại tài
liệu chúng ta cần một đội ngũ nhân lực khá lớn. Tuy nhiên sự phân loại của
con người cũng chỉ là tương đối, trong khi lượng thông tin tăng lên một cách
chóng mặt thì sự phân loại tài liệu do con người đảm nhiệm chỉ có thể đáp ứng
0.1% lượng thông tin đó. Còn bây giờ hầu hết các loại văn bản đều được lưu
trữ trên một cơ sở dữ liệu (lưu trữ trên máy tính), vì vậy tự động phân loại

thông tin ngày càng đóng vai trò quan trọng.
Dựa trên các đặc trưng của văn bản đã xuất hiện nhiều chiến lược phân
loại văn bản đã được đề xuất và áp dụng trong các tập tài liệu khác nhau. Hiệu
quả của các phương pháp đó tuy chỉ là tương đối nhưng đã hỗ trợ rất nhiều
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
trong truy cập, quản lí, lọc thông tin. Các phương pháp phân loại văn bản cho
kết quả tốt thường được sử dụng là:
1 Nguyên mẫu (prototype)
2 Mô hình xác suất Naive Bayes
3 Phương pháp SVM (Support vectors Machines)
4 Phương pháp cây quyết định (Dicision Trees- Lewis and Ringuette,
1994)
5 Phương pháp mạng neuron (Neuron network - Wiener et al., 1995;
Schutze et al., 1995)
2.5.1 Nguyên mẫu
Nguyên mẫu (prototype) có thể là phương pháp đơn giản nhất được áp
dụng trong phân loại văn bản. Thuật toán của phương pháp này khá đơn giản,
mỗi văn bản đầu vào là một vector
i
D
(w1, w2 ,… wk ) trong đó mỗi chiều wi
đặc trưng cho một từ loại (term). Một tập tài liệu mẫu sẽ được phân chia làm
các lớp văn bản khác nhau và được đặc trưng bởi đại lượng c
j
(categorization).
Có thể có nhiều tài liệu D
i
trong một lớp tài liệu c
j

, tuy nhiên để đơn giản
người ta xác định trong c
i
một vector trung bình (
i
D
). Và sử dụng cosin của
góc tạo bởi hai vector (một vector biểu diễn văn bản cần phân loại D, một
vector biểu diễn lớp văn bản c
i
) làm độ đo sự phù hợp giữa văn bản D với loại
văn bản c
i
.
cosin(
i
DD,
) =
i
i
DD
DD
*
*
D sẽ được xác định thuộc vào loại văn bản c
i
nào mà cosin(
i
DD,
) là lớn nhất.

Mỗi tài liệu D có thể thuộc một hay nhiều loại văn bản tùy thuộc vào giới hạn
mà người quản trị đặt ra.
Ưu điểm của nguyên mẫu là có thể áp dụng cho mọi văn bản, tuy nhiên xác
suất của phương pháp này không cao (lí do là có nhiều loại văn bản độ dài
giống nhau nhưng nội dung khác hẳn nhau).
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
2.5.2 Các mô hình xác suất của Naive Bayes
Kĩ thuật phân hoạch của Naive Bayes dựa trên cơ sở định lí Bayes và
đặc biệt phù hợp cho các trường hợp phân loại có kích thước đầu vào là lớn.
Mặc dù Naive Bayes khá đơn giản nhưng nó có khả năng phân loại tốt hơn rất
nhiều phương pháp phân hoạch phức tạp khác. Với mỗi loại văn bản, thuật
toán Naive Bayes tính cho mỗi lớp văn bản một xác suất mà tài liệu cần phân
hoạch có thể thuộc loại đó. Tài liệu đó sẽ được gán cho lớp văn bản nào có xác
suất cao nhất. Chi tiết về thuật toán Naive Bayes sẽ được trình bày kĩ ở
chương 3.
2.5.3 Phương pháp SVM
SVM là một phương pháp tiếp cận gần đúng thường áp dụng để phân
loại hai lớp văn bản. Phương pháp này được xác định dựa trên một không gian
vector mà trong không gian này vấn đề phải tìm ra một “mặt quyết định” giữa
hai lớp sao cho khoảng cách giữa các điểm dữ liệu giữa hai lớp này là lớn
nhất.
Nếu văn bản cần phân loại nằm về phía nào của mặt quyết định thì nó được
phân vào loại văn bản đó. Phương pháp SVM thường áp dụng để phân loại hai
lớp văn bản nhưng vẫn có thể áp dụng để phân loại nhiều lớp văn bản.
2.5.4 Cây quyết định
Cây quyết định là một trong những kĩ thuật học máy được nhiều người
biết đến. Chúng được áp dụng rộng rãi và đa dạng của các lĩnh vực đặc biệt là
các ứng dụng trong trí tuệ nhân tạo. Thành công của phương pháp này được
Khoa Công Nghệ Thông Tin

Mặt quyết định
x
y
Khoảng cách lớn nhất
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
chứng minh bằng khả năng xử lí các vấn đề phức tạp theo cách trình bày một
khả năng có thể chấp nhận được dễ dàng cho việc diễn dịch và thậm chí còn
có khả năng đưa ra các kết luận từ các luật logic. Một số phương pháp đã được
đề xuất để xây dựng các cây quyết định. Những thuật toán này có đầu vào là
một tập các tài liệu mẫu được đưa vào làm ví dụ. Ở đó mỗi tài liệu đựơc mô tả
bởi việc thiết lập các giá trị thuộc tính và được gán cho các lớp. Đầu ra là một
cây quyết định bảo đảm sự phân hoạch cho các ví dụ đưa vào. Vấn đề chính
được nói rõ trong các thuật toán chuẩn của cây quyết định là kết quả có thể
thay đổi bất chợt tùy thuộc vào dữ liệu. Sự không chắc chắn đó có thể xuất
hiện trong các cấu tử hoặc có thể xuất hiện trong các giai đoạn phân hoạch.
Cây quyết định được sử dụng để phân hoạch các đối tượng mới. Thuật
giải trong cây quyết định được bắt đầu từ gốc của cây quyết định. Chúng ta sẽ
đánh giá thử những thuộc tính có liên quan và chọn một nhánh tương ứng với
sự lựa chọn của đó. Qui trình này sẽ được lặp đi lặp lại đến khi gặp phải một
lá. Như vậy đối tượng mà ta đang xét sẽ thuộc vào loại của lá mà ta vừa gặp
phải. Điều đó cũng có nghĩa là thuật toán cây quyết định kết thúc khi mà quá
trình phân tích gặp được một nút lá.
2.5.5 Mạng neuron
Phân loại văn bản bằng mô hình mạng neuron là một cách thức phân loại
mới được đề xuất. Cấu trúc và hoạt động của mạng neuron cơ bản dựa trên bộ
não con người. Mạng neuron được áp dụng trong khá nhiều lĩnh vực khác
nhau và có khả năng giải quyết các vấn đề phức tạp, phạm vi rộng. Trong phân
loại tài liệu có thể dùng mạng neuron để phân chia gần đúng các tài liệu trong
tập tài liệu thô đầu vào. Cấu trúc mạng neuron khá phức tạp, hầu hết các phần
tử cấu thành mạng neuron là các neuron. Chúng được phân chia thành các lớp

khác nhau và có mối liên hệ với các neuron trong cùng lớp hoặc khác lớp. Mối
quan hệ giữa các neuron được biểu diễn bằng các cung tròn có đầu ra từ một
neuron này và đầu vào từ một neuron khác, mối quan hệ giữa hai neuron lân
cận nhau đặc trưng bằng trọng số w(weight).
2.6 Bài toán phân loại thư rác
Phân loại thư rác thực chất là bài toán phân loại văn bản hai lớp, trong
đó: tập tài liệu mẫu ban đầu là các thư rác (spam) và các thư hợp lệ (ham), các
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
văn bản cần phân lớp là các Email được gửi đến client. Kết quả đầu ra của quá
trình phân loại này là hai lớp văn bản: Spam(thư rác), Ham (thư hợp lệ). Mô
hình phân loại thư rác tổng quát có thể mô tả như sau:
Tiến trình phân loại các thư điện tử trong máy lọc văn bản được biểu diễn
như sau:

Các thuật toán áp dụng để phân loại văn bản đều có thể áp dụng để phân loại
thư rác. Tuy nhiên trong phân loại văn bản, những kiểm nghiệm trong thực tế
chứng minh rằng hiệu quả của hai phương pháp {SVM, kNN} luôn đạt hiệu
quả cao nhất. Các phương pháp mạng neuron và cây quyết định thường áp
dụng rộng rãi trong trí tuệ nhân tạo, các thuật toán tìm kiếm đường đi.
Phương pháp Naive Bayes mặc dù hiệu quả có thể nhỏ hơn các phương
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
pháp khác nhưng đơn giản. Với phương pháp cây quyết định khi mà tập tài
liệu thô ban đầu và không gian đặc trưng lớn thì sẽ xuất hiện nhiều nhánh mới
cây quyết định sẽ trở nên phức tạp vì thế rất khó khi chọn lựa đặc trưng tiêu
biểu để có kết thúc là một nút lá. Với phương pháp này thường thích hợp với
các tập tài liệu nhỏ. Phương pháp mạng neuron đây là một bước đột phá trong
văn bản, mạng neuron có thể áp dụng cho rất nhiều lĩnh vực khác nhau đặc
biệt trong trí tuệ nhân tạo. Với phân loại văn bản mạng neuron cho kết quả tốt

hơn nhiều phương pháp phân loại khác. Nhưng thuật toán trong mạng neuron
thường rất phức tạp đặc biệt là khi số nút mạng neuron lớn.
Nói chung xây dựng một mô hình phân loại thư rác là một việc khó
khăn và phức tạp. Hiện nay cũng đã có khá nhiều thuật toán được áp dụng và
hiệu quả khá tốt. Mô hình xác suất Naive Bayes cũng là một trong những ứng
dụng phổ biến hiện nay. Và đây là thuật toán mà tôi lựa chọn để làm cơ sở
phân loại thư rác trong đồ án của mình. Những ưu điểm của thuật toán phân
loại văn bản Naive Bayes sẽ được trình bày chi tiết trong chương tiếp theo.
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ
Chương III: Thuật toán Naive Bayes và cách phân
loại thư điện tử
3.1 Các công nghệ lọc thư rác hiện nay
Ngày nay có rất nhiều công nghệ lọc thư rác. Nó dựa trên các đặc trưng
cơ bản của thư điện tử như: tiêu đề của thư rác, địa chỉ nơi gửi và nhận thư rác
hay các cụm từ thường hay sử dụng trong các thư rác. Phần tiêu đề và phần
thân được xem xét là quan trọng đối với những người tạo ra các thư rác đó.
Thêm một phương pháp dùng để phân loại thư rác mà không cần biết đến địa
chỉ của các thư rác. Phương pháp này so sánh các thư điện tử mẫu với các thư
điện tử nhận được sau đó tìm ra những thư rác thông dụng. Và một công nghệ
khác có thể là phổ biến ngày nay đó là sử dụng công nghệ học máy để phân
loại thư điện tử.
Để có hiệu quả trong việc lọc thư rác các công nghệ mới cần có một
khả năng thích ứng. Phương pháp này phải thật thân thuộc với những người
tạo thư rác và các thủ đoạn mánh khóe của họ có thể thay đổi theo thời gian.
Các bộ lọc thư rác mới hiện nay thường áp dụng thuật toán Bayes đem lại hiệu
quả cao và được cải tiến thành máy lọc thư rác Naive Bayes (Naive Bayes
filter).
3.2 Thuật toán phân loại văn bản Bayes
Như đã trình bày ở chương 2 “Naive Bayes” do những giả thuyết nới

lỏng phụ thuộc thống kê, coi các từ xuất hiện trong một văn bản là độc lập
thống kê. Cơ sở của phương pháp phân loại văn bản Naive Bayes là chủ yếu
dựa trên các giả định của Bayes. Giả thuyết Bayes gán cho mỗi tài liệu văn
bản cần phân loại một giá trị xác suất.
Xác suất P(c
k
| d
i
) gọi là xác suất mà tài liệu d
i
có khả năng thuộc vào
lớp văn bản c
k
được tính toán như sau:
)(
)|(*)(
)|(
i
kik
ik
dP
cdPcP
dcP
=
tài liệu d
i
sẽ được gán cho loại văn bản nào có xác suất hậu nghiệm cao nhất
nên được biểu diễn bằng công thức:
Khoa Công Nghệ Thông Tin
Đồ án tốt nghiệp Gvhd: PGS.TS Nguyễn Đăng Tộ

{ }
)(
)|(*)(
max
)|(
max
1
arg
1
arg di of Class
i
kik
Nk
ik
Nk
dP
cdPcP
dcP
≤≤
=
≤≤
=

trong đó N là tổng số tài liệu. Để chứng minh cho ý tưởng của Naive Bayes
ta xét ví dụ sau:

Có hai đối tượng GREEN và RED. Nhiệm vụ của chúng ta là phân loại các
trường hợp mới khi chúng được đem tới. Lựa chọn để gom chúng thành các
đối tượng cụ thể trên cơ sở hai đối tượng đã có là GREEN và RED. Như vậy
từ hai đối tượng này ta phải tìm ra được lí do hợp lí để giả thiết cho các đối

tượng mới đó. Trong phân tích của Naive Bayes lí do đó được gán cho một đại
lượng đó là P ( Prior propability), P được xác định dựa vào các kinh nghiệm từ
trước đó. Trong trường hợp này nó chính là tỉ lệ phần trăm của hai đối tượng
GREEN và RED, chúng được sử dụng để dự đoán kết quả trước khi chúng có
thể xảy ra:
Theo cách đó chúng ta có:
Xác suất có thể của GREEN =
T
G
Xác suất có thể của RED =
T
R
Trong đó:
- G là Số đối tượng GREEN
- R là số đối tượng RED
- T là tổng số các đối tượng
Trong ví dụ này theo hình vẽ ta có T = 60; G = 40; R = 20. Thì xác suất có
thể của các ứng viên:
P(GREEN) =
60
40
P(RED) =
60
20
Khoa Công Nghệ Thông Tin

×