1. Trang chủ
  2. » Công Nghệ Thông Tin

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

80 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Phạm Thị Thơm
Người hướng dẫn PGS.TS Nguyễn Đăng Tộ
Trường học Trường Đại Học Thủy Lợi
Chuyên ngành Công nghệ Thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2006
Thành phố Hà Nội
Định dạng
Số trang 80
Dung lượng 1,29 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.

Trang 1

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

Trang 2

Mục Lục

Mục Lục 2

Chương I: Mở đầu 4

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

Giới thiệu về Email 5

Khái niệm về thư rác 6

Sự cần thiết phải phân loại thư rác 7

Phâ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 19

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

Trang 3

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ế 35

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

Quá 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ử 46

4.4.3 Ví dụ về gửi nhận thư điện tử qua Internet bằng Mail Client 49

Javamail 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

Mộ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

Trang 4

Chương I: Mở đầu

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ử

Trang 5

- 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

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, và

Trang 6

đặ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

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

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

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à

Trang 7

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

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)

Trang 8

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 ở

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à

Trang 9

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

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ộ

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Đâ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)

Học một bộ

quả

Chọn đặc trưng k

.

Phân loại

Trang 15

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

Trang 16

- 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 ( )(* () )

5 5

5

c P t P

c t

Và được ước lượng bởi

I(t,c) log ( )**( )

B A C A

N A

+ +

m i

t

=

=

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

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:

Trang 17

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

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

Lược đồ

biểu diễn

đặc trưng x

Lược đồ biểu diễn đặc trưng y

Trang 18

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

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(wi) 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(wi)

Công thức xác định IDF(Inverse document frequency)

i w DF 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 wi trong tài liệu d là:

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

Trang 19

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)

3 Phương pháp SVM (Support vectors Machines)

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 cj (categorization) Có thể có nhiều tài liệu Di trong một lớp tài liệu cj, tuy nhiên

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 ci) làm độ đo sự phù hợp giữa văn bản D với loại văn bản ci

i

i

D D

D D

*

*

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)

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

Trang 20

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 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

Mặt quyết định

x

y

Khoảng cách lớn nhất

Trang 21

đề 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 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:

Trang 22

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 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

Trang 23

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

Trang 24

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(ck| di) gọi là xác suất mà tài liệu di có khả năng thuộc vào lớp văn bản ck được tính toán như sau:

) (

)

| (

* ) ( )

| (

i

k i k

i

c d P c P d c

tài liệu di 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:

Trang 25

{ }

) (

)

| (

* )

( max )

| (

max

1

arg

1

arg di

of

Class

i

k i k

N k

i k N

c d P c

P d

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ó:

Trong đó:

- G là Số đối tượng GREEN

- R là số đối tượng RED

- T là tổng số các đối tượngTrong 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:

Trang 26

P(GREEN) = 6040 P(RED) = 6020

Để có thể xây dựng một công thức xác định xác suất P chúng ta sẽ tiến hành phân loại các đối tượng WHITE như hình vẽ Từ các đối tượng là các nhóm hợp lí, chúng ta có thể giả định đối tượng đã cho thuộc đối tượng RED hoặc GREEN trong vùng lân cận của X, tốt hơn là các đối tượng ta xét có thể thuộc vào màu đặc biệt đó Để giới hạn cho các khả năng có thể xảy ra này chúng ta

sẽ dựng thêm một đường tròn xung quanh X, nó sẽ bao quanh một số điểm mà chúng ta sẽ không quan tâm là chúng thuộc đối tượng nào Sau đó chúng ta sẽ tính toán số các điểm thuộc vào mỗi loại GREEN và RED có trong vòng tròn,

từ đó có thể tính được khả năng có thể của X

Khả năng X thuộc GREEN =

Từ minh họa ở trên thật dễ dàng xác định đuợc là khả năng X thuộc GREEN

là lớn hơn khả năng X thuộc RED Trong vùng bao quanh vừa vẽ có 1 đối tượng GREEN và 3 đối tượng RED như vậy:

Mặc dù xác suất có thể biểu thị rằng X có thể thuộc GREEN (bằng cách so sánh hai xác suất có thể với nhau) nhưng khả năng biểu thị lại khác (rằng ứng viên X là RED) Trong phân tích Bayes, phân hoạch cuối cùng được đưa ra bởi

Trang 27

việc phối hợp cả hai nguồn thông tin, mức ưu tiên và khả năng có thể hình

thành xác suất “hậu nghiệm” (posterior probability) sử dụng gọi là luật Bayes

(tên sau của Rev Thomas Bayes 1702-1761)

Xác suất hậu nghiệm của X có thể thuộc GREEN

= Xác suất có thể của GREEN * Khả năng X thuộc GREEN

60

40 =

Xác suất hậu nghiệm của X có thể thuộc RED

= Xác suất có thể của RED * Khả năng X thuộc RED

Việc phân loại ở ví dụ trên thuộc về trực giác khi sử dụng Naive Bayes

Nhưng phân hoạch Naive Bayes có thể vận dụng một số các tuỳ biến phụ thuộc

Tóm lại phân loại văn bản sử dụng thuật toán Naive Bayes có thể diễn đạt một cách ngắn gọn như sau:

Với mỗi văn bản D (document), người ta sẽ tính cho mỗi loại một xác suất mà tài liệu D có thể thuộc vào lớp tài liệu đó bằng việc sử dụng luật Bayes:

) (

)

| (

* ) ( )

| (

D P

C D P C P D C

Trong đó: D là tài liệu cần phân loại, Ci là một tài liệu bất kì Theo giả định của Naive Bayes xác suất của mỗi từ trong tài liệu D là độc lập với ngữ cảnh xuất hiện các từ đồng thời cũng độc lập với vị trí của các từ trong tài liệu Xác suất P(D|Ci) được tính toán từ tần suất xuất hiện của các từ đơn wj (word) trong tài liệu D

)

| P(w )

C

| P(D

l j 1

l là tổng số từ w trong tài liệu D:

Như vậy biểu thức (1) có thể được viết lại như sau:

Trang 28

| P(w )

(

) ( )

| (

l j 1

j i

i

D P

C P D C

3.3 Quá trình hoạt động của bộ lọc thư rác Bayes

Bộ lọc thư Bayes dựa trên một cơ sở tất yếu là hầu hết các sự kiện đều phụ thuộc và đó là xác suất của các sự kiện xuất hiện trong tương lai, có thể được suy luận ra từ những sự xuất hiện trước đó của các sự kiện này

Các tiến trình xây dựng một bộ lọc thư rác Bayes

3.3.1 Tạo một cơ sở dữ liệu từ Bayes thích hợp

Trước khi lọc thư cần áp dụng phương thức này, một người sử dụng có thể cung cấp một cơ sở dữ liệu với tập các từ và các tokens (ví dụ $, địa chỉ IP của các vùng ) tập hợp các mẫu thư được coi là các thư rác (spam) và tập mẫu thư được coi là thư hợp lệ

3.3.2 Tạo một cơ sở dữ liệu cho các thư hợp lệ

này có thể được thay đổi theo những người sử dụng ở các cơ quan khác nhau Nói ngắn gọn là có thể thêm vào một file dữ liệu lưu trữ các cụm từ thường xuất hiện trong các thư hợp lệ của cơ quan hay người dùng đó làm cơ sở phân loại các thư hợp lệ

Thư hợp lệ

Thư rác

cơ sở dữ liệu của xác suất các từ

Trang 29

Một vấn đề quan trọng cần lưu ý là việc phân tích các thư hợp lệ chỉ có hiệu quả trong các thư điện tử của một cơ quan Ví dụ trong trường Đại học Thủy Lợi hầu hết các thư được gửi trong phân vùng wru đều có chứa Thủy Lợi vì thế khi xây dựng bộ lọc hay khi người sử dụng ở miền này những thư hợp lệ đều chứa từ “thủy lợi” hoặc “bộ nông nghiệp và phát triển nông thôn” Tuy nhiên có thể người sử dụng sẽ nhận được một thư điện tử có chứa từ “bộ nông nghiệp và phát triển nông thôn” nhưng không phải của trường thủy lợi

đó là một số phân định sai nếu sử dụng cụm từ đó trong tập các mẫu Mặt khác máy lọc Bayes nếu hoàn toàn phù hợp với công ty của bạn ở giai đoạn khởi tạo tập mẫu Cần phải chú ý với các thư điện tử gửi đi nước ngoài của công ty(và thừa nhận cụm từ “bộ nông nghiệp và phát triển nông thôn” được

sử dụng thường xuyên trong các thư hợp lệ của những người có tài khoản wru) Và sau đó tỉ lệ thư rác được tìm ra sẽ tốt hơn rất nhiều, tỉ lệ nhầm lẫn cũng giảm xuống thấp hơn

3.3.5 Tạo một cơ sở dữ liệu cho thư rác

Ngoài các thư hợp lệ “ham” bộ lọc Bayes cũng dựa trên một file dữ liệu thư rác File dữ liệu thư rác này phải bao gồm một mẫu lớn để hiểu về thư rác

và phải luôn luôn được cập nhật với những thư rác gần đây nhất Điều này sẽ chắc chắn rằng bộ lọc Bayes có khả năng nhận biết được các thủ thuật của những thư rác gần đây nhất và đem lại một tỉ lệ tìm kiếm thư rác là lớn nhất Ngắn gọn hơn là tạo một file dữ liệu chứa các cụm từ mà thường xuất hiện trong các thư rác ví dụ các loại thư rác bằng tiếng anh thì thường chứa những

từ như “Greeting card” hay “$$$” hoặc “Free money” còn những thư rác Việt thì có thể chứa các cụm từ như “giá rẻ bất ngờ”, “hình ảnh sexi” Những cụm

từ đó cũng được gán cho một độ tin cậy nhất định, đây là cơ sở để phân loại các thư rác Cũng giống như phân loại thư hợp lệ khái niệm thư rác cũng tùy thuộc vào người sử dụng rất nhiều Chẳng hạn với các sinh viên ngành IT(information technology) thì với mỗi thư tuyển dụng của FPTsoftware là một thư điện tử rất có nghĩa (thư hợp lệ) nhưng đối với những thành phần khác

IT không quan tâm đến công việc thuộc lĩnh vực này thì những thư điện tử tuyển dụng đó lại là thư rác vì thế cơ sở dữ liệu cho thư rác cũng cần được cập nhật qua những người sử dụng ở các vùng miền khác nhau

Trang 30

3.4 Sự hoạt động của các bộ lọc thư rác thực tế

Cơ sở dữ liệu về thư hợp lệ hay thư rác sẽ được tạo ra và xác suất các từ

đã được tính toán sau đó được lưu lại và có thể sử dụng Khi một thư điện tử mới được chuyển đến nó sẽ được phân tách thành các từ và hầu hết các từ có liên quan Chúng là những nhân tố quan trọng nhất để nhận dạng các thư điện

tử có phải là thư rác hay không và sau đó sẽ loại bỏ từng cái ra ngoài Căn cứ vào các từ bộ lọc Bayes sẽ tính toán xác suất của các thư điện tử có thể là thư rác Nếu xác suất đó lớn hơn một ngưỡng nào đó đã đặt ra chẳng hạn 0.9 sau

đó các thư điện tử được phân loại Phương pháp Bayes này tiếp cận với các thư rác một cách có hiệu quả cao Tháng 5/2003 một bài báo BBC cho biết kết quả của việc tìm kiếm thư rác trong bộ lọc đạt 99.7% có thể hoàn thành với một số thấp các sai sót

3.5 Các ưu điểm của bộ lọc thư rác Bayes

Phương pháp Bayes nhận dạng một thư điện tử dựa vào các mô tả, nó nhận ra các từ khóa mà những từ đó có thể nhận dạng một thư rác (spam) và cũng nhận ra các từ chứng tỏ một thư điện tử hợp lệ (ham) Ví dụ không phải tất cả các thư điện tử có chứa các từ như “free” hay “cash” đều là thư rác Phương pháp Bayes sẽ tìm kiếm các từ “free”, “cash” nhưng nó cũng nhận ra tên của người gửi thông điệp và theo cách phân loại đó một thông điệp là hợp

lệ, với các từ khác máy lọc Bayes là một phương pháp tiếp cận khá thông minh bởi vì nó nghiên cứu tất cả các khía cạnh của một thư điện tử như phản đối việc kiểm tra từ khóa mà nó nhận dạng được một thư điện tử là thư rác trên cơ sở một từ đơn

- Bộ lọc Bayes liên tục tự thích nghi bởi sự học tập từ các thư rác mới và các thư điện tử hợp lệ đến từ bên ngoài, bộ lọc Bayes giải quyết và thích nghi với các công nghệ lọc thư rác kiểu mới Lấy ví dụ khi một người tạo thư rác sử dụng từ “f-r-e-e” để thay thể cho “free” chúng rất thành công trong việc tránh kiểm tra các từ khóa đến tận khi “f-r-e-e” cũng được bao hàm trong các từ khóa của cơ sở dữ liệu Mặt khác cũng có thể sử dụng

“5ex” thay thế cho “sex” Bạn sẽ không thể có từ 5ex trong một thư hợp

lệ và sau đó có khả năng xảy ra là các thư rác có thể tăng lên

- Công nghệ lọc thư bằng Bayes rất nhạy cảm với người sử dụng, nó học các thói quen của các thư điện tử trong công ty và hiểu được điều đó lấy

Trang 31

ví dụ: từ “mortgage” sẽ được dùng để nhận dạng một thư rác Nhưng ngược lại nó sẽ không chỉ ra nó như là thư rác nếu công ty là một cơ quan tài chính được thành lập bẳng tiền thế chấp (mortgage).

thư tự rác tự động Trên cơ sở sử dụng các xác suất gần đúng để tính toán các khả năng một thư điện tử có thể là thư rác hay không Sự tính toán này là quá trình tìm kiếm các từ thường xuất hiện trong các thư điện tử và so sánh chúng với tập mẫu Thuật toán bắt đầu bằng việc học các nội dung của các thư điện

tử hợp lệ và nội dung của những thư rác Để sau đó khi nhận vào một thư điện

tử mới, các thông tin có sẵn từ tập mẫu, các tiến trình tiền xử lí trước sẽ được

áp dụng trên cơ sở nội dung của các thư điện tử

Nguyên tắc tính các xác suất trong bằng thuật toán Bayes:

- Giả sử nội dung của mỗi thư điện tử là: content

- Lớp thư rác kí hiệu là: spam

- Lớp thư hợp lệ kí hiệu là: ham

- Xác suất để một thư điện tử là thư rác: P(spam|content)

Ta có:

total

spam P spam content

P content spam

P( | ) = ( | )* ( )

Trong đó total được xác định như sau:

Total = P(content | spam)*P(spam) + P(content | ham)*P(ham)

i spam word

P spam

content P

1

)

| (

)

| (

i ham word

P ham

content P

1

)

| (

)

| (

P(spam) = total spam / total messages P(ham) = total ham / total messages

Để đơn giản hóa công thức và tính toán chúng ta giả định rằng xác suất của các từ đó được bao hàm trong một văn bản là độc lập với các từ khác trong cùng một tài liệu Một cách nhìn khác của giả định này là sự không chính xác Bởi vì sự chỉ dẫn có hiệu quả để tính toán đơn giản và trả về kết quả vẫn là một một kết quả gần đúng Giả định này được gọi là giả định Naive Bayes

Trang 32

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

1 Xác định rõ các đặc trưng sử dụng Yêu cầu này chúng ta sẽ xem xét các thư điện tử và tìm các “từ” hoặc “nhóm từ” mà chúng là dấu hiệu của thư rác hay không phải thư rác, đây có thể coi là cơ sở dữ liệu cho bộ lọc Đây

là một phần quan trọng trong nhiệm vụ này và chúng ta có thể lặp lại một vài lần

2 Sử dụng một số phương pháp lựa chọn đặc trưng để phân tích dữ liệu và chọn đặc trưng, sau đó có thể ước lượng xác suất điều kiện và sử dụng các luật Bayes để ước lượng xác suất của một thư điện tử có phải là thư rác hay không?

3 Xác định rõ ngưỡng để loại bỏ tất cả các thư điện tử mà xác suất của chúng lớn hơn xác suất này

4 Thử nghiệm hệ thống lọc thư rác và ước lượng hiệu quả trong thực tế

Hệ thống lọc thư rác khác nhiều so với các công việc của phân loại văn bản

ít nhất ở hai lí do sau:

- Thứ nhất: Các loại văn bản hỗn tạp trong thực tế có thể xuất hiện là do chủ ý của người đọc và một nội dung chỉ có thể có một tiêu đề Các thư điện tử thì được gửi đi một cách tự nguyện đối với những người gửi thư rác nhưng với người nhận thư rác thì hoàn toàn ngoài ý muốn Tương tự như các loại văn bản các thư điện tử có thể cũng mở rộng một số các tiêu đề khác nhau đối với cùng một nội dung

- Thứ hai: Việc phân loại nhầm một thư hợp lệ thành thư rác sẽ phát sinh hậu quả nghiêm trọng hơn là phân loại nhầm một thư rác thành thư hợp

lệ Đây là chất lượng khác nhau giữa các lớp mà nó cần được ghi chép lại trong quá trình tính toán

3.6.1 Lựa chọn các đặc trưng

Khi xét đến các vấn đề cụ thể của việc lọc thư rác việc lựa chọn được tập các đặc trưng của các thư điện tử là rất quan trọng, bên cạnh các từ riêng lẻ trong nội dung của các thông điệp nó cung cấp các dấu hiệu để nhận ra một thư điện tử có phải là thư rác hay không Lấy ví dụ các cụm từ đặc biệt như là

“Free money” hay các phép chấm câu nhấn mạnh “!!!!” là ngụ ý của thư rác Hơn nữa thư điện tử bao gồm nhiều những đặc trưng không phải của văn bản như là loại vùng của các thông điệp được gửi đi (e.g, edu hay com) nó cung

Trang 33

cấp các đặc điểm của thông tin hàm chứa trong nội dung giúp cho ta có thể nhận biết một thư điện tử có phải là thư rác hay không

Những thông tin đặc trưng được sử dụng trong các phân hoạch Vấn đề đầu tiên là việc nghiên cứu các thư điện tử văn bản mà có sự xuất hiện của các cụm từ đặc biệt như là “free!”', “only $'' (cũng như “only $4.95”) và “be over 21” Khoảng chừng vài trăm cụm từ “mánh khóe” nó coi như là một cách đặc biệt thích hợp mà vấn đề này hàm chứa

Trong quá trình thêm vào các cụm từ đặc trưng chúng ta cũng coi như vùng miền cụ thể không là đặc trưng văn bản, như là loại vùng của người gửi thư (đã đề cập trước đó) Lấy ví dụ, thư rác gần như không bao giờ được gửi

từ các vùng “.edu” Hơn thế nữa nhiều chương trình đọc thư điện tử sẽ giải quyết các địa chỉ Email gia đình

(i.e thay thế bằng sdumais@microsoft.com với Susan Dumais)

Bằng việc xem xét các thư điện tử được gửi từ những người sử dụng cá nhân đến người nhận thư, chúng ta cũng có thể cung cấp thêm các dấu hiệu để nhận biết một thư điện tử không phải là thư rác Một số sự khác biệt đơn giản

khác chẳng hạn một thư điện tử có đính kèm một tài liệu (hầu hết các thư rác

đều không có) hay khi một thư điện tử được gửi đi và được nhận (hầu hết các

thư rác đều được gửi vào buổi tối) cũng chỉ ra sự khác biệt mạnh mẽ giữa thư rác và các thư điện tử hợp lệ Xa hơn nữa chúng ta có thể coi một số các nét đặc biệt hữu dụng khác, nó làm việc khá tốt trong phân hoạch xác suất nhưng

có cũng khó giải quyết nếu chỉ dựa vào hệ thống các luật Những đặc trưng bao gồm cả tỉ lệ các kí tự đặc biệt trong chủ đề của các thư điện tử (thư rác, ví

dụ thường có tiêu đề được mô tả như sau: “$$$$ BIG MONEY $$$$”) nó bao gồm một tỉ lệ cao các kí tự đặc biệt Xét về tổng thể chúng ta có thể ước lượng khoảng chừng vài trăm các cụm từ mánh khóe, các đặc trưng loại vùng cụ thể trong máy lọc thư rác của chúng ta

Trong các bộ lọc thư rác bằng Naive Bayes sức mạnh của nó có thể phụ thuộc vào tập các đặc trưng lựa chọn Chúng ta lựa chọn các đặc trưng bằng việc sử dụng hai phương pháp:

- Phương pháp kĩ thuật đầu tiên sử dụng trong lĩnh vực phân loại văn

bản Với mỗi từ xuất hiện trong nội dung của các thư điện tử trong tập văn bản mẫu, chúng ta sẽ đưa vào một đặc trưng thích hợp Với mỗi thư điện tử, đặc trưng này sẽ nhận giá trị là 1 nếu nội dung của các thư điện tử có chứa nó

Trang 34

và nhận giá trị không trong trường hợp ngược lại Từ các tập đặc trưng này chúng ta chọn ra 2002 đặc trưng với lượng tin tương hỗ là lớn nhất nhận các giá trị [7,5,6,4] chúng ta tính toán lượng tin tương hỗ cho mỗi đặc trưng ứng X như sau:

) ,

( log ) ,

( )

; (

y

y Y x X P y

Y x X P Y

X MI

một lợi thế của phương pháp này là thông tin được tự động hóa một cách dễ dàng, các đặc trưng ứng viên và các lượng tin tương hỗ MI của chúng có thể giữ trong một phạm vi nhất định và có thể cập nhật ở mọi nơi khi dữ liệu mới được đưa vào, và khoảng 200 đặc trưng đầu tiên có thể lựa chọn lại nếu cần thiết Con đường kiểu mới này của thư rác hay thư hợp lệ có thể được kết hợp chặt chẽ trong bộ lọc qua thời gian, để phù hợp với mục đích của chúng ta là

tự động học và thích nghi với thư rác

- Phương pháp thứ hai mà chúng ta sử dụng để lựa chọn các đặc trưng

đưa đến một lĩnh vực kiến thức đặc biệt trong kết quả tính toán, nó đối lập với phương pháp đầu tiên, nó có thể hiển thị quá trình lọc thư rác như vấn đề chung của phân loại văn bản Chúng ta chắc chắn các thư rác có khuôn mẫu

mà chúng khác biệt so với các thư điện tử hợp lệ

+ Đầu tiên các khuôn mẫu đó là các kết quả của mục tiêu gửi thư rác tới địa điểm đầu tiên Một cách tường minh những kẻ gửi thư rác thường cố gắng tiếp thị cho người sử dụng một số thứ và như thế thường bao hàm thông tin về giá cả trong các thông điệp của chúng Như mô hình của sự tiếp thị trực tiếp, các thư rác thường sử dụng HTML để tạo các thông điệp trông hấp dẫn hoặc thu hút sự chú ý

nhất bằng việc sử dụng các đường link trong web

+ Thứ hai sự trình diện của các biện pháp pháp lí chống lại các thư rác gây hại đã tạo ra sự tác động trên định dạng của thư rác Lấy ví

dụ những người gửi thư rác hay làm giả mạo từ địa chỉ và giả mạo

cả phần tiêu đề của các thư rác.

+ Thứ ba những đề xuất kinh nghiệm trong chủ đề thư rác hay bị sa

ngã vào một phạm vi eo hẹp về các loại

Không gian đặc trưng thường có kích thước là rất lớn (thông thường trong những yêu cầu có kích thước khoảng vài ngàn từ) Bởi vậy chúng ta phải lựa chọn các đặc trưng với nhiều lí do Đầu tiên để giảm bớt kích thước giúp

Trang 35

từ sự ước lượng nhiều tham số Hơn nữa lựa chọn đặc trưng cũng giúp cho việc làm giảm mức độ để nó không phụ thuộc vào các giả định được đưa ra bởi phân hoạch Naive Bayes.

3.6.2 Biểu diễn các thư điện tử

Sau khi chọn được các đặc trưng văn bản chúng ta tiến hành biểu diễn các thư điện tử thành các vector mà không gian của nó là tập các từ hay cụm

từ đã phân tích Các cụm từ này đã xác định rõ số lần xuất hiện của chúng trong mỗi thư điện tử Kết hợp các thư điện tử trong mỗi lớp mail ta được một vector biểu diễn lớp mail đó (trong trường hợp này sẽ có hai vector được tạo

ra đó là vector biểu diễn lớp thư hợp lệ và vector biểu diễn lớp mail rác) Tiến hành ghép nối hai vector trên để lấy được một tập các đặc trưng bao gồm: các

từ hay cụm từ và số lần xuất hiện của chúng trong cả hai lớp mail và tính các xác suất tương ứng ta sẽ được một tập các đặc trưng Tất cả các đặc trưng này

sẽ được lưu vào một bảng mô tả để làm căn cứ phân loại các thư điện tử Mỗi thư điện tử được gửi đến sẽ được biểu diễn thông qua tập đặc trưng trên Sử dụng công thức tính xác suất Naive Bayes ta sẽ tính được xác suất một thư điện tử có phải là thư rác hay không Giá trị xác suất này được dùng để so sánh với ngưỡng (ranh giới phân định thư rác và thư hợp lệ)

3.6.4 Xác định ngưỡng

Xác định rõ ngưỡng để loại bỏ tất cả các thư điện tử mà xác suất của chúng lớn hơn xác suất này Chẳng hạn coi 0.9 là giới hạn trên khảng định một thư điện tử là thư rác hay thư hợp lệ Nếu trong quá trình xác định các giá trị xác suất của các từ khóa chẳng hạn P(spam/content)=0.92 thì khảng định thư điện tử chứa từ đó là thư rác ngược lại là thư hợp lệ (vì đây là phân loại văn bản hai lớp)

3.6.5 Thử nghiệm hệ thống lọc thư rác hiệu quả trong thực tế

Có thể tiến hành thử nghiệm như sau: Lấy một tập mẫu khoảng vài trăm thư điện tử trong đó có 75% tổng số thư điện tử được phân loại còn 25% còn lại có thể dùng bộ lọc Naive Bayes để phân loại Hiệu quả thực tế của bộ lọc sẽ được đánh giá theo số thư rác mà nó phân loại được Khâu này tiến hành rất nhiều lần để có thể lấy được “feedback” từ người sử dụng để hoàn chỉnh bộ lọc hay bổ sung cơ sở dữ liệu cho bộ lọc để cải tiến hiệu quả Trong

Trang 36

chương trình của mình tôi đã tiến hành thử nghiệm hệ thống trên hệ thống mail WRU của trường Đại Học Thuỷ Lợi (mail.wru.edu.vn).

Khi xây dựng bộ lọc thư rác bằng Naive Bayes có thể làm tăng thêm hiệu quả của bộ lọc bằng cách kết hợp với việc lọc thư rác qua các cách khác như: phân loại theo vùng miền (thư rác hầu như không xuất hiện ở miền địa chỉ edu) Có thể kết hợp với lọc thư theo tiêu đề hay địa chỉ của người gửi Những thông tin đó cũng có thể lưu vào một file dữ liệu để làm cơ sở phân loại thư rác, và nó sẽ làm cho hiệu quả của bộ lọc thư rác tăng lên rất nhiều Đây là nội dung của máy lọc thư rác mà tôi sẽ áp dụng Email Client của mình

Trang 37

Chương IV: Các giao thức truyền nhận thư và thư

viện Javamail API 4.1 Giới thiệu SMTP:

SMTP (từ chữ Simple Mail Transfer Protocol) hay là giao thức

chuyển thư đơn giản Đây là một giao thức lo về việc vận chuyển email giữa

các máy chủ trên đường trung gian, chuyển đến địa chỉ nhận cũng như là lo việc chuyển thư điện tử từ máy khách đến máy chủ Một giao thức mà các nhà cung cấp dịch vụ trên Internet thường sử dụng trong các dịch vụ thư điện tử Hầu hết các hệ thống thư điện tử gửi thư qua Internet (ISP – Internet services provider) đều dùng giao thức này Các mẫu thông tin có thể được lấy ra bởi một email client

SMTP là giao thức hoạt động ở tầng ứng dụng trong mô hình mạng TCP/IP nhằm cung cấp các dịch vụ về thông báo

Giao thức này được đặc tả trong hai chuẩn là RFC 822 (định nghĩa cấu trúc thư) và RFC 821 (đặc tả giao thức trao đổi thư giữa hai trạm của mạng)

SMTP làm việc ở cổng 25.

4.2 Cách thức hoạt động của giao thức SMTP

SMTP (Simple Mail Transfer Protocol) là một trong các giao thức Internet nòng cốt được thiết kế để chuyển email một cách tin cậy và hiệu quả

Ý tưởng đằng sau SMTP tương đối đơn giản Một người dùng hay ứng dụng

Trang 38

gửi một thông báo bao gồm địa chỉ email người nhận, ví dụ nhan@ten-cong-ty.com”, cùng với chủ đề (subject) và nội dung của thông báo Việc gửi thông báo được bắt đầu bằng việc chuyển thông báo đến một SMTP Server chỉ định Dựa vào tên miền của địa chỉ e-mail nhận (ví dụ, “ten-cong-ty.com”), SMTP Server bắt đầu trao đổi liên lạc với một DNS Server (máy chủ hệ thống tên miền) mà sẽ tìm kiếm và trả về tên (host name) của SMTP Server đích (ví dụ “mail.ten-cong-ty.com”) cho tên miền đó Cuối cùng, SMTP Server đầu tiên trao đổi thông tin trực tiếp với SMTP Server đích thông qua cổng 25 của TCP/IP Nếu tên người dùng của địa chỉ email nhận khớp với một trong những tài khoản người dùng được phép trong máy chủ đích, thông báo e-mail gốc cuối cùng sẽ được chuyển đến máy chủ này, chờ người nhận lấy thông báo thông qua một chương trình gửi nhận mail như Microsoft Outlook chẳng hạn.

“ten-nguoi-Mục đích của giao thức SMTP là truyền mail một cách tin cậy và hiệu quả Giao thức SMTP không phụ thuộc vào bất kỳ hệ thống đặc biệt nào và nó chỉ yêu cầu trật tự của dữ liệu truyền trên kênh truyền đảm bảo tính tin cậy Giao thức SMTP được thiết kế dựa vào mô hình giao tiếp sau: khi có yêu cầu

từ user về dịch vụ mail, sender-SMTP thiết lập một kênh truyền hai chiều tới reciever-SMTP Reciever- SMTP có thể là đích cuối cùng hoặc chỉ là đích trung gian nhận mail Các lệnh trong giao thức SMTP được sender-SMTP gởi tới reciever-SMTP và reciever-SMTP gởi đáp ứng trở lại cho sender-SMTP

SMTP

Sender SMTP

Sender - SMTP

Hình 4.1 : Mô hình tổng quát sử dụng giao thức SMTP

Receiver SMTP

Receiver SMTP

Receiver - SMTP

and Mail

File System

File System

User

Trang 39

sử dụ một hệ thống email đầy đủ tính năng như Microsoft Exchange Server Trong khi một hệ thống email với đầy đủ tính năng có thể cung cấp các dịch

vụ để xử lý các thông báo email cả đi và đến, thì dịch vụ SMTP trong

Windows được xem như là một giải pháp hiệu quả và kinh tế cho những nơi

chỉ cần gửi thông báo email chứ không nhận

4.3 Giới thiệu về các giao thức Mail POP3 và IMAP

server sẽ khởi động và lắng nghe trên port này Một client muốn sử dụng các dịch vụ của POP3 thì nó phải thiết lập một kết nối tới POP3 server Khi kết nối được thiết lập thì POP3 server sẽ gởi tới client một lời chào Sau đó, POP3 Client và POP3 Server sau đó trao đổi các request và reply cho đến khi kết nối được đóng hay loại bỏ

(Authorization), giao dịch (transaction) và trạng thái cập nhật (Update)

Khi server đã xác nhận được client, session sẽ đi vào trạng thái giao dịch Trong trạng thái này, client hoạt động bằng cách gởi các request tới server Khi client gởi lệnh “QUIT”, session sẽ đi vào trạng thái cập nhật (Update) Trong trạng thái này, POP3 server giải phóng các tài nguyên và gởi lời tạm biệt Sau đó kết nối TCP đóng lại

session không đi vào trạng thái cập nhật (update) mà server sẽ tự đóng kết nối TCP mà không xoá bất kỳ message nào hay gởi đáp ứng cho client

Trang 40

Hình 4.2 : Mô hình phân phối thư điện tử sử dụng giao thức POP3

4.3.2 IMAP4

(Internet Message Access Protocol version 4)

Là một giao thức lưu trữ và cấp mail kiểu mới Nó mạnh hơn POP3 và được sử dụng bởi nhiều nhà cung cấp dịch vụ trên Internet (ISPs) IMAP cung cấp dịch vụ cấp tin an toàn và hiệu quả bởi các tin nhắn điện tử khi được gửi tới máy khách là phiên bản copy của nó còn bản gốc vẫn được lưu trữ trên máy chủ Vì thế mà máy chủ IMAP mail server đòi hỏi phải có dung lượng lưu trữ rất lớn IMAP đặc biệt phù hợp với đa mục đích của MIME (Internet mail extentsion) là mẫu tin nhắn chuẩn trên Internet Nó cũng cho phép truy xuất và quản lí các tin nhắn từ nhiều máy tính khác nhau Thậm chí các phần mềm máy khách còn không cần thiết phải hiểu về các định dạng file lưu trữ trên máy chủ

Ngày đăng: 28/05/2023, 16:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
4. Thorsten Joachims School of computer science, Carnegie Mellon University – A Probabilistic Analysis of the Rocchio Algorithm tháng 3/1996 Sách, tạp chí
Tiêu đề: A Probabilistic Analysis of the Rocchio Algorithm
Tác giả: Thorsten Joachims
Nhà XB: Carnegie Mellon University
Năm: 1996
6. Bart Calder, Bill Shannon, JavaBeans Activation Framework Specification vesion 1.0a Sách, tạp chí
Tiêu đề: JavaBeans Activation Framework Specification vesion 1.0a
Tác giả: Bart Calder, Bill Shannon
7. Mehran Sahami – Computer Science Department Stanford University – Inductive Learning Algorithms and Representations for TextCategorization Sách, tạp chí
Tiêu đề: Inductive Learning Algorithms and Representations for Text Categorization
Tác giả: Mehran Sahami
Nhà XB: Stanford University
8. Yming Yang – School of computer science, Carnegie Mellon University – A comparative study on feature selection in categorization Sách, tạp chí
Tiêu đề: A comparative study on feature selection in categorization
Tác giả: Yming Yang
Nhà XB: School of computer science, Carnegie Mellon University
14. WWW.GFI.COM – Why Bayes filtering is the most effective anti-spam technology Sách, tạp chí
Tiêu đề: Why Bayes filtering is the most effective anti-spam technology
15. John Zukowski - jaz@zukowski.net JZ Ventures, Inc – JavaMail API Fundamentals Sách, tạp chí
Tiêu đề: JavaMail API Fundamentals
Tác giả: John Zukowski
Nhà XB: JZ Ventures, Inc
16. ChengXiang Zhai - Department of Computer ScienceUniversity of Illinois, Urbana-Champaign – Retrieval Models: Vector Space 17. Ben Kamens bjk5@fogcreek.com Fog Creek Software, Inc.Bayes Filtering: Beyond Binary Classification Sách, tạp chí
Tiêu đề: Retrieval Models: Vector Space
Tác giả: ChengXiang Zhai
Nhà XB: University of Illinois, Urbana-Champaign
19. DanielLowd lowd@cs.washington.edu DepartmentofComputerScienceandEngineering UniversityofWashington Seattle,WA98195-2350USA January17,2005Adjustment of Class Probability: Educating Naive Bayes 22. Yirong Shenand Jing Jiang CS224N Spring 2003 Sách, tạp chí
Tiêu đề: Adjustment of Class Probability: Educating Naive Bayes
Tác giả: Daniel Lowd
Nhà XB: University of Washington
Năm: 2005
1. Yiming Yang và Xin Liu – School of computer science, Carnegie Mellon University – A re- examination of text categorization method 2. YmingYang – Carnegie Mellon University – A Study on ThresholdingStrategies for Text Categorization Khác
3. Heide Brücher, Gerhard Knolmayer, Marc-André Mittermayer - University of Bern Institute of Information Systems – Document Classification Methods for Organizing Explicit Knowledge Khác
5. KathrinEichler keichler@sfs.uni-tuebingen.de Seminarfur Sprach wissen schaft Eberhard-Karls-Universitat Tubingen - Automatic Classification of Swedish EmailMessage - 17thAugust2005 Khác
9. T.A Meyer and B Whateley Meyer:- IIMS, Massey University, Auckland, New Zealand T.A.Meyer@massey.ac.nz Whateley:- Dark Indigo, Inc., Fremont, California, USA brendon@darkindigo.comSpamBayes-Effective open-source, Bayes based, email classification system Khác
10. JohanHovold Department of ComputerScience LundUniversity Box118, 22100Lund, Sweden johan.hovold.363@student.lu.se Khác
12. Copyright StatSoft, Inc., 1984-2004 STATISTICA is a trademark of StatSoft, Inc – Naive Bayes Classifier Khác
18. Yu-Han Chang .T. A.I. Lab & L.C.S.ambridge, MA 02139 ychang@ai.mit.edu December 10, 1999Email Filtering: Machine Learning Techniques and an Implementation for the UNIX Pine Mail System Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w